]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
c++: more-specialized test
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
b168441c
GA
12022-06-02 David Malcolm <dmalcolm@redhat.com>
2
3 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
4
820ead45
GA
52022-05-31 Jakub Jelinek <jakub@redhat.com>
6
7 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
8 scope construct with allocate clause.
9 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
10 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
11
37b3b5da
GA
122022-05-28 Tobias Burnus <tobias@codesourcery.com>
13
14 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
15 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
16 explicit 'to' and 'enter' clause.
17 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
18
192022-05-28 Jakub Jelinek <jakub@redhat.com>
20
21 PR libgomp/105745
22 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
23 defined(HAVE__ALIGNED_MALLOC) case.
24 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
25 handling as last option before fallback instead of first.
26 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
27 _aligned_free.
28
d9176e64
GA
292022-05-27 Jakub Jelinek <jakub@redhat.com>
30
31 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
32 clauses to enter.
33 * testsuite/libgomp.c/target-41.c: Likewise.
34
352022-05-27 Tobias Burnus <tobias@codesourcery.com>
36
37 * libgomp.texi (Other new OpenMP 5.1 features): Add
38 'begin declare target'.
39 (Other new OpenMP 5.2 features): New.
40
3dff965c
GA
412022-05-25 Jakub Jelinek <jakub@redhat.com>
42
43 * task.c (gomp_task_run_post_handle_dependers): If empty_task
44 is the last task taskwait depend depends on, wake it up.
45 Similarly if it is the last child of a taskgroup, use atomic
46 store instead of decrement and awak taskgroup wait if any.
47 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
48
768f49a2
GA
492022-05-24 Andrew Stubbs <ams@codesourcery.com>
50
51 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
52 EF_AMDGPU_MACH_AMDGCN_GFX90a.
53 (gcn_gfx90a_s): New.
54 (isa_hsa_name): Support gfx90a.
55 (isa_code): Likewise.
56
572022-05-24 Tobias Burnus <tobias@codesourcery.com>
58
59 PR c/105378
60 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
61 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
62
632022-05-24 Jakub Jelinek <jakub@redhat.com>
64
65 PR c/105378
66 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
67 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
68 * task.c (empty_task): New function.
69 (gomp_task_run_post_handle_depend_hash): Declare earlier.
70 (gomp_task_run_post_handle_depend): Declare.
71 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
72 for.
73 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
74 (GOMP_taskwait_depend_nowait): New function.
75 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
76
168fc8bd
GA
772022-05-23 Tobias Burnus <tobias@codesourcery.com>
78
79 PR fortran/104949
80 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
81 Support attach for GOMP_MAP_FIRSTPRIVATE.
82 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
83 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
84 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
85
57f2ce6a
GA
862022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
87
88 * libgomp.map: Added omp_target_memcpy_async and
89 omp_target_memcpy_rect_async.
90 * libgomp.texi: Both functions are now supported.
91 * omp.h.in: Added omp_target_memcpy_async and
92 omp_target_memcpy_rect_async.
93 * omp_lib.f90.in: Added interfaces for both new functions.
94 * omp_lib.h.in: Likewise.
95 * target.c (ialias_redirect): Added for GOMP_task.
96 (omp_target_memcpy): Restructured into check and copy part.
97 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
98 omp_target_memcpy_async that checks requirements.
99 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
100 omp_target_memcpy_async that performs the memcpy.
101 (omp_target_memcpy_async_helper): New helper function that is used in
102 omp_target_memcpy_async for the asynchronous task.
103 (omp_target_memcpy_async): Added.
104 (omp_target_memcpy_rect): Restructured into check and copy part.
105 (omp_target_memcpy_rect_check): New helper function for
106 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
107 requirements.
108 (omp_target_memcpy_rect_copy): New helper function for
109 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
110 the memcpy.
111 (omp_target_memcpy_rect_async_helper): New helper function that is used
112 in omp_target_memcpy_rect_async for the asynchronous task.
113 (omp_target_memcpy_rect_async): Added.
114 * task.c (ialias): Added for GOMP_task.
115 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
116 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
117 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
118 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
119 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
120 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
121 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
122 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
123
1cda629f
GA
1242022-05-18 Tobias Burnus <tobias@codesourcery.com>
125
126 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
127 (OpenMP Context Selectors): Add missing comma.
128 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
129 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
130 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
131 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
132
3d9439b1
GA
1332022-05-17 Jakub Jelinek <jakub@redhat.com>
134
135 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
136 comment for omp_display_env feature.
137
1382022-05-17 Tobias Burnus <tobias@codesourcery.com>
139
140 * libgomp.texi (Offload-Target Specifics): New chapter; add section
141 to document OpenMP context selectors.
142
1432022-05-17 Jakub Jelinek <jakub@redhat.com>
144
145 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
146 from bool to unsigned char.
147 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
148 Ignore dependencies where
149 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
150 rather than just task->depend[i].is_in && ent->is_in. Remember
151 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
152 conditional.
153 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
154 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
155 rather than just elem.is_in && ent->is_in.
156 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
157 inoutset depend-kind.
158 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
159 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
160 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
161
1622022-05-17 Tobias Burnus <tobias@codesourcery.com>
163
164 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
165
1662022-05-17 Tobias Burnus <tobias@codesourcery.com>
167
168 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
169 * testsuite/libgomp.fortran/depend-5.f90: New test.
170 * testsuite/libgomp.fortran/depend-6.f90: New test.
171 * testsuite/libgomp.fortran/depend-7.f90: New test.
172
702bd11f
GA
1732022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
174
175 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
176 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
177 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
178
9df4ffe4
GA
1792022-05-13 Tobias Burnus <tobias@codesourcery.com>
180
181 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
182
1832022-05-13 Tobias Burnus <tobias@codesourcery.com>
184
185 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
186
1872022-05-13 Thomas Schwinge <thomas@codesourcery.com>
188
189 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
190 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
191 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
192 append '$(PLUGIN_NVPTX_LDFLAGS)'.
193 * Makefile.in: Regenerate.
194
49ace834
GA
1952022-05-12 Thomas Schwinge <thomas@codesourcery.com>
196
197 * Makefile.am (libgomp_la_LIBADD): Initialize.
198 * plugin/configfrag.ac (DL_LIBS): New.
199 (PLUGIN_GCN_LIBS): Remove.
200 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
201 * plugin/Makefrag.am (libgomp_la_LIBADD)
202 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
203 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
204 * Makefile.in: Regenerate.
205 * config.h.in: Likewise.
206 * configure: Likewise.
207 * testsuite/Makefile.in: Likewise.
208
2092022-05-12 Thomas Schwinge <thomas@codesourcery.com>
210
211 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
212 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
213 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
214 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
215 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
216 'PLUGIN_NVPTX_LINK_LIBCUDA'.
217 * Makefile.in: Regenerate.
218 * config.h.in: Likewise.
219 * configure: Likewise.
220
2212022-05-12 Thomas Schwinge <thomas@codesourcery.com>
222
223 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
224 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
225 * Makefile.in: Regenerate.
226 * config.h.in: Likewise.
227 * configure: Likewise.
228 * testsuite/Makefile.in: Likewise.
229
2302022-05-12 Jakub Jelinek <jakub@redhat.com>
231
232 * libgomp.h (struct gomp_task): Add depend_all_memory member.
233 * task.c (gomp_init_task): Initialize depend_all_memory.
234 (gomp_task_handle_depend): Handle omp_all_memory.
235 (gomp_task_run_post_handle_depend_hash): Clear
236 parent->depend_all_memory if equal to current task.
237 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
238 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
239 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
240 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
241
d0d513b5
GA
2422022-05-11 Thomas Schwinge <thomas@codesourcery.com>
243
244 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
245 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
246 * Makefile.in: Regenerate.
247 * configure: Likewise.
248 * testsuite/Makefile.in: Likewise.
249
2502022-05-11 Thomas Schwinge <thomas@codesourcery.com>
251
252 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
253 consider 'PLUGIN_GCN_CPPFLAGS'.
254 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
255 'PLUGIN_GCN_LDFLAGS'.
256 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
257 Remove.
258 * Makefile.in: Regenerate.
259 * configure: Likewise.
260 * testsuite/Makefile.in: Likewise.
261
2622022-05-11 Thomas Schwinge <thomas@codesourcery.com>
263
264 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
265 (HSA_RUNTIME_LDFLAGS): Remove.
266 * configure: Regenerate.
267
2682022-05-11 Thomas Schwinge <thomas@codesourcery.com>
269
270 * testsuite/lib/libgomp.exp (libgomp_init): Don't
271 'append always_ld_library_path ":$hsa_runtime_lib"'.
272 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
273
e8778989
GA
2742022-05-10 Thomas Schwinge <thomas@codesourcery.com>
275
276 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
277 multi-device testing.
278
ea3fbfda
GA
2792022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
280
281 * libgomp.map: Added omp_target_is_accessible.
282 * libgomp.texi: Tagged omp_target_is_accessible as supported.
283 * omp.h.in: Added omp_target_is_accessible.
284 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
285 * omp_lib.h.in: Likewise.
286 * target.c (omp_target_is_accessible): Added implementation of
287 omp_target_is_accessible.
288 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
289 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
290
ab869e7f
GA
2912022-05-05 Sandra Loosemore <sandra@codesourcery.com>
292
293 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
294
3e7db517
GA
2952022-05-04 Tobias Burnus <tobias@codesourcery.com>
296
297 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
298
2992022-05-04 Tobias Burnus <tobias@codesourcery.com>
300
301 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
302
e66af28d
GA
3032022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
304
305 * libgomp.map: Added omp_get_mapped_ptr.
306 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
307 * omp.h.in: Added omp_get_mapped_ptr.
308 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
309 * omp_lib.h.in: Likewise.
310 * target.c (omp_get_mapped_ptr): Added implementation of
311 omp_get_mapped_ptr.
312 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
313 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
314 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
315 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
316 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
317 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
318 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
319 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
320
6b6f53d8
GA
3212022-04-28 Thomas Schwinge <thomas@codesourcery.com>
322
323 PR fortran/104717
324 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
325 privatization scanning. For GCN offloading compilation, raise
326 '-mgang-private-size'.
327
01ad093b
GA
3282022-04-26 Jakub Jelinek <jakub@redhat.com>
329
330 PR libgomp/105358
331 * work.c (gomp_init_work_share): Don't mask of adjustment for
332 dynamic long long realignment if struct gomp_work_share has smaller
333 alignof than long long.
334 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
335 struct gomp_work_share has smaller alignof than long long or if
336 sizeof (struct gomp_work_share) is smaller than
337 INLINE_ORDERED_TEAM_IDS_OFF.
338 * loop_ull.c (GOMP_loop_ull_start): Likewise.
339 * sections.c (GOMP_sections2_start): Likewise.
340
98de0da6
GA
3412022-04-25 Jakub Jelinek <jakub@redhat.com>
342 Thomas Schwinge <thomas@codesourcery.com>
343
344 PR fortran/104717
345 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
346
247bbed1
GA
3472022-04-13 Jakub Jelinek <jakub@redhat.com>
348
349 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
350
80eb8ec6
GA
3512022-04-06 Thomas Schwinge <thomas@codesourcery.com>
352
353 * plugin/cuda/cuda.h: Remove file.
354 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
355 "cuda/cuda.h" instead of <cuda.h>.
356 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
357 'PLUGIN_NVPTX_CPPFLAGS'.
358 * configure: Regenerate.
359
9d84ed68
GA
3602022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
361
362 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
363
5e09bb1b
GA
3642022-04-04 Tom de Vries <tdevries@suse.de>
365
366 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
367 on_device_arch_nvptx instead of offload_target_nvptx.
368 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
369
8af4270d
GA
3702022-04-01 Tom de Vries <tdevries@suse.de>
371
372 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
373 and use REC_DEPTH.
374 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
375
3762022-04-01 Tom de Vries <tdevries@suse.de>
377
378 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
379 num_workers check.
380
9f774626
GA
3812022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
382 Lulu Cheng <chenglulu@loongson.cn>
383
384 * configure.tgt: Add LoongArch triplet.
385
aab0127d
GA
3862022-03-28 Tom de Vries <tdevries@suse.de>
387
388 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
389 instead of /libexec/.
390 * configure: Regenerate.
391
31e989a2
GA
3922022-03-25 Tom de Vries <tdevries@suse.de>
393
394 PR libgomp/105042
395 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
396 execution time.
397 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
398 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
399
d1ca63a1
GA
4002022-03-23 Tobias Burnus <tobias@codesourcery.com>
401
402 PR middle-end/104285
403 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
404 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
405 * testsuite/libgomp.c++/target-same-name-2.C: New test.
406 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
407 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
408 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
409
a2287813
GA
4102022-03-22 Tom de Vries <tdevries@suse.de>
411
412 PR target/104916
413 PR target/104783
414 * testsuite/libgomp.c/pr104783-2.c: New test.
415
8ca61ad1
GA
4162022-03-18 Tobias Burnus <tobias@codesourcery.com>
417
418 PR fortran/103039
419 * testsuite/libgomp.fortran/associate4.f90: New test.
420
4212022-03-18 Tom de Vries <tdevries@suse.de>
422
423 PR target/104952
424 * testsuite/libgomp.c/pr104952-1.c: New test.
425 * testsuite/libgomp.c/pr104952-2.c: New test.
426
4272022-03-18 Jakub Jelinek <jakub@redhat.com>
428
429 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
430 variable next to pl variable.
431
e9ea3016
GA
4322022-03-17 Thomas Schwinge <thomas@codesourcery.com>
433
434 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
435 Enhance.
436 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
437 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
438
4392022-03-17 Thomas Schwinge <thomas@codesourcery.com>
440
441 PR middle-end/90115
442 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
443 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
444
9fc8f278
GA
4452022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
446
447 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
448 omp_set_max_active_levels.
449 * testsuite/libgomp.fortran/icv-8.f90: New test.
450
4512022-03-16 Thomas Schwinge <thomas@codesourcery.com>
452
453 PR testsuite/102841
454 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
455
b9756c08
GA
4562022-03-13 Tobias Burnus <tobias@codesourcery.com>
457
458 * libgomp.texi: Fix typo.
459
57eeedda
GA
4602022-03-12 Thomas Schwinge <thomas@codesourcery.com>
461
462 PR middle-end/100280
463 PR middle-end/104892
464 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
465 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
466 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
467 Likewise.
468 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
469 Likewise.
470 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
471 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
472 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
473 Likewise.
474
4752022-03-12 Thomas Schwinge <thomas@codesourcery.com>
476
477 PR middle-end/104892
478 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
479 to PR104892.
480 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
481 enable '--param=openacc-kernels=decompose' and adjust.
482 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
483 Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
485 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
486 Likewise.
487
4882022-03-12 Thomas Schwinge <thomas@codesourcery.com>
489
490 PR middle-end/90115
491 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
492 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
493 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
494 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
495
4962022-03-12 Thomas Schwinge <thomas@codesourcery.com>
497
498 PR middle-end/100280
499 PR middle-end/104086
500 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
501 Merge this...
502 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
503 ..., and this...
504 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
505 this, and adjust.
506 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
507 Extend.
508
5e28be89
GA
5092022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
510
511 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
512 trait. Test last index in w and v array. Remove redundant
513 assignment to V(1). Move alignment checks at the end of
514 parallel region.
515
5162022-03-10 Tom de Vries <tdevries@suse.de>
517
518 * testsuite/libgomp.c/pr104783.c: New test.
519
5202022-03-10 Thomas Schwinge <thomas@codesourcery.com>
521
522 PR middle-end/90115
523 PR middle-end/102330
524 PR middle-end/104774
525 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
526 Enhance.
527 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
528 Adjust.
529 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
530 Likewise.
531 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
532 Likewise.
533 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
534 Likewise.
535 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
536 Likewise.
537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
538 Likewise.
539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
540 Likewise.
541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
542 Likewise.
543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
544 Likewise.
545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
546 Likewise.
547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
548 Likewise.
549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
550 Likewise.
551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
552 Likewise.
553 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
554 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
555 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
556
5572022-03-10 Thomas Schwinge <thomas@codesourcery.com>
558
559 PR middle-end/90115
560 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
561 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
562 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
563 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
564
8d96e14c
GA
5652022-03-04 Thomas Schwinge <thomas@codesourcery.com>
566
567 PR testsuite/104791
568 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
569 expected diagnostics.
570
5712022-03-04 Thomas Schwinge <thomas@codesourcery.com>
572
573 PR middle-end/104784
574 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
575 Test with '--param=openacc-kernels=decompose'.
576 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
577 Likewise.
578 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
579 Likewise.
580 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
581 Likewise.
582 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
583 Likewise.
584 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
585 Likewise.
586 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
587 Likewise.
588 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
589 Likewise.
590 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
591 Likewise.
592 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
593 Likewise.
594 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
595 Likewise.
596 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
597 Likewise.
598 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
599 Likewise.
600 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
601 Likewise.
602 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
603 Likewise.
604 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
605 Likewise.
606 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
607 Likewise.
608 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
609 Likewise.
610 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
611 Likewise.
612 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
613 Likewise.
614 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
615 Likewise.
616 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
617 Likewise.
618 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
619 Likewise.
620 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
621 Likewise.
622 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
623 Likewise.
624 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
625 Likewise.
626 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
627 Likewise.
628 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
629 Likewise.
630 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
631 Likewise.
632 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
633 Likewise.
634 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
635 Likewise.
636 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
637 Likewise.
638 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
639 Likewise.
640
6412022-03-04 Thomas Schwinge <thomas@codesourcery.com>
642
643 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
644 Test '-fopt-info-omp-all'.
645 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
646 Likewise.
647 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
648 Likewise.
649 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
650 Likewise.
651 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
652 Likewise.
653 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
654 Likewise.
655 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
656 Likewise.
657 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
658 Likewise.
659 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
660 Likewise.
661 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
662 Likewise.
663 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
664 Likewise.
665 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
666 Likewise.
667 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
668 Likewise.
669 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
670 Likewise.
671 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
672 Likewise.
673 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
674 Likewise.
675 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
676 Likewise.
677 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
678 Likewise.
679 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
680 Likewise.
681 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
682 Likewise.
683 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
684 Likewise.
685 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
686 Likewise.
687 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
688 Likewise.
689 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
690 Likewise.
691 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
692 Likewise.
693 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
694 Likewise.
695 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
696 Likewise.
697 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
698 Likewise.
699 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
700 Likewise.
701 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
702 Likewise.
703 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
704 Likewise.
705 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
706 Likewise.
707 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
708 Likewise.
709
7102022-03-04 Thomas Schwinge <thomas@codesourcery.com>
711
712 PR middle-end/100280
713 PR middle-end/104132
714 PR middle-end/104133
715 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
716 Extend.
717
7182022-03-04 Thomas Schwinge <thomas@codesourcery.com>
719
720 PR middle-end/100280
721 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
722 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
723 Likewise.
724
7252022-03-04 Thomas Schwinge <thomas@codesourcery.com>
726
727 PR middle-end/100280
728 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
729 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
730 Likewise.
731
a35f1697
GA
7322022-02-28 Tom de Vries <tdevries@suse.de>
733
734 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
735 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
736 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
737 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
738 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
739 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
740
756a6185
GA
7412022-02-24 Tom de Vries <tdevries@suse.de>
742
743 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
744 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
745 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
746 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
747 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
748 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
749 * testsuite/libgomp.c/declare-variant-3.h: New header file.
750
2cfb33fc
GA
7512022-02-22 Thomas Schwinge <thomas@codesourcery.com>
752
753 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
754 gang-redundant execution.
755
7562022-02-22 Tom de Vries <tdevries@suse.de>
757
758 PR target/99555
759 * config/nvptx/bar.c (generation_to_barrier): New function, copied
760 from config/rtems/bar.c.
761 (futex_wait, futex_wake): New function.
762 (do_spin, do_wait): New function, copied from config/linux/wait.h.
763 (gomp_barrier_wait_end, gomp_barrier_wait_last)
764 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
765 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
766 and replace with include of config/linux/bar.c.
767 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
768 (gomp_barrier_init): Init new fields.
769 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
770 workarounds.
771 * testsuite/libgomp.c/pr99555-1.c: Same.
772 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
773
7742022-02-22 Tom de Vries <tdevries@suse.de>
775
776 PR testsuite/104146
777 * testsuite/libgomp.c++/pr96390.C: Add additional-option
778 -foffload=-Wa,--verify for nvptx.
779 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
780
875e493b
GA
7812022-02-15 Tobias Burnus <tobias@codesourcery.com>
782
783 * testsuite/libgomp.fortran/depend-4.f90: New test.
784
a645583d
GA
7852022-02-10 Tobias Burnus <tobias@codesourcery.com>
786
787 PR c++/102204
788 * testsuite/libgomp.c++/target-virtual-1.C: New test.
789
7902022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
791
792 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
793 * target.c (copy_firstprivate_data): Copy only if host address is not
794 NULL.
795 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
796 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
797 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
798 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
799 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
800 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
801 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
802 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
803 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
804 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
805
2a2fda2d
GA
8062022-02-08 Jakub Jelinek <jakub@redhat.com>
807
808 PR libgomp/104385
809 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
810 clear task->parent.
811 * testsuite/libgomp.c/pr104385.c: New test.
812
3c1cbde1
GA
8132022-02-04 Tobias Burnus <tobias@codesourcery.com>
814
815 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
816 STOP of previous commit.
817
8182022-02-04 Tobias Burnus <tobias@codesourcery.com>
819
820 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
821 from is_64bit_aligned_.
822 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
823 and use it, more implicit none, remove unused argument.
824
682ede39
GA
8252022-02-03 David Seifert <soap@gentoo.org>
826 Jakub Jelinek <jakub@redhat.com>
827
828 * configure.ac: Support --disable-werror.
829 * configure: Regenerate.
830
ae7e4af9
GA
8312022-02-01 Tom de Vries <tdevries@suse.de>
832
833 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
834 PR83812 workaround.
835 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
836 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
837
8382022-02-01 Tom de Vries <tdevries@suse.de>
839
840 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
841 num_workers for nvidia accelerator to fix libgomp error 'insufficient
842 resources'.
843 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
844 Same.
845 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
846
8472022-02-01 Tom de Vries <tdevries@suse.de>
848
849 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
850 recursion depth.
851 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
852
1bb52662
GA
8532022-01-31 Martin Liska <mliska@suse.cz>
854
855 * acinclude.m4: Detect *_ld_is_mold and use it.
856 * configure: Regenerate.
857
99f17e99
GA
8582022-01-27 Tobias Burnus <tobias@codesourcery.com>
859
860 * libgomp.texi (OpenMP 5.0): Update implementation status.
861
9dd44357
GA
8622022-01-21 Thomas Schwinge <thomas@codesourcery.com>
863
864 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
865 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
866 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
867 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
868 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
869 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
870 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
871 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
872 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
873 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
874 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
875 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
876 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
877 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
878 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
879
fe1ad141
GA
8802022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
881
882 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
883 "static") to make the device num available in the offload image.
884
8852022-01-19 Martin Liska <mliska@suse.cz>
886 Thomas Schwinge <thomas@codesourcery.com>
887
888 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
889 patterns.
890 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
891 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
892 Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
894 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
895 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
896 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
898 Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
900 Likewise.
901 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
902 Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
904 Likewise.
905 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
906 Likewise.
907 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
908 Likewise.
909 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
910 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
911 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
912
7a761ae6
GA
9132022-01-18 Martin Liska <mliska@suse.cz>
914
915 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
916 in dg-warning.
917 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
918 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
919 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
920 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
921 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
922 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
923 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
924 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
925 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
926 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
927 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
928 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
929 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
930 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
931 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
932
fc829782
GA
9332022-01-17 Thomas Schwinge <thomas@codesourcery.com>
934
935 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
936 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
937 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
938
9392022-01-17 Julian Brown <julian@codesourcery.com>
940 Thomas Schwinge <thomas@codesourcery.com>
941
942 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
943 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
944 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
945
1e942d7c
GA
9462022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
947 Andrew Stubbs <ams@codesourcery.com>
948
949 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
950 the number of teams and threads if necessary.
951 (gcn_exec): Automatically set the number of gangs and workers if
952 necessary.
953
ad3f0d08
GA
9542022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
955
956 * testsuite/libgomp.fortran/allocate-1.c: New test.
957 * testsuite/libgomp.fortran/allocate-1.f90: New test.
958 * libgomp.texi: Remove string that says that allocate clause
959 support is for C/C++ only.
960
9612022-01-13 Thomas Schwinge <thomas@codesourcery.com>
962
963 * testsuite/libgomp.c-c++-common/on_device_arch.h
964 (any_device_arch, any_device_arch_intel_mic): New.
965 * testsuite/lib/libgomp.exp
966 (check_effective_target_offload_device_any_intel_mic): New.
967 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
968 * testsuite/libgomp.fortran/target10.f90: Likewise.
969
9702022-01-13 Thomas Schwinge <thomas@codesourcery.com>
971
972 PR tree-optimization/102192
973 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
974 '-Wuninitialized' diagnostics.
975
9762022-01-13 Thomas Schwinge <thomas@codesourcery.com>
977
978 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
979 current '-Wuninitialized' diagnostics.
980 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
981 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
982 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
983 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
984 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
985 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
986 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
987 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
988 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
989 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
990 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
991 Likewise.
992
9932022-01-13 Thomas Schwinge <thomas@codesourcery.com>
994
995 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
996 for 'offload_device_intel_mic'.
997
9982022-01-13 Julian Brown <julian@codesourcery.com>
999 Thomas Schwinge <thomas@codesourcery.com>
1000
1001 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
1002 offloading execution XFAIL.
1003
10042022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1005
1006 PR middle-end/100280
1007 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1008 Update.
1009 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1010 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1011 Likewise.
1012
10132022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1014
1015 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1016 Enhance.
1017 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1018 Likewise.
1019 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
1020 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1021 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
1022 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
1023 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1024 Likewise.
1025 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1026 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1027 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1028 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1029
7d11b64b
GA
10302022-01-04 Tobias Burnus <tobias@codesourcery.com>
1031
1032 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
1033 * testsuite/libgomp.fortran/target10.f90: Likewise.
1034
10352022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
1036
1037 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
1038 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
1039 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1040
a4ae8c37
GA
10412022-01-03 Jakub Jelinek <jakub@redhat.com>
1042
1043 * libgomp.texi: Bump @copying's copyright year.
1044
7f1239cb
GA
10452021-12-13 Tobias Burnus <tobias@codesourcery.com>
1046
1047 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
1048 * testsuite/libgomp.fortran/atomic-19.f90: New test.
1049
0bceef16
GA
10502021-12-10 Andrew Stubbs <ams@codesourcery.com>
1051
1052 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
1053 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
1054 table, not individual symbols.
1055
4b4839e3
GA
10562021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
1057
1058 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
1059 "target offload_device_nonshared_as"
1060 * testsuite/libgomp.c++/target-this-3.C: Likewise.
1061 * testsuite/libgomp.c++/target-this-4.C: Likewise.
1062
641ff219
GA
10632021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1064
1065 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1066 not overwritten during cross-host/device copying.
1067 (gomp_update): Likewise.
1068 (gomp_exit_data): Likewise.
1069 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1070 * testsuite/libgomp.c++/target-12.C: Likewise.
1071 * testsuite/libgomp.c++/target-15.C: Likewise.
1072 * testsuite/libgomp.c++/target-16.C: Likewise.
1073 * testsuite/libgomp.c++/target-17.C: Likewise.
1074 * testsuite/libgomp.c++/target-21.C: Likewise.
1075 * testsuite/libgomp.c++/target-23.C: Likewise.
1076 * testsuite/libgomp.c/target-23.c: Likewise.
1077 * testsuite/libgomp.c/target-29.c: Likewise.
1078 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1079
10802021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1081
1082 PR middle-end/92120
1083 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1084 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1085 (goacc_enter_data_internal): Likewise.
1086 * target.c (gomp_map_vars_existing): Update assert condition to
1087 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1088 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1089 parameter, add support for mapping a pointer with NULL target.
1090 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1091 parameter, add support for attaching a pointer with NULL target.
1092 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1093 gomp_attach_pointer, add handling for
1094 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1095 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1096 * testsuite/libgomp.c++/target-23.C: New testcase.
1097 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1098 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1099 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1100 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1101 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1102 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1103 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1104
70e4cb66
GA
11052021-12-04 Tobias Burnus <tobias@codesourcery.com>
1106
1107 * libgomp.texi (OpenMP 5.1): Update status.
1108
11092021-12-04 Tobias Burnus <tobias@codesourcery.com>
1110
1111 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1112
ea6ef320
GA
11132021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
1114
1115 PR fortran/90030
1116 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1117 * testsuite/libgomp.fortran/pr90030.f90: New test.
1118
c177e806
GA
11192021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1120 Thomas Schwinge <thomas@codesourcery.com>
1121
1122 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1123 temporary skip.
1124
11252021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1126 Thomas Schwinge <thomas@codesourcery.com>
1127
1128 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1129 skip.
1130
87cd82c8
GA
11312021-11-29 Richard Biener <rguenther@suse.de>
1132
1133 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1134 return.
1135
d9ca4b45
GA
11362021-11-24 Jakub Jelinek <jakub@redhat.com>
1137
1138 PR middle-end/103384
1139 * testsuite/libgomp.c/declare-variant-2.c: New test.
1140
483092d3
GA
11412021-11-18 David Edelsohn <dje.gcc@gmail.com>
1142
1143 * alloc.c (gomp_aligned_alloc): Fix typo.
1144
11452021-11-18 Jakub Jelinek <jakub@redhat.com>
1146
1147 PR libgomp/102838
1148 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1149 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1150 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1151 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1152 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1153 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1154 gomp_aligned_alloc instead of team_malloc.
1155
11562021-11-18 Jakub Jelinek <jakub@redhat.com>
1157
1158 PR libgomp/102838
1159 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1160 memalign over posix_memalign over aligned_alloc over fallback
1161 with malloc instead of aligned_alloc over _aligned_alloc over
1162 posix_memalign over memalign over fallback with malloc. For
1163 aligned_alloc, round up size up to multiple of al.
1164
6b1695f4
GA
11652021-11-16 Jakub Jelinek <jakub@redhat.com>
1166
1167 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1168 construct as implemented.
1169
e2b57363
GA
11702021-11-15 Tobias Burnus <tobias@codesourcery.com>
1171
1172 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1173
11742021-11-15 Jakub Jelinek <jakub@redhat.com>
1175
1176 * task.c (gomp_create_target_task): Copy args array as well.
1177 * target.c (gomp_target_fallback): Add args argument.
1178 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1179 (GOMP_target): Adjust gomp_target_fallback caller.
1180 (GOMP_target_ext): Likewise.
1181 (gomp_target_task_fn): Likewise.
1182 * config/nvptx/team.c (gomp_nvptx_main): Set
1183 gomp_global_icv.thread_limit_var.
1184 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1185
11862021-11-15 Jakub Jelinek <jakub@redhat.com>
1187
1188 * config/nvptx/team.c (__gomp_team_num): Define as
1189 __attribute__((shared)) var.
1190 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1191 * config/nvptx/target.c (__gomp_team_num): Declare as
1192 extern __attribute__((shared)) var.
1193 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1194 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1195 is bigger than num_blocks, use num_teams_lower teams and arrange for
1196 bumping of __gomp_team_num if !first and returning false once we run
1197 out of teams.
1198 * config/nvptx/teams.c (__gomp_team_num): Declare as
1199 extern __attribute__((shared)) var.
1200 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1201
12022021-11-15 Jakub Jelinek <jakub@redhat.com>
1203
1204 * testsuite/libgomp.c/teams-5.c: New test.
1205
af2852b9
GA
12062021-11-12 Jakub Jelinek <jakub@redhat.com>
1207
1208 PR target/103201
1209 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1210 to ...
1211 * config/gcn/teams.c: ... here. New file.
1212
12132021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1214
1215 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1216 implicit map handling to allow a "superset" existing map as valid case.
1217 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1218 (get_implicit): New function to extract implicit status.
1219 (gomp_map_fields_existing): Adjust arguments in calls to
1220 gomp_map_vars_existing, and add uses of get_implicit.
1221 (gomp_map_vars_internal): Likewise.
1222 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1223
12242021-11-12 Jakub Jelinek <jakub@redhat.com>
1225
1226 * libgomp_g.h (GOMP_teams4): Declare.
1227 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1228 * target.c (GOMP_teams4): New function.
1229 * config/nvptx/target.c (GOMP_teams): Remove.
1230 (GOMP_teams4): New function.
1231 * config/gcn/target.c (GOMP_teams): Remove.
1232 (GOMP_teams4): New function.
1233 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1234 teams instead of <= 2.
1235 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1236
b39265d4
GA
12372021-11-11 Tobias Burnus <tobias@codesourcery.com>
1238
1239 * testsuite/libgomp.fortran/teams-1.f90: New test.
1240
12412021-11-11 Jakub Jelinek <jakub@redhat.com>
1242
1243 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1244 * team.c (struct gomp_thread_start_data): Likewise.
1245 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1246 (gomp_team_start): Initialize start_data->num_teams and
1247 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1248 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1249 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1250 instead of gomp_num_teams and gomp_team_num.
1251 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1252 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1253 * testsuite/libgomp.c/teams-4.c: New test.
1254
12552021-11-11 Jakub Jelinek <jakub@redhat.com>
1256
1257 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1258
c9b1334e
GA
12592021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1260
1261 * env.c (parse_gomp_openacc_dim): Restore parsing.
1262
0ef94462
GA
12632021-10-30 Tobias Burnus <tobias@codesourcery.com>
1264
1265 PR middle-end/102972
1266 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1267 parallel construct.
1268 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1269 * testsuite/libgomp.c/target-3.c: Likewise.
1270 * testsuite/libgomp.c/target-5.c: Likewise.
1271 * testsuite/libgomp.c/target-6.c: Likewise.
1272 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1273 * testsuite/libgomp.c/teams-1.c: Likewise.
1274 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1275 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1276 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1277 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1278 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1279 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1280 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1281
4c61300f
GA
12822021-10-29 Aldy Hernandez <aldyh@redhat.com>
1283
1284 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1285 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1286
04a2cf3f
GA
12872021-10-27 Jakub Jelinek <jakub@redhat.com>
1288
1289 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1290 aren't implemented for Fortran yet.
1291
12922021-10-27 Jakub Jelinek <jakub@redhat.com>
1293
1294 * testsuite/libgomp.c/loop-26.c: New test.
1295 * testsuite/libgomp.c/loop-27.c: New test.
1296
b621508d
GA
12972021-10-25 Tobias Burnus <tobias@codesourcery.com>
1298
1299 PR testsuite/102910
1300 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1301 instead of #include <alloca.h> + alloca.
1302
ae5c5406
GA
13032021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1304
1305 * libgomp.texi (Support of strictly structured blocks in Fortran):
1306 Adjust to 'Y'.
1307 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1308
674dda6b
GA
13092021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1310
1311 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1312 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1313
13142021-10-20 Jakub Jelinek <jakub@redhat.com>
1315
1316 PR libgomp/102838
1317 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1318 (struct gomp_work_share): Only use aligned(64) attribute if
1319 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1320 add padding before lock to ensure lock is at offset 64 bytes
1321 into the structure.
1322 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1323 New poor man's static assertions.
1324 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1325 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1326
13272021-10-20 Aldy Hernandez <aldyh@redhat.com>
1328 Richard Biener <rguenther@suse.de>
1329
1330 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1331
ce4d1f63
GA
13322021-10-18 Jakub Jelinek <jakub@redhat.com>
1333
1334 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1335 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1336
13372021-10-18 Tobias Burnus <tobias@codesourcery.com>
1338
1339 PR fortran/102086
1340 PR fortran/92189
1341 PR fortran/92621
1342 PR fortran/101308
1343 PR fortran/101309
1344 PR fortran/101635
1345 PR fortran/92482
1346 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1347
93d183a5
GA
13482021-10-15 Jakub Jelinek <jakub@redhat.com>
1349
1350 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1351 type from char [50] to const char *.
1352 (places_array): Add a testcase for simplified syntax place followed
1353 by length or length and stride.
1354
13552021-10-15 Jakub Jelinek <jakub@redhat.com>
1356
1357 * env.c (parse_one_place): Handle non-negative-number the same
1358 as { non-negative-number }. Reject even !number:1 and
1359 !number:1:stride or !place:1 or !place:1:stride instead of just
1360 length other than 1.
1361 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1362 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1363 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1364 as implemented.
1365 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1366 simplified syntax.
1367
13682021-10-15 Jakub Jelinek <jakub@redhat.com>
1369
1370 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1371 clearly reject return value 0 as invalid handle the case where end
1372 pointer is the same as first argument as invalid.
1373 (parse_unsigned_long_1): Likewise.
1374 (parse_one_place): Likewise.
1375 (parse_places_var): Likewise.
1376 (parse_stacksize): Likewise.
1377 (parse_spincount): Likewise.
1378 (parse_affinity): Likewise.
1379 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1380 Make code valid C89.
1381 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1382 For strtoul calls which don't clearly reject return value 0 as
1383 invalid handle the case where end pointer is the same as first
1384 argument as invalid.
1385 (gomp_affinity_init_level_1): Likewise.
1386 (gomp_affinity_init_numa_domains): Likewise.
1387 * config/rtems/proc.c (parse_thread_pools): Likewise.
1388
13892021-10-15 Jakub Jelinek <jakub@redhat.com>
1390
1391 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1392 after creating count places clean up and return immediately.
1393 * testsuite/libgomp.c/places-6.c: New test.
1394 * testsuite/libgomp.c/places-7.c: New test.
1395 * testsuite/libgomp.c/places-8.c: New test.
1396 * testsuite/libgomp.c/places-9.c: New test.
1397 * testsuite/libgomp.c/places-10.c: New test.
1398
13992021-10-15 Jakub Jelinek <jakub@redhat.com>
1400
1401 * env.c (parse_places_var): Handle numa_domains as level 5.
1402 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1403 function.
1404 (gomp_affinity_init_level): Use it instead of
1405 gomp_affinity_init_level_1 for level == 5.
1406 * testsuite/libgomp.c/places-5.c: New test.
1407
14082021-10-15 Jakub Jelinek <jakub@redhat.com>
1409
1410 * env.c (parse_places_var): Handle ll_caches as level 4.
1411 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1412 function.
1413 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1414 last level cache.
1415 (gomp_affinity_init_level): Likewise.
1416 * testsuite/libgomp.c/places-1.c: New test.
1417 * testsuite/libgomp.c/places-2.c: New test.
1418 * testsuite/libgomp.c/places-3.c: New test.
1419 * testsuite/libgomp.c/places-4.c: New test.
1420
5d5885c9
GA
14212021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1422
1423 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1424 directive.
1425
14262021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1427
1428 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1429
52055987
GA
14302021-10-12 Julian Brown <julian@codesourcery.com>
1431
1432 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1433 error path.
1434
14352021-10-12 Tobias Burnus <tobias@codesourcery.com>
1436
1437 * testsuite/libgomp.fortran/icv-3.f90: New.
1438 * testsuite/libgomp.fortran/icv-4.f90: New.
1439
14402021-10-12 Jakub Jelinek <jakub@redhat.com>
1441
1442 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1443 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1444 OMP_TEAMS_THREAD_LIMIT): Document.
1445
14462021-10-12 Jakub Jelinek <jakub@redhat.com>
1447
1448 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1449 to avoid makeinfo warnings.
1450
14512021-10-12 Jakub Jelinek <jakub@redhat.com>
1452
1453 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1454 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1455
14562021-10-12 Jakub Jelinek <jakub@redhat.com>
1457
1458 PR libgomp/102628
1459 PR libgomp/102668
1460 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1461 allocation sizes from 420 to 320 and from 768 to 568.
1462 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1463 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1464 for cr from 16 to 4.
1465
14662021-10-12 Jakub Jelinek <jakub@redhat.com>
1467
1468 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1469 * testsuite/libgomp.c/scan-12.c: Likewise.
1470 * testsuite/libgomp.c/scan-13.c: Likewise.
1471 * testsuite/libgomp.c/scan-14.c: Likewise.
1472 * testsuite/libgomp.c/scan-15.c: Likewise.
1473 * testsuite/libgomp.c/scan-16.c: Likewise.
1474 * testsuite/libgomp.c/scan-17.c: Likewise.
1475 * testsuite/libgomp.c/scan-18.c: Likewise.
1476 * testsuite/libgomp.c/scan-19.c: Likewise.
1477 * testsuite/libgomp.c/scan-20.c: Likewise.
1478 * testsuite/libgomp.c/scan-21.c: Likewise.
1479 * testsuite/libgomp.c/scan-22.c: Likewise.
1480 * testsuite/libgomp.c++/scan-9.C: Likewise.
1481 * testsuite/libgomp.c++/scan-10.C: Likewise.
1482 * testsuite/libgomp.c++/scan-11.C: Likewise.
1483 * testsuite/libgomp.c++/scan-12.C: Likewise.
1484 * testsuite/libgomp.c++/scan-13.C: Likewise.
1485 * testsuite/libgomp.c++/scan-14.C: Likewise.
1486 * testsuite/libgomp.c++/scan-15.C: Likewise.
1487 * testsuite/libgomp.c++/scan-16.C: Likewise.
1488
14892021-10-12 Kewen Lin <linkw@linux.ibm.com>
1490
1491 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1492
732d7638
GA
14932021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
1494
1495 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1496 omp_atv_serialized.
1497 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1498 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1499 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1500 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1501
15022021-10-11 Jakub Jelinek <jakub@redhat.com>
1503
1504 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1505 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1506 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1507 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1508 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1509 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1510 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1511 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1512 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1513 omp_set_teams_thread_limit{,_,_8_}.
1514 * icv.c (omp_set_num_teams, omp_get_max_teams,
1515 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1516 functions.
1517 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1518 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1519 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1520 vars.
1521 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1522 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1523 is not specified, use gomp_nteams_var.
1524 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1525 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1526 ialias_redirect.
1527 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1528 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1529 omp_get_teams_thread_limit_): New functions.
1530
c9db17b8
GA
15312021-10-09 liuhongt <hongtao.liu@intel.com>
1532
1533 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1534 * testsuite/libgomp.c++/scan-11.C: Ditto.
1535 * testsuite/libgomp.c++/scan-12.C: Ditto.
1536 * testsuite/libgomp.c++/scan-13.C: Ditto.
1537 * testsuite/libgomp.c++/scan-14.C: Ditto.
1538 * testsuite/libgomp.c++/scan-15.C: Ditto.
1539 * testsuite/libgomp.c++/scan-16.C: Ditto.
1540 * testsuite/libgomp.c++/scan-9.C: Ditto.
1541 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1542 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1543 * testsuite/libgomp.c/scan-11.c: Ditto.
1544 * testsuite/libgomp.c/scan-12.c: Ditto.
1545 * testsuite/libgomp.c/scan-13.c: Ditto.
1546 * testsuite/libgomp.c/scan-14.c: Ditto.
1547 * testsuite/libgomp.c/scan-15.c: Ditto.
1548 * testsuite/libgomp.c/scan-16.c: Ditto.
1549 * testsuite/libgomp.c/scan-17.c: Ditto.
1550 * testsuite/libgomp.c/scan-18.c: Ditto.
1551 * testsuite/libgomp.c/scan-19.c: Ditto.
1552 * testsuite/libgomp.c/scan-20.c: Ditto.
1553 * testsuite/libgomp.c/scan-21.c: Ditto.
1554 * testsuite/libgomp.c/scan-22.c: Ditto.
1555
15562021-10-09 Jakub Jelinek <jakub@redhat.com>
1557
1558 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1559 structured block sequences in C/C++. Mention support for
1560 unconstrained/reproducible modifiers on order clause.
1561 Mention partial (C/C++ only) support of extentensions to atomics
1562 construct. Mention partial (C/C++ on clause only) support of
1563 align/allocator modifiers on allocate clause.
1564
e3e07b89
GA
15652021-10-02 Tobias Burnus <tobias@codesourcery.com>
1566
1567 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1568 based on libgomp.c-c++-common/order-reproducible-1.c.
1569 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1570 * testsuite/libgomp.fortran/my-usleep.c: New test.
1571
9d116bcc
GA
15722021-10-01 Tobias Burnus <tobias@codesourcery.com>
1573
1574 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1575 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1576 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1577 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1578 based on libgomp.c-c++-common/alloc-9.c.
1579
15802021-10-01 Jakub Jelinek <jakub@redhat.com>
1581
1582 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1583 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1584
15852021-10-01 Jakub Jelinek <jakub@redhat.com>
1586
1587 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1588 ialias_redirect.
1589 * env.c (handle_omp_display_env): Use ialias_call.
1590 * icv-device.c: Move ialias right below each function.
1591 (omp_get_device_num): Use ialias_call.
1592 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1593 * icv.c (omp_get_active_level): Add ialias_redirect.
1594
15952021-10-01 Jakub Jelinek <jakub@redhat.com>
1596
1597 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1598 __alloc_align__ (1) attribute.
1599 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1600
24679983
GA
16012021-09-30 Tobias Burnus <tobias@codesourcery.com>
1602
1603 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1604 for -fintrinsic-modules-path= warning of the C compiler.
1605 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1606 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1607
16082021-09-30 Tobias Burnus <tobias@codesourcery.com>
1609
1610 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1611 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1612 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1613 omp_realloc): Add.
1614 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1615 omp_realloc): Add.
1616 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1617 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1618 * testsuite/libgomp.fortran/alloc-7.c: New test.
1619 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1620 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1621 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1622
16232021-09-30 Jakub Jelinek <jakub@redhat.com>
1624
1625 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1626 omp_realloc): New prototypes.
1627 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1628 attribute.
1629 * allocator.c: Include string.h.
1630 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1631 variable and use it instead of alignment so that when retrying the old
1632 alignment is used again. Don't retry if new alignment is the same
1633 as old alignment, unless allocator had pool size.
1634 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1635 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1636 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1637 omp_aligned_calloc and omp_realloc.
1638 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1639 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1640 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1641 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1642 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1643 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1644
fd133479
GA
16452021-09-28 Tobias Burnus <tobias@codesourcery.com>
1646
1647 PR libgomp/96661
1648 * configure.ac: Only check for int-type = 2*size_t support when
1649 building with Fortran support.
1650 * configure: Regenerate.
1651
16522021-09-28 Thomas Schwinge <thomas@codesourcery.com>
1653
1654 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1655 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1656
cf966403
GA
16572021-09-27 Aldy Hernandez <aldyh@redhat.com>
1658
1659 * team.c: Initialize start_data.
1660 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1661 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1662
16632021-09-27 Tobias Burnus <tobias@codesourcery.com>
1664
1665 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1666 dg-message back to dg-note.
1667
16682021-09-27 Tobias Burnus <tobias@codesourcery.com>
1669
1670 PR fortran/94070
1671 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1672 expected dg-note output.
1673
e4777439
GA
16742021-09-22 Tobias Burnus <tobias@codesourcery.com>
1675
1676 PR fortran/55534
1677 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1678 r12-3722 by removing -Wno-missing-include-dirs.
1679 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1680
16812021-09-22 Jakub Jelinek <jakub@redhat.com>
1682
1683 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1684 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1685
2c41dd82
GA
16862021-09-21 Tobias Burnus <tobias@codesourcery.com>
1687
1688 PR fortran/55534
1689 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1690 to ALWAYS_CFLAGS.
1691 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1692
cf74e7b5
GA
16932021-09-18 Jakub Jelinek <jakub@redhat.com>
1694
1695 * testsuite/libgomp.c++/default-1.C: New test.
1696 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1697 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1698 to default clause in C and C++" as implemented.
1699
0a4cb439
GA
17002021-09-17 Julian Brown <julian@codesourcery.com>
1701
1702 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1703
17042021-09-17 Julian Brown <julian@codesourcery.com>
1705
1706 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1707
17082021-09-17 Jakub Jelinek <jakub@redhat.com>
1709
1710 * libgomp.texi (OpenMP 5.1): Spelling fix,
1711 declare variante -> declare variant.
1712
17132021-09-17 Jakub Jelinek <jakub@redhat.com>
1714
1715 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1716 Use /* */ comments instead of //.
1717 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1718 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1719 * testsuite/libgomp.c++/atomic-16.C: New test.
1720 * testsuite/libgomp.c++/atomic-17.C: New test.
1721
a26206ec
GA
17222021-09-10 Jakub Jelinek <jakub@redhat.com>
1723
1724 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1725 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1726 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1727
b2748138
GA
17282021-09-07 Tobias Burnus <tobias@codesourcery.com>
1729
1730 * libgomp.texi (OpenMP Implementation Status): Extend
1731 OpenMP 5.0 section.
1732 (OpenACC Profiling Interface): Fix typo.
1733
17342021-09-07 Tobias Burnus <tobias@codesourcery.com>
1735
1736 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1737 not to 4.5; link to new section.
1738 (OpenMP Implementation Status): New.
1739
9f99555f
GA
17402021-09-06 Thomas Schwinge <thomas@codesourcery.com>
1741
1742 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1743
7b739540
GA
17442021-09-03 Tobias Burnus <tobias@codesourcery.com>
1745
1746 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1747 dg-output.
1748 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1749
38b19c5b
GA
17502021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1751 Jakub Jelinek <jakub@redhat.com>
1752
1753 * testsuite/libgomp.c/address-space-1.c: New file.
1754
17552021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1756
1757 * testsuite/lib/libgomp.exp
1758 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1759 (check_effective_target_offload_device_intel_mic): New 'proc'.
1760 * testsuite/libgomp.c-c++-common/on_device_arch.h
1761 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1762 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1763 'dg-xfail-run-if'.
1764 * testsuite/libgomp.fortran/target10.f90: Likewise.
1765
17662021-08-23 Tobias Burnus <tobias@codesourcery.com>
1767
1768 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1769 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1770 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1771 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1772
17732021-08-23 Jakub Jelinek <jakub@redhat.com>
1774
1775 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1776 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1777 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1778
5b2876f9
GA
17792021-08-22 Thomas Schwinge <thomas@codesourcery.com>
1780
1781 * config/nvptx/error.c (fwrite, exit): Override, too.
1782 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1783 of offloading testing.
1784 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1785
7c9e1645
GA
17862021-08-20 Tobias Burnus <tobias@codesourcery.com>
1787
1788 * testsuite/libgomp.fortran/error-1.f90: New test.
1789
17902021-08-20 Jakub Jelinek <jakub@redhat.com>
1791
1792 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1793 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1794 * error.c (GOMP_warning, GOMP_error): New functions.
1795 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1796
6e529985
GA
17972021-08-18 Tobias Burnus <tobias@codesourcery.com>
1798
1799 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1800 omp_target_free. omp_target_is_present, omp_target_memcpy,
1801 omp_target_memcpy_rect, omp_target_associate_ptr,
1802 omp_target_disassociate_ptr): Add interface.
1803 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1804 omp_target_free. omp_target_is_present, omp_target_memcpy,
1805 omp_target_memcpy_rect, omp_target_associate_ptr,
1806 omp_target_disassociate_ptr): Add interface.
1807 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1808 interface block for omp_alloc + omp_free.
1809 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1810 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1811 * testsuite/libgomp.fortran/target-12.f90: New test.
1812
18132021-08-18 Jakub Jelinek <jakub@redhat.com>
1814
1815 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1816
2d14d64b
GA
18172021-08-17 Tobias Burnus <tobias@codesourcery.com>
1818
1819 * testsuite/libgomp.fortran/scope-1.f90: New test.
1820 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1821
18222021-08-17 Jakub Jelinek <jakub@redhat.com>
1823
1824 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1825 * Makefile.in: Regenerated.
1826 * libgomp_g.h (GOMP_scope_start): Declare.
1827 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1828 * scope.c: New file.
1829 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1830 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1831
9d1d9fc8
GA
18322021-08-16 Thomas Schwinge <thomas@codesourcery.com>
1833
1834 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1835 '?:' issues.
1836
18372021-08-16 Tobias Burnus <tobias@codesourcery.com>
1838
1839 * testsuite/libgomp.fortran/masked-1.f90: New test.
1840
261512fa
GA
18412021-08-13 Thomas Schwinge <thomas@codesourcery.com>
1842
1843 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1844
72be20e2
GA
18452021-08-12 Jakub Jelinek <jakub@redhat.com>
1846
1847 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1848
18492021-08-12 Tobias Burnus <tobias@codesourcery.com>
1850
1851 * env.c (parse_bind_var): Accept 'primary' as alias for
1852 'master'.
1853 (omp_display_env): Add TODO comment to
1854 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1855 * libgomp.texi: Change 'master thread' to 'primary thread'
1856 in line with OpenMP 5.1.
1857 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1858 omp_proc_bind_master is an alias of it.
1859 (OMP_PROC_BIND): Mention 'PRIMARY'.
1860 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1861 (omp_proc_bind_primary): Add.
1862 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1863 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1864 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1865 * omp_lib.h.in (omp_proc_bind_primary): Add.
1866 * testsuite/libgomp.c/affinity-1.c: Check that
1867 'primary' works and is identical to 'master'.
1868
37768150
GA
18692021-08-09 Julian Brown <julian@codesourcery.com>
1870 Kwok Cheung Yeung <kcy@codesourcery.com>
1871 Thomas Schwinge <thomas@codesourcery.com>
1872
1873 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1874 16.
1875 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1876 [acc_device_radeon]: Update.
1877 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1878 [ACC_DEVICE_TYPE_radeon]: Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1880 [acc_device_radeon]: Likewise.
1881 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1882 [ACC_DEVICE_TYPE_radeon]: Likewise.
1883 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1884 'openacc_radeon_accel_selected' and '-O0'.
1885 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1886
8ebf4fb5
GA
18872021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
1888
1889 * icv-device.c (omp_get_device_num): New API function, host side.
1890 * fortran.c (omp_get_device_num_): New interface function.
1891 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1892 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1893 omp_get_device_num_.
1894 * libgomp.texi (omp_get_device_num): Add documentation for new API
1895 function.
1896 * omp.h.in (omp_get_device_num): Add declaration.
1897 * omp_lib.f90.in (omp_get_device_num): Likewise.
1898 * omp_lib.h.in (omp_get_device_num): Likewise.
1899 * target.c (gomp_load_image_to_device): If additional entry for device
1900 number exists at end of returned entries from 'load_image_func' hook,
1901 copy the assigned device number over to the device variable.
1902 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1903 (omp_get_device_num): New API function, device side.
1904 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1905 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1906 at end of returned 'target_table' entries.
1907 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1908 (omp_get_device_num): New API function, device side.
1909 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1910 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1911 at end of returned 'target_table' entries.
1912 * testsuite/lib/libgomp.exp
1913 (check_effective_target_offload_target_intelmic): New function for
1914 testing for intelmic offloading.
1915 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1916 * testsuite/libgomp.fortran/target10.f90: New test.
1917
4d17ca1b
GA
19182021-07-30 Thomas Schwinge <thomas@codesourcery.com>
1919 Ulrich Drepper <drepper@redhat.com>
1920
1921 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1922 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1923
19242021-07-29 Thomas Schwinge <thomas@codesourcery.com>
1925 Julian Brown <julian@codesourcery.com>
1926 Kwok Cheung Yeung <kcy@codesourcery.com>
1927
1928 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1929 's%oaccdevlow%oaccloops%g'.
1930 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1931 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1932 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1933 Likewise.
1934 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1935 Likewise.
1936 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1937 Likewise.
1938 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1939 Likewise.
1940 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1941 Likewise.
1942 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1943 Likewise.
1944 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1945 Likewise.
1946 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1947 Likewise.
1948 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1949
872c1a56
ML
19502021-07-29 Aldy Hernandez <aldyh@redhat.com>
1951
1952 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1953 threader.
1954 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1955
af3f12e6
GA
19562021-07-27 Ulrich Drepper <drepper@gmail.com>
1957
1958 * env.c (wait_policy, stacksize): New static variables,
1959 move out of handle_omp_display_env.
1960 (omp_display_env): New function. The meat of the old
1961 handle_omp_display_env function.
1962 (handle_omp_display_env): Change to not take parameters
1963 and instead use the global variables. Only perform
1964 parsing, defer to omp_display_env for the implementation.
1965 (initialize_env): Remove local variables wait_policy and
1966 stacksize. Don't pass parameters to handle_omp_display_env.
1967 * fortran.c: Add ialias_redirect for omp_display_env.
1968 (omp_display_env_, omp_display_env_8_): New functions.
1969 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1970 omp_display_env_, and omp_display_env_8_.
1971 * omp.h.in: Declare omp_display_env.
1972 * omp_lib.f90.in: Likewise.
1973 * omp_lib.h.in: Likewise.
1974
19752021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1976 Julian Brown <julian@codesourcery.com>
1977
1978 * target.c (gomp_coalesce_buf_add): Update comment.
1979 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1980 'aq && cbuf'.
1981 (gomp_map_vars_internal): Only 'if (!aq)', do
1982 'gomp_coalesce_buf_add'.
1983 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1984 XFAIL.
1985
19862021-07-27 Julian Brown <julian@codesourcery.com>
1987 Thomas Schwinge <thomas@codesourcery.com>
1988
1989 * libgomp.h (gomp_copy_host2dev): Update prototype.
1990 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1991 argument to gomp_copy_host2dev (false).
1992 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1993 (copy_data): Don't free src.
1994 (queue_push_copy): Remove free_src handling.
1995 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1996 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1997 snapshotting.
1998 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1999 queue_push_copy.
2000 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
2001 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
2002 data when true, and set up deferred freeing of temporary buffer.
2003 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
2004 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
2005 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
2006 calls to gomp_copy_host2dev with appropriate ephemeral argument.
2007 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
2008 XFAIL.
2009
20102021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2011 Tom de Vries <tom@codesourcery.com>
2012
2013 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
2014 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
2015
20162021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2017
2018 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
2019 sequencing of 'async' data copying vs. profiling events.
2020 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2021 Likewise.
2022
20232021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2024 Julian Brown <julian@codesourcery.com>
2025
2026 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
2027 'async'/'wait' issue.
2028 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
2029 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
2030 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
2031
419c6c68
GA
20322021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2033 Joseph Myers <joseph@codesourcery.com>
2034 Cesar Philippidis <cesar@codesourcery.com>
2035
2036 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
2037 file.
2038 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
2039 Likewise.
2040 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
2041 Likewise.
2042 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2043
92d45509
GA
20442021-07-20 Thomas Schwinge <thomas@codesourcery.com>
2045
2046 PR target/101484
2047 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
2048 '-Wno-error=array-bounds'.
2049 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
2050 * libgomp.h [__AMDGCN__]: Likewise.
2051
21ea2f93
GA
20522021-07-19 Thomas Schwinge <thomas@codesourcery.com>
2053
2054 PR target/101484
2055 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2056 * libgomp.h [__AMDGCN__]: Likewise.
2057
0e775456
GA
20582021-07-13 Jakub Jelinek <jakub@redhat.com>
2059 Florian Weimer <fweimer@redhat.com>
2060
2061 * config/linux/sem.h: Don't include limits.h.
2062 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
2063 * config/linux/affinity.c: Include limits.h.
2064
bea7c16a
GA
20652021-07-01 Jakub Jelinek <jakub@redhat.com>
2066
2067 PR middle-end/94366
2068 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2069
6bc18203
GA
20702021-06-29 Tobias Burnus <tobias@codesourcery.com>
2071
2072 PR other/67300
2073 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2074 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2075 avoid disabling other offload targets.
2076 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2077 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2078 * testsuite/libgomp.c/target-44.c: Likewise.
2079
20802021-06-29 Tobias Burnus <tobias@codesourcery.com>
2081
2082 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2083 target has shared memory and disable some scalar pointer/allocatable
2084 checks if not as firstprivate does not work.
2085
90708f87
GA
20862021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
2087
2088 PR testsuite/101114
2089 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2090 Add "target offload_device_nonshared_as" condition for enabling test.
2091
9aa8327e
GA
20922021-06-24 Jakub Jelinek <jakub@redhat.com>
2093
2094 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2095 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2096 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2097 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2098
fcf617f0
GA
20992021-06-23 Jakub Jelinek <jakub@redhat.com>
2100
2101 PR middle-end/101167
2102 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2103
688359a2
GA
21042021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
2105
2106 * hashtab.h (htab_clear): New function with initialization code
2107 factored out from...
2108 (htab_create): ...here, adjust to use htab_clear function.
2109 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2110 special refcount values, add comments.
2111 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2112 (REFCOUNT_LINK): Likewise.
2113 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2114 element siblings.
2115 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2116 sibling maps.
2117 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2118 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2119 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2120 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2121 (struct splay_tree_key_s): Add structelem_refcount and
2122 structelem_refcount_ptr fields into a union with dynamic_refcount.
2123 Add comments.
2124 (gomp_map_vars): Delete declaration.
2125 (gomp_map_vars_async): Likewise.
2126 (gomp_unmap_vars): Likewise.
2127 (gomp_unmap_vars_async): Likewise.
2128 (goacc_map_vars): New declaration.
2129 (goacc_unmap_vars): Likewise.
2130 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2131 (goacc_enter_datum): Likewise.
2132 (goacc_enter_data_internal): Likewise.
2133 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2134 and goacc_unmap_vars.
2135 (GOACC_data_start): Adjust to use goacc_map_vars.
2136 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2137 * target.c (hash_entry_type): New typedef.
2138 (htab_alloc): New function hook for hashtab.h.
2139 (htab_free): Likewise.
2140 (htab_hash): Likewise.
2141 (htab_eq): Likewise.
2142 (hashtab.h): Add file include.
2143 (gomp_increment_refcount): New function.
2144 (gomp_decrement_refcount): Likewise.
2145 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2146 gomp_increment_refcount.
2147 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2148 to gomp_map_vars_existing.
2149 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2150 variable to guard OpenMP specific paths, adjust calls to
2151 gomp_map_vars_existing, add structure element sibling splay_tree_key
2152 sequence creation code, adjust Fortran map case to avoid increment
2153 under OpenMP.
2154 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2155 local refcount_set if caller passed in NULL, adjust call to
2156 gomp_map_vars_internal.
2157 (gomp_map_vars_async): Adjust and rename into...
2158 (goacc_map_vars): ...this new function, adjust call to
2159 gomp_map_vars_internal.
2160 (gomp_remove_splay_tree_key): New function with code factored out from
2161 gomp_remove_var_internal.
2162 (gomp_remove_var_internal): Add code to handle removing multiple
2163 splay_tree_key sequence for structure elements, adjust code to use
2164 gomp_remove_splay_tree_key for splay-tree key removal.
2165 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2166 gomp_decrement_refcount.
2167 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2168 local refcount_set if caller passed in NULL, adjust call to
2169 gomp_unmap_vars_internal.
2170 (gomp_unmap_vars_async): Adjust and rename into...
2171 (goacc_unmap_vars): ...this new function, adjust call to
2172 gomp_unmap_vars_internal.
2173 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2174 gomp_unmap_vars.
2175 (GOMP_target_ext): Likewise.
2176 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2177 (GOMP_target_data): Likewise.
2178 (GOMP_target_data_ext): Likewise.
2179 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2180 (gomp_exit_data): Add refcount_set parameter, adjust to use
2181 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2182 after main loop.
2183 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2184 gomp_map_vars and gomp_exit_data.
2185 (gomp_target_task_fn): Likewise.
2186 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2187 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2188 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2189 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2190 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2191 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2192
ede6c356
GA
21932021-06-15 Tobias Burnus <tobias@codesourcery.com>
2194
2195 PR fortran/92568
2196 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2197
43c35d0d
GA
21982021-06-10 Andrew Stubbs <ams@codesourcery.com>
2199 Thomas Schwinge <thomas@codesourcery.com>
2200
2201 * libgomp.map (GOACC_2.0.2): New symbol version.
2202 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2203 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2204
22052021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2206 Andrew Stubbs <ams@codesourcery.com>
2207
2208 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2209 extracted from...
2210 (GOACC_enter_exit_data): ... here.
2211 (GOACC_declare): Use it.
2212
22132021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2214
2215 * oacc-parallel.c (GOACC_declare): Move...
2216 * oacc-mem.c: ... here.
2217 * libgomp_g.h: Adjust.
2218
22192021-06-10 Andrew Stubbs <ams@codesourcery.com>
2220 Thomas Schwinge <thomas@codesourcery.com>
2221
2222 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2223 handling.
2224
22252021-06-10 Jakub Jelinek <jakub@redhat.com>
2226
2227 PR tree-optimization/100981
2228 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2229 dsdotr and dsdoti to 0.
2230
4f625f47
GA
22312021-06-09 H.J. Lu <hjl.tools@gmail.com>
2232
2233 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2234 if atomic compare-and-swap is supported on 'int'.
2235
22362021-06-09 Richard Biener <rguenther@suse.de>
2237
2238 PR tree-optimization/100981
2239 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2240
c6038721
GA
22412021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2242
2243 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2244 unconditionally.
2245 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2246 Update.
2247 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2248 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2249
22502021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2251
2252 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2253 '-DACC_MEM_SHARED=0'.
2254 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2255 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2256 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2257 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2258 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2259 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2260 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2261 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2262 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2263 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2264 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2265 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2266 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2267 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2268 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2269 'acc_device_radeon' testing.
2270 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2271 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2272 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2273 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2274 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2275 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2276 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2277 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2278 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2279 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2280 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2281 for non-'openacc_nvidia_accel_selected'.
2282 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2283 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2284 all implement this checking".
2285 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2286 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2287 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2288 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2289 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2290
22912021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2292
2293 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2294 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2295
22962021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2297
2298 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2299 for 'acc_device_radeon'.
2300
23012021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2302
2303 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2304 for non-'acc_device_nvidia'.
2305
23062021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2307
2308 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2309 'acc_device_radeon' testing.
2310 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2311 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2312 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2313
23142021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2315
2316 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2317 require 'openacc_nvidia_accel_selected'. Fix up for
2318 'ACC_DEVICE_TYPE_radeon'.
2319
23202021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2321
2322 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2323 'openacc_nvidia_accel_selected'.
2324 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2325
23262021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2327
2328 * testsuite/lib/libgomp.exp
2329 (check_effective_target_openacc_radeon_accel_selected):
2330 Streamline.
2331
23322021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2333
2334 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2335 PR80547 workaround.
2336
23372021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2338
2339 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2340 <acc_device_nvidia>: Update comment.
2341
48166757
GA
23422021-05-28 Tobias Burnus <tobias@codesourcery.com>
2343
2344 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2345
cd62d089
GA
23462021-05-27 Jakub Jelinek <jakub@redhat.com>
2347
2348 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2349 check_effective_target_openacc_cublas,
2350 check_effective_target_openacc_cudart): New.
2351 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2352 target openacc_cublas.
2353 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2354 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2355 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2356 target openacc_cuda.
2357 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2358 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2359 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2360 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2361 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2362 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2363 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2364 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2365 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2366 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2367 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2368 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2369 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2370 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2371 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2372 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2373 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2374 targets openacc_cublas and openacc_cudart.
2375 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2376 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2377 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2378 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2379 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2380 Require effective target openacc_cudart.
2381 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2382 for effective target openacc_cuda and add && defined USE_CUDA_H to
2383 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2384 effective target.
2385
01c59ef2
GA
23862021-05-26 Jakub Jelinek <jakub@redhat.com>
2387
2388 PR libgomp/100573
2389 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2390 GOMP_target_end_data, GOMP_target_update_ext,
2391 GOMP_target_enter_exit_data): New dummy entrypoints.
2392 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2393 GOMP_target_end_data, GOMP_target_update_ext,
2394 GOMP_target_enter_exit_data): Likewise.
2395 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2396 OMPFROM, OMPTO): Define.
2397 (main): Remove #pragma omp target teams around all the tests.
2398 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2399 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2400
2bc6dace
GA
24012021-05-25 Jakub Jelinek <jakub@redhat.com>
2402
2403 PR middle-end/99928
2404 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2405
637569df
GA
24062021-05-24 Tobias Burnus <tobias@codesourcery.com>
2407
2408 PR fortran/86470
2409 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2410 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2411 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2412
15d30d2f
GA
24132021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2414
2415 PR testsuite/90115
2416 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2417 uninteresting/varying diagnostics.
2418
2832d51b
GA
24192021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2420
2421 PR middle-end/90115
2422 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2423 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2424
24252021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2426
2427 PR middle-end/90115
2428 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2429 file.
2430 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2431 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2432 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2433 Likewise.
2434 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2435 Likewise.
2436 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2437 Likewise.
2438 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2439 Likewise.
2440 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2441 Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2443 Likewise.
2444 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2445 Likewise.
2446 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2447 Likewise.
2448 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2449 Likewise.
2450 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2451 Likewise.
2452 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2453 Likewise.
2454 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2455 Likewise.
2456 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2457 Likewise.
2458 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2459 Likewise.
2460 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2461 Likewise.
2462 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2463 Likewise.
2464 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2465 Likewise.
2466 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2467 Likewise.
2468 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2469 Likewise.
2470 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2471 Likewise.
2472 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2473 Likewise.
2474 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2475 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2476 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2477 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2478 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2479 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2480 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2481 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2482 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2483 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2484 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2485 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2486 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2487 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2488 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2489 Likewise.
2490 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2491 Likewise.
2492 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2493 Likewise.
2494 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2495 Likewise.
2496 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2497 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2498 Likewise.
2499 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2500 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2501 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2502 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2503 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2504 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2505 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2506 Likewise.
2507 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2508 Likewise.
2509 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2510 Likewise.
2511 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2512 Likewise.
2513 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2514 Likewise.
2515 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2516 Likewise.
2517 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2518 Likewise.
2519 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2520 Likewise.
2521 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2522 Likewise.
2523 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2524 Likewise.
2525 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2526 Likewise.
2527 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2528 Likewise.
2529 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2530 Likewise.
2531 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2532 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2533 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2534 Likewise.
2535 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2536 Likewise.
2537 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2538 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2539 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2540
25412021-05-21 Julian Brown <julian@codesourcery.com>
2542 Chung-Lin Tang <cltang@codesourcery.com>
2543 Thomas Schwinge <thomas@codesourcery.com>
2544
2545 PR middle-end/90115
2546 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2547 test.
2548 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2549 Likewise.
2550 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2551 Likewise.
2552
25532021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2554
2555 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2556 for nvptx offloading.
2557
25582021-05-21 Tobias Burnus <tobias@codesourcery.com>
2559
2560 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2561
65f32e5d
GA
25622021-05-19 Thomas Schwinge <thomas@codesourcery.com>
2563
2564 PR target/83812
2565 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2566
25672021-05-19 Julian Brown <julian@codesourcery.com>
2568
2569 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2570
a8daf9a1
GA
25712021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2572
2573 * testsuite/lib/libgomp.exp
2574 (check_effective_target_offload_target_nvptx): Don't shadow global
2575 'offload_targets' variable.
2576
25772021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2578
2579 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2580 '-latomic' to nvptx offloading compilation.
2581 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2582
25832021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2584
2585 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2586 offloading compilation.
2587
a7ffc1ef
GA
25882021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
2589
2590 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2591 if new tasks generated.
2592 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2593
87a7d10c
GA
25942021-05-14 Tobias Burnus <tobias@codesourcery.com>
2595
2596 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2597
f9af11c7
GA
25982021-05-13 Martin Liska <mliska@suse.cz>
2599
2600 PR testsuite/100569
2601 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2602 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2603 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2604 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2605
0ff3a0f2
GA
26062021-05-12 Tobias Burnus <tobias@codesourcery.com>
2607
2608 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2609 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2610
037e3661
GA
26112021-05-11 Jakub Jelinek <jakub@redhat.com>
2612
2613 PR middle-end/100471
2614 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2615 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2616 reduction pointer.
2617 * testsuite/libgomp.c/task-reduction-4.c: New test.
2618
62d87a32
GA
26192021-05-07 Tobias Burnus <tobias@codesourcery.com>
2620 Tom de Vries <tdevries@suse.de>
2621
2622 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2623 complex/floating-point || + && reduction with 'omp target'.
2624 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2625
99e8df7a
GA
26262021-05-04 Tobias Burnus <tobias@codesourcery.com>
2627
2628 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2629 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2630 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2631 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2632
26332021-05-04 Tobias Burnus <tobias@codesourcery.com>
2634
2635 PR testsuite/100397
2636 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2637 declaration to scope of non-'depend'-guarded assignment to avoid races.
2638
e690396d
GA
26392021-05-03 Tom de Vries <tdevries@suse.de>
2640
2641 PR target/100321
2642 * testsuite/libgomp.c/target-44.c: New test.
2643
9326049e
GA
26442021-04-30 Roman Zhuykov <zhroma@ispras.ru>
2645
2646 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2647
3c8e539d
GA
26482021-04-29 Tom de Vries <tdevries@suse.de>
2649
2650 * testsuite/libgomp.c/pr81778.c: New test.
2651
26522021-04-29 Tom de Vries <tdevries@suse.de>
2653
2654 PR target/100232
2655 * testsuite/libgomp.c/target-43.c: New file.
2656
e4ff4ffb
GA
26572021-04-28 Jakub Jelinek <jakub@redhat.com>
2658 Tobias Burnus <tobias@codesourcery.com>
2659
2660 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2661 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2662 can't be dlopened, silently assume it has no devices.
2663 * Makefile.in: Regenerate.
2664 * config.h.in: Regenerate.
2665 * configure: Regenerate.
2666
c0fa3f2f
GA
26672021-04-26 Tobias Burnus <tobias@codesourcery.com>
2668
2669 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2670 Use [Ww]arning in dg-bogus as FE diagnostic and default
2671 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2672 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2673 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2674 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2675
26762021-04-26 Tobias Burnus <tobias@codesourcery.com>
2677
2678 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2679 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2680 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2681 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2682 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2683
26842021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2685 Nathan Sidwell <nathan@codesourcery.com>
2686 Tom de Vries <vries@codesourcery.com>
2687 Julian Brown <julian@codesourcery.com>
2688 Kwok Cheung Yeung <kcy@codesourcery.com>
2689
2690 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2691 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2692 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2693 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2694 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2695 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2696 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2697 Likewise.
2698 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2699 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2700 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2701 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2702 Likewise.
2703 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2704 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2705 Likewise.
2706 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2707 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2708 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2709 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2710 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2711 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2712 Likewise.
2713 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2714 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2715 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2716 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2717 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2718 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2719 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2720 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2721 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2722 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2723 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2724
27252021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2726
2727 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2728 compile with '-w'.
2729 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2730 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2731 Likewise.
2732 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2733 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2734 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2735 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2736 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2737 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2738 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2739
e3948473
GA
27402021-04-22 Richard Biener <rguenther@suse.de>
2741
2742 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2743 only on nvptx-none.
2744
c1ef0c92
GA
27452021-04-21 Tobias Burnus <tobias@codesourcery.com>
2746
2747 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2748 omp_depend_kind instead of defining it as 16.
2749
27502021-04-21 Tobias Burnus <tobias@codesourcery.com>
2751
2752 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2753 New, based on check_effective_target_offload_target_nvptx.
2754 (check_effective_target_offload_target_nvptx): Call it.
2755 (check_effective_target_offload_target_amdgcn): New.
2756 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2757 Require target offload_target_nvptx || offload_target_amdgcn.
2758 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2759 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2760 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2761
27622021-04-21 Tobias Burnus <tobias@codesourcery.com>
2763
2764 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2765
6e81e015
GA
27662021-04-19 Thomas Schwinge <thomas@codesourcery.com>
2767
2768 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2769 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2770 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2771 Likewise.
2772 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2773 Likewise.
2774 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2775
ee351f7f
GA
27762021-04-15 Thomas Schwinge <thomas@codesourcery.com>
2777
2778 PR target/99555
2779 * testsuite/lib/libgomp.exp
2780 (check_effective_target_offload_device_nvptx): New.
2781 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2782 resolved, make sure that we exit quickly, with error status,
2783 XFAILed.
2784 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2785 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2786
df3b1289
GA
27872021-04-14 Jakub Jelinek <jakub@redhat.com>
2788
2789 PR testsuite/100071
2790 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2791 cp = omp_alloc with cp, p arguments instead of cq, q and call
2792 c_f_pointer after last cq = omp_alloc with cq, q.
2793
a0ecde22
GA
27942021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
2795
2796 PR middle-end/98088
2797 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2798 for loop with GT/GE condition.
2799 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2800
3115aba8
GA
28012021-04-09 Thomas Schwinge <thomas@codesourcery.com>
2802
2803 PR middle-end/84991
2804 PR middle-end/84992
2805 PR middle-end/90779
2806 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2807
28082021-04-09 Jakub Jelinek <jakub@redhat.com>
2809
2810 PR libgomp/99984
2811 * team.c (gomp_thread_start): Call pthread_setspecific for
2812 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2813 has been initialized to avoid false positive warning.
2814
65374af2
GA
28152021-03-29 Tobias Burnus <tobias@codesourcery.com>
2816
2817 PR target/99555
2818 * testsuite/lib/on_device_arch.c: Move to ...
2819 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2820 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2821 #include on_device_arch.h.
2822 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2823 on_device_arch.h instead of using dg-additional-source.
2824 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2825 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2826 on_device_arch.c without relative paths.
2827
4493b1c1
GA
28282021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2829
2830 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2831 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2832 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2833 * config.h.in: Regenerate.
2834 * configure: Likewise.
2835
28362021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2837
2838 PR target/99555
2839 * testsuite/lib/on_device_arch.c: New file.
2840 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2841 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2842 skip for nvptx offloading, with error status.
2843 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2844
28452021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2846
2847 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2848 OpenACC 'serial' construct diagnostic for nvptx offloading.
2849
3c5b6d24
GA
28502021-03-15 Tobias Burnus <tobias@codesourcery.com>
2851
2852 PR c++/99509
2853 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2854
6da2762a
GA
28552021-03-12 Tobias Burnus <tobias@codesourcery.com>
2856
2857 PR fortran/98858
2858 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2859
67f10d28
GA
28602021-03-04 Jakub Jelinek <jakub@redhat.com>
2861
2862 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2863 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2864 checking of -m32 or -mx32 options on the command line.
2865 * config.h.in: Regenerated.
2866 * configure: Regenerated.
2867
ec9dc4fa
GA
28682021-02-27 Iain Sandoe <iain@sandoe.co.uk>
2869
2870 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2871 support from the target.
2872
daa68844
GA
28732021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2874 Jakub Jelinek <jakub@redhat.com>
2875
2876 PR libgomp/98738
2877 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2878 (struct gomp_task): Replace detach and completion_sem fields with
2879 union containing completion_sem and detach_team. Add deferred_p
2880 field.
2881 (struct gomp_team): Remove task_detach_queue.
2882 * task.c: Include assert.h.
2883 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2884 Rearrange initialization order of fields.
2885 (task_fulfilled_p): Delete.
2886 (GOMP_task): Use address of task as the event handle. Remove
2887 initialization of detach field. Initialize deferred_p field.
2888 Use automatic local for completion_sem. Initialize detach_team field
2889 for deferred tasks.
2890 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2891 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2892 decrement task_running_count. Move finish_cancelled block out of
2893 else branch. Relocate call to gomp_team_barrier_done.
2894 (GOMP_taskwait): Handle tasks with completion events that have not
2895 been fulfilled.
2896 (GOMP_taskgroup_end): Likewise.
2897 (omp_fulfill_event): Use address of task as event handle. Post to
2898 completion_sem for undeferred tasks. Clear detach_team if task
2899 has not finished. For finished tasks, handle post-execution tasks,
2900 call gomp_team_barrier_wake if necessary, and free task.
2901 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2902 (free_team): Remove free of task_detach_queue.
2903 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2904 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2905 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2906 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2907 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2908 Change data-sharing of detach events on enclosing parallel to private.
2909 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2910 taskwait directive.
2911 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2912 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2913 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2914 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2915 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2916 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2917 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2918 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2919 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2920 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2921 Change data-sharing of detach events on enclosing parallel to private.
2922 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2923 taskwait directive.
2924 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2925 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2926 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2927 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2928 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2929
2f5765cf
GA
29302021-02-22 Tobias Burnus <tobias@codesourcery.com>
2931
2932 PR fortran/99171
2933 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2934
acc0ee5c
GA
29352021-02-17 Julian Brown <julian@codesourcery.com>
2936
2937 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2938 expected errors.
2939
29402021-02-17 Julian Brown <julian@codesourcery.com>
2941
2942 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2943 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2944
0c5cdb31
GA
29452021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2946
2947 * config/linux/x86/futex.h (__futex_wait):
2948 Revert output type back to long.
2949 (__futex_wake): Ditto.
2950 (futex_wait): Update for revert.
2951 (futex_wake): Ditto.
2952
29532021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2954
2955 * config/linux/x86/futex.h (__futex_wait): New static inline
2956 wrapper function. Correct output type to int and
2957 timeout type to void *.
2958 (__futex_wake): New static inline wrapper function.
2959 Correct output type to int.
2960 (futex_wait): Use __futex_wait.
2961 (futex_wake): Use __futex_wake.
2962
4b37c3ea
GA
29632021-02-10 Julian Brown <julian@codesourcery.com>
2964
2965 PR fortran/98979
2966 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2967 errors.
2968
a19dd5e6
GA
29692021-02-04 Julian Brown <julian@codesourcery.com>
2970
2971 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2972
9faaa807
GA
29732021-02-03 Andrew Stubbs <ams@codesourcery.com>
2974
2975 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2976 EF_AMDGPU_MACH_AMDGCN_GFX908.
2977 (gcn_gfx908_s): New constant string.
2978 (isa_hsa_name): Add gfx908.
2979 (isa_code): Add gfx908.
2980
161e4c08
GA
29812021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2982
2983 * libgomp.texi (omp_fulfill_event): New entry.
2984
b93d0e36
GA
29852021-01-20 Jakub Jelinek <jakub@redhat.com>
2986
2987 * task.c (GOMP_task): Rename priority argument to priority_arg,
2988 add priority automatic variable and modify that variable. Instead of
2989 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2990 check flags for that bit.
2991
f35a4f96
GA
29922021-01-19 Tobias Burnus <tobias@codesourcery.com>
2993
2994 PR fortran/98476
2995 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2996
ef1f8ee6
GA
29972021-01-18 Andreas Schwab <schwab@suse.de>
2998
2999 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
3000
30012021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
3002
3003 * config/rtems/sem.h (gomp_sem_getcount): New function.
3004
30052021-01-18 Jakub Jelinek <jakub@redhat.com>
3006
3007 * config/linux/sem.h (gomp_sem_getcount): New function.
3008 * config/posix/sem.h (gomp_sem_getcount): New function.
3009 * config/posix/sem.c (gomp_sem_getcount): New function.
3010 * config/accel/sem.h (gomp_sem_getcount): New function.
3011 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
3012 (omp_fulfill_event): Likewise.
3013
59cf67d1
GA
30142021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3015
3016 * fortran.c (omp_fulfill_event_): New.
3017 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
3018 (struct gomp_team): Add task_detach_queue and task_detach_count
3019 fields.
3020 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
3021 * libgomp_g.h (GOMP_task): Add extra argument.
3022 * omp.h.in (enum omp_event_handle_t): New.
3023 (omp_fulfill_event): New.
3024 * omp_lib.f90.in (omp_event_handle_kind): New.
3025 (omp_fulfill_event): New.
3026 * omp_lib.h.in (omp_event_handle_kind): New.
3027 (omp_fulfill_event): Declare.
3028 * priority_queue.c (priority_tree_find): New.
3029 (priority_list_find): New.
3030 (priority_queue_find): New.
3031 * priority_queue.h (priority_queue_predicate): New.
3032 (priority_queue_find): New.
3033 * task.c (gomp_init_task): Initialize detach field.
3034 (task_fulfilled_p): New.
3035 (GOMP_task): Add detach argument. Ignore detach argument if
3036 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
3037 field. Copy address of completion_sem into detach argument and
3038 into the start of the data record. Wait for detach event if task
3039 not deferred.
3040 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
3041 Remove completed tasks and requeue dependent tasks.
3042 (omp_fulfill_event): New.
3043 * team.c (gomp_new_team): Initialize task_detach_queue and
3044 task_detach_count fields.
3045 (free_team): Free task_detach_queue field.
3046 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
3047 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
3048 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
3049 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
3050 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
3051 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
3052 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
3053 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
3054 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
3055 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
3056 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
3057 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
3058
2f7f0d32
GA
30592021-01-15 Jakub Jelinek <jakub@redhat.com>
3060
3061 PR target/70454
3062 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
3063 be added through preprocessor check on
3064 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3065
5fff80fd
GA
30662021-01-14 Thomas Schwinge <thomas@codesourcery.com>
3067
3068 PR libgomp/65099
3069 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3070 configurations.
3071 * configure: Regenerate.
3072 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3073 check.
3074
651b8a50
GA
30752021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3076
3077 * configure: Re-generate.
3078
30792021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3080
3081 * configure: Re-generate.
3082
30832021-01-05 Julian Brown <julian@codesourcery.com>
3084
3085 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3086 (struct ptx_device): Add omp_stacks struct.
3087 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3088 (nvptx_close_device): Free cached stacks block and mutex.
3089 (nvptx_stacks_free): New function.
3090 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3091 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3092 (nvptx_stacks_alloc): Rename to...
3093 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3094 size or smaller is required.
3095 (nvptx_stacks_free): Remove.
3096 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3097 during kernel execution.
3098
b6dd195a
GA
30992021-01-01 Jakub Jelinek <jakub@redhat.com>
3100
3101 * libgomp.texi: Bump @copying's copyright year.
3102
2d3425a5
GA
31032020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3104
3105 * libgomp.texi (Top): Avoid bad "up" link.
3106
b1a2242e
GA
31072020-12-18 Jakub Jelinek <jakub@redhat.com>
3108
3109 * testsuite/libgomp.c/task-6.c: New test.
3110
ca2bd949
GA
31112020-12-09 Andrew Stubbs <ams@codesourcery.com>
3112
3113 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3114 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3115
f6e8e279
GA
31162020-12-08 Tobias Burnus <tobias@codesourcery.com>
3117
3118 * testsuite/libgomp.fortran/scan-1.f90: New test.
3119
6e1edf48
GA
31202020-12-05 Iain Sandoe <iain@sandoe.co.uk>
3121
3122 PR target/97865
3123 * configure: Regenerate.
3124
a9625c50
GA
31252020-11-29 John David Anglin <danglin@gcc.gnu.org>
3126
3127 * configure: Regenerate.
3128
360258da
GA
31292020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3130
3131 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3132 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3133
31342020-11-25 Andrew Stubbs <ams@codesourcery.com>
3135
3136 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3137 expected results.
3138
1e2c9a27
GA
31392020-11-24 Andrew Stubbs <ams@codesourcery.com>
3140
3141 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3142 (reserved): Delete unused define.
3143
31442020-11-24 Thomas Schwinge <thomas@codesourcery.com>
3145
3146 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3147 Tcl 8.5-specific behavior.
3148 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3149
25bb75f8
GA
31502020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
3151
3152 * env.c (gomp_global_icv): Remove nest_var field. Add
3153 max_active_levels_var field.
3154 (gomp_max_active_levels_var): Remove.
3155 (parse_boolean): Return true on success.
3156 (handle_omp_display_env): Express OMP_NESTED in terms of
3157 max_active_levels_var. Change format specifier for
3158 max_active_levels_var.
3159 (initialize_env): Set max_active_levels_var from
3160 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3161 OMP_PROC_BIND.
3162 * icv.c (omp_set_nested): Express in terms of
3163 max_active_levels_var.
3164 (omp_get_nested): Likewise.
3165 (omp_set_max_active_levels): Use max_active_levels_var field instead
3166 of gomp_max_active_levels_var.
3167 (omp_get_max_active_levels): Likewise.
3168 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3169 max_active_levels_var field.
3170 (gomp_supported_active_levels): Set to UCHAR_MAX.
3171 (gomp_max_active_levels_var): Delete.
3172 * libgomp.texi (omp_get_nested): Update documentation.
3173 (omp_set_nested): Likewise.
3174 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3175 (OMP_NESTED): Likewise.
3176 (OMP_NUM_THREADS): Likewise.
3177 (OMP_PROC_BIND): Likewise.
3178 * parallel.c (gomp_resolve_num_threads): Replace reference
3179 to nest_var with max_active_levels_var. Use max_active_levels_var
3180 field instead of gomp_max_active_levels_var.
3181
31822020-11-18 Tobias Burnus <tobias@codesourcery.com>
3183
3184 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3185 nvptx_usleep; use also for device={arch(gcn)}.
3186
faab61b5
GA
31872020-11-14 Jakub Jelinek <jakub@redhat.com>
3188
3189 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3190 (foo): Add tests for non-VLA private and firstprivate clauses on
3191 omp task.
3192 (bar): Likewise. Remove taking of address from private/firstprivate
3193 variables.
3194 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3195 (foo): Add p, q, px and s arguments. Add tests for array reductions
3196 and for non-VLA private and firstprivate clauses on omp task.
3197 (bar): Removed.
3198 (main): Adjust foo caller. Don't call bar.
3199
77f67db2
GA
32002020-11-13 Gergö Barany <gergo@codesourcery.com>
3201 Thomas Schwinge <thomas@codesourcery.com>
3202
3203 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3204 New.
3205 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3206 Likewise.
3207 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3208 Likewise.
3209 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3210 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3211
32122020-11-13 Gergö Barany <gergo@codesourcery.com>
3213 Thomas Schwinge <thomas@codesourcery.com>
3214
3215 PR fortran/94358
3216 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3217
32182020-11-13 Jakub Jelinek <jakub@redhat.com>
3219
3220 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3221 for array reductions.
3222 (main): Adjust foo callers.
3223
a5a11525
GA
32242020-11-12 Jakub Jelinek <jakub@redhat.com>
3225
3226 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3227 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3228 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3229 * allocator.c (omp_aligned_alloc): New for now static function,
3230 add alignment argument and handle it.
3231 (omp_alloc): Reimplement using omp_aligned_alloc.
3232 (GOMP_alloc, GOMP_free): New functions.
3233 (omp_free): Add ialias.
3234 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3235 * testsuite/libgomp.c++/allocate-1.C: New test.
3236
32372020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3238
3239 PR fortran/97782
3240 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3241
bb622641
GA
32422020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3243
3244 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3245 usable.
3246 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3247 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3248 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3249 (goacc_enter_data_internal): Likewise.
3250 * target.c (gomp_map_vars_internal):
3251 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3252 of gomp_attach_pointer for OpenMP cases.
3253 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3254 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3255 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3256
0cfd9109
GA
32572020-11-05 Ulrich Drepper <drepper@redhat.com>
3258 Kwok Cheung Yeung <kcy@codesourcery.com>
3259
3260 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3261 * Makefile.in: Regenerate.
3262 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3263 pragmas to ignore -Wdeprecated-declarations warnings.
3264 * icv.c: Likewise.
3265 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3266 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3267 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3268 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3269 deprecated.
3270 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3271 to test options.
3272 * testsuite/libgomp.c/affinity-1.c: Likewise.
3273 * testsuite/libgomp.c/affinity-2.c: Likewise.
3274 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3275 * testsuite/libgomp.c/lib-1.c: Likewise.
3276 * testsuite/libgomp.c/nested-1.c: Likewise.
3277 * testsuite/libgomp.c/nested-2.c: Likewise.
3278 * testsuite/libgomp.c/nested-3.c: Likewise.
3279 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3280 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3281 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3282 * testsuite/libgomp.c/pr35549.c: Likewise.
3283 * testsuite/libgomp.c/pr42942.c: Likewise.
3284 * testsuite/libgomp.c/pr61200.c: Likewise.
3285 * testsuite/libgomp.c/sort-1.c: Likewise.
3286 * testsuite/libgomp.c/target-5.c: Likewise.
3287 * testsuite/libgomp.c/target-6.c: Likewise.
3288 * testsuite/libgomp.c/teams-1.c: Likewise.
3289 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3290 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3291 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3292 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3293 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3294 * testsuite/libgomp.fortran/lib2.f: Likewise.
3295 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3296 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3297
88ce3d5f
GA
32982020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3299
3300 PR target/85486
3301 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3302 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3303 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3304
33052020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3306
3307 PR testsuite/80219
3308 PR testsuite/85303
3309 * testsuite/lib/libgomp.exp (libgomp_init): Set
3310 'gcc_warning_prefix', 'gcc_error_prefix'.
3311
33122020-10-30 Jakub Jelinek <jakub@redhat.com>
3313
3314 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3315 even in field_tgt_clear initializer.
3316
e93aae4a
GA
33172020-10-28 Jakub Jelinek <jakub@redhat.com>
3318
3319 * testsuite/libgomp.c/target-42.c: New test.
3320
33212020-10-28 Jakub Jelinek <jakub@redhat.com>
3322 Tom de Vries <tdevries@suse.de>
3323
3324 PR testsuite/81690
3325 * testsuite/libgomp.c/usleep.h: New file.
3326 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3327 (main): Use tgt_usleep instead of usleep.
3328 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3329 (main): Use tgt_usleep instead of usleep.
3330
33312020-10-28 Jakub Jelinek <jakub@redhat.com>
3332
3333 PR lto/96680
3334 * testsuite/libgomp.c/declare-variant-1.c: New test.
3335
56ddd5e2
GA
33362020-10-22 Jakub Jelinek <jakub@redhat.com>
3337
3338 * testsuite/libgomp.c/target-41.c: New test.
3339
33402020-10-22 Jakub Jelinek <jakub@redhat.com>
3341
3342 * icv.c (omp_get_initial_device): Remove including corresponding
3343 ialias.
3344 * icv-device.c (omp_get_initial_device): New function. Return
3345 gomp_get_num_devices (). Add ialias.
3346 * target.c (resolve_device): Don't fail with
3347 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3348 gomp_get_num_devices ().
3349 (omp_target_alloc, omp_target_free, omp_target_is_present,
3350 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3351 omp_target_disassociate_ptr, omp_pause_resource): Use
3352 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3353 first use in the functions, in uses dominated by the
3354 gomp_get_num_devices call use num_devices_openmp instead.
3355 * libgomp.texi (omp_get_initial_device): Document.
3356 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3357 Add ialias.
3358 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3359 * testsuite/libgomp.c/target-40.c: New test.
3360
33612020-10-21 Jakub Jelinek <jakub@redhat.com>
3362
3363 * env.c (parse_target_offload): Change new_offload var type to int,
3364 preinitialize to -1, remove found var and test new_offload != -1
3365 instead of found.
3366
e2e04288
GA
33672020-10-20 Jakub Jelinek <jakub@redhat.com>
3368
3369 * target.c (gomp_target_init): Inside of the function, use automatic
3370 variables corresponding to num_devices, num_devices_openmp and devices
3371 global variables and update the globals only at the end of the
3372 function.
3373
33742020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3375
3376 * env.c (gomp_target_offload_var): New.
3377 (parse_target_offload): New.
3378 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3379 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3380 * libgomp.h (gomp_target_offload_t): New.
3381 (gomp_target_offload_var): New.
3382 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3383 * target.c (resolve_device): Generate error if device not found and
3384 offloading is mandatory.
3385 (gomp_target_fallback): Generate error if offloading is mandatory.
3386 (GOMP_target): Add argument in call to gomp_target_fallback.
3387 (GOMP_target_ext): Likewise.
3388 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3389 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3390 (GOMP_target_data_ext): Likewise.
3391 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3392 (gomp_target_init): Return early if offloading is disabled.
3393
b85d5dc5
GA
33942020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3395
3396 * libgomp.texi (omp_get_max_active_levels): Modify description.
3397 (omp_get_supported_active_levels): Make descriptions consistent.
3398
b2698c21
GA
33992020-10-14 Jakub Jelinek <jakub@redhat.com>
3400
3401 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3402
bdd74cc2
GA
34032020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3404
3405 * env.c (gomp_max_active_levels_var): Initialize to
3406 gomp_supported_active_levels.
3407 (initialize_env): Limit gomp_max_active_levels_var to be at most
3408 equal to gomp_supported_active_levels.
3409 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3410 (omp_get_supported_active_levels_): New.
3411 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3412 to at most equal to gomp_supported_active_levels.
3413 (omp_get_supported_active_levels): New.
3414 * libgomp.h (gomp_supported_active_levels): New.
3415 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3416 omp_get_supported_active_levels_.
3417 * libgomp.texi (omp_get_supported_active_levels): New.
3418 (omp_set_max_active_levels): Update. Add reference to
3419 omp_get_supported_active_levels.
3420 * omp.h.in (omp_get_supported_active_levels): New.
3421 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3422 * omp_lib.h.in (omp_get_supported_active_levels): New.
3423 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3424 against omp_get_supported_active_levels.
3425 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3426
2baa36d4
GA
34272020-10-11 Clement Chigot <clement.chigot@atos.net>
3428
3429 * config/t-aix: Delete and recreate libgomp before creating
3430 FAT library.
3431
da9df699
GA
34322020-10-08 Tom de Vries <tdevries@suse.de>
3433
3434 PR libgomp/81802
3435 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3436 dimensions.
3437
8e97b905
GA
34382020-10-06 Tom de Vries <tdevries@suse.de>
3439
3440 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3441
34422020-10-06 Tom de Vries <tdevries@suse.de>
3443
3444 PR middle-end/90861
3445 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3446
7e9282ae
GA
34472020-10-05 Tom de Vries <tdevries@suse.de>
3448
3449 PR fortran/95654
3450 * testsuite/libgomp.fortran/pr95654.f90: New test.
3451
b0b9b8f0
GA
34522020-10-02 Tobias Burnus <tobias@codesourcery.com>
3453
3454 * Makefile.in: Regenerate with automake 1.15.1.
3455 * aclocal.m4: Likewise.
3456 * configure: Likewise.
3457 * testsuite/Makefile.in: Likewise.
3458
660bfe61
GA
34592020-09-30 Andrew Stubbs <ams@codesourcery.com>
3460
3461 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3462 and amdgcn targets.
3463
34642020-09-30 Tobias Burnus <tobias@codesourcery.com>
3465
3466 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3467
93bca37c
GA
34682020-09-29 Andrew Stubbs <ams@codesourcery.com>
3469
3470 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3471 total number of threads is one.
3472 (gomp_team_barrier_wake): Likewise.
3473 (gomp_team_barrier_wait_end): Likewise.
3474 (gomp_team_barrier_wait_cancel_end): Likewise.
3475 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3476 (gomp_team_barrier_wake): Likewise.
3477 (gomp_team_barrier_wait_end): Likewise.
3478 (gomp_team_barrier_wait_cancel_end): Likewise.
3479 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3480
e84761c6
GA
34812020-09-28 Tobias Burnus <tobias@codesourcery.com>
3482
3483 PR middle-end/96390
3484 * testsuite/libgomp.c++/pr96390.C: New test.
3485 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3486
4383c595
GA
34872020-09-27 Clement Chigot <clement.chigot@atos.net>
3488
3489 * config/t-aix: Use $(AR) without -X32_64.
3490
cdd8f031
GA
34912020-09-25 Jakub Jelinek <jakub@redhat.com>
3492
3493 * testsuite/libgomp.c/loop-25.c: New test.
3494
521d2711
GA
34952020-09-22 Tobias Burnus <tobias@codesourcery.com>
3496
3497 PR fortran/95654
3498 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3499
35002020-09-22 Tom de Vries <tdevries@suse.de>
3501
3502 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3503 fails.
3504
ecde1b0a
GA
35052020-09-16 Nathan Sidwell <nathan@acm.org>
3506
3507 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3508
9f7ab8c5
GA
35092020-09-15 Tobias Burnus <tobias@codesourcery.com>
3510
3511 PR fortran/96668
3512 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3513
35142020-09-15 Tobias Burnus <tobias@codesourcery.com>
3515
3516 PR fortran/96668
3517 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3518 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3519 (gomp_map_vars_existing): Update call to it.
3520 (gomp_map_fields_existing): Likewise
3521 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3522 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3523 remapped.
3524 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3525 GOMP_MAP_POINTER.
3526 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3527 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3528
50a71cd0
GA
35292020-09-14 Tom de Vries <tdevries@suse.de>
3530
3531 * config/nvptx/atomic.c: New file. Add
3532 __sync_val_compare_and_swap_16.
3533 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3534 target offload_target_nvptx.
3535
31a05046
GA
35362020-09-08 Julian Brown <julian@codesourcery.com>
3537
3538 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3539 iteration-ordering assumptions.
3540
35412020-09-08 Julian Brown <julian@codesourcery.com>
3542
3543 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3544 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3545
5b9a3d2a
GA
35462020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
3547
3548 * plugin/plugin-nvptx.c (nvptx_free):
3549 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3550 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3551 comments.
3552
35532020-08-20 Tobias Burnus <tobias@codesourcery.com>
3554
3555 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3556
b3cb5606
GA
35572020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3558
3559 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3560
35612020-08-13 Jakub Jelinek <jakub@redhat.com>
3562
3563 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3564 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3565 * testsuite/libgomp.c/loop-24.c: New test.
3566
bc0ca715
GA
35672020-08-08 Jakub Jelinek <jakub@redhat.com>
3568 Tobias Burnus <tobias@codesourcery.com>
3569
3570 PR fortran/93553
3571 * testsuite/libgomp.fortran/pr93553.f90: New test.
3572
aa5ea20c
GA
35732020-08-05 Jakub Jelinek <jakub@redhat.com>
3574
3575 * testsuite/libgomp.c/loop-22.c: New test.
3576 * testsuite/libgomp.c/loop-23.c: New test.
3577
35782020-08-05 Jakub Jelinek <jakub@redhat.com>
3579
3580 PR middle-end/96459
3581 * testsuite/libgomp.c/teams-3.c: New test.
3582 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3583 if not defined yet.
3584 (N(test)): Use it before all N(f*) calls.
3585 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3586 (main): Don't call all test_* functions from within
3587 #pragma omp teams reduction(|:err), call them directly.
3588
abba2591
GA
35892020-08-04 Tom de Vries <tdevries@suse.de>
3590
3591 PR target/96428
3592 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3593 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3594
6a1ad710
GA
35952020-08-03 Julian Brown <julian@codesourcery.com>
3596 Thomas Schwinge <thomas@codesourcery.com>
3597
3598 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3599 shared-memory devices. Extend with further checking.
3600
36012020-08-03 Martin Jambor <mjambor@suse.cz>
3602
3603 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3604 * aclocal.m4: Regenerated.
3605 * Makefile.in: Regenerated.
3606 * config.h.in: Regenerated.
3607 * configure: Regenerated.
3608 * plugin/configfrag.ac: Likewise.
3609 * plugin/hsa_ext_finalize.h: Removed.
3610 * plugin/plugin-hsa.c: Likewise.
3611 * testsuite/Makefile.in: Regenerated.
3612 * testsuite/lib/libgomp.exp
3613 (offload_target_to_openacc_device_type): Remove hsa case.
3614 (check_effective_target_hsa_offloading_selected_nocache): Removed
3615 (check_effective_target_hsa_offloading_selected): Likewise.
3616 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3617 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3618 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3619 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3620 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3621 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3622 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3623 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3624 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3625 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3626 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3627 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3628 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3629 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3630 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3631 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3632 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3633 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3634 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3635 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3636 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3637 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3638 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3639 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3640 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3641
e71dab87
GA
36422020-07-27 Julian Brown <julian@codesourcery.com>
3643 Thomas Schwinge <thomas@codesourcery.com>
3644
3645 * libgomp.h (struct target_var_desc): Rename do_detach field to
3646 is_attach.
3647 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3648 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3649 (goacc_enter_data_internal): Don't affect reference counts
3650 for attach mappings.
3651 (goacc_exit_data_internal): Don't affect reference counts for detach
3652 mappings.
3653 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3654 attach mappings.
3655 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3656 mark attach mappings.
3657 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3658 reference count for attach mappings.
3659 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3660 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3661 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3662 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3663 test as shouldfail.
3664 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3665 gracefully in no-finalize mode.
3666 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3667
53256ee3
GA
36682020-07-24 Thomas Schwinge <thomas@codesourcery.com>
3669
3670 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3671 use.
3672 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3673 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3674
9bb403dc
GA
36752020-07-23 Julian Brown <julian@codesourcery.com>
3676 Thomas Schwinge <thomas@codesourcery.com>
3677
3678 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3679 finalization for detach operation.
3680 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3681 New test.
3682
36832020-07-23 Tobias Burnus <tobias@codesourcery.com>
3684
3685 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3686 * libgomp_f.h.in (omp_check_defines): Check whether
3687 sizeof of determined Fortran kind and C typedef match.
3688 * omp_lib.f90.in: Add omp_depened_kind.
3689 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3690 * configure: Regenerate.
3691 * Makefile.in: Regenerate.
3692 * testsuite/Makefile.in: Regenerate.
3693
3ea9abca
GA
36942020-07-22 Tobias Burnus <tobias@codesourcery.com>
3695
3696 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3697 gcc/testsuite/c-c++-common/gomp/.
3698 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3699 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3700 from gcc/testsuite/gfortran.dg/gomp/.
3701 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3702
37032020-07-22 Tobias Burnus <tobias@codesourcery.com>
3704
3705 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3706 * omp_lib.h.in: Likewise.
3707
aeb34e15
GA
37082020-07-18 H.J. Lu <hjl.tools@gmail.com>
3709
3710 PR target/95620
3711 * testsuite/libgomp.c/pr95620.c: New test.
3712
96686b3f
GA
37132020-07-16 Julian Brown <julian@codesourcery.com>
3714 Thomas Schwinge <thomas@codesourcery.com>
3715
3716 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3717 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3718
fe8185b5
GA
37192020-07-15 Tobias Burnus <tobias@codesourcery.com>
3720
3721 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3722 avoid conversion on 32bit systems from 32bit to 64bit due
3723 to -fdefault-integer-8.
3724
37252020-07-15 Tobias Burnus <tobias@codesourcery.com>
3726
3727 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3728 variables; add character(kind=4) tests; update TODO comment.
3729
37302020-07-15 Tobias Burnus <tobias@codesourcery.com>
3731
3732 * allocator.c: Add ialias for omp_init_allocator and
3733 omp_destroy_allocator.
3734 * configure.ac: Set INTPTR_T_KIND.
3735 * configure: Regenerate.
3736 * Makefile.in: Regenerate.
3737 * testsuite/Makefile.in: Regenerate.
3738 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3739 omp_set_default_allocator_, omp_get_default_allocator_): New
3740 functions and ialias_redirect.
3741 * icv.c: Add ialias for omp_set_default_allocator and
3742 omp_get_default_allocator.
3743 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3744 omp_destroy_allocator_, omp_set_default_allocator_ and
3745 omp_get_default_allocator_.
3746 * omp_lib.f90.in: Add allocator traits parameters, declare
3747 allocator routines and add related kind parameters.
3748 * omp_lib.h.in: Likewise.
3749 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3750 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3751 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3752 * testsuite/libgomp.fortran/alloc-3.F: New test.
3753 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3754 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3755
8ca07a30
GA
37562020-07-14 Tom de Vries <tom@codesourcery.com>
3757 Cesar Philippidis <cesar@codesourcery.com>
3758 Thomas Schwinge <thomas@codesourcery.com>
3759 Kwok Cheung Yeung <kcy@codesourcery.com>
3760
3761 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3762 New variable.
3763 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3764 acc_init_state to initializing at the start, and to initialized at the
3765 end.
3766 (self_initializing_p): New function.
3767 (acc_get_device_type): Return acc_device_none if called by thread that
3768 is currently executing acc_init_1.
3769 * libgomp.texi (acc_get_device_type): Update documentation.
3770 (Implementation Status and Implementation-Defined Behavior): Likewise.
3771 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3772
37732020-07-14 David Edelsohn <dje.gcc@gmail.com>
3774
3775 * config/t-aix: Set BITS from compiler cpp macro.
3776
37772020-07-14 Tobias Burnus <tobias@codesourcery.com>
3778
3779 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3780
37812020-07-14 Tobias Burnus <tobias@codesourcery.com>
3782
3783 PR fortran/67311
3784 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3785
37862020-07-14 Jakub Jelinek <jakub@redhat.com>
3787
3788 * testsuite/libgomp.c/loop-21.c: New test.
3789
ea69fcf9
GA
37902020-07-13 Julian Brown <julian@codesourcery.com>
3791 Thomas Schwinge <thomas@codesourcery.com>
3792
3793 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3794
86536295
GA
37952020-07-10 Julian Brown <julian@codesourcery.com>
3796 Thomas Schwinge <thomas@codesourcery.com>
3797
3798 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3799 dynamic_refcount.
3800 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3801 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3802 dynamic_refcount.
3803 (acc_unmap_data): Update comment.
3804 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3805 dynamic_refcount semantics.
3806 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3807 Adjust for dynamic_refcount semantics.
3808 (goacc_enter_data_internal): Implement "present" case of dynamic
3809 memory-map handling here. Update "non-present" case for
3810 dynamic_refcount semantics.
3811 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3812 * target.c (gomp_map_vars_internal): Remove
3813 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3814 handling.
3815 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3816 (gomp_load_image_to_device): Substitute dynamic_refcount for
3817 virtual_refcount.
3818 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3819 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3820 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3821 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3822 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3823 trace output.
3824 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3825 trace output.
3826 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3827 test.
3828 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3829 Remove stale comment.
3830 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3831 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3832 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3833 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3834 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3835 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3836
38372020-07-10 Julian Brown <julian@codesourcery.com>
3838 Thomas Schwinge <thomas@codesourcery.com>
3839
3840 * oacc-mem.c (goacc_map_var_existing): New function.
3841 (goacc_enter_datum): Use above function.
3842 (goacc_exit_datum_1): New function.
3843 (goacc_exit_datum): Use above function.
3844
3f8ca9cb
GA
38452020-07-09 Julian Brown <julian@codesourcery.com>
3846 Thomas Schwinge <thomas@codesourcery.com>
3847
3848 PR middle-end/95270
3849 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3850 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3851
38522020-07-09 Julian Brown <julian@codesourcery.com>
3853
3854 * oacc-mem.c (find_group_last): Group data-movement clauses
3855 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3856 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3857
38582020-07-09 Jakub Jelinek <jakub@redhat.com>
3859
3860 * testsuite/libgomp.c/loop-19.c: New test.
3861 * testsuite/libgomp.c/loop-20.c: New test.
3862
38632020-07-09 Jakub Jelinek <jakub@redhat.com>
3864
3865 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3866 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3867 it. Remove __omp_alloctrait_value_max__.
3868 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3869 omp_atk_alignment and omp_atk_pool_size.
3870
b991c834
GA
38712020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3872
3873 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3874 behavior for 'GOMP_MAP_FORCE_FROM'.
3875 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3876
38772020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3878
3879 * oacc-mem.c (goacc_exit_data_internal): Remove
3880 'GOMP_MAP_ALWAYS_FROM' handling.
3881
46fbb6c6
GA
38822020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3883
3884 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3885 'scan-assembler' with 'scan-offload-rtl'.
3886 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3887 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3888 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3889 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3890
38912020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3892
3893 * target.c (gomp_map_vars_existing): Assert 'kind !=
3894 GOMP_MAP_ATTACH'.
3895 (gomp_map_vars_internal): Clean up.
3896
9a33c41f
GA
38972020-06-27 Jakub Jelinek <jakub@redhat.com>
3898
3899 * testsuite/libgomp.c/loop-17.c: New test.
3900 * testsuite/libgomp.c/loop-18.c: New test.
3901
c9c05f73
GA
39022020-06-26 Marek Polacek <polacek@redhat.com>
3903
3904 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3905
4543acc8
GA
39062020-06-23 Alexandre Oliva <oliva@adacore.com>
3907
3908 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3909 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3910
605a8f3b
GA
39112020-06-22 David Edelsohn <dje.gcc@gmail.com>
3912
3913 * Makefile.am: Use -include.
3914 * Makefile.in: Regenerate.
3915
f86e11a2
GA
39162020-06-21 David Edelsohn <dje.gcc@gmail.com>
3917
3918 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3919 * Makefile.in: Regenerate
3920 * configure.ac (tmake_file): Substitute.
3921 * configure: Regenerate.
3922 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3923 * config/t-aix: New file.
3924
aff95ee7
GA
39252020-06-17 Thomas Schwinge <thomas@codesourcery.com>
3926
3927 PR lto/94848
3928 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3929 'dg-do run'.
3930
39312020-06-17 Andrew Stubbs <ams@codesourcery.com>
3932
3933 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3934 variant for HSA_RUNTIME_LIB name.
3935 (find_executable_symbol_1): Delete.
3936 (find_executable_symbol): Delete.
3937 (init_kernel_properties): Add ".kd" suffix to symbol names.
3938 (find_load_offset): Delete.
3939 (create_and_finalize_hsa_program): Remove relocation handling.
3940
56638b9b
GA
39412020-06-16 Tobias Burnus <tobias@codesourcery.com>
3942
3943 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3944
2c455ae0
GA
39452020-06-08 Tobias Burnus <tobias@codesourcery.com>
3946
3947 PR lto/94848
3948 PR middle-end/95551
3949 * testsuite/libgomp.fortran/target-var.f90: New test.
3950
1a59f3db
GA
39512020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3952 Julian Brown <julian@codesourcery.com>
3953
3954 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3955 special handling.
3956
39572020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3958 Julian Brown <julian@codesourcery.com>
3959
3960 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3961 Simplify.
3962
39632020-06-05 Julian Brown <julian@codesourcery.com>
3964
3965 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3966 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3967
3add3425
GA
39682020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3969
3970 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3971 Evaluate 'copyfrom' individually for each entry.
3972 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3973
39742020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3975
3976 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3977 Evaluate 'finalize' individually for each entry.
3978 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3979 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3980 file.
3981
39822020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3983
3984 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3985 usage.
3986 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3987
39882020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3989 Julian Brown <julian@codesourcery.com>
3990
3991 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3992 checking.
3993 (acc_unmap_data, goacc_exit_data_internal): Restore
3994 'is_tgt_unmapped' checking.
3995 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3996 file.
3997 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3998 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3999 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4000 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4001 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4002 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4003
40042020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4005 Julian Brown <julian@codesourcery.com>
4006
4007 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
4008
40092020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4010
4011 PR libgomp/92854
4012 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
4013
40142020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4015
4016 PR libgomp/92854
4017 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
4018 more.
4019
40202020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4021 Julian Brown <julian@codesourcery.com>
4022
4023 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
4024 'gomp_map_vars'.
4025 (acc_map_data): Clean up accordingly.
4026
40272020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4028
4029 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
4030 of over-eager 'finalize' clause.
4031 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
4032 file.
4033 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4034 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4035 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4036 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4037 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4038 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
4039 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4040 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
4041
40422020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4043
4044 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
4045
40462020-06-04 Julian Brown <julian@codesourcery.com>
4047
4048 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
4049 error path.
4050 (goacc_detach_internal): Likewise.
4051
40522020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4053
4054 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
4055 the checkpoint.
4056 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4057 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4058 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4059 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4060 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4061
a9312a79
GA
40622020-06-02 Jakub Jelinek <jakub@redhat.com>
4063
4064 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4065 defined.
4066
945b53cc
GA
40672020-05-30 Jakub Jelinek <jakub@redhat.com>
4068
4069 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4070
40712020-05-30 Jakub Jelinek <jakub@redhat.com>
4072
4073 * allocator.c (omp_alloc): For size == 0, return NULL early.
4074
885ef72f
GA
40752020-05-29 H.J. Lu <hjl.tools@gmail.com>
4076
4077 PR bootstrap/95413
4078 * configure: Regenerated.
4079
8df7ee67
TK
40802020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
4081
4082 PR libfortran/95191
4083 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4084
800bcc8c
JJ
40852020-05-19 Jakub Jelinek <jakub@redhat.com>
4086
4087 * omp.h.in (omp_uintptr_t): New typedef.
4088 (__GOMP_UINTPTR_T_ENUM): Define.
4089 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4090 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4091 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4092 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4093 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4094 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4095 (gomp_def_allocator): Declare.
4096 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4097 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4098 omp_alloc and omp_free.
4099 * team.c (gomp_team_start): Copy over ts.def_allocator.
4100 * env.c (gomp_def_allocator): New variable.
4101 (parse_wait_policy): Adjust function comment.
4102 (parse_allocator): New function.
4103 (handle_omp_display_env): Print OMP_ALLOCATOR.
4104 (initialize_env): Call parse_allocator.
4105 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4106 * allocator.c: New file.
4107 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4108 functions.
4109 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4110 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4111 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4112 * Makefile.in: Regenerated.
4113
4c1a5d8b
L
41142020-05-15 H.J. Lu <hongjiu.lu@intel.com>
4115
4116 PR bootstrap/95147
4117 * configure: Regenerated.
4118
cdc34b50
TK
41192020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
4120
4121 PR libfortran/95119
4122 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4123
41242020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4125
4126 * configure: Regenerated.
4127
41282020-05-14 Jakub Jelinek <jakub@redhat.com>
4129
4130 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4131
f884bef2
TB
41322020-05-13 Tobias Burnus <tobias@codesourcery.com>
4133
4134 PR fortran/94690
4135 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4136 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4137 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4138 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4139 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4140 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4141 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4142
dc703151
JJ
41432020-05-12 Jakub Jelinek <jakub@redhat.com>
4144
4145 * testsuite/libgomp.c/target-39.c: New test.
4146
b9dc11b6
TS
41472020-04-29 Thomas Schwinge <thomas@codesourcery.com>
4148
a5d0bc12
TS
4149 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4150 * openacc.f90 (acc_device_current): Likewise.
4151 * openacc.h (acc_device_current): Likewise.
4152 * openacc_lib.h (acc_device_current): Likewise.
4153
7f198924
TS
4154 PR target/94282
4155 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4156 'dg-allow-blank-lines-in-output'.
4157
4912a04f
TS
4158 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4159 * testsuite/lib/libgomp.exp
4160 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4161 'radeon'. Adjust all users.
4162 (check_effective_target_openacc_amdgcn_accel_present): Rename
4163 to...
4164 (check_effective_target_openacc_radeon_accel_present): ... this.
4165 Adjust all users.
4166 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4167 (check_effective_target_openacc_radeon_accel_selected): ... this.
4168 Adjust all users.
4169
b9dc11b6
TS
4170 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4171 'dg-do run'.
4172
966de09b
AS
41732020-04-23 Andrew Stubbs <ams@codesourcery.com>
4174
4175 PR other/94629
4176
4177 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4178 hsa_iterate_agents.
4179 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4180 hsa_agent_iterate_regions.
4181
3f5d94c1
TS
41822020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4183
4184 PR middle-end/94635
4185 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4186 run'.
4187
85d8c05a
TB
41882020-04-20 Tobias Burnus <tobias@codesourcery.com>
4189
4190 PR middle-end/94120
4191 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4192 test case.
4193
af557050
TB
41942020-04-17 Tobias Burnus <tobias@codesourcery.com>
4195
4196 PR middle-end/94635
4197 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4198
af4c9257
TS
41992020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4200
4201 PR libgomp/92843
4202 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4203 Rename to...
4204 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4205 ... this.
4206 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4207 Rename to...
4208 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4209 ... this.
4210 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4211 Rename to...
4212 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4213 ... this.
4214 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4215 Rename to...
4216 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4217 ... this.
4218 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4219 Rename to...
4220 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4221 ... this.
4222 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4223 Rename to...
4224 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4225 ... this.
4226 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4227 Rename to...
4228 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4229 ... this.
4230 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4231 Rename to...
4232 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4233 ... this.
4234 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4235 Rename to...
4236 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4237 ... this.
4238 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4239 Rename to...
4240 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4241 ... this.
4242 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4243 Rename to...
4244 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4245 ... this.
4246 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4247 Rename to...
4248 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4249 ... this.
4250 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4251 Rename to...
4252 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4253 ... this.
4254 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4255 Rename to...
4256 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4257 ... this.
4258 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4259 Rename to...
4260 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4261 ... this.
4262 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4263 Rename to...
4264 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4265 ... this.
4266
be9862dd
JB
42672020-04-10 Julian Brown <julian@codesourcery.com>
4268 Thomas Schwinge <thomas@codesourcery.com>
4269
4270 PR libgomp/92843
4271 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4272 New file.
4273 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4274 Likewise.
4275 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4276 Likewise.
4277 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4278 Likewise.
4279 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4280 Likewise.
4281 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4282 Likewise.
4283 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4284 Likewise.
4285 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4286 Likewise.
4287 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4288 Likewise.
4289 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4290 Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4292 Likewise.
4293 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4294 Likewise.
4295 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4296 Likewise.
4297 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4298 Likewise.
4299 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4300 Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4302 Likewise.
4303
6b816a5f
TS
43042020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4305
4306 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4307 run'.
4308
13e41d8b
TB
43092020-04-08 Tobias Burnus <tobias@codesourcery.com>
4310
4311 PR middle-end/94120
4312 * libgomp.oacc-c++/declare-pr94120.C: New.
4313
749bd22d
MR
43142020-04-06 Maciej W. Rozycki <macro@wdc.com>
4315
4316 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4317 files.
4318 * configure: Regenerate.
4319 * testsuite/libgomp-site-extra.exp.in: New file.
4320 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4321 variable.
4322 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4323 variable.
4324 * testsuite/Makefile.in: Regenerate.
4325
2b1e849b
TS
43262020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4327
4328 PR tree-optimization/89713
4329 PR c/94392
4330 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4331 'bar.sync'.
4332 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4333
689418b9
TB
43342020-03-31 Tobias Burnus <tobias@codesourcery.com>
4335
4336 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4337 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4338
c2211a60
TB
43392020-03-24 Tobias Burnus <tobias@codesourcery.com>
4340
4341 PR libgomp/81689
4342 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4343
4897bb00
TB
43442020-03-20 Tobias Burnus <tobias@codesourcery.com>
4345
4346 PR libgomp/94251
4347 * target.c (gomp_load_image_to_device): Fix link
4348 variable handling.
4349
02f7334a
JJ
43502020-03-19 Jakub Jelinek <jakub@redhat.com>
4351
4352 PR c++/93931
4353 * testsuite/libgomp.c++/pr93931.C: New test.
4354
bb83e069
TB
43552020-03-19 Tobias Burnus <tobias@codesourcery.com>
4356
4357 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4358 dg-allow-blank-lines-in-output.
4359
26cbcfe5
TB
43602020-03-18 Julian Brown <julian@codesourcery.com>
4361 Tobias Burnus <tobias@codesourcery.com>
4362
4363 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4364 it work concurrently.
4365
4da92887
TB
43662020-03-18 Tobias Burnus <tobias@codesourcery.com>
4367
4368 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4369 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4370 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4371
9c3cdb43
JJ
43722020-03-14 Jakub Jelinek <jakub@redhat.com>
4373
4374 PR middle-end/93566
4375 * testsuite/libgomp.c/pr93566.c: New test.
4376
83d45e1d
FH
43772020-02-21 Frederik Harwath <frederik@codesourcery.com>
4378
4379 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4380 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4381 integer(acc_device_property) for the type of the return value of
4382 acc_get_property.
4383
8d1a1cb1
TB
43842020-02-19 Tobias Burnus <tobias@codesourcery.com>
4385
4386 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4387 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4388 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4389 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4390 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4391 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4392 corrections; add note about the previous interface and named constant.
4393 (OpenACC library and environment variables): Fix two typos.
4394 * openacc.f90: Use for all procedures the argument names from the spec
4395 as for …_h they are user visible.
4396 (openacc_kinds): Rename acc_device_property to
4397 acc_device_property_kinds and change value to int32 ; and update users.
4398 Re-add acc_device_property for for backward compatibility.
4399 (acc_get_property_string_h): Clean up as acc_device_property_kind
4400 changed.
4401 (acc_get_property_h): Likewise and return c_size_t instead of
4402 acc_device_property.
4403 (openacc): Also export acc_device_property_kinds.
4404 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4405 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4406 handling; check against /= 0 instead of == 1 to match C.
4407 * openacc_lib.h: Use for all procedures the argument names from the spec
4408 as for …_h they are user visible. Place !GCC$ into the first column to
4409 be active also for fixed-form souce form.
4410 (acc_device_current, acc_device_property_kind, acc_device_property,
4411 acc_property_memory, acc_property_free_memory, acc_property_name,
4412 acc_property_vendor, acc_property_driver): New named constants.
4413 (acc_get_property, acc_get_property_string): New generic interface.
4414
2d9eb4e4
FH
44152020-02-13 Frederik Harwath <frederik@codesourcery.com>
4416
4417 PR libgomp/93481
4418 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4419 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4420 optional.
4421 (gomp_target_task_fn): Assert "devicep->async_run_func".
4422 (clear_unsupported_flags): New function to remove unsupported flags
4423 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4424 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4425 * testsuite/libgomp.c/target-33.c:
4426 Remove xfail for offload_target_nvptx.
4427 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
4428
44292020-02-10 Frederik Harwath <frederik@codesourcery.com>
4430
4431 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4432 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4433 * testsuite/libgomp.c/target-34.c: Likewise.
4434 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4435 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4436
9bc3b95d
JJ
44372020-02-09 Jakub Jelinek <jakub@redhat.com>
4438
4439 * testsuite/libgomp.c/target-38.c: New test.
4440
cb3f0648
JJ
44412020-02-06 Jakub Jelinek <jakub@redhat.com>
4442
4443 PR libgomp/93515
4444 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4445
91bc3c98
TB
44462020-02-05 Tobias Burnus <tobias@codesourcery.com>
4447
4448 * testsuite/lib/libgomp.exp
4449 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4450 and not as 'source' argument to libgomp_target_compile.
4451
591f869a
AS
44522020-02-03 Andrew Stubbs <ams@codesourcery.com>
4453
4454 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4455 (gcn_gfx801_s): Remove.
4456 (isa_hsa_name): Remove gfx801.
4457 (isa_gcc_name): Remove gfx801/carizzo.
4458 (isa_code): Remove gfx801.
4459
e464fc90
TB
44602020-02-03 Julian Brown <julian@codesourcery.com>
4461 Tobias Burnus <tobias@codesourcery.com>
4462
4463 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4464 and *_finalize variants; document acc_attach and acc_detach; update
4465 references from OpenACC 2.0 to 2.6.
4466 * openacc.f90 (openacc_version): Update to 201711.
4467 * openacc_lib.h (openacc_version): Update to 201711.
4468 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4469 openacc_version to 201711.
4470 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4471
5a28e272
KCY
44722020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
4473
4474 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4475 and vgpr_count fields.
4476 (struct kernel_info): Add a field for a hsa_kernel_description.
4477 (run_kernel): Reduce the number of threads/workers if the requested
4478 number would require too many VGPRs.
4479 (init_basic_kernel_info): Initialize description field with
4480 the hsa_kernel_description entry for the kernel.
4481
5ab5d81b
TB
44822020-01-29 Tobias Burnus <tobias@codesourcery.com>
4483
4484 PR bootstrap/93409
4485 * plugin/configfrag.ac (enable_offload_targets): Skip
4486 HSA and GCN plugin besides -m32 also for -mx32.
4487 * configure: Regenerate.
4488
989a5fb3
FH
44892020-01-29 Frederik Harwath <frederik@codesourcery.com>
4490
4491 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
4492
44932020-01-29 Frederik Harwath <frederik@codesourcery.com>
4494
4495 * plugin-gcn.c (struct agent_info): Add fields "name" and
4496 "vendor_name" ...
4497 (GOMP_OFFLOAD_init_device): ... and init from here.
4498 (struct hsa_context_info): Add field "driver_version_s" ...
4499 (init_hsa_contest): ... and init from here.
4500 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4501 implementation.
4502 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4503 Enable test execution for amdgcn and host offloading targets.
4504 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4506 (expect_device_properties): Split function into ...
4507 (expect_device_string_properties): ... this new function ...
4508 (expect_device_memory): ... and this new function.
4509 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4510 Add test.
4511
278c3214
JB
45122020-01-28 Julian Brown <julian@codesourcery.com>
4513
4514 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4515 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4516 component/non-component variable refs in a single directive.
4517 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4518
e8e66971
MR
45192020-01-24 Maciej W. Rozycki <macro@wdc.com>
4520
4521 * configure.ac: Handle `--with-toolexeclibdir='.
4522 * Makefile.in: Regenerate.
4523 * aclocal.m4: Regenerate.
4524 * configure: Regenerate.
4525 * testsuite/Makefile.in: Regenerate.
4526
9e424d97
FH
45272020-01-24 Frederik Harwath <frederik@codesourcery.com>
4528
4529 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4530 (expect_device_properties): Remove "expected_free_mem" argument,
4531 change "expected_total_mem" argument type to size_t;
4532 change types of acc_get_property results to size_t,
4533 adapt format strings.
4534 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4535 Use %zu instead of %zd to print size_t values.
4536 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4537 rename to ...
4538 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4539 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4540 rename to ...
4541 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4542
14e5e746
AS
45432020-01-23 Andrew Stubbs <ams@codesourcery.com>
4544
4545 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4546 the device id.
4547
09e0ad62
AS
45482020-01-20 Andrew Stubbs <ams@codesourcery.com>
4549
4550 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4551 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4552 Adjust test dimensions for amdgcn.
4553 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4554 gang/worker/vector expectations dynamically.
4555 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4556 (main): Likewise.
4557 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4558 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4559 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4560 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4561 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4562 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4563 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4564 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4565 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4566 (acc_gang): Recognise acc_device_radeon.
4567 (acc_worker): Likewise.
4568 (acc_vector): Likewise.
4569 (main): Set expectations for amdgcn.
4570 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4571 (main): Adjust gang/worker/vector expectations dynamically.
4572 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4573 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4574 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4575 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4576 for amdgcn.
4577
6687d13a
AS
45782020-01-17 Andrew Stubbs <ams@codesourcery.com>
4579
4580 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4581 acc_device_radeon.
4582 (openacc): Likewise.
4583 * openacc.f90 (openacc_kinds): Likewise.
4584 (openacc): Likewise.
4585 * openacc.h (acc_device_t): Likewise.
4586 * openacc_lib.h: Likewise.
4587 * testsuite/lib/libgomp.exp
4588 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4589 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4590 (cb_compute_construct_end): Likewise.
4591 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4592 (cb_enqueue_launch_start): Likewise.
4593 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4594 (cb_enter_data_end): Likewise.
4595 (cb_exit_data_start): Likewise.
4596 (cb_exit_data_end): Likewise.
4597 (cb_compute_construct_end): Likewise.
4598 (cb_enqueue_launch_start): Likewise.
4599 (cb_enqueue_launch_end): Likewise.
4600 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4601 (main): Likewise.
4602
b3b75e66
TS
46032020-01-10 Thomas Schwinge <thomas@codesourcery.com>
4604
6fc0385c
TS
4605 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4606 to use this instead of 'enum gomp_device_property'.
4607 (GOMP_OFFLOAD_get_property): Rename to...
4608 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4609 * libgomp.h (struct gomp_device_descr): Move
4610 'GOMP_OFFLOAD_openacc_get_property'...
4611 (struct acc_dispatch_t): ... here. Adjust all users.
4612 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4613
b3b75e66
TS
4614 * target.c (gomp_map_vars_internal)
4615 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4616 paths.
4617
91df4397
JJ
46182020-01-10 Jakub Jelinek <jakub@redhat.com>
4619
4620 PR libgomp/93219
4621 * libgomp.h (gomp_print_string): Change return type from void to int.
4622 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4623 not all characters have been written.
4624
df2c0d36
TB
46252020-01-08 Tobias Burnus <tobias@codesourcery.com>
4626
4627 * libgomp.texi: Fix typos, use https.
4628
f760c0c7
TB
46292020-01-03 Tobias Burnus <tobias@codesourcery.com>
4630
4631 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4632 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4633 dummy arguments; those are/shall be regarded as absent arguments.
4634 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4635 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4636
7e7065b9
JJ
46372020-01-01 Jakub Jelinek <jakub@redhat.com>
4638
8d9254fc
JJ
4639 Update copyright years.
4640
7e7065b9
JJ
4641 * libgomp.texi: Bump @copying's copyright year.
4642
2c829799
AM
46432019-12-31 Ayush Mittal <ayush.m@samsung.com>
4644
4645 PR libgomp/93065
4646 * oacc-init.c (goacc_runtime_deinitialize): New function.
4647
e9dcb75e
JJ
46482019-12-28 Jakub Jelinek <jakub@redhat.com>
4649
4650 PR bootstrap/93074
4651 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4652 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4653
6c84c8bf
MR
46542019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
4655 Frederik Harwath <frederik@codesourcery.com>
4656 Thomas Schwinge <tschwinge@codesourcery.com>
4657
4658 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4659 * libgomp-plugin.h (gomp_device_property_value): New union.
4660 (gomp_device_property_value): New prototype.
4661 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4662 constant.
4663 (acc_device_property_t): New enum.
4664 (acc_get_property, acc_get_property_string): New prototypes.
4665 * oacc-init.c (acc_get_device_type): Also assert that result
4666 is not `acc_device_current'.
4667 (get_property_any, acc_get_property, acc_get_property_string):
4668 New functions.
4669 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4670 `acc_property_memory', `acc_property_free_memory',
4671 `acc_property_name', `acc_property_vendor' and
4672 `acc_property_driver' constants. Add `acc_device_property' data
4673 type.
4674 (openacc_internal): Add `acc_get_property' and
4675 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4676 `acc_get_property_string_h', `acc_get_property_l' and
4677 `acc_get_property_string_l'.
4678 * oacc-host.c (host_get_property): New function.
4679 (host_dispatch): Wire it.
4680 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4681 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4682 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4683 * libgomp.texi (OpenACC Runtime Library Routines): Add
4684 `acc_get_property'.
4685 (acc_get_property): New node.
4686 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4687 function (stub).
4688 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4689 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4690 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4691 calls.
4692 (GOMP_OFFLOAD_get_property): New function.
4693 (struct ptx_device): Add new field "name".
4694 (cuda_driver_version_s): Add new static variable ...
4695 (nvptx_init): ... and init from here.
4696
4697 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4698 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4699 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4700 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4701 with test helper functions.
4702
4703 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4704
c8e759b4
MR
47052019-12-22 Maciej W. Rozycki <macro@wdc.com>
4706
4707 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4708 variable.
4709
b092fb3b
TS
47102019-12-21 Thomas Schwinge <thomas@codesourcery.com>
4711
4712 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4713 link' handling.
4714
9be3ac5d
JB
47152019-12-19 Julian Brown <julian@codesourcery.com>
4716
4717 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4718 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4719 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4720
02817027
JB
47212019-12-19 Julian Brown <julian@codesourcery.com>
4722 Cesar Philippidis <cesar@codesourcery.com>
4723
4724 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4725 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4726 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4727 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4728 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4729 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4730 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4731 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4732 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4733 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4734 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4735 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4736 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4737
c2eb021f
JB
47382019-12-19 Julian Brown <julian@codesourcery.com>
4739
4740 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4741 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4742 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4743 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4744 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4745 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4746 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4747 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4748 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4749 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4750 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4751 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4752
8e7e71ff
JB
47532019-12-19 Julian Brown <julian@codesourcery.com>
4754
4755 * libgomp.h (struct target_var_desc): Add do_detach flag.
4756 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4757 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4758 struct components. Tidy up and add some new checks.
4759 (goacc_enter_data_internal): Update call to find_group_last.
4760 (goacc_exit_data_internal): Support detach operations and
4761 GOMP_MAP_STRUCT.
4762 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4763 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4764 attach/detach in enter/exit data detection code.
4765 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4766 tgt_var_desc.
4767 (gomp_map_vars_internal): Support attach.
4768 (gomp_unmap_vars_internal): Support detach.
4769
5d5be7bf
JB
47702019-12-19 Julian Brown <julian@codesourcery.com>
4771 Thomas Schwinge <thomas@codesourcery.com>
4772
4773 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4774 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4775 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4776 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4777 acc_detach_finalize_async.
4778 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4779 acc_detach, acc_detach_async, acc_detach_finalize,
4780 acc_detach_finalize_async): New functions.
4781 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4782 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4783 prototypes.
4784 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4785 (gomp_remove_var_internal): Free attachment counts if present.
4786 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4787 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4788
5bcd470b
JB
47892019-12-19 Julian Brown <julian@codesourcery.com>
4790 Cesar Philippidis <cesar@codesourcery.com>
4791
4792 * libgomp.h (gomp_map_val): Add prototype.
4793 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4794 open-coding device-address calculation.
4795 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4796 non-present case.
4797
378da98f
JB
47982019-12-19 Julian Brown <julian@codesourcery.com>
4799
4800 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4801 field for virtual_refcount.
4802 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4803 (gomp_free_memmap): Remove prototype.
4804 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4805 instead of calling gomp_free_memmap.
4806 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4807 dynamic_refcount.
4808 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4809 to_free field to NULL then calling gomp_unmap_vars. Handle
4810 REFCOUNT_INFINITY on target blocks.
4811 (goacc_enter_data): Rename to...
4812 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4813 handling for mapping groups. Use virtual_refcount instead of
4814 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4815 map_map_vars_async call. Re-do lookup for target pointer return value.
4816 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4817 renamed goacc_enter_datum function.
4818 (goacc_exit_data): Rename to...
4819 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4820 (acc_delete, acc_delete_async, acc_delete_finalize,
4821 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4822 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4823 goacc_exit_datum function.
4824 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4825 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4826 New functions.
4827 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4828 goacc_exit_data_internal helper functions.
4829 * target.c (gomp_map_vars_internal): Handle
4830 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4831 semantics.
4832 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4833 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4834 virtual_refcount field instead of dynamic_refcount.
4835 (gomp_free_memmap): Remove function.
4836 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4837 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4838 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4839
2a656a93
JB
48402019-12-19 Julian Brown <julian@codesourcery.com>
4841 Thomas Schwinge <thomas@codesourcery.com>
4842
4843 * libgomp.h (struct splay_tree_aux): New.
4844 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4845 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4846 to aux struct.
4847 (gomp_remove_var_internal): Free aux block if present.
4848 (gomp_load_image_to_device): Zero-initialise aux field instead of
4849 link_key field.
4850 (omp_target_associate_pointer): Zero-initialise aux field.
4851
601399c0
JJ
48522019-12-18 Jakub Jelinek <jakub@redhat.com>
4853
4854 PR middle-end/86416
4855 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4856 q or none.
4857 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4858 L or none.
4859
a6163563
JB
48602019-12-19 Julian Brown <julian@codesourcery.com>
4861 Maciej W. Rozycki <macro@codesourcery.com>
4862 Tobias Burnus <tobias@codesourcery.com>
4863 Thomas Schwinge <thomas@codesourcery.com>
4864
4865 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4866 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4867 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4868 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4869 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4870 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4871 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4872 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4873 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4874
6278b549
TS
48752019-12-18 Thomas Schwinge <thomas@codesourcery.com>
4876
77ce5555
TS
4877 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4878 called...
4879 (goacc_insert_pointer): ... from here, "present" case.
4880 (goacc_insert_pointer): Inline function into...
4881 (GOACC_enter_exit_data): ... here, and simplify.
4882
9444a299
TS
4883 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4884 called...
4885 (goacc_insert_pointer): ... from here, "not present" case.
4886
5031b619
TS
4887 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4888 all users.
4889
1a79b578
TS
4890 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4891 'goacc_enter_data', 'goacc_exit_data'.
4892
34cfe31e
TS
4893 * oacc-mem.c (delete_copyout): Refactor into...
4894 (goacc_exit_data): ... this. Adjust all users.
4895
aaf0e9d7
TS
4896 * oacc-mem.c (present_create_copy): Refactor into...
4897 (goacc_enter_data): ... this. Adjust all users.
4898
83d1d065
TS
4899 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4900 'gomp_remove_var'.
4901
cc3f11f5
TS
4902 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4903 like 'GOMP_MAP_FROM'.
4904
ddb25eb9
TS
4905 PR libgomp/92726
4906 PR libgomp/92970
4907 PR libgomp/92984
4908 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4909 fails.
4910 (GOACC_enter_exit_data): Simplify accordingly.
4911 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4912 subsuming...
4913 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4914 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4915 file.
4916 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4917 subsuming...
4918 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4919 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4920 file.
4921 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4922 subsuming...
4923 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4924
32128577
TS
4925 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4926 'finalize' handling.
4927
ba40277f
TS
4928 PR libgomp/92848
4929 * oacc-mem.c (acc_map_data, present_create_copy)
4930 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4931 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4932 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4933 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4934 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4935 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4936 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4937 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4938 Remove "XFAIL"s.
4939
6278b549
TS
4940 * target.c (gomp_unmap_tgt): Make it 'static'.
4941 * libgomp.h (gomp_unmap_tgt): Remove.
4942
c80c9e26
TB
49432019-12-18 Tobias Burnus <tobias@codesourcery.com>
4944
4945 PR middle-end/86416
4946 * testsuite/libgomp.c/pr86416-1.c: New.
4947 * testsuite/libgomp.c/pr86416-2.c: New.
4948
0b8499a4
TB
49492019-12-17 Tobias Burnus <tobias@codesourcery.com>
4950
4951 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4952 all symbols as public except for the 'use …, only' imported symbol,
4953 which is private.
4954 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4955 all symbols from module openacc_kinds as PUBLIC
4956 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4957 fix comment typo.
4958 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4959
1cbd94e8
JB
49602019-12-13 Julian Brown <julian@codesourcery.com>
4961
4962 PR libgomp/92881
4963
4964 * libgomp.h (gomp_remove_var_async): Add prototype.
4965 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4966 gomp_remove_var.
4967 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4968 whether target_mem_desc was unmapped.
4969 (gomp_unref_tgt_void): New.
4970 (gomp_remove_var): Reimplement in terms of...
4971 (gomp_remove_var_internal): ...this new helper function.
4972 (gomp_remove_var_async): New, implemented using above helper function.
4973 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4974 gomp_unref_tgt.
4975
26b74ed0
AS
49762019-12-13 Andrew Stubbs <ams@codesourcery.com>
4977
4978 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4979 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4980 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4981 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4982 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4983 Likewise.
4984 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4985 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4986
7858bb96
TB
49872019-12-13 Tobias Burnus <tobias@codesourcery.com>
4988
4989 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4990 as public except for the 'use …, only' imported symbol, which is
4991 private.
4992 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4993 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4994 attributes for acc_copyout_finalize and acc_delete_finalize.
4995
f8ac7d8f
JJ
49962019-12-11 Jakub Jelinek <jakub@redhat.com>
4997
4998 PR fortran/92899
4999 * testsuite/libgomp.fortran/atomic1.f90: New test.
5000
3d1b5e71
TS
50012019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5002
d6e8c01c
TS
5003 PR libgomp/92843
5004 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
5005 reference counting for structured 'REFCOUNT_INFINITY'. Add some
5006 assertions.
5007 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
5008 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
5009 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
5010 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5011 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5012
57963e39
TS
5013 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
5014 * oacc-mem.c: ... here.
5015 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
5016 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
5017 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5018 Remove.
5019 * libgomp_g.h: Update.
5020
c5578b56
TS
5021 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
5022 * oacc-async.c: ... here.
5023 * oacc-int.h (goacc_wait): Declare.
5024 * libgomp_g.h: Update
5025
3d1b5e71
TS
5026 PR libgomp/92854
5027 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
5028 New file.
5029 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
5030 Likewise.
5031 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
5032 Likewise.
5033 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
5034 Likewise.
5035 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
5036 Likewise.
5037 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
5038 Likewise.
5039
5e939438
TS
50402019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5041 Julian Brown <julian@codesourcery.com>
5042
5043 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
5044 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
5045
93d90219
TB
50462019-12-11 Tobias Burnus <tobias@codesourcery.com>
5047
5048 * omp_lib.h.in: Fix spelling of function declaration
5049 omp_get_cancell(l)ation.
5050 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
5051 Fix typos.
5052 * env.c: Fix comment typos.
5053 * oacc-host.c: Likewise.
5054 * ordered.c: Likewise.
5055 * task.c: Likewise.
5056 * team.c: Likewise.
5057 * config/gcn/task.c: Likewise.
5058 * config/gcn/team.c: Likewise.
5059 * config/nvptx/task.c: Likewise.
5060 * config/nvptx/team.c: Likewise.
5061 * plugin/plugin-gcn.c: Likewise.
5062 * testsuite/libgomp.fortran/jacobi.f: Likewise.
5063 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5064 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
5065
a0221aee
TB
50662019-12-11 Tobias Burnus <tobias@codesourcery.com>
5067
5068 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5069 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5070 unnecessary 'dg-additional-options "-w"'.
5071
47afc7b4
TS
50722019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5073 Julian Brown <julian@codesourcery.com>
5074
5075 PR libgomp/92116
5076 PR libgomp/92877
5077
5078 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5079 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5080 Adjust all users.
5081 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5082 Remove XFAIL.
5083 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5084 Likewise.
5085 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5086
b5859e40
TS
50872019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5088
cec41816
TS
5089 PR libgomp/92503
5090 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5091 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5092 file.
5093 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5094 Likewise.
5095 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5096 Likewise.
5097 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5098 Likewise.
5099 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5100 Likewise.
5101 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5102 Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5104 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5105 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5106 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5107 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5108 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5109 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5110 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5111 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5112 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5113
e103542b
TS
5114 PR libgomp/92840
5115 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5116 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5117 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5118 New file.
5119 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5120 Likewise.
5121 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5122 Likewise.
5123 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5124 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5125
41f36f22
TS
5126 PR libgomp/92511
5127 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5128 this file...
5129 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5130 this file...
5131 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5132 file...
5133 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5134 file...
5135 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5136 ... with their content moved into, and extended in this new file.
5137 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5138 New file.
5139 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5140 Likewise.
5141 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5142 Likewise.
5143 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5144 Likewise.
5145
6effebe1
TS
5146 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5147
7d020473
TS
5148 PR libgomp/92854
5149 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5150
1e1fb715
TS
5151 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5152
b5859e40
TS
5153 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5154
11586ed9
TB
51552019-12-09 Tobias Burnus <tobias@codesourcery.com>
5156
5157 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5158 unique.
5159 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5160 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5161 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5162 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5163 Ditto.
5164 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5165 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5166
3ad4a03a
KCY
51672019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5168
5169 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5170
6e4d01d6
TB
51712019-12-06 Tobias Burnus <tobias@codesourcery.com>
5172 Kwok Cheung Yeung <kcy@codesourcery.com>
5173
5174 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5175 if input it a NULL pointer.
5176 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5177 diagnostic of NULL pointer.
5178 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5179 * testsuite/libgomp.fortran/optional-map.f90: New.
5180 * testsuite/libgomp.fortran/use_device_addr-1.f90
5181 (test_dummy_opt_callee_1_absent): New.
5182 (test_dummy_opt_call_1): Call it.
5183 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5184 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5185 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5186 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5187 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5188 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5189 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5190 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5191 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5192 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5193 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5194 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5195 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5196 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5197 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5198 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5199
ad80ec46
TB
52002019-12-05 Tobias Burnus <tobias@codesourcery.com>
5201
5202 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5203 expect dg-output of 'Error termination.' for GCN.
5204 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5205 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5206
a8a5f4cc
JJ
52072019-12-04 Jakub Jelinek <jakub@redhat.com>
5208
5209 PR fortran/92756
5210 * testsuite/libgomp.fortran/teams1.f90: New test.
5211 * testsuite/libgomp.fortran/teams2.f90: New test.
5212
d8f0024b
FH
52132019-12-03 Frederik Harwath <frederik@codesourcery.com>
5214
5215 * oacc-init.c (acc_known_device_type): Add function.
5216 (unknown_device_type_error): Add function.
5217 (name_of_acc_device_t): Change to call unknown_device_type_error
5218 on unknown type.
5219 (resolve_device): Use acc_known_device_type.
5220 (acc_init): Fail if acc_device_t argument is not valid.
5221 (acc_shutdown): Likewise.
5222 (acc_get_num_devices): Likewise.
5223 (acc_set_device_type): Likewise.
5224 (acc_get_device_num): Likewise.
5225 (acc_set_device_num): Likewise.
5226 (acc_on_device): Add comment that argument validity is not checked.
5227
83caa34e
AS
52282019-12-03 Andrew Stubbs <ams@codesourcery.com>
5229
5230 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5231 Recognize amdgcn.
5232 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5233 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5234 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5235 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5236 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5237
00484365
SN
52382019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5239
5240 PR libgomp/91938
5241 * configure.tgt: Avoid IE tls on *-*-musl*.
5242
9909a059
TB
52432019-11-29 Tobias Burnus <tobias@codesourcery.com>
5244
5245 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5246 adding a common-block test case.
5247
b3f44388
JJ
52482019-11-29 Jakub Jelinek <jakub@redhat.com>
5249
5250 PR c++/60228
5251 * testsuite/libgomp.c++/udr-20.C: New test.
5252 * testsuite/libgomp.c++/udr-21.C: New test.
5253
b1a73b48
TS
52542019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5255
5256 * testsuite/lib/libgomp.exp
5257 (check_effective_target_offload_target_nvptx): New proc.
5258 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5259 'dg-skip-if'.
5260 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5261 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5262 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5263
b8e72446
RO
52642019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5265
5266 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5267 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5268 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5269 * testsuite/libgomp.c/private-1.c: Likewise.
5270 * testsuite/libgomp.c/task-1.c: Likewise.
5271 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5272
d88b27da
JB
52732019-11-20 Julian Brown <julian@codesourcery.com>
5274
5275 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5276 aq->mutex here.
5277 (queue_push_launch): Lock aq->mutex before calling
5278 wait_for_queue_nonfull.
5279 (queue_push_callback): Likewise.
5280 (queue_push_asyncwait): Likewise.
5281 (queue_push_placeholder): Likewise.
5282
8d2f4ddf
JB
52832019-11-20 Julian Brown <julian@codesourcery.com>
5284
5285 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5286 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5287 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5288 return code.
5289
e307b05f
JB
52902019-11-20 Julian Brown <julian@codesourcery.com>
5291
5292 PR libgomp/92511
5293
5294 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5295 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5296 in non-present/create case.
5297 (delete_copyout): Change error condition to fail only on copies outside
5298 of mapped block. Adjust error message accordingly.
5299 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5300 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5301 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5302 message.
5303 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5304 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5305 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5306
83115e9e
MR
53072019-11-20 Maciej W. Rozycki <macro@wdc.com>
5308
5309 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5310 libatomic in build-tree testing.
5311
a1289887
MR
53122019-11-18 Maciej W. Rozycki <macro@wdc.com>
5313
5314 * testsuite/Makefile.in: Regenerate.
5315
8916ba87
AS
53162019-11-15 Andrew Stubbs <ams@codesourcery.com>
5317
5318 * testsuite/libgomp.c/target-print-1.c: New file.
5319 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5320 * testsuite/libgomp.oacc-c/print-1.c: New file.
5321 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5322
237957cc
AS
53232019-11-13 Andrew Stubbs <ams@codesourcery.com>
5324 Kwok Cheung Yeung <kcy@codesourcery.com>
5325 Julian Brown <julian@codesourcery.com>
5326 Tom de Vries <tom@codesourcery.com>
5327
5328 * plugin/Makefrag.am: Add amdgcn plugin support.
5329 * plugin/configfrag.ac: Likewise.
5330 * plugin/plugin-gcn.c: New file.
5331 * configure: Regenerate.
5332 * Makefile.in: Regenerate.
5333 * testsuite/Makefile.in: Regenerate.
5334
cee16451
AS
53352019-11-13 Andrew Stubbs <ams@codesourcery.com>
5336
5337 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5338 and use team_malloc variants.
5339 (gomp_gcn_exit_kernel): Use team_free.
5340 * libgomp.h (TEAM_ARENA_SIZE): Define.
5341 (TEAM_ARENA_START): Define.
5342 (TEAM_ARENA_FREE): Define.
5343 (TEAM_ARENA_END): Define.
5344 (team_malloc): New function.
5345 (team_malloc_cleared): New function.
5346 (team_free): New function.
5347 * team.c (gomp_new_team): Initialize and use team_malloc.
5348 (free_team): Use team_free.
5349 (gomp_free_thread): Use team_free.
5350 (gomp_pause_host): Use team_free.
5351 * work.c (gomp_init_work_share): Use team_malloc.
5352 (gomp_fini_work_share): Use team_free.
5353
fa499995
AS
53542019-11-13 Andrew Stubbs <ams@codesourcery.com>
5355 Kwok Cheung Yeung <kcy@codesourcery.com>
5356 Julian Brown <julian@codesourcery.com>
5357 Tom de Vries <tom@codesourcery.com>
5358
5359 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5360 * Makefile.in: Regenerate.
5361 * config.h.in (PLUGIN_GCN): Add new undef.
5362 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5363 * config/gcn/affinity-fmt.c: New file.
5364 * config/gcn/bar.c: New file.
5365 * config/gcn/bar.h: New file.
5366 * config/gcn/doacross.h: New file.
5367 * config/gcn/icv-device.c: New file.
5368 * config/gcn/oacc-target.c: New file.
5369 * config/gcn/simple-bar.h: New file.
5370 * config/gcn/target.c: New file.
5371 * config/gcn/task.c: New file.
5372 * config/gcn/team.c: New file.
5373 * config/gcn/time.c: New file.
5374 * configure.ac: Add amdgcn*-*-*.
5375 * configure: Regenerate.
5376 * configure.tgt: Add amdgcn*-*-*.
5377 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5378 * libgomp.h (gcn_thrs): Add amdgcn variant.
5379 (set_gcn_thrs): Likewise.
5380 (gomp_thread): Likewise.
5381 * oacc-int.h (goacc_thread): Likewise.
5382 * oacc-target.c: New file.
5383 * openacc.f90 (acc_device_gcn): New parameter.
5384 * openacc.h (acc_device_t): Add acc_device_gcn.
5385 * team.c (gomp_free_pool_helper): Add amdgcn support.
5386
d2903ce0
AS
53872019-11-13 Andrew Stubbs <ams@codesourcery.com>
5388 Julian Brown <julian@codesourcery.com>
5389
5390 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5391 parameter.
5392 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5393 queue constructor.
5394 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5395 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5396 device parameter.
5397
b3d14b3a
AS
53982019-11-13 Andrew Stubbs <ams@codesourcery.com>
5399
5400 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5401 * config/nvptx/libgomp-plugin.c: Move ...
5402 * config/accel/libgomp-plugin.c: ... to here.
5403 * config/nvptx/lock.c: Move ...
5404 * config/accel/lock.c: ... to here.
5405 * config/nvptx/mutex.c: Move ...
5406 * config/accel/mutex.c: ... to here.
5407 * config/nvptx/mutex.h: Move ...
5408 * config/accel/mutex.h: ... to here.
5409 * config/nvptx/oacc-async.c: Move ...
5410 * config/accel/oacc-async.c: ... to here.
5411 * config/nvptx/oacc-cuda.c: Move ...
5412 * config/accel/oacc-cuda.c: ... to here.
5413 * config/nvptx/oacc-host.c: Move ...
5414 * config/accel/oacc-host.c: ... to here.
5415 * config/nvptx/oacc-init.c: Move ...
5416 * config/accel/oacc-init.c: ... to here.
5417 * config/nvptx/oacc-mem.c: Move ...
5418 * config/accel/oacc-mem.c: ... to here.
5419 * config/nvptx/oacc-plugin.c: Move ...
5420 * config/accel/oacc-plugin.c: ... to here.
5421 * config/nvptx/omp-lock.h: Move ...
5422 * config/accel/omp-lock.h: ... to here.
5423 * config/nvptx/openacc.f90: Move ...
5424 * config/accel/openacc.f90: ... to here.
5425 * config/nvptx/pool.h: Move ...
5426 * config/accel/pool.h: ... to here.
5427 * config/nvptx/proc.c: Move ...
5428 * config/accel/proc.c: ... to here.
5429 * config/nvptx/ptrlock.c: Move ...
5430 * config/accel/ptrlock.c: ... to here.
5431 * config/nvptx/ptrlock.h: Move ...
5432 * config/accel/ptrlock.h: ... to here.
5433 * config/nvptx/sem.c: Move ...
5434 * config/accel/sem.c: ... to here.
5435 * config/nvptx/sem.h: Move ...
5436 * config/accel/sem.h: ... to here.
5437 * config/nvptx/thread-stacksize.h: Move ...
5438 * config/accel/thread-stacksize.h: ... to here.
5439
62aee289
MR
54402019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5441 Tobias Burnus <tobias@codesourcery.com>
5442 Frederik Harwath <frederik@codesourcery.com>
5443 Thomas Schwinge <thomas@codesourcery.com>
5444
5445 libgomp/
5446 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5447 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5448 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5449
a2c26c50
TB
54502019-11-11 Tobias Burnus <tobias@codesourcery.com>
5451 Kwok Cheung Yeung <kcy@codesourcery.com>
5452
5453 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5454 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5455
6d4868f3
TS
54562019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5457
bfa1837b
TS
5458 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5459
6d4868f3
TS
5460 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5461 run'.
5462 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5463 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5464
5d183d17
FH
54652019-11-06 Thomas Schwinge <thomas@codesourcery.com>
5466
5467 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5468 Add expected warnings about missing reduction clauses.
5469 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5470 Likewise.
5471 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5472 Likewise.
5473 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5474 Likewise.
5475
d8f03b03
TB
54762019-11-04 Tobias Burnus <tobias@codesourcery.com>
5477
5478 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5479 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5480 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5481 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5482 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5483 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5484
12fd2ec5
TB
54852019-11-04 Tobias Burnus <tobias@codesourcery.com>
5486
5487 PR fortran/92305
5488 * testsuite/libgomp.fortran/allocatable2.f90: Use
5489 unique numbers with 'stop'.
5490 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5491 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5492 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5493 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5494 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5495
92e63bd2
TB
54962019-11-01 Tobias Burnus <tobias@codesourcery.com>
5497
5498 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5499 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5500 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5501 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5502 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5503 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5504
91ae0a46
TB
55052019-10-30 Tobias Burnus <tobias@codesourcery.com>
5506
5507 * testsuite/libgomp.fortran/target9.f90: New.
5508
c425e66b
TB
55092019-10-30 Tobias Burnus <tobias@codesourcery.com>
5510
5511 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5512 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5513 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5514 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5515 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5516 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5517 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5518 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5519 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5520 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5521 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5522 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5523 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5524 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5525 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5526 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5527 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5528 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5529 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5530 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5531 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5532 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5533 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5534 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5535 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5536 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5537 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5538 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5539 * testsuite/libgomp.fortran/character1.f90: Ditto.
5540 * testsuite/libgomp.fortran/character2.f90: Ditto.
5541 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5542 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5543 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5544 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5545 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5546 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5547 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5548 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5549 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5550 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5551 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5552 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5553 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5554 * testsuite/libgomp.fortran/do1.f90: Ditto.
5555 * testsuite/libgomp.fortran/do2.f90: Ditto.
5556 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5557 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5558 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5559 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5560 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5561 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5562 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5563 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5564 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5565 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5566 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5567 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5568 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5569 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5570 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5571 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5572 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5573 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5574 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5575 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5576 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5577 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5578 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5579 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5580 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5581 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5582 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5583 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5584 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5585 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5586 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5587 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5588 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5589 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5590 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5591 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5592 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5593 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5594 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5595 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5596 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5597 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5598 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5599 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5600 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5601 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5602 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5603 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5604 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5605 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5606 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5607 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5608 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5609 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5610 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5611 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5612 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5613 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5614 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5615 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5616 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5617 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5618 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5619 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5620 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5621 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5622 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5623 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5624 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5625 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5626 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5627 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5628 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5629 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5630 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5631 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5632 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5633 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5634 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5635 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5636 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5637 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5638 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5639 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5640 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5641 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5642 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5643 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5644 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5645 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5646 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5647 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5648 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5649 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5650 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5651 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5652 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5653 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5654 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5655 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5656 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5657 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5658 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5659 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5660 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5661 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5662 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5663 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5664 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5665 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5666 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5667 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5668 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5669 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5670 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5671 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5672 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5673 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5674 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5675 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5676 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5677 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5678 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5679 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5680 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5681 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5682 * testsuite/libgomp.fortran/stack.f90: Ditto.
5683 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5684 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5685 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5686 * testsuite/libgomp.fortran/target1.f90: Ditto.
5687 * testsuite/libgomp.fortran/target2.f90: Ditto.
5688 * testsuite/libgomp.fortran/target3.f90: Ditto.
5689 * testsuite/libgomp.fortran/target4.f90: Ditto.
5690 * testsuite/libgomp.fortran/target5.f90: Ditto.
5691 * testsuite/libgomp.fortran/target6.f90: Ditto.
5692 * testsuite/libgomp.fortran/target7.f90: Ditto.
5693 * testsuite/libgomp.fortran/target8.f90: Ditto.
5694 * testsuite/libgomp.fortran/task1.f90: Ditto.
5695 * testsuite/libgomp.fortran/task2.f90: Ditto.
5696 * testsuite/libgomp.fortran/task3.f90: Ditto.
5697 * testsuite/libgomp.fortran/task4.f90: Ditto.
5698 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5699 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5700 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5701 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5702 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5703 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5704 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5705 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5706 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5707 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5708 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5709 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5710 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5711 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5712 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5713 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5714 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5715 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5716 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5717 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5718 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5719 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5720 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5721 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5722 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5723 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5724 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5725 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5726 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5727 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5728 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5729 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5730 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5731 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5732
01509e2f
TB
57332019-10-30 Tobias Burnus <tobias@codesourcery.com>
5734
5735 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5736 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5737 Ditto; add 'dg-do run' for torture testing.
5738 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5739 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5740 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5741 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5742 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5743 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5744 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5745 * testsuite/libgomp.fortran/task2.f90: Ditto.
5746 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5747 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5748 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5749 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5750 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5751 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5752
ffbdd78a
TB
57532019-10-28 Tobias Burnus <tobias@codesourcery.com>
5754
5755 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5756 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5757 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5758 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5759 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5760 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5761 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5762 Use 'stop' not abort().
5763 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5764 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5765 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5766 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5767 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5768 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5769 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5770 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5771 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5772 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5773 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5774 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5775 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5776 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5777 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5778 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5779 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5780 Ditto.
5781 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5782 Ditto.
5783 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5784 Ditto.
5785 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5786 Ditto.
5787 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5788 Ditto.
5789 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5790 Ditto.
5791 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5792 Ditto.
5793 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5794 Ditto.
5795 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5796 Ditto.
5797 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5798 Ditto.
5799 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5800 Ditto.
5801 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5802 Ditto.
5803 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5804 Ditto.
5805 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5806 Ditto.
5807 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5808 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5809 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5810 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5811 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5812 Likewise and also add 'dg-do run'.
5813 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5814 Ditto.
5815
ec084613
CP
58162019-10-25 Cesar Philippidis <cesar@codesourcery.com>
5817 Tobias Burnus <tobias@codesourcery.com>
5818
5819 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5820 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5821 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5822
77ef3394
JJ
58232019-10-14 Jakub Jelinek <jakub@redhat.com>
5824
5825 PR libgomp/92081
5826 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5827 than 0.
5828
08c14aaa
TB
58292019-10-11 Tobias Burnus <tobias@codesourcery.com>
5830
5831 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5832 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5833
6bbead0c
TS
58342019-10-09 Thomas Schwinge <thomas@codesourcery.com>
5835
5836 PR middle-end/92036
5837 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5838 file.
5839
eba3dee8
TB
58402019-10-09 Tobias Burnus <tobias@codesourcery.com>
5841
5842 PR testsuite/91884
5843 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5844 add -lquadmath.
5845 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5846
7d48e14f
JJ
58472019-10-09 Jakub Jelinek <jakub@redhat.com>
5848
5849 PR libgomp/92028
5850 * target.c (gomp_map_vars_internal): Readd the previous
5851 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5852 though do that just in the !not_found_cnt case.
5853
65b67cf3
TB
58542019-10-08 Tobias Burnus <tobias@codesourcery.com>
5855
5856 * gfortran.dg/gomp/target-simd.f90: New.
5857
6c7e076b
JB
58582019-10-02 Julian Brown <julian@codesourcery.com>
5859 Cesar Philippidis <cesar@codesourcery.com>
5860
5861 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5862 * target.c (FIELD_TGT_EMPTY): Define.
5863 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5864 as switch instead of list of ifs.
5865 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5866
d61bff85
AT
58672019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
5868
5869 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5870 include. Replace alloca () with __builtin_alloca ().
5871 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5872
810f316d
JJ
58732019-10-01 Jakub Jelinek <jakub@redhat.com>
5874
5875 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5876 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5877 * oacc-parallel.c: Don't include "libgomp_g.h".
5878 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5879 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5880 * aclocal.m4: Regenerated.
5881 * config.h.in: Regenerated.
5882 * configure: Regenerated.
5883 * Makefile.in: Regenerated.
5884
d7f9ee98
KCY
58852019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
5886
5887 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5888
e9085da5
MR
58892019-09-27 Maciej W. Rozycki <macro@wdc.com>
5890
5891 * configure: Regenerate.
5892
c28712be
TB
58932019-09-13 Tobias Burnus <tobias@codesourcery.com>
5894
5895 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5896 string is initialized.
5897
3c086f8d
FW
58982019-09-06 Florian Weimer <fweimer@redhat.com>
5899
5900 * configure: Regenerate.
5901
c6c2d1bc
CLT
59022019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
5903
5904 PR other/79543
5905 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5906 scanning to conform to the GNU Coding Standards.
5907 * configure: Regenerate.
5908
5cb72d83
JJ
59092019-08-28 Jakub Jelinek <jakub@redhat.com>
5910
5911 PR libgomp/91530
5912 * testsuite/libgomp.c/scan-21.c: New test.
5913 * testsuite/libgomp.c/scan-22.c: New test.
5914
0ad7981c
JJ
59152019-08-27 Jakub Jelinek <jakub@redhat.com>
5916
5917 PR libgomp/91530
5918 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5919 targets.
5920 * testsuite/libgomp.c/scan-12.c: Likewise.
5921 * testsuite/libgomp.c/scan-13.c: Likewise.
5922 * testsuite/libgomp.c/scan-14.c: Likewise.
5923 * testsuite/libgomp.c/scan-15.c: Likewise.
5924 * testsuite/libgomp.c/scan-16.c: Likewise.
5925 * testsuite/libgomp.c/scan-17.c: Likewise.
5926 * testsuite/libgomp.c/scan-18.c: Likewise.
5927 * testsuite/libgomp.c/scan-19.c: Likewise.
5928 * testsuite/libgomp.c/scan-20.c: Likewise.
5929 * testsuite/libgomp.c++/scan-9.C: Likewise.
5930 * testsuite/libgomp.c++/scan-10.C: Likewise.
5931 * testsuite/libgomp.c++/scan-11.C: Likewise.
5932 * testsuite/libgomp.c++/scan-12.C: Likewise.
5933 * testsuite/libgomp.c++/scan-14.C: Likewise.
5934 * testsuite/libgomp.c++/scan-15.C: Likewise.
5935 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5936 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5937 * testsuite/libgomp.c++/scan-16.C: Likewise.
5938
1e67491a
TK
59392019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
5940
5941 PR fortran/91473
5942 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5943 -std=legacy so invalid code in the test case is accepted.
5944
393fdeb1
TK
59452019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5946
5947 PR fortran/91422
5948 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5949 dimension.
5950
8860d270
JJ
59512019-08-08 Jakub Jelinek <jakub@redhat.com>
5952
5953 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5954 perform the lookup in the first loop only if !not_found_cnt, otherwise
5955 perform lookups for it in the second loop guarded with
5956 if (not_found_cnt || has_firstprivate).
5957 * testsuite/libgomp.c/target-37.c: New test.
5958 * testsuite/libgomp.c++/target-22.C: New test.
5959
398e3feb
JJ
59602019-08-07 Jakub Jelinek <jakub@redhat.com>
5961
5962 * testsuite/libgomp.c/target-18.c (struct S): New type.
5963 (foo): Use use_device_addr clause instead of use_device_ptr clause
5964 where required by OpenMP 5.0, add further tests for both use_device_ptr
5965 and use_device_addr clauses.
5966 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5967 (foo): Use use_device_addr clause instead of use_device_ptr clause
5968 where required by OpenMP 5.0, add further tests for both use_device_ptr
5969 and use_device_addr clauses. Add t and u arguments.
5970 (main): Adjust caller.
5971
d81ab49d
JJ
59722019-08-06 Jakub Jelinek <jakub@redhat.com>
5973
5974 * testsuite/libgomp.c++/loop-13.C: New test.
5975 * testsuite/libgomp.c++/loop-14.C: New test.
5976 * testsuite/libgomp.c++/loop-15.C: New test.
5977
c3ac76aa
JJ
59782019-07-31 Jakub Jelinek <jakub@redhat.com>
5979
5980 PR middle-end/91301
5981 * testsuite/libgomp.c++/for-27.C: New test.
5982
8dc63166
SK
59832019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
5984
393fdeb1 5985 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 5986 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 5987
554a530f
JJ
59882019-07-20 Jakub Jelinek <jakub@redhat.com>
5989
5990 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5991
6cda84b5
JJ
59922019-07-08 Jakub Jelinek <jakub@redhat.com>
5993
5994 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5995 * testsuite/libgomp.c++/scan-16.C: Likewise.
5996
1f52d1a8
JJ
59972019-07-06 Jakub Jelinek <jakub@redhat.com>
5998
6f67abcd
JJ
5999 * testsuite/libgomp.c/scan-19.c: New test.
6000 * testsuite/libgomp.c/scan-20.c: New test.
6001
1f52d1a8
JJ
6002 * testsuite/libgomp.c/scan-11.c: New test.
6003 * testsuite/libgomp.c/scan-12.c: New test.
6004 * testsuite/libgomp.c/scan-13.c: New test.
6005 * testsuite/libgomp.c/scan-14.c: New test.
6006 * testsuite/libgomp.c/scan-15.c: New test.
6007 * testsuite/libgomp.c/scan-16.c: New test.
6008 * testsuite/libgomp.c/scan-17.c: New test.
6009 * testsuite/libgomp.c/scan-18.c: New test.
6010 * testsuite/libgomp.c++/scan-9.C: New test.
6011 * testsuite/libgomp.c++/scan-10.C: New test.
6012 * testsuite/libgomp.c++/scan-11.C: New test.
6013 * testsuite/libgomp.c++/scan-12.C: New test.
6014 * testsuite/libgomp.c++/scan-13.C: New test.
6015 * testsuite/libgomp.c++/scan-14.C: New test.
6016 * testsuite/libgomp.c++/scan-15.C: New test.
6017 * testsuite/libgomp.c++/scan-16.C: New test.
6018
2f03073f
JJ
60192019-07-04 Jakub Jelinek <jakub@redhat.com>
6020
6021 * testsuite/libgomp.c/scan-9.c: New test.
6022 * testsuite/libgomp.c/scan-10.c: New test.
6023
2f6bb511
JJ
60242019-07-03 Jakub Jelinek <jakub@redhat.com>
6025
6026 * testsuite/libgomp.c++/scan-1.C: New test.
6027 * testsuite/libgomp.c++/scan-2.C: New test.
6028 * testsuite/libgomp.c++/scan-3.C: New test.
6029 * testsuite/libgomp.c++/scan-4.C: New test.
6030 * testsuite/libgomp.c++/scan-5.C: New test.
6031 * testsuite/libgomp.c++/scan-6.C: New test.
6032 * testsuite/libgomp.c++/scan-7.C: New test.
6033 * testsuite/libgomp.c++/scan-8.C: New test.
6034 * testsuite/libgomp.c/scan-1.c: New test.
6035 * testsuite/libgomp.c/scan-2.c: New test.
6036 * testsuite/libgomp.c/scan-3.c: New test.
6037 * testsuite/libgomp.c/scan-4.c: New test.
6038 * testsuite/libgomp.c/scan-5.c: New test.
6039 * testsuite/libgomp.c/scan-6.c: New test.
6040 * testsuite/libgomp.c/scan-7.c: New test.
6041 * testsuite/libgomp.c/scan-8.c: New test.
6042
bd194a51
TS
60432019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6044
85fca03a
TS
6045 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
6046 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
6047 Likewise.
6048
bd194a51
TS
6049 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
6050 check.
6051
6652161e
CP
60522019-06-18 Cesar Philippidis <cesar@codesourcery.com>
6053
6054 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6055 file.
6056
3a37d6f6
TS
60572019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6058
4017da8d
TS
6059 PR fortran/90743
6060 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
6061 case.
6062 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
6063 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
6064 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
6065 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6066
6f7c1f65
TS
6067 PR testsuite/90861
6068 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6069
3a37d6f6
TS
6070 PR middle-end/90862
6071 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6072
f45ce17d
TV
60732019-06-16 Tom de Vries <tdevries@suse.de>
6074
6075 PR tree-optimization/89376
6076 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6077
00908992
TV
60782019-06-15 Tom de Vries <tdevries@suse.de>
6079
6080 PR tree-optimization/89713
6081 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6082 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6083
211b7533
JJ
60842019-06-15 Jakub Jelinek <jakub@redhat.com>
6085
6086 PR middle-end/90779
6087 * testsuite/libgomp.c/pr90779.c: New test.
6088 * testsuite/libgomp.fortran/pr90779.f90: New test.
6089
120a01d1
TV
60902019-06-15 Tom de Vries <tdevries@suse.de>
6091
6092 PR tree-optimization/90009
6093 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6094
c29c92c7
FX
60952019-06-13 Feng Xue <fxue@os.amperecomputing.com>
6096
6097 PR tree-optimization/89713
6098 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6099
ce9c4ec3
JJ
61002019-06-11 Jakub Jelinek <jakub@redhat.com>
6101
6102 PR target/90811
6103 * testsuite/libgomp.c/pr90811.c: New test.
6104
28b3a77c
JJ
61052019-06-05 Jakub Jelinek <jakub@redhat.com>
6106
6107 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6108 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6109
7855700e
JJ
61102019-06-04 Jakub Jelinek <jakub@redhat.com>
6111
6112 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6113 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6114 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6115 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6116
a7155c2e
RO
61172019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6118
6119 * configure.ac: Call AX_COUNT_CPUS.
6120 Substitute CPU_COUNT.
6121 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6122 count fallback.
6123 * aclocal.m4: Regenerate.
6124 * configure: Regenerate.
6125 * Makefile.in, testsuite/Makefile.in: Regenerate.
6126
7e47198b
JJ
61272019-05-29 Jakub Jelinek <jakub@redhat.com>
6128
6129 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6130 to ...
6131 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6132 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6133 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6134
fcfb8032
JJ
61352019-05-27 Jakub Jelinek <jakub@redhat.com>
6136
8e7757ba
JJ
6137 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6138
36c7a3ff
JJ
6139 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6140
fcfb8032
JJ
6141 PR libgomp/90641
6142 * work.c (gomp_init_work_share): Instead of aligning final ordered
6143 value to multiples of long long alignment, align to that the
6144 first part (ordered team ids) and if inline_ordered_team_ids
6145 is not on a long long alignment boundary within the structure,
6146 use __alignof__ (long long) - 1 pad size always.
6147 * loop.c (GOMP_loop_start): Fix *mem computation if
6148 inline_ordered_team_ids is not aligned on long long alignment boundary
6149 within the structure.
6150 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6151 * sections.c (GOMP_sections2_start): Likewise.
6152
b5c26449
JJ
61532019-05-24 Jakub Jelinek <jakub@redhat.com>
6154
6c7ae8c5
JJ
6155 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6156 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6157
b5c26449
JJ
6158 PR libgomp/90585
6159 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6160 HAVE_INTTYPES_H is defined.
6161 (print_uint64_t): New typedef.
6162 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6163 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6164 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6165 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6166 before casting to void *.
6167 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6168 * oacc-mem.c: Don't include config.h nor stdint.h.
6169 * target.c: Don't include config.h.
6170 * oacc-cuda.c: Likewise.
6171 * oacc-host.c: Don't include stdint.h.
6172
3e03ed66
JJ
61732019-05-20 Jakub Jelinek <jakub@redhat.com>
6174
6175 PR libgomp/90527
6176 * alloc.c (_GNU_SOURCE): Define.
6177
5fae049d
TS
61782019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6179
6180 * acc_prof.h: New file.
6181 * oacc-profiling.c: Likewise.
6182 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6183 Add these, respectively.
6184 * Makefile.in: Regenerate.
6185 * env.c (initialize_env): Call goacc_profiling_initialize.
6186 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6187 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6188 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6189 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6190 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6191 acc_prof_register, acc_prof_unregister, and acc_register_library.
6192 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6193 GOMP_PLUGIN_goacc_thread.
6194 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6195 prof_callbacks_enabled members.
6196 (goacc_prof_enabled, goacc_profiling_initialize)
6197 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6198 (goacc_profiling_dispatch): Declare.
6199 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6200 (GOACC_PROFILING_SETUP_P): Define.
6201 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6202 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6203 OpenACC Profiling Interface.
6204 * oacc-cuda.c (acc_get_current_cuda_device)
6205 (acc_get_current_cuda_context, acc_get_cuda_stream)
6206 (acc_set_cuda_stream): Likewise.
6207 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6208 (acc_init, acc_set_device_type, acc_get_device_type)
6209 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6210 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6211 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6212 (acc_unmap_data, present_create_copy, delete_copyout)
6213 (update_dev_host): Likewise.
6214 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6215 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6216 Likewise.
6217 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6218 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6219 Likewise.
6220 * libgomp.texi: Update.
6221 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6222 file.
6223 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6224 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6225 Likewise.
6226 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6227 Likewise.
6228 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6229 Likewise.
6230 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6231 Likewise.
6232
1f4c5b9b
CLT
62332019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6234
6235 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6236 (struct goacc_asyncqueue_list): Likewise.
6237 (goacc_aq): Likewise.
6238 (goacc_aq_list): Likewise.
6239 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6240 (GOMP_OFFLOAD_openacc_async_test): Remove.
6241 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6242 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6243 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6244 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6245 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6246 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6247 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6248 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6249 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6250 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6251 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6252 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6253 (GOMP_OFFLOAD_openacc_async_test): Declare.
6254 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6255 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6256 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6257 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6258 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6259
6260 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6261 (gomp_acc_insert_pointer): Adjust declaration.
6262 (gomp_copy_host2dev): New declaration.
6263 (gomp_copy_dev2host): Likewise.
6264 (gomp_map_vars_async): Likewise.
6265 (gomp_unmap_tgt): Likewise.
6266 (gomp_unmap_vars_async): Likewise.
6267 (gomp_fini_device): Likewise.
6268
6269 * oacc-async.c (get_goacc_thread): New function.
6270 (get_goacc_thread_device): New function.
6271 (lookup_goacc_asyncqueue): New function.
6272 (get_goacc_asyncqueue): New function.
6273 (acc_async_test): Adjust code to use new async design.
6274 (acc_async_test_all): Likewise.
6275 (acc_wait): Likewise.
6276 (acc_wait_async): Likewise.
6277 (acc_wait_all): Likewise.
6278 (acc_wait_all_async): Likewise.
6279 (goacc_async_free): New function.
6280 (goacc_init_asyncqueues): Likewise.
6281 (goacc_fini_asyncqueues): Likewise.
6282 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6283 design.
6284 (acc_set_cuda_stream): Likewise.
6285 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6286 (host_openacc_register_async_cleanup): Remove.
6287 (host_openacc_async_exec): New function.
6288 (host_openacc_async_test): Adjust parameters.
6289 (host_openacc_async_test_all): Remove.
6290 (host_openacc_async_wait): Remove.
6291 (host_openacc_async_wait_async): Remove.
6292 (host_openacc_async_wait_all): Remove.
6293 (host_openacc_async_wait_all_async): Remove.
6294 (host_openacc_async_set_async): Remove.
6295 (host_openacc_async_synchronize): New function.
6296 (host_openacc_async_serialize): New function.
6297 (host_openacc_async_host2dev): New function.
6298 (host_openacc_async_dev2host): New function.
6299 (host_openacc_async_queue_callback): New function.
6300 (host_openacc_async_construct): New function.
6301 (host_openacc_async_destruct): New function.
6302 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 6303 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
6304 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6305 (goacc_attach_host_thread_to_device): Remove old async code usage.
6306 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6307 (goacc_fini_asyncqueues): Likewise.
6308 (goacc_async_copyout_unmap_vars): Likewise.
6309 (goacc_async_free): Likewise.
6310 (get_goacc_asyncqueue): Likewise.
6311 (lookup_goacc_asyncqueue): Likewise.
6312 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6313 design.
6314 (present_create_copy): Adjust code to use new async design.
6315 (delete_copyout): Likewise.
6316 (update_dev_host): Likewise.
6317 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6318 async design.
6319 (gomp_acc_remove_pointer): Adjust code to use new async design.
6320 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6321 design.
6322 (GOACC_enter_exit_data): Likewise.
6323 (goacc_wait): Likewise.
6324 (GOACC_update): Likewise.
6325 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6326 when called, warn as obsolete in comment.
6327 * target.c (goacc_device_copy_async): New function.
6328 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6329 add goacc_device_copy_async case.
6330 (gomp_copy_dev2host): Likewise.
6331 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6332 (gomp_map_pointer): Likewise.
6333 (gomp_map_fields_existing): Likewise.
6334 (gomp_map_vars_internal): New always_inline function, renamed from
6335 gomp_map_vars.
6336 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6337 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6338 passing goacc_asyncqueue argument.
6339 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6340 (gomp_unref_tgt): New function.
6341 (gomp_unmap_vars_internal): New always_inline function, renamed from
6342 gomp_unmap_vars.
6343 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6344 (gomp_unmap_vars_async): Implement by calling
6345 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6346 (gomp_fini_device): New function.
6347 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6348 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6349 new async interface.
6350 (gomp_target_fini): Adjust code to call gomp_fini_device.
6351
6352 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6353 (struct ptx_stream): Remove.
6354 (struct nvptx_thread): Remove current_stream field.
6355 (cuda_map_create): Remove.
6356 (cuda_map_destroy): Remove.
6357 (map_init): Remove.
6358 (map_fini): Remove.
6359 (map_pop): Remove.
6360 (map_push): Remove.
6361 (struct goacc_asyncqueue): Define.
6362 (struct nvptx_callback): Define.
6363 (struct ptx_free_block): Define.
6364 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6365 stream_lock, and next fields.
6366 (enum ptx_event_type): Remove.
6367 (struct ptx_event): Remove.
6368 (ptx_event_lock): Remove.
6369 (ptx_events): Remove.
6370 (init_streams_for_device): Remove.
6371 (fini_streams_for_device): Remove.
6372 (select_stream_for_async): Remove.
6373 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6374 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6375 case.
6376 (nvptx_open_device): Add free_blocks initialization, remove
6377 init_streams_for_device call.
6378 (nvptx_close_device): Remove fini_streams_for_device call, add
6379 free_blocks destruct code.
6380 (event_gc): Remove.
6381 (event_add): Remove.
6382 (nvptx_exec): Adjust parameters and code.
6383 (nvptx_free): Likewise.
6384 (nvptx_host2dev): Remove.
6385 (nvptx_dev2host): Remove.
6386 (nvptx_set_async): Remove.
6387 (nvptx_async_test): Remove.
6388 (nvptx_async_test_all): Remove.
6389 (nvptx_wait): Remove.
6390 (nvptx_wait_async): Remove.
6391 (nvptx_wait_all): Remove.
6392 (nvptx_wait_all_async): Remove.
6393 (nvptx_get_cuda_stream): Remove.
6394 (nvptx_set_cuda_stream): Remove.
6395 (GOMP_OFFLOAD_alloc): Adjust code.
6396 (GOMP_OFFLOAD_free): Likewise.
6397 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6398 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6399 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6400 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6401 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6402 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6403 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6404 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6405 (cuda_free_argmem): New function.
6406 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6407 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6408 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6409 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6410 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6411 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6412 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6413 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6414 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6415 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6416 (cuda_callback_wrapper): New function.
6417 (cuda_memcpy_sanity_check): New function.
6418 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6419 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6420 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6421 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6422
da2d30c1
TS
64232019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6424
6425 PR target/87835
6426 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6427
2bbbfa4e
TS
64282019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6429
6430 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6431
bbf1efe1
KB
64322019-03-27 Kevin Buettner <kevinb@redhat.com>
6433
6434 * team.c (gomp_team_start): Initialize pool->threads[0].
6435
1241136c
TS
64362019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6437
b03d721a
TS
6438 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6439 "-foffload=$offload_target".
6440 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6441 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6442 * testsuite/lib/libgomp.exp
6443 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6444 as (conceptually) merged into
6445 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6446 users.
6447
0a0384b4
TS
6448 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6449 * testsuite/libgomp-test-support.exp.in: Adjust.
6450 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6451 openacc_device_types_s.
6452 (offload_target_to_openacc_device_type): New proc.
6453 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6454 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6455 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6456 * Makefile.in: Regenerate.
6457 * configure: Likewise.
6458 * testsuite/Makefile.in: Likewise.
6459
ee332b4a
TS
6460 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6461 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6462 instead of OFFLOAD_TARGETS.
6463 * target.c (gomp_target_init): Adjust.
6464 * testsuite/libgomp-test-support.exp.in: Likewise.
6465 * testsuite/lib/libgomp.exp: Likewise. Populate
6466 openacc_device_types_s instead of offload_targets_s_openacc.
6467 (check_effective_target_openacc_nvidia_accel_selected)
6468 (check_effective_target_openacc_host_selected): Adjust.
6469 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6470 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6471 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6472 * Makefile.in: Regenerate.
6473 * config.h.in: Likewise.
6474 * configure: Likewise.
6475 * testsuite/Makefile.in: Likewise.
6476
1241136c
TS
6477 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6478 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6479 "offloading: supported, but hardware not accessible".
6480 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6481 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6482
19695f4d
CLT
64832019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6484
6485 PR c/87924
6486 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6487 goacc_wait().
6488 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6489 and related adjustment.
6490
8b44f8ec
JJ
64912019-01-30 Jakub Jelinek <jakub@redhat.com>
6492
6493 PR c++/88988
6494 * testsuite/libgomp.c++/pr88988.C: New test.
6495
be3a87e7
JJ
64962019-01-28 Jakub Jelinek <jakub@redhat.com>
6497
6498 PR middle-end/89002
6499 * testsuite/libgomp.c/pr89002.c: New test.
6500
497ef4d7
RB
65012019-01-28 Richard Biener <rguenther@suse.de>
6502
6503 PR testsuite/89064
6504 PR tree-optimization/86865
6505 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6506
738c56d4
TV
65072019-01-24 Tom de Vries <tdevries@suse.de>
6508
6509 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6510 once instantiated_devices drops to 0.
6511
4a75460b
TV
65122019-01-23 Tom de Vries <tdevries@suse.de>
6513
6514 PR target/PR88946
6515 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6516 cuMemFree.
6517 (nvptx_exec): Don't call map_push if mapnum == 0.
6518 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6519
4fef8e4d
TV
65202019-01-23 Tom de Vries <tdevries@suse.de>
6521
6522 PR target/88941
6523 PR target/88939
6524 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6525 (map_fini): Remove "assert (!s->map->active)".
6526 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6527
2ee6cb22
TV
65282019-01-23 Tom de Vries <tdevries@suse.de>
6529
6530 PR target/87835
6531 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6532 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6533
d41d952c
TV
65342019-01-15 Tom de Vries <tdevries@suse.de>
6535
6536 PR target/80547
6537 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6538 New test.
6539
efb56ae8
TV
65402019-01-12 Tom de Vries <tdevries@suse.de>
6541
6542 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6543 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6544 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6545 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6546
2c2ff168
TV
65472019-01-12 Tom de Vries <tdevries@suse.de>
6548
6549 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6550
a1057758
TV
65512019-01-12 Tom de Vries <tdevries@suse.de>
6552
6553 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6554 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6555 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6556
56314b77
TV
65572019-01-12 Tom de Vries <tdevries@suse.de>
6558
6559 PR target/85486
6560 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6561 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6562
b39e4366
TV
65632019-01-12 Tom de Vries <tdevries@suse.de>
6564
6565 PR target/85381
6566 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6567 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6568
2cb7a501
TV
65692019-01-12 Tom de Vries <tdevries@suse.de>
6570
6571 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6572 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6573 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6574
8e77f71e
TV
65752019-01-12 Tom de Vries <tdevries@suse.de>
6576
6577 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6578 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6579 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6580
52d22ece
TV
65812019-01-12 Tom de Vries <tdevries@suse.de>
6582
6583 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6584 resources diagnostic.
6585
2b9d9e39
TV
65862019-01-12 Tom de Vries <tdevries@suse.de>
6587
6588 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6589 vector length to be 128.
6590 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6591 length 2097152 to be reduced to 1024 instead of 32.
6592
4102bda6
TS
65932019-01-11 Thomas Schwinge <thomas@codesourcery.com>
6594 James Norris <jnorris@codesourcery.com>
6595
6596 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6597 Library Routines", and "Environment Variables".
6598
052aaace
TV
65992019-01-11 Tom de Vries <tdevries@suse.de>
6600
6601 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6602 num_workers 16.
6603
9390f916
TV
66042019-01-11 Tom de Vries <tdevries@suse.de>
6605
6606 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6607 -foffload=-w.
6608 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6609 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6610 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6611 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6612
2c3e7ad2
TV
66132019-01-11 Tom de Vries <tdevries@suse.de>
6614
6615 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6616 test.
6617
e222497d
NS
66182019-01-10 Nathan Sidwell <nathan@acm.org>
6619 Julian Brown <julian@codesourcery.com>
6620
6621 PR lto/71959
6622 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6623 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6624
cb87fec3
SH
66252019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6626
6627 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6628 and paste code.
6629
30b4d0d0
SH
66302019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6631
6632 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6633 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6634 write.
6635
5d0bc70a
TV
66362019-01-09 Tom de Vries <tdevries@suse.de>
6637
6638 PR target/88756
6639 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6640 #define instead of "const int".
6641 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6642 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6643 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6644 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6645
2c372e81
TV
66462019-01-09 Tom de Vries <tdevries@suse.de>
6647
6648 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6649 one worker.
6650
43493c97
TV
66512019-01-07 Tom de Vries <tdevries@suse.de>
6652
6653 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6654 GOMP_OPENACC_DIM argument.
6655
5c571497
TV
66562019-01-03 Tom de Vries <tdevries@suse.de>
6657
6658 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6659 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6660
a5544970
JJ
66612019-01-01 Jakub Jelinek <jakub@redhat.com>
6662
6663 Update copyright years.
6664
3f27508c
JJ
66652019-01-01 Jakub Jelinek <jakub@redhat.com>
6666
6667 * libgomp.texi: Bump @copying's copyright year.
6668
59d5960c
TS
66692018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6670
6671 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6672 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6673 (GOACC_declare): Redefine the "device" argument to "flags".
6674
a44c1790
TS
66752018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6676 Cesar Philippidis <cesar@codesourcery.com>
6677
6678 * target.c (struct gomp_coalesce_chunk): New structure.
6679 (struct gomp_coalesce_buf): Update the chunks member to use that
6680 type. Adjust all users.
6681
a152954e
TV
66822018-12-19 Tom de Vries <tdevries@suse.de>
6683
6684 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6685 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6686 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6687
49188cd1
TV
66882018-12-19 Tom de Vries <tdevries@suse.de>
6689
6690 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6691 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6692 gcc/testsuite/gcc.dg/goacc.
6693 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6694
c759830b
TS
66952018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6696 Chung-Lin Tang <cltang@codesourcery.com>
6697
6698 * oacc-mem.c (acc_present_or_create): Remove definition and change
6699 to alias of acc_create.
6700 (acc_present_or_copyin): Remove definition and change to alias of
6701 acc_copyin.
6702 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6703 of acc_present_or_create.
6704 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6705 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6706 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6707 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6709 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6711 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6712 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6713 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6714 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6715 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6716 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6717 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6718 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6719 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6720
7de562ee
TS
67212018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6722
f847198e
TS
6723 PR libgomp/88495
6724 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6725 "identical parameters".
6726 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6727 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6728
c8ab8aab
TS
6729 PR libgomp/88484
6730 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6731 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6732
1404af62
TS
6733 PR libgomp/88407
6734 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6735 (nvptx_wait_async): Unseen async-argument is a no-op.
6736 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6737 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6740 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6741 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6742 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6743 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6744 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6745
7de562ee
TS
6746 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6747 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6748
17469af7
CLT
67492018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
6750
6751 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6752 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6754
18c247cc
TS
67552018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6756
6757 PR libgomp/88370
6758 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6759 (acc_set_cuda_stream): Clarify.
6760 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6761 "async_valid_p".
6762 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6763 acc_async_sync".
6764 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6765 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6766 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6767 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6768
b0aba46c
TV
67692018-12-14 Tom de Vries <tdevries@suse.de>
6770
6771 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6772 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6773 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6774 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6775 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6776
fe0827ee
TV
67772018-12-13 Tom de Vries <tdevries@suse.de>
6778
6779 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6780 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6781 * fortran.c (omp_display_affinity_): ... here.
6782 * libgomp.h (gomp_print_string): Declare.
6783 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6784 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6785 write.
6786
a51f8c92
JJ
67872018-12-13 Jakub Jelinek <jakub@redhat.com>
6788
6789 PR libgomp/88460
6790 * testsuite/libgomp.c++/for-24.C (results): Include it in
6791 omp declare target region.
6792 (main): Use map (always, tofrom: results) instead of
6793 map (tofrom: results).
6794
a6ef2ac9
JJ
67952018-12-12 Jakub Jelinek <jakub@redhat.com>
6796
7a289b7d
JJ
6797 PR fortran/88463
6798 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6799 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6800
a6ef2ac9
JJ
6801 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6802
9c47a019
AS
68032018-12-12 Andreas Schwab <schwab@suse.de>
6804
6805 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6806 clobbered.
6807
d0cbb206
TK
68082018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
6809
6810 PR fortran/88411
6811 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6812
84ca08d2
TS
68132018-12-09 Thomas Schwinge <thomas@codesourcery.com>
6814 Jakub Jelinek <jakub@redhat.com>
6815
6816 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6817 devicep->host2dev_func.
6818
6997628d
JJ
68192018-12-08 Jakub Jelinek <jakub@redhat.com>
6820
6821 PR libgomp/87995
6822 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6823 tls_runtime effective target.
6824 (t): New threadprivate variable.
6825 (main): Set t in threads which execute iterations of the worksharing
6826 loop. Propagate that to the task after the loop and don't abort
6827 if the current taskgroup hasn't been cancelled.
6828
daa8c1d7
JJ
68292018-12-02 Jakub Jelinek <jakub@redhat.com>
6830
4a82df9a
JJ
6831 * testsuite/libgomp.c/task-reduction-3.c: New test.
6832
daa8c1d7
JJ
6833 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6834
fe570ff8
CP
68352018-11-30 Cesar Philippidis <cesar@codesourcery.com>
6836
6837 PR libgomp/88288
6838 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6839 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6840
c223608f
TS
68412018-11-30 Thomas Schwinge <thomas@codesourcery.com>
6842
6843 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6844
fc60283c
RB
68452018-10-19 Richard Biener <rguenther@suse.de>
6846
6847 PR tree-optimization/88182
6848 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6849
ffcf3b79
JJ
68502018-11-26 Jakub Jelinek <jakub@redhat.com>
6851
6852 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6853 (RUNTEST): Don't define.
6854 (RUNTESTDEFAULTFLAGS): Add.
6855 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6856 (distclean-am): Depend on distclean-DEJAGNU.
6857 (check-am): If -j% option is present in MFLAGS and if
6858 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6859 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6860 * testsuite/Makefile.in: Regenerated.
6861
ef6e6914
RB
68622018-11-26 Richard Biener <rguenther@suse.de>
6863
6864 PR tree-optimization/88182
6865 * testsuite/libgomp.c++/pr88182.C: New testcase.
6866
72d3bb76
JJ
68672018-11-20 Jakub Jelinek <jakub@redhat.com>
6868
6869 PR bootstrap/88106
6870 * config/mingw32/affinity-fmt.c: New file.
6871
207286c3
JJ
68722018-11-09 Jakub Jelinek <jakub@redhat.com>
6873
9666c522
JJ
6874 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6875 (gomp_display_affinity): Use __builtin_choose_expr to handle
6876 properly handle argument having integral, or pointer or some other
6877 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6878 with uint64_t type instead of %llx and unsigned long long.
6879
207286c3
JJ
6880 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6881 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6882
2033f45b
RO
68832018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6884
6885 * affinity.c: Include <string.h>, <stdio.h>.
6886 (gomp_display_affinity_place): Remove cpusetp.
6887 * teams.c: Include <limits.h>.
6888
28567c40
JJ
68892018-11-08 Jakub Jelinek <jakub@redhat.com>
6890
8991d779
JJ
6891 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6892 in_reduction clause for s[0].
6893
28567c40
JJ
6894 * affinity.c (gomp_display_affinity_place): New function.
6895 * affinity-fmt.c: New file.
6896 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6897 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6898 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6899 Move these functions to ...
6900 * config/nvptx/teams.c: ... here. New file.
6901 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6902 New functions.
6903 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6904 functions.
6905 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6906 and _aligned_malloc.
6907 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6908 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6909 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6910 gomp_affinity_format_len): New variables.
6911 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6912 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6913 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6914 modifiers. Display (non-default) chunk sizes. Print
6915 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6916 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6917 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6918 * fortran.c: Include stdio.h and string.h.
6919 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6920 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6921 (omp_set_affinity_format_, omp_get_affinity_format_,
6922 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6923 omp_pause_resource_all_): New functions.
6924 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6925 switch.
6926 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6927 functions to ...
6928 * teams.c: ... here. New file.
6929 * libgomp_g.h: Include gstdint.h.
6930 (GOMP_loop_nonmonotonic_runtime_start,
6931 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6932 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6933 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6934 GOMP_parallel_loop_nonmonotonic_runtime,
6935 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6936 GOMP_loop_ull_nonmonotonic_runtime_start,
6937 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6938 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6939 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6940 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6941 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6942 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6943 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6944 GOMP_teams_reg): Declare.
6945 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6946 gomp_aligned_alloc uses fallback implementation.
6947 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6948 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6949 (struct gomp_doacross_work_share): Add extra field.
6950 (struct gomp_work_share): Add task_reductions field.
6951 (struct gomp_taskgroup): Add workshare and reductions fields.
6952 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6953 (gomp_thread_handle): New typedef.
6954 (gomp_display_affinity_place, gomp_set_affinity_format,
6955 gomp_display_string, gomp_display_affinity,
6956 gomp_display_affinity_thread): Declare.
6957 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6958 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6959 gomp_workshare_task_reduction_register): Declare.
6960 (gomp_team_start): Add taskgroup argument.
6961 (gomp_pause_host): Declare.
6962 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6963 to size_t.
6964 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6965 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6966 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6967 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6968 GOMP_loop_ull_doacross_start,
6969 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6970 GOMP_loop_maybe_nonmonotonic_runtime_next,
6971 GOMP_loop_maybe_nonmonotonic_runtime_start,
6972 GOMP_loop_nonmonotonic_runtime_next,
6973 GOMP_loop_nonmonotonic_runtime_start,
6974 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6975 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6976 GOMP_loop_ull_nonmonotonic_runtime_next,
6977 GOMP_loop_ull_nonmonotonic_runtime_start,
6978 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6979 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6980 GOMP_taskgroup_reduction_register,
6981 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6982 GOMP_teams_reg and GOMP_taskwait_depend.
6983 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6984 omp_{capture,display}_affinity{,_}, and
6985 omp_[gs]et_affinity_format{,_}.
6986 * loop.c: Include string.h.
6987 (GOMP_loop_runtime_next): Add ialias.
6988 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6989 (gomp_loop_static_start, gomp_loop_dynamic_start,
6990 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6991 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6992 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6993 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6994 or gomp_doacross_init callers.
6995 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6996 GOMP_loop_doacross_start): New functions.
6997 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6998 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6999 Mask off GFS_MONOTONIC bit.
7000 (GOMP_loop_maybe_nonmonotonic_runtime_next,
7001 GOMP_loop_maybe_nonmonotonic_runtime_start,
7002 GOMP_loop_nonmonotonic_runtime_next,
7003 GOMP_loop_nonmonotonic_runtime_start,
7004 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7005 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
7006 functions.
7007 (gomp_parallel_loop_start): Pass NULL as taskgroup to
7008 gomp_team_start.
7009 * loop_ull.c: Include string.h.
7010 (GOMP_loop_ull_runtime_next): Add ialias.
7011 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7012 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
7013 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
7014 gomp_loop_ull_ordered_dynamic_start,
7015 gomp_loop_ull_ordered_guided_start,
7016 gomp_loop_ull_doacross_static_start,
7017 gomp_loop_ull_doacross_dynamic_start,
7018 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
7019 and gomp_doacross_ull_init callers.
7020 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7021 GOMP_loop_ull_doacross_start): New functions.
7022 (GOMP_loop_ull_runtime_start,
7023 GOMP_loop_ull_ordered_runtime_start,
7024 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
7025 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7026 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7027 GOMP_loop_ull_nonmonotonic_runtime_next,
7028 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
7029 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
7030 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
7031 (omp_pause_resource_t, omp_depend_t): New typedefs.
7032 (enum omp_lock_hint_t): Renamed to ...
7033 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
7034 enumerators using numbers and omp_lock_hint_* as their aliases.
7035 (omp_lock_hint_t): New typedef. Rename to ...
7036 (omp_sync_hint_t): ... this.
7037 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
7038 omp_sync_hint_t instead of omp_lock_hint_t.
7039 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7040 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7041 Declare.
7042 (omp_target_is_present, omp_target_disassociate_ptr):
7043 Change first argument from void * to const void *.
7044 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
7045 from void * to const void *.
7046 (omp_target_associate_ptr): Change first and second arguments from
7047 void * to const void *.
7048 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
7049 omp_pause_hard): New parameters.
7050 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7051 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7052 New interfaces.
7053 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
7054 omp_pause_hard): New parameters.
7055 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7056 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7057 New externals.
7058 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
7059 EXTRA argument. If not needed to prepare array, if extra is 0,
7060 clear ws->doacross, otherwise allocate just doacross structure and
7061 extra payload. If array is needed, allocate also extra payload.
7062 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
7063 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
7064 doacross == NULL.
7065 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7066 gomp_team_start.
7067 (GOMP_parallel): Likewise. Formatting fix.
7068 (GOMP_parallel_reductions): New function.
7069 (GOMP_cancellation_point): If taskgroup has workshare
7070 flag set, check cancelled of prev taskgroup if any.
7071 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7072 on prev taskgroup if any.
7073 * sections.c: Include string.h.
7074 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7075 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7076 (GOMP_sections2_start): New function.
7077 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7078 Pass NULL as taskgroup to gomp_team_start.
7079 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7080 gomp_work_share_start callers.
7081 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7082 If taskgroup has workshare flag set, check cancelled on prev
7083 taskgroup if any. Guard all cancellation tests with
7084 gomp_cancel_var test.
7085 (omp_target_is_present, omp_target_disassociate_ptr):
7086 Change ptr argument from void * to const void *.
7087 (omp_target_memcpy): Change src argument from void * to const void *.
7088 (omp_target_memcpy_rect): Likewise.
7089 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7090 instead of char * where needed.
7091 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7092 from void * to const void *.
7093 (omp_pause_resource, omp_pause_resource_all): New functions.
7094 * task.c (gomp_task_handle_depend): Handle new depend array format
7095 in addition to the old. Handle mutexinoutset kinds the same as
7096 inout for now, handle unspecified kinds.
7097 (gomp_create_target_task): If taskgroup has workshare flag set, check
7098 cancelled on prev taskgroup if any. Guard all cancellation tests with
7099 gomp_cancel_var test. Handle new depend array format count in
7100 addition to the old.
7101 (GOMP_task): Likewise. Adjust function comment.
7102 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7103 cancelled on prev taskgroup if any. Guard all cancellation tests with
7104 gomp_cancel_var test.
7105 (GOMP_taskwait_depend): New function.
7106 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7107 format in addition to the old. Handle mutexinoutset kinds the same as
7108 inout for now, handle unspecified kinds. Fix a function comment typo.
7109 (gomp_taskgroup_init): New function.
7110 (GOMP_taskgroup_start): Use it.
7111 (gomp_reduction_register, gomp_create_artificial_team,
7112 GOMP_taskgroup_reduction_register,
7113 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7114 gomp_parallel_reduction_register,
7115 gomp_workshare_task_reduction_register,
7116 gomp_workshare_taskgroup_start,
7117 GOMP_workshare_task_reduction_unregister): New functions.
7118 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7119 check cancelled on prev taskgroup if any. Guard all cancellation
7120 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7121 by calling GOMP_taskgroup_reduction_register.
7122 * team.c (gomp_thread_attr): Remove comment.
7123 (struct gomp_thread_start_data): Add handle field.
7124 (gomp_thread_start): Call pthread_detach.
7125 (gomp_new_team): Adjust gomp_init_work_share caller.
7126 (gomp_free_pool_helper): Call pthread_detach.
7127 (gomp_team_start): Add taskgroup argument, initialize implicit
7128 tasks' taskgroup field to that. Don't call
7129 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7130 (gomp_team_end): Determine nesting by thr->ts.level != 0
7131 rather than thr->ts.team != NULL.
7132 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7133 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7134 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7135 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7136 if more than 1 allocate also extra payload at the end of array. Never
7137 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7138 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7139 return true instead of ws.
7140 * Makefile.in: Regenerated.
7141 * configure: Regenerated.
7142 * config.h.in: Regenerated.
7143 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7144 in some cases.
7145 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7146 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7147 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7148 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7149 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7150 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7151 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7152 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7153 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7154 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7155 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7156 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7157 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7158 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7159 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7160 define a different N(test), don't define N(f0) to N(f14), but instead
7161 define N(f20) to N(f34) using != comparisons.
7162 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7163 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7164 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7165 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7166 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7167 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7168 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7169 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7170 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7171 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7172 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7173 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7174 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7175 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7176 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7177 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7178 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7179 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7180 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7181 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7182 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7183 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7184 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7185 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7186 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7187 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7188 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7189 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7190 * testsuite/libgomp.c++/depend-1.C: New test.
7191 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7192 * testsuite/libgomp.c++/depobj-1.C: New test.
7193 * testsuite/libgomp.c++/for-16.C: New test.
7194 * testsuite/libgomp.c++/for-21.C: New test.
7195 * testsuite/libgomp.c++/for-22.C: New test.
7196 * testsuite/libgomp.c++/for-23.C: New test.
7197 * testsuite/libgomp.c++/for-24.C: New test.
7198 * testsuite/libgomp.c++/for-25.C: New test.
7199 * testsuite/libgomp.c++/for-26.C: New test.
7200 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7201 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7202 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7203 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7204 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7205 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7206 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7207 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7208 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7209 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7210 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7211 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7212 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7213 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7214 * testsuite/libgomp.c/task-reduction-1.c: New test.
7215 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7216 * testsuite/libgomp.c/task-reduction-2.c: New test.
7217 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7218 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7219 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7220 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7221 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7222 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7223 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7224 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7225 * testsuite/libgomp.c/teams-1.c: New test.
7226 * testsuite/libgomp.c/teams-2.c: New test.
7227 * testsuite/libgomp.c/thread-limit-4.c: New test.
7228 * testsuite/libgomp.c/thread-limit-5.c: New test.
7229 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7230
58168bbf
CLT
72312018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7232
7233 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7234 acc_memcpy_to/from_device functions, now with async parameter.
7235 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7236 (acc_memcpy_from_device): Likewise.
7237 (acc_memcpy_to_device_async): New API function.
7238 (acc_memcpy_from_device_async): Likewise.
7239 (present_create_copy): Add async parameter and async setting/unsetting.
7240 (acc_create): Adjust present_create_copy call.
7241 (acc_copyin): Likewise.
7242 (acc_present_or_create): Likewise.
7243 (acc_present_or_copyin): Likewise.
7244 (acc_create_async): New API function.
7245 (acc_copyin_async): New API function.
7246 (delete_copyout): Add async parameter and async setting/unsetting.
7247 (acc_delete): Adjust delete_copyout call.
7248 (acc_copyout): Likewise.
7249 (acc_delete_async): New API function.
7250 (acc_copyout_async): Likewise.
7251 (update_dev_host): Add async parameter and async setting/unsetting.
7252 (acc_update_device): Adjust update_dev_host call.
7253 (acc_update_self): Likewise.
7254 (acc_update_device_async): New API function.
7255 (acc_update_self_async): Likewise.
7256 * openacc.h (acc_copyin_async): Declare new API function.
7257 (acc_create_async): Likewise.
7258 (acc_copyout_async): Likewise.
7259 (acc_delete_async): Likewise.
7260 (acc_update_device_async): Likewise.
7261 (acc_update_self_async): Likewise.
7262 (acc_memcpy_to_device_async): Likewise.
7263 (acc_memcpy_from_device_async): Likewise.
7264 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7265 (acc_copyin_async_64_h): New subroutine.
7266 (acc_copyin_async_array_h): New subroutine.
7267 (acc_create_async_32_h): New subroutine.
7268 (acc_create_async_64_h): New subroutine.
7269 (acc_create_async_array_h): New subroutine.
7270 (acc_copyout_async_32_h): New subroutine.
7271 (acc_copyout_async_64_h): New subroutine.
7272 (acc_copyout_async_array_h): New subroutine.
7273 (acc_delete_async_32_h): New subroutine.
7274 (acc_delete_async_64_h): New subroutine.
7275 (acc_delete_async_array_h): New subroutine.
7276 (acc_update_device_async_32_h): New subroutine.
7277 (acc_update_device_async_64_h): New subroutine.
7278 (acc_update_device_async_array_h): New subroutine.
7279 (acc_update_self_async_32_h): New subroutine.
7280 (acc_update_self_async_64_h): New subroutine.
7281 (acc_update_self_async_array_h): New subroutine.
7282 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7283 (acc_copyin_async_64_h): New subroutine.
7284 (acc_copyin_async_array_h): New subroutine.
7285 (acc_create_async_32_h): New subroutine.
7286 (acc_create_async_64_h): New subroutine.
7287 (acc_create_async_array_h): New subroutine.
7288 (acc_copyout_async_32_h): New subroutine.
7289 (acc_copyout_async_64_h): New subroutine.
7290 (acc_copyout_async_array_h): New subroutine.
7291 (acc_delete_async_32_h): New subroutine.
7292 (acc_delete_async_64_h): New subroutine.
7293 (acc_delete_async_array_h): New subroutine.
7294 (acc_update_device_async_32_h): New subroutine.
7295 (acc_update_device_async_64_h): New subroutine.
7296 (acc_update_device_async_array_h): New subroutine.
7297 (acc_update_self_async_32_h): New subroutine.
7298 (acc_update_self_async_64_h): New subroutine.
7299 (acc_update_self_async_array_h): New subroutine.
7300 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7301 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7302 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7303 acc_memcpy_to_device_async*, acc_update_device_async*, and
7304 acc_update_self_async* entries.
7305 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7306 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7307 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7308
22e05272
JM
73092018-10-31 Joseph Myers <joseph@codesourcery.com>
7310
7311 PR bootstrap/82856
7312 * Makefile.am: Include multilib.am
7313 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7314 (CLEANFILES): Remove libgomp.info.
7315 * configure.ac: Remove AC_PREREQ.
7316 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7317 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7318 Regenerate.
7319
87a5ccfb
JM
73202018-10-29 Joseph Myers <joseph@codesourcery.com>
7321 Julian Brown <julian@codesourcery.com>
7322
7323 * testsuite/libgomp.oacc-c++/this.C: New.
7324
2049befd
CP
73252018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7326
7327 * plugin/plugin-nvptx.c (struct cuda_map): New.
7328 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7329 h_tail with (cuda_map *) map.
7330 (cuda_map_create): New function.
7331 (cuda_map_destroy): New function.
7332 (map_init): Update to use a linked list of cuda_map objects.
7333 (map_fini): Likewise.
7334 (map_pop): Likewise.
7335 (map_push): Likewise. Return CUdeviceptr instead of void.
7336 (init_streams_for_device): Remove stales references to ptx_stream
7337 members.
7338 (select_stream_for_async): Likewise.
7339 (nvptx_exec): Update call to map_init.
7340
8e36332c
CP
73412018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7342 Julian Brown <julian@codesourcery.com>
7343
7344 PR middle-end/86336
7345 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7346
2b4c9065
NK
73472018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7348 Thomas Koenig <tkoenig@gcc.gnu.org>
7349
7350 PR fortran/25829
7351 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7352 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7353 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7354 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7355 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7356 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7357 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7358
bd9b3d3d
CP
73592018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7360 Tom de Vries <tdevries@suse.de>
7361
7362 PR target/85590
7363 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7364 (cuOccupancyMaxPotentialBlockSize): Declare.
7365 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7366 CUDA_ONE_CALL_MAYBE_NULL.
7367 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7368 CUoccupancyB2DSize and declare
7369 cuOccupancyMaxPotentialBlockSize.
7370 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7371 default num_gangs and num_workers when the driver supports it.
7372
8e09a12f
TV
73732018-08-08 Tom de Vries <tdevries@suse.de>
7374
7375 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7376 CUDA_ONE_CALL_MAYBE_NULL.
7377 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7378 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7379 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7380 are not found.
7381
cedd9bd0
TV
73822018-08-08 Tom de Vries <tdevries@suse.de>
7383
7384 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7385 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7386 present.
7387
b113af95
TV
73882018-08-08 Tom de Vries <tdevries@suse.de>
7389
7390 * plugin/plugin-nvptx.c
7391 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7392 (nvptx_open_device): Use
7393 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7394
94767dac
TV
73952018-08-08 Tom de Vries <tdevries@suse.de>
7396
7397 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7398 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7399
02150de8
TV
74002018-08-07 Tom de Vries <tdevries@suse.de>
7401
7402 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7403 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7404 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7405 corresponding call in CUDA_ONE_CALL. Add def/undef of
7406 CUDA_ONE_CALL_MAYBE_NULL.
7407 (CUDA_CALL_EXISTS): Define.
7408
9e28b107
TV
74092018-08-07 Tom de Vries <tdevries@suse.de>
7410
7411 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7412 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7413 corresponding undefs right after.
7414
09940090
TV
74152018-08-04 Tom de Vries <tdevries@suse.de>
7416
7417 * plugin/configfrag.ac: For --without-cuda-driver, set
7418 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7419 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7420 * configure: Regenerate.
7421
77e0a97a
TV
74222018-08-02 Tom de Vries <tdevries@suse.de>
7423
7424 PR target/86660
7425 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7426 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7427 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7428 Same.
7429 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7430 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7431 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7432
701d080a
CP
74332018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7434 Thomas Schwinge <thomas@codesourcery.com>
7435
7436 * config/nvptx/oacc-parallel.c: Truncate.
7437
094db6be
CP
74382018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7439 James Norris <jnorris@codesourcery.com>
7440
7441 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
7442 (map_init, map_pop): Remove use of struct map.
7443 (map_push): Likewise and change argument list.
094db6be
CP
7444 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7445
8c6310a2
TV
74462018-08-01 Tom de Vries <tdevries@suse.de>
7447
7448 * plugin/cuda-lib.def: New file. Factor out of ...
7449 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7450 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7451 using CUDA_CALLS.
7452
1d4a51cf
AV
74532018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7454
7455 Revert 'AsyncI/O patch committed'.
7456 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7457 Thomas Koenig <tkoenig@gcc.gnu.org>
7458
7459 PR fortran/25829
7460 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7461 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7462 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7463 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7464 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7465 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7466 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7467
4cdfee3f
TV
74682018-07-30 Tom de Vries <tdevries@suse.de>
7469
7470 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7471 (nvptx_exec): Ensure worker and vector default dims don't exceed
7472 targ_fn->max_threads_per_block.
7473
0b210c43
TV
74742018-07-30 Tom de Vries <tdevries@suse.de>
7475
7476 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7477 (nvptx_open_device): Init default_dims for device.
7478 (nvptx_exec): Use default_dims from device.
7479
5883c5cc
JJ
74802018-07-26 Jakub Jelinek <jakub@redhat.com>
7481
5d36384c
JJ
7482 PR testsuite/86660
7483 * testsuite/libgomp.c++/for-15.C (results): Include it in
7484 omp declare target region.
7485 (main): Use map (always, tofrom: results) instead of
7486 map (tofrom: results).
7487
5883c5cc
JJ
7488 PR middle-end/86660
7489 * testsuite/libgomp.c/pr86660.c: New test.
7490
88a4654d
CP
74912018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7492 Tom de Vries <tdevries@suse.de>
7493
7494 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7495 sufficient resources to launch a kernel, and give a hint on how to fix
7496 it.
7497
0c6c2f5f
CP
74982018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7499 Tom de Vries <tdevries@suse.de>
7500
7501 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7502 max_threads_per_block and max_threads_per_multiprocessor fields.
7503 (nvptx_open_device): Initialize new fields.
7504 (nvptx_exec): Use num_sms, and new fields.
7505
6dd58010
TV
75062018-07-26 Tom de Vries <tdevries@suse.de>
7507
7508 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7509 to correct locations. Remove xfail.
7510
b2eb1779
TV
75112018-07-26 Tom de Vries <tdevries@suse.de>
7512
7513 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7514 acc_wait. Move acc_async_test calls to correct locations. Remove
7515 xfail.
7516
b1f45884
NK
75172018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7518 Thomas Koenig <tkoenig@gcc.gnu.org>
7519
7520 PR fortran/25829
7521 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7522 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7523 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7524 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7525 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7526 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7527 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7528
3a106211
JJ
75292018-07-17 Jakub Jelinek <jakub@redhat.com>
7530
a3bccfa1
JJ
7531 PR middle-end/86542
7532 * testsuite/libgomp.c++/pr86542.C: New test.
7533
3a106211
JJ
7534 PR middle-end/86539
7535 * testsuite/libgomp.c++/pr86539.C: New test.
7536
2bae8b2f
JJ
75372018-07-11 Jakub Jelinek <jakub@redhat.com>
7538
7539 PR c++/86443
7540 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7541 (results): Make sure the variable is not inside declare target region.
7542 (qux): Remove unused function.
7543
0b27c3ed
JJ
75442018-07-10 Jakub Jelinek <jakub@redhat.com>
7545
7546 PR c++/86443
7547 * testsuite/libgomp.c++/for-15.C: New test.
7548
f0391511
JJ
75492018-06-26 Jakub Jelinek <jakub@redhat.com>
7550
7551 PR c++/86291
7552 * testsuite/libgomp.c++/pr86291.C: New test.
7553
1a6d1d24
GP
75542018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
7555
7556 * libgomp.texi (Top): Move www.openmp.org to https.
7557 (Enabling OpenMP): Ditto.
7558 (omp_get_active_level): Ditto.
7559 (omp_get_ancestor_thread_num): Ditto.
7560 (omp_get_cancellation): Ditto.
7561 (omp_get_default_device): Ditto.
7562 (omp_get_dynamic): Ditto.
7563 (omp_get_level): Ditto.
7564 (omp_get_max_active_levels): Ditto.
7565 (omp_get_max_task_priority): Ditto.
7566 (omp_get_max_threads): Ditto.
7567 (omp_get_nested): Ditto.
7568 (omp_get_num_devices): Ditto.
7569 (omp_get_num_procs): Ditto.
7570 (omp_get_num_teams): Ditto.
7571 (omp_get_num_threads): Ditto.
7572 (omp_get_proc_bind): Ditto.
7573 (omp_get_schedule): Ditto.
7574 (omp_get_team_num): Ditto.
7575 (omp_get_team_size): Ditto.
7576 (omp_get_thread_limit): Ditto.
7577 (omp_get_thread_num): Ditto.
7578 (omp_in_parallel): Ditto.
7579 (omp_in_final): Ditto.
7580 (omp_is_initial_device): Ditto.
7581 (omp_set_default_device): Ditto.
7582 (omp_set_dynamic): Ditto.
7583 (omp_set_max_active_levels): Ditto.
7584 (omp_set_nested): Ditto.
7585 (omp_set_num_threads): Ditto.
7586 (omp_set_schedule): Ditto.
7587 (omp_init_lock): Ditto.
7588 (omp_set_lock): Ditto.
7589 (omp_test_lock): Ditto.
7590 (omp_unset_lock): Ditto.
7591 (omp_destroy_lock): Ditto.
7592 (omp_init_nest_lock): Ditto.
7593 (omp_set_nest_lock): Ditto.
7594 (omp_test_nest_lock): Ditto.
7595 (omp_unset_nest_lock): Ditto.
7596 (omp_destroy_nest_lock): Ditto.
7597 (omp_get_wtick): Ditto.
7598 (omp_get_wtime): Ditto.
7599 (OMP_CANCELLATION): Ditto.
7600 (OMP_DISPLAY_ENV): Ditto.
7601 (OMP_DEFAULT_DEVICE): Ditto.
7602 (OMP_DYNAMIC): Ditto.
7603 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7604 (OMP_MAX_TASK_PRIORITY): Ditto.
7605 (OMP_NESTED): Ditto.
7606 (OMP_NUM_THREADS): Ditto.
7607 (OMP_PROC_BIND): Ditto.
7608 (OMP_PLACES): Ditto.
7609 (OMP_STACKSIZE): Ditto.
7610 (OMP_SCHEDULE): Ditto.
7611 (OMP_THREAD_LIMIT): Ditto.
7612 (OMP_WAIT_POLICY): Ditto.
7613
31dd69b7
CP
76142018-06-22 Cesar Philippidis <cesar@codesourcery.com>
7615 James Norris <jnorris@codesourcery.com>
7616 Julian Brown <julian@codesourcery.com>
7617 Thomas Schwinge <thomas@codesourcery.com>
7618 Tom de Vries <tom@codesourcery.com>
7619
7620 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7621 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7622 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7624 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7625 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7626 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7627 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7628 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7629 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7630 Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7632 Likewise.
7633 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7634 Likewise.
7635 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7636 Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7638 Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7640 Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7642 Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7644 Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7646 Likewise.
7647 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7648 Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7650 Likewise.
7651 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7652 Likewise.
7653 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7654 Likewise.
7655 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7656 Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7658 Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7660 Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7662 Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7664 Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7666 Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7668 Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7670 Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7672 Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7674 Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7676 Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7678 Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7680 Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7682 Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7685 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7686 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7687 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7688 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7689 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7690 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7691 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7692 Likewise.
7693 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7694 Likewise.
7695 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7696 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7697 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7698 Likewise.
7699 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7700 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7701 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7702 Likewise.
7703 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7704 Likewise.
7705 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7706 Likewise.
7707 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7708 Likewise.
7709 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7710 Likewise.
7711 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7712 Likewise.
7713 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7714 Likewise.
7715 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7716 Likewise.
7717 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7718 Likewise.
7719 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7720 Likewise.
7721 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7722 Likewise.
7723 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7724 Likewise.
7725 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7726 Likewise.
7727 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7728 Likewise.
7729 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7730 Likewise.
7731 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7732 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7733 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7734 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7735 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7736 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7737 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7738
829c6349
CLT
77392018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
7740 Thomas Schwinge <thomas@codesourcery.com>
7741 Cesar Philippidis <cesar@codesourcery.com>
7742
7743 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7744 (gomp_acc_remove_pointer): Update declaration.
7745 (gomp_acc_declare_allocate): Declare.
7746 (gomp_remove_var): Declare.
7747 * libgomp.map (OACC_2.5): Define.
7748 * oacc-mem.c (acc_map_data): Update refcount.
7749 (acc_unmap_data): Likewise.
7750 (present_create_copy): Likewise.
7751 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7752 (acc_copyin): Likewise.
7753 (FLAG_FINALIZE): Define.
7754 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7755 (acc_delete_finalize): New function.
7756 (acc_delete_finalize_async): New function.
7757 (acc_copyout_finalize): New function.
7758 (acc_copyout_finalize_async): New function.
7759 (gomp_acc_insert_pointer): Update refcounts.
7760 (gomp_acc_remove_pointer): Return if data is not present on the
7761 accelerator.
7762 * oacc-parallel.c (find_pset): Rename to find_pointer.
7763 (find_pointer): Add support for GOMP_MAP_POINTER.
7764 (handle_ftn_pointers): New function.
7765 (GOACC_parallel_keyed): Update refcounts of variables.
7766 (GOACC_enter_exit_data): Add support for finalized data mappings.
7767 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7768 of fortran arrays.
7769 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7770 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7771 for GOMP_MAP_FORCE_FROM.
7772 * openacc.f90 (module openacc_internal): Add
7773 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7774 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7775 acc_copyout_finalize and acc_delete_finalize.
7776 (acc_copyout_finalize_32_h): New subroutine.
7777 (acc_copyout_finalize_64_h): New subroutine.
7778 (acc_copyout_finalize_array_h): New subroutine.
7779 (acc_delete_finalize_32_h): New subroutine.
7780 (acc_delete_finalize_64_h): New subroutine.
7781 (acc_delete_finalize_array_h): New subroutine.
7782 * openacc.h (acc_copyout_finalize): Declare.
7783 (acc_copyout_finalize_async): Declare.
7784 (acc_delete_finalize): Declare.
7785 (acc_delete_finalize_async): Declare.
7786 * openacc_lib.h (acc_copyout_finalize): New interface.
7787 (acc_delete_finalize): New interface.
7788 * target.c (gomp_map_vars): Update dynamic_refcount.
7789 (gomp_remove_var): New function.
7790 (gomp_unmap_vars): Use it.
7791 (gomp_unload_image_from_device): Likewise.
7792 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7793 case to utilize OpenACC 2.5 data clause semantics.
7794 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7795 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7796 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7797 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7798 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7799 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7800 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7801 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7802 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7803 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7804 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7805 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7806 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7807 utilize OpenACC 2.5 data clause semantics.
7808 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7809 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7810 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7811 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7812 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7813 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7814 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7815 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7816 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7817
4358400b
JW
78182018-05-21 Janus Weil <janus@gcc.gnu.org>
7819
7820 PR fortran/85841
7821 PR testsuite/85865
7822 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7823 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7824 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7825 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7826 * testsuite/libgomp.fortran/task2.f90: Ditto.
7827 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7828 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7829 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7830 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7831 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7832 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7833 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7834 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7835 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7836
950ad0ba
CP
78372018-05-18 Cesar Philippidis <cesar@codesourcery.com>
7838
7839 PR c++/85782
7840 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7841
f5ad16f1
TV
78422018-05-09 Tom de Vries <tom@codesourcery.com>
7843
7844 PR libgomp/82901
7845 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7846 to GOACC_enter_exit_data.
7847
edbd038a
TV
78482018-05-09 Tom de Vries <tom@codesourcery.com>
7849
7850 PR libgomp/83792
7851 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7852 (async_synchronous_p): New function.
7853 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7854 async_valid_p.
7855 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7856 async_valid_stream_id_p.
7857 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7858 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7859
37d6c719
TV
78602018-05-07 Tom de Vries <tom@codesourcery.com>
7861
7862 PR testsuite/85677
7863 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7864 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7865
63f12215
TV
78662018-05-03 Tom de Vries <tom@codesourcery.com>
7867
7868 PR testsuite/85106
7869 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7870 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7871 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7872 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7873
ec00d3fa
TV
78742018-05-02 Tom de Vries <tom@codesourcery.com>
7875
7876 PR libgomp/85411
7877 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7878 GOMP_OPENACC_DIM ...
7879 * env.c (parse_gomp_openacc_dim): ... here. New function.
7880 (initialize_env): Call parse_gomp_openacc_dim.
7881 (goacc_default_dims): Define.
7882 * libgomp.h (goacc_default_dims): Declare.
7883 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7884 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7885 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7886 GOMP_PLUGIN_acc_default_dim.
7887 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7888 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7889
92243e7c
TV
78902018-05-02 Tom de Vries <tom@codesourcery.com>
7891
7892 PR testsuite/83791
7893 * testsuite/libgomp.c++/udr-9.C: Update.
7894 * testsuite/libgomp.c++/atomic-16.C: Remove.
7895 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7896 * testsuite/libgomp.c++/loop-13.C: Remove.
7897 * testsuite/libgomp.c++/loop-14.C: Remove.
7898 * testsuite/libgomp.c++/loop-15.C: Remove.
7899 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7900 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7901 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7902 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7903 * testsuite/libgomp.c++/ordered-1.C: Remove.
7904 * testsuite/libgomp.c++/pr45784.C: Remove.
7905 * testsuite/libgomp.c++/pr64824.C: Remove.
7906 * testsuite/libgomp.c++/pr64868.C: Remove.
7907 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7908 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7909 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7910 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7911 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7912 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7913 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7914 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7915 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7916 * testsuite/libgomp.c++/pr69389.C: Remove.
7917 * testsuite/libgomp.c++/simd10.C: Remove.
7918 * testsuite/libgomp.c++/simd11.C: Remove.
7919 * testsuite/libgomp.c++/simd12.C: Remove.
7920 * testsuite/libgomp.c++/simd13.C: Remove.
7921 * testsuite/libgomp.c++/target-1.C: Remove.
7922 * testsuite/libgomp.c++/target-3.C: Remove.
7923 * testsuite/libgomp.c++/target-4.C: Remove.
7924 * testsuite/libgomp.c++/target-5.C: Remove.
7925 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7926 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7927 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7928 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7929 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7930 * testsuite/libgomp.c++/udr-9.C: Remove.
7931 * testsuite/libgomp.c++/for-10.C: Remove.
7932 * testsuite/libgomp.c++/for-11.C: Remove.
7933 * testsuite/libgomp.c++/for-12.C: Remove.
7934 * testsuite/libgomp.c++/for-13.C: Remove.
7935 * testsuite/libgomp.c++/for-14.C: Remove.
7936 * testsuite/libgomp.c++/for-9.C: Remove.
7937 * testsuite/libgomp.c/atomic-18.c: Move ...
7938 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7939 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7940 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7941 * testsuite/libgomp.c/loop-13.c: Move ...
7942 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7943 * testsuite/libgomp.c/loop-14.c: Move ...
7944 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7945 * testsuite/libgomp.c/loop-15.c: Remove.
7946 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7947 * testsuite/libgomp.c/monotonic-1.c: Move ...
7948 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7949 * testsuite/libgomp.c/monotonic-2.c: Move ...
7950 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7951 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7952 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7953 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7954 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7955 * testsuite/libgomp.c/ordered-4.c: Move ...
7956 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7957 * testsuite/libgomp.c/pr45784.c: Move ...
7958 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7959 * testsuite/libgomp.c/pr64824.c: Move ...
7960 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7961 * testsuite/libgomp.c/pr64868.c: Move ...
7962 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7963 * testsuite/libgomp.c/pr66199-1.c: Move ...
7964 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7965 * testsuite/libgomp.c/pr66199-2.c: Move ...
7966 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7967 * testsuite/libgomp.c/pr66199-3.c: Move ...
7968 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7969 * testsuite/libgomp.c/pr66199-4.c: Move ...
7970 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7971 * testsuite/libgomp.c/pr66199-5.c: Move ...
7972 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7973 * testsuite/libgomp.c/pr66199-6.c: Move ...
7974 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7975 * testsuite/libgomp.c/pr66199-7.c: Move ...
7976 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7977 * testsuite/libgomp.c/pr66199-8.c: Move ...
7978 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7979 * testsuite/libgomp.c/pr66199-9.c: Move ...
7980 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7981 * testsuite/libgomp.c/pr69389.c: Move ...
7982 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7983 * testsuite/libgomp.c/simd-14.c: Move ...
7984 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7985 * testsuite/libgomp.c/simd-15.c: Move ...
7986 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7987 * testsuite/libgomp.c/simd-16.c: Move ...
7988 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7989 * testsuite/libgomp.c/simd-17.c: Move ...
7990 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7991 * testsuite/libgomp.c/target-1.c: Move ...
7992 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7993 * testsuite/libgomp.c/target-10.c: Move ...
7994 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7995 * testsuite/libgomp.c/target-13.c: Move ...
7996 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7997 * testsuite/libgomp.c/target-2.c: Move ...
7998 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7999 * testsuite/libgomp.c/taskgroup-1.c: Move ...
8000 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
8001 * testsuite/libgomp.c/taskloop-1.c: Move ...
8002 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
8003 * testsuite/libgomp.c/taskloop-2.c: Move ...
8004 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
8005 * testsuite/libgomp.c/taskloop-3.c: Move ...
8006 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
8007 * testsuite/libgomp.c/taskloop-4.c: Move ...
8008 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
8009 * testsuite/libgomp.c/udr-1.c: Move ...
8010 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
8011 * testsuite/libgomp.c/for-1.c: Move ...
8012 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
8013 * testsuite/libgomp.c/for-1.h: Move ...
8014 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
8015 * testsuite/libgomp.c/for-2.c: Move ...
8016 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
8017 * testsuite/libgomp.c/for-2.h: Move ...
8018 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
8019 * testsuite/libgomp.c/for-3.c: Move ...
8020 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
8021 * testsuite/libgomp.c/for-4.c: Move ...
8022 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
8023 * testsuite/libgomp.c/for-5.c: Move ...
8024 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
8025 * testsuite/libgomp.c/for-6.c: Move ...
8026 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
8027
1f62d637
TV
80282018-05-02 Tom de Vries <tom@codesourcery.com>
8029
8030 PR libgomp/82428
8031 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
8032 __builtin_goacc_parlevel_{id,size}.
8033 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
8034 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
8035 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
8036 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
8037 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
8038 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
8039 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
8040 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
8041 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
8042 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
8043 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
8044 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
8045 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
8046 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
8047 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
8048 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
8049 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
8050 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
8051 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
8052 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
8053 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
8054 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
8055 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
8056
9220b511
TV
80572018-05-02 Tom de Vries <tom@codesourcery.com>
8058
8059 PR testsuite/85106
8060 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8061
6c3c13c1
TV
80622018-05-02 Tom de Vries <tom@codesourcery.com>
8063
8064 PR testsuite/85106
8065 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8066
8d70b61e
JB
80672018-04-29 Julian Brown <julian@codesourcery.com>
8068 Tom de Vries <tom@codesourcery.com>
8069
8070 PR testsuite/85527
8071 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8072 arbitrary order for iterations of atomic subtract check.
8073
4a57a4b6
TV
80742018-04-28 Tom de Vries <tom@codesourcery.com>
8075
8076 PR testsuite/85527
8077 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8078 atomic capture results obtained in parallel loop to an array, instead of
8079 to a scalar.
8080
df36a3d3
TV
80812018-04-26 Tom de Vries <tom@codesourcery.com>
8082
8083 PR libgomp/84020
8084 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8085 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8086 (process_GOMP_NVPTX_JIT): New function.
8087 (link_ptx): Use process_GOMP_NVPTX_JIT.
8088
d160ae78
RB
80892018-04-26 Richard Biener <rguenther@suse.de>
8090 Tom de Vries <tom@codesourcery.com>
8091
8092 PR lto/85422
8093 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8094
ca9dc642
TV
80952018-04-26 Tom de Vries <tom@codesourcery.com>
8096
8097 PR target/85519
8098 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8099 recursion depth from 25 to 23.
8100 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8101
7b47ecf2
L
81022018-04-24 H.J. Lu <hongjiu.lu@intel.com>
8103
8104 * configure: Regenerated.
8105
e91eba31
NS
81062018-04-20 Nathan Sidwell <nathan@codesourcery.com>
8107 Tom de Vries <tom@codesourcery.com>
8108
8109 PR target/85445
8110 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8111
6e0d40b6
TS
81122018-04-19 Thomas Schwinge <thomas@codesourcery.com>
8113
8114 PR libgomp/85463
8115 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8116 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8117 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8118 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8119 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8120 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8121
8122 PR libfortran/85166
8123 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8124 abort".
8125 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8126
a0e1df88
JJ
81272018-04-19 Jakub Jelinek <jakub@redhat.com>
8128
8129 * configure: Regenerated.
8130
001ddaa8
DM
81312018-04-18 David Malcolm <dmalcolm@redhat.com>
8132
8133 PR jit/85384
8134 * configure: Regenerate.
8135
05e0af43
CP
81362018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8137 Tom de Vries <tom@codesourcery.com>
8138
8139 PR middle-end/84955
8140 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8141 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8142
bc436e10
TK
81432018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8144
8145 PR fortran/83064
8146 PR testsuite/85346
8147 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8148 test from gfortran.dg to here.
8149
ffb164c7
JJ
81502018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8151
8152 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8153 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8154
81552018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8156
8157 PR middle-end/84955
8158 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8159 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8160
2ba16fd2
TV
81612018-04-05 Tom de Vries <tom@codesourcery.com>
8162
8163 PR target/85204
8164 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8165
46dbeb40
TV
81662018-03-26 Tom de Vries <tom@codesourcery.com>
8167
8168 PR tree-optimization/85063
8169 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8170 * testsuite/libgomp.c/switch-conversion.c: New test.
8171 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8172 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8173
bfc24e32
TK
81742018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8175
8176 PR fortran/84381
8177 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8178 call abort by STOP n.
8179 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8180 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8181 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8182 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8183 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8184 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8185 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8186 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8187 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8188 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8189 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8190 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8191 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8192 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8193 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8194 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8195 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8196 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8197 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8198 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8199 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8200 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8201 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8202 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8203 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8204 * testsuite/libgomp.fortran/character1.f90: Likewise.
8205 * testsuite/libgomp.fortran/character2.f90: Likewise.
8206 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8207 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8208 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8209 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8210 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8211 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8212 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8213 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8214 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8215 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8216 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8217 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8218 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8219 * testsuite/libgomp.fortran/do1.f90: Likewise.
8220 * testsuite/libgomp.fortran/do2.f90: Likewise.
8221 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8222 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8223 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8224 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8225 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8226 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8227 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8228 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8229 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8230 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8231 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8232 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8233 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8234 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8235 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8236 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8237 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8238 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8239 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8240 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8241 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8242 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8243 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8244 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8245 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8246 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8247 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8248 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8249 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8250 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8251 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8252 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8253 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8254 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8255 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8256 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8257 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8258 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8259 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8260 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8261 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8262 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8263 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8264 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8265 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8266 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8267 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8268 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8269 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8270 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8271 * testsuite/libgomp.fortran/lib2.f: Likewise.
8272 * testsuite/libgomp.fortran/lib3.f: Likewise.
8273 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8274 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8275 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8276 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8277 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8278 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8279 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8280 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8281 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8282 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8283 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8284 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8285 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8286 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8287 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8288 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8289 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8290 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8291 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8292 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8293 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8294 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8295 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8296 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8297 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8298 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8299 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8300 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8301 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8302 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8303 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8304 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8305 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8306 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8307 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8308 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8309 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8310 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8311 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8312 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8313 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8314 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8315 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8316 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8317 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8318 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8319 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8320 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8321 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8322 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8323 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8324 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8325 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8326 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8327 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8328 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8329 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8330 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8331 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8332 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8333 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8334 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8335 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8336 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8337 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8338 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8339 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8340 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8341 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8342 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8343 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8344 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8345 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8346 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8347 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8348 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8349 * testsuite/libgomp.fortran/stack.f90: Likewise.
8350 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8351 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8352 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8353 * testsuite/libgomp.fortran/target1.f90: Likewise.
8354 * testsuite/libgomp.fortran/target2.f90: Likewise.
8355 * testsuite/libgomp.fortran/target3.f90: Likewise.
8356 * testsuite/libgomp.fortran/target4.f90: Likewise.
8357 * testsuite/libgomp.fortran/target5.f90: Likewise.
8358 * testsuite/libgomp.fortran/target6.f90: Likewise.
8359 * testsuite/libgomp.fortran/target7.f90: Likewise.
8360 * testsuite/libgomp.fortran/target8.f90: Likewise.
8361 * testsuite/libgomp.fortran/task1.f90: Likewise.
8362 * testsuite/libgomp.fortran/task2.f90: Likewise.
8363 * testsuite/libgomp.fortran/task3.f90: Likewise.
8364 * testsuite/libgomp.fortran/task4.f90: Likewise.
8365 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8366 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8367 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8368 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8369 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8370 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8371 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8372 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8373 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8374 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8375 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8376 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8377 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8378 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8379 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8380 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8381 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8382 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8383 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8384 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8385 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8386 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8387 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8388 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8389 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8390 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8391 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8392 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8393 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8394 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8395 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8396 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8397 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8398 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8399 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8400 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8401 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8402 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8403 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8404 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8405 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8406 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8407 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8408 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8409 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8410 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8411 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8412 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8413 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8414 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8415 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8416 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8417 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8418 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8419 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8420 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8421 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8422 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8423 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8424 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8425 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8426 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8427 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8428 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8429 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8430 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8431 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8432 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8433 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8434 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8435 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8436 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8437 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8438 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8439 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8440 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8441 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8442 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8443 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8444 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8445 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8446 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8447 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8448 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8449 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8450 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8451 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8452 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8453 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8454 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8455 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8456 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8457 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8458 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8459 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8460 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8461 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8462 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8463 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8464 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8465 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8466 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8467 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8468 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8469 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8470 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8471 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8472 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8473 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8474 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8475 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8476 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8477 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8478 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8479 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8480 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8481 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8482 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8483 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8484 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8485 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8486 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8487 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8488 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8489 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8490 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8491
79cf14ae
RB
84922018-03-20 Richard Biener <rguenther@suse.de>
8493
8494 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8495 parallelizable loop.
8496
14e335ed
IT
84972018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8498
8499 PR target/84148
8500 * configure: Regenerate.
8501
83d9be55
JJ
85022018-02-16 Jakub Jelinek <jakub@redhat.com>
8503
8504 PR fortran/84418
8505 * libgomp.fortran/pr84418-1.f90: New test.
8506 * libgomp.fortran/pr84418-2.f90: New test.
8507
d1fe6124
JJ
85082018-02-14 Jakub Jelinek <jakub@redhat.com>
8509
8510 PR fortran/84313
8511 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8512 -std=f2003 -fall-intrinsics into dg-additional-options.
8513
3d224921
MJ
85142018-02-08 Martin Jambor <mjambor@suse.cz>
8515
8516 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8517 clonable.
8518
c7c30edd
MJ
85192018-02-08 Martin Jambor <mjambor@suse.cz>
8520
8521 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8522
f320fdfd
RO
85232018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8524
8525 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8526 [__cplusplus]: Declare extern "C".
8527
c31bc4ac
TV
85282018-02-07 Tom de Vries <tom@codesourcery.com>
8529
8530 PR libgomp/84217
8531 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8532
99ae7ce5
CS
85332018-01-29 Christoph Spiel <cspiel@freenet.de>
8534 Jakub Jelinek <jakub@redhat.com>
8535
8536 PR libgomp/84096
8537 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8538 instead of omp_lock_t.
8539
e77a1236
TV
85402018-01-25 Tom de Vries <tom@codesourcery.com>
8541
8542 PR target/84028
8543 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8544
3dede32b
TV
85452018-01-24 Tom de Vries <tom@codesourcery.com>
8546
8547 PR target/83589
8548 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8549
be606483
TV
85502018-01-24 Tom de Vries <tom@codesourcery.com>
8551
8552 PR target/81352
8553 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8554
8c8e9a6b
TV
85552018-01-19 Tom de Vries <tom@codesourcery.com>
8556 Cesar Philippidis <cesar@codesourcery.com>
8557
8558 PR target/83920
8559 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8560 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8561
65e6aea3
JJ
85622018-01-03 Jakub Jelinek <jakub@redhat.com>
8563
85ec4feb
JJ
8564 Update copyright years.
8565
65e6aea3
JJ
8566 * libgomp.texi: Bump @copying's copyright year.
8567
60bf575c
TV
85682017-12-30 Tom de Vries <tom@codesourcery.com>
8569
8570 PR libgomp/83046
8571 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8572 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8573
7ec16b79
TV
85742017-12-27 Tom de Vries <tom@codesourcery.com>
8575
8576 PR c++/83046
8577 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8578 (test_nonstatic): Fix return type to workaround PR83046.
8579
ac550b9a
JJ
85802017-12-05 Jakub Jelinek <jakub@redhat.com>
8581
8582 PR testsuite/83281
8583 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8584 j suffix instead of i.
8585 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8586 Likewise.
8587
ebdc83f0
CP
85882017-12-01 Cesar Philippidis <cesar@codesourcery.com>
8589
8590 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8591 call to acc_wait (1).
8592
3b3e6283
JJ
85932017-11-24 Jakub Jelinek <jakub@redhat.com>
8594
8595 PR fortran/81304
8596 * testsuite/libgomp.fortran/pr81304.f90: New test.
8597
3b575376
JJ
85982017-11-23 Jakub Jelinek <jakub@redhat.com>
8599
8600 PR fortran/81841
8601 * libgomp.fortran/pr81841.f90: New test.
8602
b13547d8
JJ
86032017-11-22 Jakub Jelinek <jakub@redhat.com>
8604
8605 PR libgomp/83106
8606 * target.c (gomp_target_init): Compute lengths just once and
8607 use them in both malloc size and subsequent copying.
8608
efe33ced
IT
86092017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8610
8611 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8612 * acinclude.m4: Add cet.m4.
8613 * configure: Regenerate.
8614 * Makefile.in: Likewise.
8615 * testsuite/Makefile.in: Likewise.
8616
a7cf2612
TV
86172017-11-15 Tom de Vries <tom@codesourcery.com>
8618
8619 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8620 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8621 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8622 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8623 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8624 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8625
dde76623
TV
86262017-11-14 Tom de Vries <tom@codesourcery.com>
8627
8628 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8629 non-nvidia devices.
8630
4dbeb716
JJ
86312017-11-07 Jakub Jelinek <jakub@redhat.com>
8632
8633 PR c++/82835
8634 * testsuite/libgomp.c++/pr82835.C: New test.
8635
454f8b2b
ML
86362017-11-06 Martin Liska <mliska@suse.cz>
8637
8638 * testsuite/libgomp.c++/loop-2.C: Return a value
8639 for functions with non-void return type, or change type to void,
8640 or add -Wno-return-type for test.
8641 * testsuite/libgomp.c++/loop-4.C: Likewise.
8642 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8643 * testsuite/libgomp.c++/shared-1.C: Likewise.
8644 * testsuite/libgomp.c++/single-1.C: Likewise.
8645 * testsuite/libgomp.c++/single-2.C: Likewise.
8646
12e9c8ce
TV
86472017-10-31 Tom de Vries <tom@codesourcery.com>
8648
8649 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8650 "do {} while (false)".
8651 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8652 after HSA_DEBUG call.
8653
7324369a
JJ
86542017-10-28 Jakub Jelinek <jakub@redhat.com>
8655
8656 * target.c (struct gomp_coalesce_buf): New type.
8657 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8658 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8659 (gomp_copy_host2dev): Add CBUF argument, if copying into
8660 the cached ranges, memcpy into buffer instead of copying
8661 into device.
8662 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8663 Add CBUF argument, pass it through to other calls.
8664 (gomp_map_vars): Aggregate copies from host to device if small enough
8665 and with small enough gaps in between into memcpy into a buffer and
8666 fewer host to device copies from the buffer.
8667 (gomp_update): Adjust gomp_copy_host2dev caller.
8668
933ab0e6
TS
86692017-10-17 Thomas Schwinge <thomas@codesourcery.com>
8670
8671 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8672 run" directive.
8673 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8674 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8675 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8676 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8677
92d5d01a
TV
86782017-10-16 Tom de Vries <tom@codesourcery.com>
8679
8680 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8681 openacc_nvidia_accel_selected.
8682 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8683 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8684 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8685 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8686 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8687 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8688 openacc_nvidia_accel_selected. Skip for shared memory device.
8689 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8690 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8691
191411e4
MJ
86922017-10-09 Martin Jambor <mjambor@suse.cz>
8693
8694 PR hsa/82416
8695 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8696
e923330e
TV
86972017-10-07 Tom de Vries <tom@codesourcery.com>
8698
8699 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8700 Remove acc_device_nvidia references.
8701 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8702 Same.
8703
8fe3ed4c
TV
87042017-10-05 Tom de Vries <tom@codesourcery.com>
8705
8706 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8707 vector_length(32) clause from acc parallel directive.
8708 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8709
26596ee5
TV
87102017-10-04 Tom de Vries <tom@codesourcery.com>
8711
8712 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8713 (main): Reduce sum of arr elements. Assert that hres is exactly
8714 representable in 32-bit floating point.
8715 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8716 (main): Reduce sum of arr elements. Assert that hres and hmres are
8717 exactly representable in 32-bit floating point.
8718 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8719
5c561fa9
TV
87202017-09-28 Tom de Vries <tom@codesourcery.com>
8721
8722 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8723 setting.
8724 * testsuite/libgomp.c++/pr69393.C: Same.
8725 * testsuite/libgomp.c++/taskloop-1.C: Same.
8726 * testsuite/libgomp.c++/taskloop-3.C: Same.
8727 * testsuite/libgomp.c++/taskloop-4.C: Same.
8728 * testsuite/libgomp.c/for-4.c: Same.
8729 * testsuite/libgomp.c/pr66199-3.c: Same.
8730 * testsuite/libgomp.c/pr66199-4.c: Same.
8731 * testsuite/libgomp.c/pr66199-6.c: Same.
8732 * testsuite/libgomp.c/taskloop-1.c: Same.
8733 * testsuite/libgomp.c/taskloop-3.c: Same.
8734 * testsuite/libgomp.c/taskloop-4.c: Same.
8735 * testsuite/libgomp.fortran/aligned1.f03: Same.
8736 * testsuite/libgomp.fortran/condinc1.f: Same.
8737 * testsuite/libgomp.fortran/condinc3.f90: Same.
8738 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8739 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8740 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8741 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8742 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8743 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8744 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8745 * testsuite/libgomp.fortran/recursion1.f90: Same.
8746 * testsuite/libgomp.fortran/target2.f90: Same.
8747 * testsuite/libgomp.fortran/target5.f90: Same.
8748 * testsuite/libgomp.fortran/task3.f90: Same.
8749
7d6206fe
TV
87502017-09-28 Tom de Vries <tom@codesourcery.com>
8751
8752 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8753 vector_length(32) clause from acc parallel directive.
8754 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8755
84c8627c
TV
87562017-09-27 Tom de Vries <tom@codesourcery.com>
8757
8758 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8759 Remove acc_device_nvidia references.
8760
ebc6a85e
TV
87612017-09-16 Tom de Vries <tom@codesourcery.com>
8762
8763 PR c/81875
8764 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8765
82419efb
TV
87662017-09-14 Tom de Vries <tom@codesourcery.com>
8767
8768 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8769 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8770 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8771 * testsuite/libgomp.c/c.exp: Include test-cases from
8772 libgomp.c-c++-common.
8773 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8774 files.
8775
8b586510
JJ
87762017-09-14 Jakub Jelinek <jakub@redhat.com>
8777
8778 PR c++/81314
8779 * testsuite/libgomp.c++/pr81314.C: New test.
8780
9651fbaf
GP
87812017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
8782
8783 * libgomp.texi (Top): www.openacc.org now uses https.
8784 (Enabling OpenACC): Ditto.
8785 (acc_get_num_devices): Ditto.
8786 (acc_set_device_type): Ditto.
8787 (acc_get_device_type): Ditto.
8788 (acc_set_device_num): Ditto.
8789 (acc_get_device_num): Ditto.
8790 (acc_async_test): Ditto.
8791 (acc_async_test_all): Ditto.
8792 (acc_wait): Ditto.
8793 (acc_wait_all): Ditto.
8794 (acc_wait_all_async): Ditto.
8795 (acc_wait_async): Ditto.
8796 (acc_init): Ditto.
8797 (acc_shutdown): Ditto.
8798 (acc_on_device): Ditto.
8799 (acc_malloc): Ditto.
8800 (acc_free): Ditto.
8801 (acc_copyin): Ditto.
8802 (acc_present_or_copyin): Ditto.
8803 (acc_create): Ditto.
8804 (acc_present_or_create): Ditto.
8805 (acc_copyout): Ditto.
8806 (acc_delete): Ditto.
8807 (acc_update_device): Ditto.
8808 (acc_update_self): Ditto.
8809 (acc_map_data): Ditto.
8810 (acc_unmap_data): Ditto.
8811 (acc_deviceptr): Ditto.
8812 (acc_hostptr): Ditto.
8813 (acc_is_present): Ditto.
8814 (acc_memcpy_to_device): Ditto.
8815 (acc_memcpy_from_device): Ditto.
8816 (acc_get_current_cuda_device): Ditto.
8817 (acc_get_current_cuda_context): Ditto.
8818 (acc_get_cuda_stream): Ditto.
8819 (acc_set_cuda_stream): Ditto.
8820 (ACC_DEVICE_TYPE): Ditto.
8821 (ACC_DEVICE_NUM): Ditto.
8822 (OpenACC Library Interoperability): Ditto.
8823
50aa16c3
JJ
88242017-08-09 Jakub Jelinek <jakub@redhat.com>
8825
8826 PR c/81687
8827 * testsuite/libgomp.c/pr81687-1.c: New test.
8828 * testsuite/libgomp.c/pr81687-2.c: New test.
8829
56b5041c
JJ
88302017-08-07 Jakub Jelinek <jakub@redhat.com>
8831
8832 PR c/69389
8833 * testsuite/libgomp.c/pr69389.c: New test.
8834 * testsuite/libgomp.c++/pr69389.C: New test.
8835
f4c222c0
TV
88362017-08-07 Tom de Vries <tom@codesourcery.com>
8837
8838 PR middle-end/78266
8839 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8840 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8841
a40ff0ae
JJ
88422017-07-27 Jakub Jelinek <jakub@redhat.com>
8843
8844 PR c/45784
8845 * testsuite/libgomp.c/pr45784.c: New test.
8846 * testsuite/libgomp.c++/pr45784.C: New test.
8847
3717fbe3
TV
88482017-07-19 Tom de Vries <tom@codesourcery.com>
8849
8850 * testsuite/libgomp.oacc-c/vec.c: New test.
8851
9607b014
TV
88522017-07-03 Tom de Vries <tom@codesourcery.com>
8853
8854 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8855
dfb15f6b
TV
88562017-06-27 Tom de Vries <tom@codesourcery.com>
8857
8858 * plugin/plugin-nvptx.c (notify_var): New function.
8859 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8860
22f1a037
TV
88612017-06-27 Tom de Vries <tom@codesourcery.com>
8862
8863 * env.c (parse_unsigned_long_1): Factor out of ...
8864 (parse_unsigned_long): ... here.
8865 (parse_int_1): Factor out of ...
8866 (parse_int): ... here.
8867 (parse_int_secure): New function.
8868 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8869 * secure_getenv.h: Factor out of ...
8870 * plugin/plugin-hsa.c: ... here.
8871 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8872
d54d1fc3
JJ
88732017-06-21 Jakub Jelinek <jakub@redhat.com>
8874
8875 PR c++/81130
8876 * testsuite/libgomp.c++/pr81130.C: New test.
8877
4f4b0ab8
RO
88782017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8879
8880 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8881 default args.
8882 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8883 dg-xfail-run-if default args.
8884
40ffd95f
BE
88852017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
8886
8887 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8888 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8889
01275e1e
JJ
88902017-05-30 Jakub Jelinek <jakub@redhat.com>
8891
8892 PR libgomp/80822
8893 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8894 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8895 sibling lists, depending on level just pick up what CPUs to put
8896 together into a place vs. whether add multiple ordered places.
8897
78672bd8
TS
88982017-05-24 Thomas Schwinge <thomas@codesourcery.com>
8899
7ce64403
TS
8900 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8901 * libgomp.map (OACC_2.0.1): Add these.
8902 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8903 for "acc_wait", and "acc_wait_all", respectively.
8904 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8905 for "acc_wait", and "acc_wait_all", respectively.
8906 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8907 * libgomp.texi (acc_wait, acc_wait_all): Update.
8908 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8909 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8910 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8911
318686c2
TS
8912 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8913 acc_present_or_copyin and acc_present_or_create procedures,
8914 respectively.
8915 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8916 generally different variants of OpenACC Runtime Library functions.
8917 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8918
a6745534
TS
8919 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8920 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8921
9b94fbc7
TS
8922 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8923 of preprocessor definitions.
8924 * libgomp.h (strong_alias): Guard by "#ifdef
8925 HAVE_ATTRIBUTE_ALIAS".
8926 * oacc-mem.c: Provide "acc_pcreate" as alias for
8927 "acc_present_or_create", and "acc_pcopyin" as alias for
8928 "acc_present_or_copyin".
8929 * libgomp.map: New version "OACC_2.0.1".
8930 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8931 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8932 its content into...
8933 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8934 Extend testing.
8935
78672bd8
TS
8936 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8937 when disabling nvptx offloading.
8938
0c36d0d5
TS
89392017-05-23 Thomas Schwinge <thomas@codesourcery.com>
8940
fd71a9a2
TS
8941 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8942 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8943 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8944
0c36d0d5
TS
8945 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8946 * testsuite/lib/libgomp.exp
8947 (check_effective_target_openacc_nvidia_accel_configured): New
8948 proc.
8949 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8950 (check_effective_target_c++): New procs.
8951 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8952 (check_effective_target_c++): Likewise.
8953
c24783c4
JJ
89542017-05-22 Jakub Jelinek <jakub@redhat.com>
8955
655e5265
JJ
8956 PR middle-end/80809
8957 * testsuite/libgomp.c/pr80809-2.c: New test.
8958 * testsuite/libgomp.c/pr80809-3.c: New test.
8959
e9e2ef9f
JJ
8960 PR middle-end/80809
8961 * testsuite/libgomp.c/pr80809-1.c: New test.
8962
c24783c4
JJ
8963 PR middle-end/80853
8964 * testsuite/libgomp.c/pr80853.c: New test.
8965
0da2f96a
TS
89662017-05-19 Thomas Schwinge <thomas@codesourcery.com>
8967
7fd549d2
TS
8968 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8969 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8970 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8971 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8972 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8973
0da2f96a
TS
8974 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8975 Debug output for failure.
8976
62ffe920
RO
89772017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8978
8979 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8980
f49215b1
JJ
89812017-04-27 Jakub Jelinek <jakub@redhat.com>
8982
8983 PR bootstrap/80531
8984 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8985 bootstrap compare failures.
8986
2260d19d
AM
89872017-04-20 Alexander Monakov <amonakov@ispras.ru>
8988
8989 * testsuite/libgomp.c/target-36.c: New testcase.
8990
19929ba9
JJ
89912017-04-13 Jakub Jelinek <jakub@redhat.com>
8992
8993 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8994 instead of char.
8995
fbc698e0
JJ
89962017-04-11 Jakub Jelinek <jakub@redhat.com>
8997
8998 PR libgomp/80394
8999 * testsuite/libgomp.c/pr80394.c: New test.
9000
c4060df4
JJ
90012017-04-04 Jakub Jelinek <jakub@redhat.com>
9002
9003 PR libgomp/79876
9004 * config/posix/thread-stacksize.h: New file.
9005 * config/darwin/thread-stacksize.h: New file.
9006 * config/nvptx/thread-stacksize.h: New file.
9007 * env.c: Include thread-stacksize.h.
9008 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
9009 instead of 0. Call pthread_attr_setstacksize even if
9010 GOMP_DEFAULT_STACKSIZE is non-zero.
9011
e02d868a
JJ
90122017-03-30 Jakub Jelinek <jakub@redhat.com>
9013
9014 * env.c (initialize_env): Initialize stacksize to 0.
9015
7ba8651e
CP
90162017-03-22 Cesar Philippidis <cesar@codesourcery.com>
9017
9018 PR c++/80029
9019 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
9020
eebc5e2d
JJ
90212017-03-08 Jakub Jelinek <jakub@redhat.com>
9022
9023 PR c/79940
9024 * testsuite/libgomp.c/pr79940.c: New test.
9025
1eb08f52
RO
90262017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9027
9028 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
9029 targets.
9030 Add __float128 options.
9031
b0f78ff3
JDA
90322017-02-11 John David Anglin <danglin@gcc.gnu.org>
9033
9034 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
9035 hppa*-*-* dg-skip-if directive.
9036
1bbe0d8f
JJ
90372017-02-09 Jakub Jelinek <jakub@redhat.com>
9038
9039 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
9040 dg-skip-if directive into a comment.
9041
02889d23
CLT
90422017-02-09 Nathan Sidwell <nathan@codesourcery.com>
9043 Chung-Lin Tang <cltang@codesourcery.com>
9044
9045 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
9046 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
9047 add additional case.
9048 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
9049 "openacc_nvidia_accel_selected".
9050 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
9051 Add num_workers(8) clause.
9052
5896a41d
JDA
90532017-02-08 John David Anglin <danglin@gcc.gnu.org>
9054
9055 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
9056 hppa*-*-*.
9057 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
9058 include complex.h on hppa*-*-hpux*.
9059 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9060
345a8c17
TS
90612017-02-02 Thomas Schwinge <thomas@codesourcery.com>
9062
e70ab10d
TS
9063 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
9064
345a8c17
TS
9065 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9066 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9067 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9068 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9069 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9070 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9071 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9072 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9073 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9074 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9075
dced339c
TS
90762017-01-31 Thomas Schwinge <thomas@codesourcery.com>
9077
9078 * libgomp-plugin.h: #include <stdbool.h>.
9079 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9080 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9081 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9082 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9083 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9084 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9085 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9086 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9087 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9088 (GOMP_OFFLOAD_openacc_async_test)
9089 (GOMP_OFFLOAD_openacc_async_test_all)
9090 (GOMP_OFFLOAD_openacc_async_wait)
9091 (GOMP_OFFLOAD_openacc_async_wait_async)
9092 (GOMP_OFFLOAD_openacc_async_wait_all)
9093 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9094 (GOMP_OFFLOAD_openacc_async_set_async)
9095 (GOMP_OFFLOAD_openacc_create_thread_data)
9096 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9097 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9098 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9099 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9100 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9101 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9102 these.
9103 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9104 (GOMP_OFFLOAD_unload_image): Fix argument types.
9105
23749904
JJ
91062017-01-26 Jakub Jelinek <jakub@redhat.com>
9107
c1cadde1
JJ
9108 * testsuite/lib/libgomp.exp
9109 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9110 check_compile invocation. Fix up removal of executable. Drop
9111 bogus "2>&1" argument.
9112
23749904
JJ
9113 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9114 directive.
9115
91162017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
9117 Martin Jambor <mjambor@suse.cz>
9118
9119 * plugin/hsa.h: Moved to top level include.
9120 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9121
73aa401e
JJ
91222017-01-21 Jakub Jelinek <jakub@redhat.com>
9123
9124 PR other/79046
9125 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9126 of cat to get version from BASE-VER file.
9127 * testsuite/Makefile.in: Regenerated.
9128
b32e85fa
JJ
91292017-01-19 Jakub Jelinek <jakub@redhat.com>
9130
9131 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9132 for _WIN64.
9133
3c36aa6b
JJ
91342017-01-17 Jakub Jelinek <jakub@redhat.com>
9135
d190d5c0
JJ
9136 * plugin/hsa.h: Add GCC runtime library exception.
9137 * plugin/hsa_ext_finalize.h: Likewise.
9138
2393d337
JJ
9139 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9140 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9141 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9142 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9143 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9144 library to link ptx plugin against.
9145 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9146 (CUDA_CALLS): Define.
9147 (cuda_lib, cuda_lib_inited): New variables.
9148 (init_cuda_lib): New function.
9149 (CUDA_CALL_PREFIX): Define.
9150 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9151 (CUDA_CALL): Use FN instead of (FN).
9152 (CUDA_CALL_NOCHECK): Define.
9153 (cuda_error, fini_streams_for_device, select_stream_for_async,
9154 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9155 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9156 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9157 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9158 CUDA_CALL_NOCHECK.
9159 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9160 CUDA_CALL_NOCHECK.
9161 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9162 Use CUDA_CALL_NOCHECK.
9163 * plugin/cuda/cuda.h: New file.
9164 * config.h.in: Regenerated.
9165 * configure: Regenerated.
9166
3c36aa6b
JJ
9167 PR other/79046
9168 * configure.ac: Add GCC_BASE_VER.
9169 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9170 get version from BASE-VER file.
9171 * testsuite/Makefile.in: Regenerated.
9172 * configure: Regenerated.
9173 * Makefile.in: Regenerated.
9174
c508bc2d
FXC
91752017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9176
9177 PR libgomp/60670
9178 * Makefile.am: Make fincludedir multilib-aware.
9179 * Makefile.in: Regenerate.
9180
c1a9c369
JJ
91812017-01-01 Jakub Jelinek <jakub@redhat.com>
9182
cbe34bb5
JJ
9183 Update copyright years.
9184
c1a9c369
JJ
9185 * libgomp.texi: Bump @copying's copyright year.
9186
e7a7f4be
SH
91872016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9188
9189 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9190 pthread_spinlock_t instead of gomp_mutex_t lock.
9191 (gomp_get_thread_pool): Likewise.
9192 (gomp_release_thread_pool): Likewise.
9193 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9194 Likewise.
9195
d313d52c
SH
91962016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9197
9198 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9199 thread pool in case nthreads == 1.
9200
630e3c3a
AM
92012016-11-30 Alexander Monakov <amonakov@ispras.ru>
9202
9203 * config/nvptx/env.c: Delete.
9204 * icv.c: Move definitions of ICV variables back ...
9205 * env.c: ...here. Do not compile environment-related functionality if
9206 LIBGOMP_OFFLOADED_ONLY is set.
9207
9e38af5c
AM
92082016-11-30 Alexander Monakov <amonakov@ispras.ru>
9209
9210 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9211 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9212 * configure: Regenerate.
9213 * config.h.in: Likewise.
9214
f96b7f1f
AM
92152016-11-30 Alexander Monakov <amonakov@ispras.ru>
9216
9217 * Makefile.in: Regenerate with automake-1.11.6.
9218 * aclocal.m4: Likewise.
9219 * configure: Likewise.
9220 * testsuite/Makefile.in: Likewise.
9221
6a6951b1
AM
92222016-11-28 Alexander Monakov <amonakov@ispras.ru>
9223
9224 * config/nvptx/critical.c: Delete to use generic implementation.
9225
c7ac071f
JH
92262016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9227
9228 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9229 ../../affinity.c as fallback.
9230 * config/nvptx/affinity.c: Delete to use fallback implementation.
9231
6103184e 92322016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 9233 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
9234 Dmitry Melnik <dm@ispras.ru>
9235
9236 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9237 * Makefile.in. Regenerate.
9238 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9239 (LIBGOMP_USE_PTHREADS): ...here; new define.
9240 * configure: Regenerate.
9241 * config.h.in: Likewise.
9242 * config/posix/affinity.c: Move to...
9243 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9244 interface by LIBGOMP_USE_PTHREADS.
9245 * critical.c: Split out GOMP_atomic_{start,end} into...
9246 * atomic.c: ...here (new file).
9247 * env.c: Split out ICV definitions into...
9248 * icv.c: ...here (new file) and...
9249 * icv-device.c: ...here. New file.
9250 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9251 (gomp_destroy_lock_30): Ditto.
9252 (gomp_set_lock_30): Ditto.
9253 (gomp_unset_lock_30): Ditto.
9254 (gomp_test_lock_30): Ditto.
9255 (gomp_init_nest_lock_30): Ditto.
9256 (gomp_destroy_nest_lock_30): Ditto.
9257 (gomp_set_nest_lock_30): Ditto.
9258 (gomp_unset_nest_lock_30): Ditto.
9259 (gomp_test_nest_lock_30): Ditto.
9260 * lock.c: New.
9261 * config/nvptx/lock.c: New.
9262 * config/nvptx/bar.c: New.
9263 * config/nvptx/bar.h: New.
9264 * config/nvptx/doacross.h: New.
9265 * config/nvptx/error.c: New.
9266 * config/nvptx/icv-device.c: New.
9267 * config/nvptx/mutex.h: New.
9268 * config/nvptx/pool.h: New.
9269 * config/nvptx/proc.c: New.
9270 * config/nvptx/ptrlock.h: New.
9271 * config/nvptx/sem.h: New.
9272 * config/nvptx/simple-bar.h: New.
9273 * config/nvptx/target.c: New.
9274 * config/nvptx/task.c: New.
9275 * config/nvptx/team.c: New.
9276 * config/nvptx/time.c: New.
9277 * config/posix/simple-bar.h: New.
9278 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9279 (gomp_num_teams_var): Declare.
9280 (struct gomp_thread_pool): Change threads_dock member to
9281 gomp_simple_barrier_t.
9282 [__nvptx__] (gomp_thread): New implementation.
9283 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9284 (gomp_thread_destructor): Ditto.
9285 (gomp_init_thread_affinity): Ditto.
9286 * team.c: Guard uses of Pthreads-specific interfaces by
9287 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9288 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9289 * config/nvptx/alloc.c: Delete.
9290 * config/nvptx/barrier.c: Ditto.
9291 * config/nvptx/fortran.c: Ditto.
9292 * config/nvptx/iter.c: Ditto.
9293 * config/nvptx/iter_ull.c: Ditto.
9294 * config/nvptx/loop.c: Ditto.
9295 * config/nvptx/loop_ull.c: Ditto.
9296 * config/nvptx/ordered.c: Ditto.
9297 * config/nvptx/parallel.c: Ditto.
9298 * config/nvptx/priority_queue.c: Ditto.
9299 * config/nvptx/sections.c: Ditto.
9300 * config/nvptx/single.c: Ditto.
9301 * config/nvptx/splay-tree.c: Ditto.
9302 * config/nvptx/work.c: Ditto.
9303 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9304 -foffload=-lgfortran in addition to -lgfortran.
9305 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9306 * plugin/plugin-nvptx.c: Include <limits.h>.
9307 (struct targ_fn_descriptor): Add new fields.
9308 (struct ptx_device): Ditto. Set them...
9309 (nvptx_open_device): ...here.
9310 (nvptx_adjust_launch_bounds): New.
9311 (nvptx_host2dev): Allow NULL 'nvthd'.
9312 (nvptx_dev2host): Ditto.
9313 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9314 (link_ptx): Adjust log sizes.
9315 (nvptx_host2dev): Allow NULL 'nvthd'.
9316 (nvptx_dev2host): Ditto.
9317 (nvptx_set_clocktick): New. Use it...
9318 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9319 fields.
9320 (GOMP_OFFLOAD_dev2dev): New.
9321 (nvptx_adjust_launch_bounds): New.
9322 (nvptx_stacks_size): New.
9323 (nvptx_stacks_alloc): New.
9324 (nvptx_stacks_free): New.
9325 (GOMP_OFFLOAD_run): New.
9326 (GOMP_OFFLOAD_async_run): New (stub).
9327
56b1c60e
MJ
93282016-11-23 Martin Jambor <mjambor@suse.cz>
9329
9330 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9331 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9332 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9333
b8d89b03 93342016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 9335 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
9336
9337 * plugin/hsa.h: New file.
9338 * plugin/hsa_ext_finalize.h: New file.
9339 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9340 header file unistd.h, and functions secure_getenv, __secure_getenv,
9341 getuid, geteuid, getgid and getegid.
9342 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9343 -D_GNU_SOURCE.
9344 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9345 Handle various cases of secure_getenv presence, add an implementation
9346 when we can test effective UID and GID.
9347 (struct hsa_runtime_fn_info): New structure.
9348 (hsa_runtime_fn_info hsa_fns): New variable.
9349 (hsa_runtime_lib): Likewise.
9350 (support_cpu_devices): Likewise.
9351 (init_enviroment_variables): Load newly introduced ENV
9352 variables.
9353 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9354 (hsa_fatal): Likewise.
9355 (DLSYM_FN): New macro.
9356 (init_hsa_runtime_functions): New function.
9357 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9358 structure. Depending on environment, also allow CPU devices.
9359 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9360 (get_kernarg_memory_region): Likewise.
9361 (GOMP_OFFLOAD_init_device): Likewise.
9362 (destroy_hsa_program): Likewise.
9363 (init_basic_kernel_info): New function.
9364 (GOMP_OFFLOAD_load_image): Use it.
9365 (create_and_finalize_hsa_program): Call hsa run-time functions via
9366 hsa_fns structure.
9367 (create_single_kernel_dispatch): Likewise.
9368 (release_kernel_dispatch): Likewise.
9369 (init_single_kernel): Likewise.
9370 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9371 (get_group_size): New function.
9372 (run_kernel): Likewise.
9373 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9374 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9375 structure.
9376 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9377 * testsuite/libgomp-test-support.exp.in: Likewise.
9378 * Makefile.in: Regenerated.
9379 * aclocal.m4: Likewise.
9380 * config.h.in: Likewise.
9381 * configure: Likewise.
9382 * testsuite/Makefile.in: Likewise.
9383
18d2ada8 93842016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 9385 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
9386
9387 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9388 mapping clauses to target constructs.
9389 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9390
84c1b9d3
MK
93912016-11-15 Matthias Klose <doko@ubuntu.com>
9392
9393 * configure: Regenerate.
9394
b4c3a85b
JJ
93952016-11-10 Jakub Jelinek <jakub@redhat.com>
9396
8ebd1b31
JJ
9397 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9398 * omp_lib.h.in (openmp_version): Likewise.
9399 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9400 of 201307.
9401 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9402
b4c3a85b
JJ
9403 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9404 (fib_wrapper): Add map(from: x) clause.
9405 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9406 (e_53_2): Likewise.
9407 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9408 (accum): Add map(tmp) clause.
9409 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9410 (accum): Add map(tofrom: tmp) clause.
9411 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9412 (gramSchmidt): Likewise.
9413 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9414 map(tofrom: sum) clause.
9415 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9416 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9417 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9418 only allowed on the loop iterator.
9419 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9420 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9421 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9422 * testsuite/libgomp.fortran/doacross1.f90: New test.
9423 * testsuite/libgomp.fortran/doacross3.f90: New test.
9424 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9425 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9426 * testsuite/libgomp.fortran/doacross2.f90: New test.
9427 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9428 #pragma omp atomic read.
9429 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9430 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9431
6668eb45
CP
94322016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9433 Nathan Sidwell <nathan@acm.org>
9434
9435 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9436 to determine default geometry.
9437 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9438 dimension.
9439
f10e37a1
JJ
94402016-11-01 Jakub Jelinek <jakub@redhat.com>
9441
9442 * hashtab.h: Use standard GPLv3 with runtime exception
9443 boilerplate.
9444
015c7760
AH
94452016-10-27 Aldy Hernandez <aldyh@redhat.com>
9446
9447 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9448 size when allocating new thread.
9449
20a1e5b8
MP
94502016-09-14 Marek Polacek <polacek@redhat.com>
9451
9452 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9453
1cad9284
JJ
94542016-08-19 Jakub Jelinek <jakub@redhat.com>
9455
9456 PR fortran/71014
9457 * testsuite/libgomp.fortran/pr71014.f90: New test.
9458
2c71d454
CLT
94592016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9460
9461 PR middle-end/70895
9462 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9463 firstprivate clauses.
9464 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9465 copy clauses.
9466 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9467 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9468 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9469 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9470 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9471 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9472 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9473 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9474 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9475 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9476 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9477 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9478
7c713714
CLT
94792016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9480
9481 PR fortran/70598
9482 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9483
5c934396
JJ
94842016-08-08 Jakub Jelinek <jakub@redhat.com>
9485
9486 PR c++/58706
9487 * testsuite/libgomp.c++/pr58706.C: New test.
9488
9ef64248
TS
94892016-08-04 Thomas Schwinge <thomas@codesourcery.com>
9490
bbc79c0e
TS
9491 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9492 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9493 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9494 Likewise.
9495 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9496 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9497 Likewise.
9498 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9499
9ef64248
TS
9500 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9501 test, and don't hardcode -O0.
9502
c1311c86
NS
95032016-08-03 Nathan Sidwell <nathan@codesourcery.com>
9504
9505 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9506
b1c9c068
CP
95072016-07-15 Cesar Philippidis <cesar@codesourcery.com>
9508
9509 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9510 test.
9511
b4410f63
L
95122016-07-03 H.J. Lu <hongjiu.lu@intel.com>
9513
9514 PR middle-end/71734
9515 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9516 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9517
a8dbab92
JJ
95182016-07-01 Jakub Jelinek <jakub@redhat.com>
9519
9520 PR fortran/71717
9521 * testsuite/libgomp.fortran/associate3.f90: New test.
9522
9b6a8d0f
JJ
95232016-06-17 Jakub Jelinek <jakub@redhat.com>
9524
9525 * testsuite/libgomp.c++/target-21.C: New test.
9526
283635f9
JJ
95272016-06-16 Jakub Jelinek <jakub@redhat.com>
9528
9529 * testsuite/libgomp.c++/target-20.C: New test.
9530
27d6ba88
TS
95312016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9532 Cesar Philippidis <cesar@codesourcery.com>
9533
9534 PR middle-end/71373
9535 * libgomp.oacc-c/nested-function-1.c: New file.
9536 * libgomp.oacc-c/nested-function-2.c: Likewise.
9537 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9538 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9539 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9540
4b1ffdb1
TS
95412016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9542
9543 PR c/71381
9544 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9545 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9546 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9547
d821b794
CLT
95482016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
9549
9550 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9551 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9552
3616a8c5
CP
95532016-06-01 Cesar Philippidis <cesar@codesourcery.com>
9554
9555 PR c/70688
5eed9a88 9556 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 9557
7211a097
JJ
95582016-05-26 Jakub Jelinek <jakub@redhat.com>
9559
9560 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9561 instead of invalid schedule(static, 0).
9562 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9563
b4557008
CLT
95642016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9565
9566 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9567 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9568 parameter, use to set async stream around call to gomp_unmap_vars,
9569 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9570 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9571 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9572 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9573 (event_add): Add int parameter, initialize 'val' field when
9574 adding new ptx_event struct.
9575 (nvptx_evec): Adjust event_add() call arguments.
9576 (nvptx_host2dev): Likewise.
9577 (nvptx_dev2host): Likewise.
9578 (nvptx_wait_async): Likewise.
9579 (nvptx_wait_all_async): Likewise.
9580 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9581 pass to event_add() call.
9582 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9583 parameter.
9584 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9585 call openacc.register_async_cleanup_func() hook.
9586 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9587 * target.c (gomp_copy_from_async): Delete function.
9588 (gomp_map_vars): Remove async_refcount.
9589 (gomp_unmap_vars): Likewise.
9590 (gomp_load_image_to_device): Likewise.
9591 (omp_target_associate_ptr): Likewise.
9592 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9593 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9594 (gomp_copy_from_async): Remove.
9595
6ce13072
CLT
95962016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9597
9598 * target.c (gomp_device_copy): New function.
9599 (gomp_copy_host2dev): Likewise.
9600 (gomp_copy_dev2host): Likewise.
9601 (gomp_free_device_memory): Likewise.
9602 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9603 (gomp_map_pointer): Likewise.
9604 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9605 NULL value from alloc_func plugin hook.
9606 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9607 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9608 (gomp_unmap_vars): Likewise.
9609 (gomp_update): Adjust to call gomp_copy_dev2host and
9610 gomp_copy_host2dev functions.
9611 (gomp_unload_image_from_device): Handle false value from
9612 unload_image_func plugin hook.
9613 (gomp_init_device): Handle false value from init_device_func
9614 plugin hook.
9615 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9616 (omp_target_free): Adjust to call gomp_free_device_memory.
9617 (omp_target_memcpy): Handle return values from host2dev_func,
9618 dev2host_func, and dev2dev_func plugin hooks.
9619 (omp_target_memcpy_rect_worker): Likewise.
9620 (gomp_target_fini): Handle false value from fini_device_func
9621 plugin hook.
9622 * libgomp.h (struct gomp_device_descr): Adjust return type of
9623 init_device_func, fini_device_func, unload_image_func, free_func,
9624 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9625 * oacc-init.c (acc_shutdown_1): Handle false value from
9626 fini_device_func plugin hook.
9627 * oacc-host.c (host_init_device): Change return type to bool.
9628 (host_fini_device): Likewise.
9629 (host_unload_image): Likewise.
9630 (host_free): Likewise.
9631 (host_dev2host): Likewise.
9632 (host_host2dev): Likewise.
9633 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9634 (acc_memcpy_to_device): Likewise.
9635 (acc_memcpy_from_device): Likewise.
9636 (delete_copyout): Add libfnname parameter, handle free_func
9637 hook fatal error case.
9638 (acc_delete): Adjust delete_copyout call.
9639 (acc_copyout): Likewise.
9640 (update_dev_host): Move gomp_mutex_unlock to after
9641 host2dev/dev2host hook calls.
9642
9643 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9644 to 'hsa_error_msg', for clarity.
9645 (hsa_fatal): Likewise.
9646 (hsa_error): New function.
9647 (init_hsa_context): Change return type to bool, adjust to return
9648 false on error.
9649 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9650 return value.
9651 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9652 return false on error.
9653 (get_agent_info): Adjust to return NULL on error.
9654 (destroy_hsa_program): Change return type to bool, adjust to
9655 return false on error.
9656 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9657 (destroy_module): Change return type to bool, adjust to
9658 return false on error.
9659 (GOMP_OFFLOAD_unload_image): Likewise.
9660 (GOMP_OFFLOAD_fini_device): Likewise.
9661 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9662 (GOMP_OFFLOAD_free): Change to return false when called.
9663 (GOMP_OFFLOAD_dev2host): Likewise.
9664 (GOMP_OFFLOAD_host2dev): Likewise.
9665 (GOMP_OFFLOAD_dev2dev): Likewise.
9666
9667 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9668 (CUDA_CALL): Likewise.
9669 (CUDA_CALL_ASSERT): Likewise.
9670 (map_init): Change return type to bool, use CUDA_CALL* macros.
9671 (map_fini): Likewise.
9672 (init_streams_for_device): Change return type to bool, adjust
9673 call to map_init.
9674 (fini_streams_for_device): Change return type to bool, adjust
9675 call to map_fini.
9676 (select_stream_for_async): Release stream_lock before calls to
9677 GOMP_PLUGIN_fatal, adjust call to map_init.
9678 (nvptx_init): Use CUDA_CALL* macros.
9679 (nvptx_attach_host_thread_to_device): Change return type to bool,
9680 use CUDA_CALL* macros.
9681 (nvptx_open_device): Use CUDA_CALL* macros.
9682 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9683 macros.
9684 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9685 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9686 (nvptx_exec): Use CUDA_CALL* macros.
9687 (nvptx_alloc): Use CUDA_CALL* macros.
9688 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9689 (nvptx_host2dev): Likewise.
9690 (nvptx_dev2host): Likewise.
9691 (nvptx_wait): Use CUDA_CALL* macros.
9692 (nvptx_wait_async): Likewise.
9693 (nvptx_wait_all): Likewise.
9694 (nvptx_wait_all_async): Likewise.
9695 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9696 use CUDA_CALL* macros, adjust call to map_fini.
9697 (GOMP_OFFLOAD_init_device): Change return type to bool,
9698 adjust code accordingly.
9699 (GOMP_OFFLOAD_fini_device): Likewise.
9700 (GOMP_OFFLOAD_load_image): Adjust calls to
9701 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9702 use CUDA_CALL* macros.
9703 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9704 return code.
9705 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9706 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9707 handle error return.
9708 (GOMP_OFFLOAD_dev2host): Likewise.
9709 (GOMP_OFFLOAD_host2dev): Likewise.
9710 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9711 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9712
e46c7770
CP
97132016-05-24 Cesar Philippidis <cesar@codesourcery.com>
9714
9715 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9716 (acc_free): Likewise.
9717 (acc_memcpy_to_device): Likewise.
9718 (acc_memcpy_from_device): Likewise.
9719 (acc_deviceptr): Likewise.
9720 (acc_hostptr): Likewise.
9721 (acc_is_present): Likewise.
9722 (acc_map_data): Likewise.
9723 (acc_unmap_data): Likewise.
9724 (present_create_copy): Likewise.
9725 (delete_copyout): Likewise.
9726 (update_dev_host): Likewise.
9727 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9728 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9729 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9730 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9731 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9732 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9733 it only runs on nvptx targets.
9734 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9735 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9736 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9739 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9741 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9742 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9743 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9744 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9745 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9746 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9748 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9749 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9750 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9751 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9752 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9753 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9754 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9757
a5057543
MJ
97582016-05-23 Martin Jambor <mjambor@suse.cz>
9759
9760 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9761
e37288a6
CLT
97622016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
9763
9764 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9765 to gomp_init_targets_once.
9766 (acc_set_device_type): Remove !cached_base_dev condition on call to
9767 gomp_init_targets_once, move call to before acc_device_lock acquire,
9768 to avoid deadlock.
9769 (acc_get_device_num): Remove !cached_base_dev condition on call to
9770 gomp_init_targets_once.
9771 (acc_set_device_num): Likewise.
9772
51d9ed48
MJ
97732016-05-16 Martin Jambor <mjambor@suse.cz>
9774
92a285c1 9775 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 9776
5b37e866
NS
97772016-05-02 Nathan Sidwell <nathan@codesourcery.com>
9778
9779 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9780 expected partitioning.
9781
e7ff0319
CP
97822016-04-29 Cesar Philippidis <cesar@codesourcery.com>
9783
9784 PR middle-end/70626
9785 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9786 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9787 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9788
c2bd3b69
AM
97892016-04-21 Alexander Monakov <amonakov@ispras.ru>
9790
9791 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9792 non-fatal.
9793
84311083
JJ
97942016-04-19 Jakub Jelinek <jakub@redhat.com>
9795
9796 PR middle-end/70680
9797 * testsuite/libgomp.c/pr70680-1.c: New test.
9798 * testsuite/libgomp.c/pr70680-2.c: New test.
9799
aadc043f
CP
98002016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9801
9802 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9803 pass parameter variables to subroutines.
9804
e387fc64
CP
98052016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9806
9807 PR middle-end/70643
9808 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9809
10c3c424
CP
98102016-04-13 Cesar Philippidis <cesar@codesourcery.com>
9811
9812 PR testsuite/68242
9813 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9814 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9815
27f9add3
TS
98162016-04-12 Thomas Schwinge <thomas@codesourcery.com>
9817
58d32aeb
TS
9818 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9819 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9820 GOACC_declare prototype.
9821
d97633ef
TS
9822 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9823 Merge this file, and...
9824 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9825 ... this file, and...
9826 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9827 ... this file, and...
9828 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9829 ... this file, and...
9830 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9831 ... this file, and...
9832 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9833 ... this file, and...
9834 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9835 ... this file, and...
9836 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9837 ... this file, and...
9838 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9839 ... this file, and...
9840 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9841 ... this file, and...
9842 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9843 ... this file, and...
9844 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9845 ... this file, and...
9846 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9847 ... this file into...
9848 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9849 file.
9850
27f9add3
TS
9851 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9852 Make failure observable.
9853
21f3a236
JJ
98542016-04-12 Jakub Jelinek <jakub@redhat.com>
9855
9856 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9857 field.
9858 * target.c (gomp_target_fallback_firstprivate,
9859 gomp_target_unshare_firstprivate): Removed.
9860 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9861 before waiting for dependencies.
9862 (gomp_target_task_fn): Don't copy firstprivate vars here.
9863 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9864 firstprivate_copies here.
9865 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9866 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9867 explicit/implicit firstprivate.
9868
c42cfb5c
CP
98692016-04-08 Cesar Philippidis <cesar@codesourcery.com>
9870
9871 PR lto/70289
9872 PR ipa/70348
9873 PR tree-optimization/70373
9874 PR middle-end/70533
9875 PR middle-end/70534
9876 PR middle-end/70535
9877 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9878 test.
9879 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9880 test.
9881 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9882 test.
9883 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9884 test.
9885 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9886 test.
9887 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9888 test.
9889 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9890 test.
9891 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9892 test.
9893 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9894 test.
9895 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9896 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9897 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9898 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9899 test.
9900 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9901 test.
9902 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9903 test.
9904 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9905 test.
9906 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9907 coverage.
9908 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9909 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9910 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9911 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9912 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9913 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9914 coverage.
9915 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9916 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9917 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9918 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9919 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9920 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9921 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9922 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9923 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9924 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9925 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9926 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9927 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9928 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9929 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9930
2620c80d
TS
99312016-03-30 Thomas Schwinge <thomas@codesourcery.com>
9932 James Norris <jnorris@codesourcery.com>
9933 Nathan Sidwell <nathan@codesourcery.com>
9934 Julian Brown <julian@codesourcery.com>
9935 Cesar Philippidis <cesar@codesourcery.com>
9936 Chung-Lin Tang <cltang@codesourcery.com>
9937 Tom de Vries <tom@codesourcery.com>
9938
9939 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9940 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9941 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9942 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9943 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9944 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9945 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9946 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9947 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9948 XFAIL.
9949 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9950 Incorporate...
9951 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9952 file.
9953 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9954 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9955 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9956 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9957 Likewise.
9958 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9959 Likewise.
9960 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9961 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9962 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9963 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9964 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9965 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9966 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9967 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9968 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9969 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9970 Likewise.
9971 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9972 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9973 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9974 file...
9975 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9976 file into...
9977 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9978 file. Update.
9979 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9980 file.
9981 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9982 Likewise.
9983 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9984 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9985 ... this new file. Update.
9986 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9987 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9988 ... this new file. Update.
9989 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9990 file. Incorporate...
9991 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9992 file, and...
9993 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9994 file, and...
9995 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9996 file.
9997 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9998
ce83104b
TS
99992016-03-29 Thomas Schwinge <thomas@codesourcery.com>
10000
10001 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
10002 set-torture-options.
10003
6e0df3b7
TS
100042016-03-24 Thomas Schwinge <thomas@codesourcery.com>
10005
10006 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
10007 gcc-dg-runtest.
10008 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10009 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
10010 -fno-builtin-acc_on_device instead of -O0.
10011 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
10012 -O0.
10013 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10014 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
10015 Likewise.
10016 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10017 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10018 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10019 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10020 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10021 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10022 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10023 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10024 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10025 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10026 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10027 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10028 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10029 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10030 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10031 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10032 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10033 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
10034 Don't specify -O2.
10035 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
10036 Likewise.
10037 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
10038 Likewise.
10039
f9c8babb
ML
100402016-03-24 Martin Liska <mliska@suse.cz>
10041
10042 * plugin/plugin-hsa.c (packet_store_release): New function
10043 that is taken from the HSA runtime manual.
10044 (GOMP_OFFLOAD_run): Use the function.
10045
04833609
JJ
100462016-03-23 Jakub Jelinek <jakub@redhat.com>
10047
10048 PR c++/70376
10049 * testsuite/libgomp.c++/pr70376.C: New test.
10050
d79ee524
TV
100512016-03-23 Tom de Vries <tom@codesourcery.com>
10052
10053 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
10054 initialization of lresult and lvresult.
10055 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
10056
b6d1f2b5
JN
100572016-03-23 James Norris <jnorris@codesourcery.com>
10058 Daichi Fukuoka <dc-fukuoka@sgi.com>
10059
10060 PR libgomp/69414
10061 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
10062 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
10063 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10064 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
10065
7397fce2
ML
100662016-03-23 Martin Liska <mliska@suse.cz>
10067
10068 PR hsa/70337
10069 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10070 argument just in case a dispatched kernel uses that argument.
10071
ee2e7d51
TS
100722016-03-16 Thomas Schwinge <thomas@codesourcery.com>
10073
10074 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10075 -ftree-parallelize-loops/-fopenacc changes.
10076 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10077 Likewise.
10078 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10079 Likewise.
10080 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10081 Likewise.
10082 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10083 Likewise.
10084 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10085 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10086
be9f7143
TS
100872016-03-13 Thomas Schwinge <thomas@codesourcery.com>
10088
10089 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10090 always_ld_library_path the path to libgcc_s.
10091
f6c1032d
CP
100922016-03-10 Cesar Philippidis <cesar@codesourcery.com>
10093
10094 PR testsuite/70009
10095 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10096
5a6452e6
TV
100972016-03-09 Tom de Vries <tom@codesourcery.com>
10098
10099 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10100 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10101 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10102 Same.
10103 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10104 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10105 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10106 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10107
96a71bd5
MJ
101082016-03-07 Martin Jambor <mjambor@suse.cz>
10109
10110 * testsuite/lib/libgomp.exp
10111 (check_effective_target_hsa_offloading_selected_nocache): New.
10112 (check_effective_target_hsa_offloading_selected): Likewise.
10113 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10114 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10115 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10116 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10117 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10118 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10119 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10120 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10121 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10122 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10123 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10124 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10125 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10126 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10127 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10128 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10129 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10130
02e0b5b2
MJ
101312016-03-07 Martin Jambor <mjambor@suse.cz>
10132
10133 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10134 non-shared memory accelerators.
10135 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10136 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10137 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10138 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10139 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10140 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10141 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10142 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10143 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10144
45548f30
MJ
101452016-03-07 Martin Jambor <mjambor@suse.cz>
10146
10147 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10148 ALWAYS_CFLAGS.
10149
da3d46cb
JJ
101502016-03-02 Jakub Jelinek <jakub@redhat.com>
10151
10152 PR libgomp/69555
10153 * testsuite/libgomp.c++/pr69555-1.C: New test.
10154 * testsuite/libgomp.c++/pr69555-2.C: New test.
10155
622174b2
KM
101562016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10157 Martin Jambor <mjambor@suse.cz>
10158
10159 * testsuite/lib/libgomp.exp
10160 (check_effective_target_offload_device_shared_as): New proc.
10161 * testsuite/libgomp.c++/declare_target-1.C: New test.
10162
e6861a99
IV
101632016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10164
10165 PR driver/68463
10166 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10167
f99c3557
TS
101682016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10169
10170 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10171 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10172 dims.
10173 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10174 -ftree-parallelize-loops/-fopenacc changes.
10175 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10176 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10177 Likewise.
10178 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10179 Likewise.
10180 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10181 Likewise.
10182 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10183 Likewise.
10184 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10185 Likewise.
10186 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10187 Likewise.
10188 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10189 Likewise.
10190 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10191 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10192 Likewise.
10193 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10194 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10195 Likewise.
10196 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10197 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10198 Likewise.
10199
d5ace3b5
CP
102002016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10201
10202 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10203
f3609a89
JJ
102042016-02-19 Jakub Jelinek <jakub@redhat.com>
10205
10206 PR driver/69805
10207 * testsuite/libgomp.c/pr69805.c: New test.
10208
2175df99
TV
102092016-02-16 Tom de Vries <tom@codesourcery.com>
10210
10211 PR lto/67709
10212 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10213
17b6426c
TV
102142016-02-09 Tom de Vries <tom@codesourcery.com>
10215
10216 PR tree-optimization/69599
10217 * testsuite/libgomp.c/omp-nested-3.c: New test.
10218 * testsuite/libgomp.c/pr46032-2.c: New test.
10219 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10220 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10221
34df756c
TV
102222016-02-09 Tom de Vries <tom@codesourcery.com>
10223
10224 PR lto/69707
10225 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10226
5854ee30
AM
102272016-02-02 Alexander Monakov <amonakov@ispras.ru>
10228
10229 * testsuite/libgomp.c/target-31.c: Fix testcase.
10230
e70b6ad7
AM
102312016-02-02 Alexander Monakov <amonakov@ispras.ru>
10232
10233 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10234 clause.
10235 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10236 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10237 reduction and map clauses.
10238 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10239
bd78a45f
JN
102402016-02-02 James Norris <jnorris@codesourcery.com>
10241
10242 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10243
41d809d3
TS
102442016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10245
18f60146
TS
10246 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10247 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10248
1a06f5e6
TS
10249 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10250 cases.
10251
033ff3d1
TS
10252 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10253 variables.
10254 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10255 (hsa_kmt_lib): Set variables.
10256 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10257 always_ld_library_path.
10258 * Makefile.in: Regenerate.
10259 * configure: Likewise.
10260 * testsuite/Makefile.in: Likewise.
10261
4a88d9b7
TS
10262 * plugin/configfrag.ac (offload_additional_options)
10263 (offload_additional_lib_paths): Don't amend for hsa offloading.
10264 * configure: Regenerate.
10265
41d809d3
TS
10266 * plugin/configfrag.ac: Don't configure for offloading target if
10267 we don't build the corresponding plugin.
10268 * configure: Regenerate.
10269
b6adbb9f
NS
102702016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10271
10272 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10273 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10274
8dfdb419
TV
102752016-01-26 Tom de Vries <tom@codesourcery.com>
10276
10277 PR tree-optimization/69110
10278 * testsuite/libgomp.c/pr69110.c: New test.
10279
02ef53f2
RB
102802016-01-25 Richard Biener <rguenther@suse.de>
10281
10282 PR lto/69393
10283 * testsuite/libgomp.c++/pr69393.C: New testcase.
10284
eb4048f2
IV
102852016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10286
10287 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10288 function wasn't mapped to the device with non-shared memory.
10289
b235cdd5
IV
102902016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10291
10292 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10293
b2b40051
MJ
102942016-01-19 Martin Jambor <mjambor@suse.cz>
10295 Martin Liska <mliska@suse.cz>
10296
10297 * plugin/Makefrag.am: Add HSA plugin requirements.
10298 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10299 (HSA_RUNTIME_LIB): Likewise.
10300 (HSA_RUNTIME_CPPFLAGS): Likewise.
10301 (HSA_RUNTIME_INCLUDE): New substitution.
10302 (HSA_RUNTIME_LIB): Likewise.
10303 (HSA_RUNTIME_LDFLAGS): Likewise.
10304 (hsa-runtime): New configure option.
10305 (hsa-runtime-include): Likewise.
10306 (hsa-runtime-lib): Likewise.
10307 (PLUGIN_HSA): New substitution variable.
10308 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10309 configure options.
10310 (PLUGIN_HSA_CPPFLAGS): Likewise.
10311 (PLUGIN_HSA_LDFLAGS): Likewise.
10312 (PLUGIN_HSA_LIBS): Likewise.
10313 Check that we have access to HSA run-time.
10314 * libgomp-plugin.h (offload_target_type): New element
10315 OFFLOAD_TARGET_TYPE_HSA.
10316 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10317 args.
10318 (bool gomp_create_target_task): Updated.
10319 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10320 new field can_run_func.
10321 * libgomp_g.h (GOMP_target_ext): Update prototype.
10322 * oacc-host.c (host_run): Added a new parameter args.
10323 * target.c (calculate_firstprivate_requirements): New function.
10324 (copy_firstprivate_data): Likewise.
10325 (gomp_target_fallback_firstprivate): Use them.
10326 (gomp_target_unshare_firstprivate): New function.
10327 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10328 devices.
10329 (GOMP_target): Do host fallback for all shared memory devices. Do not
10330 pass any args to plugins.
10331 (GOMP_target_ext): Introduce device-specific argument parameter args.
10332 Allow host fallback if device shares memory. Do not remap data if
10333 device has shared memory.
10334 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10335 like host fallback for mappings.
10336 (GOMP_target_data): Treat shared memory devices like host fallback.
10337 (GOMP_target_data_ext): Likewise.
10338 (GOMP_target_update): Likewise.
10339 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10340 gomp_create_target_task.
10341 (GOMP_target_enter_exit_data): Likewise.
10342 (omp_target_alloc): Treat shared memory devices like host fallback.
10343 (omp_target_free): Likewise.
10344 (omp_target_is_present): Likewise.
10345 (omp_target_memcpy): Likewise.
10346 (omp_target_memcpy_rect): Likewise.
10347 (omp_target_associate_ptr): Likewise.
10348 (gomp_load_plugin_for_device): Also load can_run.
10349 * task.c (GOMP_PLUGIN_target_task_completion): Free
10350 firstprivate_copies.
10351 (gomp_create_target_task): Accept new argument args and store it to
10352 ttask.
10353 * plugin/plugin-hsa.c: New file.
10354
5d7804a9
TV
103552016-01-18 Tom de Vries <tom@codesourcery.com>
10356
10357 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10358 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10359 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10360 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10361 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10362 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10363 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10364 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10365 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10366 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10367 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10368 Same.
10369 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10370 Same.
10371 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10372 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10373 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10374 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10375 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10376 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10377 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10378 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10379 Same.
10380 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10381
cb11f3cf
JJ
103822016-01-15 Jakub Jelinek <jakub@redhat.com>
10383
10384 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10385
33a126a6
CP
103862016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10387
10388 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10389
cdf6119d
JN
103902016-01-12 James Norris <jnorris@codesourcery.com>
10391
10392 * libgomp.texi: Updates for OpenACC.
10393
0d58938e
AM
103942016-01-11 Alexander Monakov <amonakov@ispras.ru>
10395
10396 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10397
95918b49
L
103982016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10399
10400 PR fortran/66680
10401 * testsuite/libgomp.fortran/pr66680.f90: New test.
10402
8fc708b7
JJ
104032016-01-07 Jakub Jelinek <jakub@redhat.com>
10404
10405 PR middle-end/68960
10406 * testsuite/libgomp.c/pr68960.c: New test.
10407
e9b596c1
NS
104082016-01-06 Nathan Sidwell <nathan@acm.org>
10409
1a14faf2 10410 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
10411 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10412
21fa2a29
JJ
104132016-01-04 Jakub Jelinek <jakub@redhat.com>
10414
818ab71a
JJ
10415 Update copyright years.
10416
21fa2a29
JJ
10417 * libgomp.texi: Bump @copying's copyright year.
10418
9310efbc
NS
104192015-12-31 Nathan Sidwell <nathan@acm.org>
10420
10421 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10422 dg-additional-options syntax.
10423 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10424 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10425 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10426 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10427 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10428 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10429 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10430 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10431 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10432 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10433 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10434 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10435 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10436 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10437 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10438 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10439 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10440 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10441
4a38b02b
IV
104422015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10443
10444 * libgomp.h (REFCOUNT_LINK): Define.
10445 (struct splay_tree_key_s): Add link_key.
10446 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10447 Replace target address of the pointer with target address of newly
10448 mapped object in the splay tree. Set link pointer on target to the
10449 device address of the mapped object.
10450 (gomp_unmap_vars): Restore target address of the pointer in the splay
10451 tree for REFCOUNT_LINK objects after unmapping.
10452 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10453 declare target link" objects.
10454 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10455 "omp declare target link" objects, which were mapped for the image.
10456 (gomp_exit_data): Restore target address of the pointer in the splay
10457 tree for REFCOUNT_LINK objects after unmapping.
10458 * testsuite/libgomp.c/target-link-1.c: New file.
10459
d84ffc0a
IV
104602015-12-14 Ilya Verbin <ilya.verbin@intel.com>
10461
10462 * libgomp.h (gomp_device_state): New enum.
10463 (struct gomp_device_descr): Replace is_initialized with state.
10464 (gomp_fini_device): Remove declaration.
10465 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10466 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10467 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10468 (acc_set_device_type): Use state instead of is_initialized.
10469 (acc_set_device_num): Likewise.
10470 * target.c (resolve_device): Use state instead of is_initialized.
10471 Do not initialize finalized device.
10472 (gomp_map_vars): Do nothing if device is finalized.
10473 (gomp_unmap_vars): Likewise.
10474 (gomp_update): Likewise.
10475 (GOMP_offload_register_ver): Use state instead of is_initialized.
10476 (GOMP_offload_unregister_ver): Likewise.
10477 (gomp_init_device): Likewise.
10478 (gomp_unload_device): Likewise.
10479 (gomp_fini_device): Remove.
10480 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10481 (GOMP_target): Go to host fallback if device is finalized.
10482 (GOMP_target_ext): Likewise.
10483 (gomp_exit_data): Do nothing if device is finalized.
10484 (gomp_target_task_fn): Go to host fallback if device is finalized.
10485 (gomp_target_fini): New static function.
10486 (gomp_target_init): Use state instead of is_initialized.
10487 Call gomp_target_fini at exit.
10488
76680678
TV
104892015-12-09 Tom de Vries <tom@codesourcery.com>
10490
10491 PR tree-optimization/68716
10492 * testsuite/libgomp.c/omp-nested-2.c: New test.
10493
ff7a55bf
TS
104942015-12-02 Thomas Schwinge <thomas@codesourcery.com>
10495
10496 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10497 target openacc_nvidia_accel_selected.
10498 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10499 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10500 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10501 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10502
37d5ad46
JB
105032015-12-01 Julian Brown <julian@codesourcery.com>
10504 James Norris <James_Norris@mentor.com>
10505
10506 * oacc-parallel.c (GOACC_host_data): New function.
10507 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10508 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10509 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10510 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10511 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10512 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10513 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10514
db941d7e
CP
105152015-11-30 James Norris <jnorris@codesourcery.com>
10516 Cesar Philippidis <cesar@codesourcery.com>
10517
10518 libgomp/
10519 * libgomp.oacc-fortran/routine-5.f90: New test.
10520 * libgomp.oacc-fortran/routine-7.f90: New test.
10521 * libgomp.oacc-fortran/routine-9.f90: New test.
10522
e0ca27c5
TV
105232015-11-30 Tom de Vries <tom@codesourcery.com>
10524
10525 PR tree-optimization/46032
10526 * testsuite/libgomp.c/pr46032.c: New test.
10527
aec17bfe
JJ
105282015-11-27 Jakub Jelinek <jakub@redhat.com>
10529
8e4e4719
JJ
10530 PR libgomp/68579
10531 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10532 (gomp_create_target_task): Call it before freeing
10533 GOMP_TARGET_TASK_DATA tasks.
10534
aec17bfe
JJ
10535 PR c/63326
10536 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10537 in between case label and OpenMP standalone directives.
10538 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10539
6cfe90e6
DE
105402015-11-26 David Edelsohn <dje.gcc@gmail.com>
10541
10542 * configure: Regenerate.
10543
0e65fd7d
JJ
105442015-11-26 Jakub Jelinek <jakub@redhat.com>
10545
10546 * testsuite/libgomp.c/target-35.c: New test.
10547
dc7a8b4b
JN
105482015-11-22 James Norris <jnorris@codesourcery.com>
10549 Cesar Philippidis <cesar@codesourcery.com>
10550
10551 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10552 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10553 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10554 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10555 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10556
48a78aee
JJ
105572015-11-20 Jakub Jelinek <jakub@redhat.com>
10558
10559 PR middle-end/68221
10560 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10561 * testsuite/libgomp.c/reduction-12.c: Likewise.
10562 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10563 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10564
2d256816
NS
105652015-11-19 Nathan Sidwell <nathan@codesourcery.com>
10566
10567 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10568 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10569 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10570 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10571 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10572 and fix.
10573 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10574 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10575
33f47f42
NS
105762015-11-18 Nathan Sidwell <nathan@codesourcery.com>
10577
10578 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10579 worker & gang cases.
10580 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10581
3d7bfee0
CP
105822015-11-17 Cesar Philippidis <cesar@codesourcery.com>
10583
10584 * config/nvptx/priority_queue.c: New file.
10585
00b9bd52
JJ
105862015-11-14 Jakub Jelinek <jakub@redhat.com>
10587
10588 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10589 sections.
10590
e4606348
JJ
105912015-11-14 Jakub Jelinek <jakub@redhat.com>
10592 Aldy Hernandez <aldyh@redhat.com>
10593 Ilya Verbin <ilya.verbin@intel.com>
10594
10595 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10596 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10597 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10598 iterators or IV by chunk size.
10599 * parallel.c (gomp_resolve_num_threads): Don't assume that
10600 if thr->ts.team is non-NULL, then pool must be non-NULL.
10601 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10602 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10603 GOMP_PLUGIN_target_task_completion.
10604 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10605 * Makefile.in: Regenerate.
10606 * libgomp.h: Shuffle prototypes and forward definitions around so
10607 priority queues can be defined.
10608 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10609 (enum gomp_target_task_state): New enum.
10610 (struct gomp_target_task): Add state, tgt, task and team fields.
10611 (gomp_create_target_task): Change return type to bool, add
10612 state argument.
10613 (gomp_target_task_fn): Change return type to bool.
10614 (struct gomp_device_descr): Add async_run_func.
10615 (struct gomp_task): Remove children, next_child, prev_child,
10616 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10617 Add pnode field.
10618 (struct gomp_taskgroup): Remove children.
10619 Add taskgroup_queue.
10620 (struct gomp_team): Change task_queue type to a priority queue.
10621 (splay_compare): Define inline.
10622 (priority_queue_offset): New.
10623 (priority_node_to_task): New.
10624 (task_to_priority_node): New.
10625 * oacc-mem.c: Do not include splay-tree.h.
10626 * priority_queue.c: New file.
10627 * priority_queue.h: New file.
10628 * splay-tree.c: Do not include splay-tree.h.
10629 (splay_tree_foreach_internal): New.
10630 (splay_tree_foreach): New.
10631 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10632 (splay_tree_callback): Define typedef.
10633 * target.c (splay_compare): Move to libgomp.h.
10634 (GOMP_target): Don't adjust *thr in any way around running offloaded
10635 task.
10636 (GOMP_target_ext): Likewise. Handle target nowait.
10637 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10638 return value from gomp_create_target_task, if false, fallthrough
10639 as if no dependencies exist.
10640 (gomp_target_task_fn): Change return type to bool, return true
10641 if the task should have another part scheduled later. Handle
10642 target nowait.
10643 (gomp_load_plugin_for_device): Initialize async_run.
10644 * task.c (gomp_init_task): Initialize children_queue.
10645 (gomp_clear_parent_in_list): New.
10646 (gomp_clear_parent_in_tree): New.
10647 (gomp_clear_parent): Handle priorities.
10648 (GOMP_task): Likewise.
10649 (priority_queue_move_task_first,
10650 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10651 New functions.
10652 (gomp_create_target_task): Use priority queues. Change return type
10653 to bool, add state argument, return false if for async
10654 {{enter,exit} data,update} constructs no dependencies need to be
10655 waited for, handle target nowait. Set task->fn to NULL instead of
10656 gomp_target_task_fn.
10657 (verify_children_queue): Remove.
10658 (priority_list_upgrade_task): New.
10659 (priority_queue_upgrade_task): New.
10660 (verify_task_queue): Remove.
10661 (priority_list_downgrade_task): New.
10662 (priority_queue_downgrade_task): New.
10663 (gomp_task_run_pre): Use priority queues.
10664 Abstract code out to priority_queue_downgrade_task.
10665 (gomp_task_run_post_handle_dependers): Use priority queues.
10666 (gomp_task_run_post_remove_parent): Likewise.
10667 (gomp_task_run_post_remove_taskgroup): Likewise.
10668 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10669 tasks specially.
10670 (GOMP_taskwait): Likewise.
10671 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10672 priority-queue_upgrade_task.
10673 (GOMP_taskgroup_start): Use priority queues.
10674 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10675 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10676 barrier.
10677 * taskloop.c (GOMP_taskloop): Handle priorities.
10678 * team.c (gomp_new_team): Call priority_queue_init.
10679 (free_team): Call priority_queue_free.
10680 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10681 team created for target nowait in implicit parallel region.
10682 (gomp_team_start): For nested check, test thr->ts.level instead of
10683 thr->ts.team != NULL.
10684 * testsuite/libgomp.c/doacross-3.c: New test.
10685 * testsuite/libgomp.c/ordered-5.c: New test.
10686 * testsuite/libgomp.c/priority.c: New test.
10687 * testsuite/libgomp.c/target-31.c: New test.
10688 * testsuite/libgomp.c/target-32.c: New test.
10689 * testsuite/libgomp.c/target-33.c: New test.
10690 * testsuite/libgomp.c/target-34.c: New test.
10691
1d1ab74f
NS
106922015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10693
c5a64cfe
NS
10694 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10695
1d1ab74f
NS
10696 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10697 loop is sequential.
10698
dd3c1b14
NS
106992015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10700
10701 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10702 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10703
6e232ba4
JN
107042015-11-12 James Norris <jnorris@codesourcery.com>
10705 Joseph Myers <joseph@codesourcery.com>
10706
10707 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10708 * oacc-parallel.c (GOACC_declare): New function.
10709 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10710 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10711 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10712 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10713 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10714
fffeedeb
NS
107152015-11-12 Nathan Sidwell <nathan@codesourcery.com>
10716
10717 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10718
182190f2
NS
107192015-11-1 Nathan Sidwell <nathan@codesourcery.com>
10720
10721 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10722 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10723
36fa0f5f
NS
107242015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10725
d350c40c
NS
10726 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10727 inadvertent commit.
10728
107292015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10730
36fa0f5f
NS
10731 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10732 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10733 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10734 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10735 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10736
66a5f0b4
TS
107372015-11-06 Thomas Schwinge <thomas@codesourcery.com>
10738
10739 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10740 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10741
e01d41e5
JJ
107422015-11-05 Jakub Jelinek <jakub@redhat.com>
10743 Ilya Verbin <ilya.verbin@intel.com>
10744
10745 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10746 GOMP_loop_nonmonotonic_dynamic_start,
10747 GOMP_loop_nonmonotonic_guided_next,
10748 GOMP_loop_nonmonotonic_guided_start,
10749 GOMP_loop_ull_nonmonotonic_dynamic_next,
10750 GOMP_loop_ull_nonmonotonic_dynamic_start,
10751 GOMP_loop_ull_nonmonotonic_guided_next,
10752 GOMP_loop_ull_nonmonotonic_guided_start,
10753 GOMP_parallel_loop_nonmonotonic_dynamic,
10754 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10755 (GOMP_target_41): Renamed to ...
10756 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10757 arguments.
10758 (GOMP_target_data_41): Renamed to ...
10759 (GOMP_target_data_ext): ... this.
10760 (GOMP_target_update_41): Renamed to ...
10761 (GOMP_target_update_ext): ... this.
10762 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10763 GOMP_target_data_ext and GOMP_target_update_ext instead of
10764 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10765 Export GOMP_loop_nonmonotonic_dynamic_next,
10766 GOMP_loop_nonmonotonic_dynamic_start,
10767 GOMP_loop_nonmonotonic_guided_next,
10768 GOMP_loop_nonmonotonic_guided_start,
10769 GOMP_loop_ull_nonmonotonic_dynamic_next,
10770 GOMP_loop_ull_nonmonotonic_dynamic_start,
10771 GOMP_loop_ull_nonmonotonic_guided_next,
10772 GOMP_loop_ull_nonmonotonic_guided_start,
10773 GOMP_parallel_loop_nonmonotonic_dynamic and
10774 GOMP_parallel_loop_nonmonotonic_guided.
10775 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10776 GOMP_parallel_loop_nonmonotonic_guided,
10777 GOMP_loop_nonmonotonic_dynamic_start,
10778 GOMP_loop_nonmonotonic_guided_start,
10779 GOMP_loop_nonmonotonic_dynamic_next,
10780 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10781 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10782 GOMP_loop_ull_nonmonotonic_guided_start,
10783 GOMP_loop_ull_nonmonotonic_dynamic_next,
10784 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10785 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10786 functions.
10787 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10788 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10789 Use gomp_map_val function.
10790 (gomp_target_fallback_firstprivate): New static function.
10791 (GOMP_target_41): Renamed to ...
10792 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10793 arguments. Move firstprivate fallback handling into a new
10794 function.
10795 (GOMP_target_data_41): Renamed to ...
10796 (GOMP_target_data_ext): ... this.
10797 (GOMP_target_update_41): Renamed to ...
10798 (GOMP_target_update_ext): ... this.
10799 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10800 gomp_map_0len_lookup instead of gomp_map_lookup.
10801 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10802 gomp_map_lookup.
10803 * testsuite/libgomp.c/target-28.c: Likewise.
10804 * testsuite/libgomp.c/monotonic-1.c: New test.
10805 * testsuite/libgomp.c/monotonic-2.c: New test.
10806 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10807 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10808 * testsuite/libgomp.c/pr66199-5.c: New test.
10809 * testsuite/libgomp.c/pr66199-6.c: New test.
10810 * testsuite/libgomp.c/pr66199-7.c: New test.
10811 * testsuite/libgomp.c/pr66199-8.c: New test.
10812 * testsuite/libgomp.c/pr66199-9.c: New test.
10813 * testsuite/libgomp.c/reduction-11.c: New test.
10814 * testsuite/libgomp.c/reduction-12.c: New test.
10815 * testsuite/libgomp.c/reduction-13.c: New test.
10816 * testsuite/libgomp.c/reduction-14.c: New test.
10817 * testsuite/libgomp.c/reduction-15.c: New test.
10818 * testsuite/libgomp.c/target-12.c (main): Adjust for
10819 omp_target_is_present change for one-past-last element.
10820 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10821 the same var is both mapped and privatized.
10822 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10823 handling of zero-length array sections.
10824 * testsuite/libgomp.c/target-28.c: New test.
10825 * testsuite/libgomp.c/target-29.c: New test.
10826 * testsuite/libgomp.c/target-30.c: New test.
10827 * testsuite/libgomp.c/target-teams-1.c: New test.
10828 * testsuite/libgomp.c++/member-6.C: New test.
10829 * testsuite/libgomp.c++/member-7.C: New test.
10830 * testsuite/libgomp.c++/monotonic-1.C: New test.
10831 * testsuite/libgomp.c++/monotonic-2.C: New test.
10832 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10833 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10834 * testsuite/libgomp.c++/pr66199-3.C: New test.
10835 * testsuite/libgomp.c++/pr66199-4.C: New test.
10836 * testsuite/libgomp.c++/pr66199-5.C: New test.
10837 * testsuite/libgomp.c++/pr66199-6.C: New test.
10838 * testsuite/libgomp.c++/pr66199-7.C: New test.
10839 * testsuite/libgomp.c++/pr66199-8.C: New test.
10840 * testsuite/libgomp.c++/pr66199-9.C: New test.
10841 * testsuite/libgomp.c++/reduction-11.C: New test.
10842 * testsuite/libgomp.c++/reduction-12.C: New test.
10843 * testsuite/libgomp.c++/target-13.C: New test.
10844 * testsuite/libgomp.c++/target-14.C: New test.
10845 * testsuite/libgomp.c++/target-15.C: New test.
10846 * testsuite/libgomp.c++/target-16.C: New test.
10847 * testsuite/libgomp.c++/target-17.C: New test.
10848 * testsuite/libgomp.c++/target-18.C: New test.
10849 * testsuite/libgomp.c++/target-19.C: New test.
10850
ccc8282b
NS
108512015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10852
10853 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10854 and reduction copy.
10855 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10856 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10857 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10858 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10859 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10860 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10861 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10862 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10863 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10864 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10865 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10866 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10867 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10868 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10869
5d6823a2
NS
108702015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10871
10872 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10873 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10874 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10875 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10876 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10877 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10878 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10879 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10880
5c06742f
NS
108812015-11-03 Nathan Sidwell <nathan@codesourcery.com>
10882
10883 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10884 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10885 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10886 * oacc-host.c (host_openacc_exec): Likewise.
10887 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10888
4bf9e5a8
TS
108892015-11-03 Julian Brown <julian@codesourcery.com>
10890 Thomas Schwinge <thomas@codesourcery.com>
10891
10892 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10893 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10894 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10895 Likewise.
10896 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10897 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10898
108992015-11-03 James Norris <jnorris@codesourcery.com>
10900
10901 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10902 file.
10903 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10904 Likewise.
10905 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10906 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10907 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10908 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10909 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10910
a0e701d8
NS
109112015-10-29 Nathan Sidwell <nathan@codesourcery.com>
10912
10913 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10914 compatibility.
10915 (enum acc_async_t): Reformat.
10916 (acc_on_device): Declare compatible with builtin and provide C++
10917 wrapper.
10918 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10919
41e977ac
TS
109202015-10-29 Thomas Schwinge <thomas@codesourcery.com>
10921 Cesar Philippidis <cesar@codesourcery.com>
10922
10923 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10924 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10925 ... this. Add a description of the test at the top of the file.
10926 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10927 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10928 ... this. Add a description of the test at the top of the file.
10929
e3091406
NS
109302015-10-28 Nathan Sidwell <nathan@codesourcery.com>
10931
10932 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10933 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10934 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10935 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10936 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10937 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10938
a1c1908b
NS
109392015-10-27 Nathan Sidwell <nathan@codesourcery.com>
10940
10941 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10942 dimensions.
10943
b3962a4a
TS
109442015-10-27 Thomas Schwinge <thomas@codesourcery.com>
10945
10946 PR testsuite/68063
10947 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10948
88bae6f4
TS
109492015-10-27 James Norris <jnorris@codesourcery.com>
10950
10951 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10952 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10953
8baa7864
TS
109542015-10-26 Thomas Schwinge <thomas@codesourcery.com>
10955
bdeb752c
TS
10956 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10957 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10958
ecd4fd43
TS
10959 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10960 acc_device_nvidia usage.
10961 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10962 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10963 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10964
aa8b7d30
TS
10965 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10966 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10967
7c8f138d
TS
10968 PR libgomp/66518
10969 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10970
8baa7864
TS
10971 PR libgomp/65437
10972 PR libgomp/66518
10973 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10974 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10975
88ebcde5
TV
109762015-10-23 Tom de Vries <tom@codesourcery.com>
10977
10978 PR testsuite/68063
10979 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10980
9ef83c04
NS
109812015-10-20 Nathan Sidwell <nathan@codesourcery.com>
10982
10983 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10984 vector_length.
10985 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10986
3837c6d6
IV
109872015-10-14 Ilya Verbin <ilya.verbin@intel.com>
10988 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
10989
10990 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10991 to 0 when mapnum is 0.
10992
ac8a1965
SH
109932015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10994
10995 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10996 Cast to int from int32_t.
10997
d9a6bd32
JJ
109982015-10-13 Jakub Jelinek <jakub@redhat.com>
10999 Aldy Hernandez <aldyh@redhat.com>
11000 Ilya Verbin <ilya.verbin@intel.com>
11001
11002 * config/linux/affinity.c (omp_get_place_num_procs,
11003 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11004 * config/linux/doacross.h: New file.
11005 * config/posix/affinity.c (omp_get_place_num_procs,
11006 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11007 * config/posix/doacross.h: New file.
11008 * env.c: Include gomp-constants.h.
11009 (struct gomp_task_icv): Rename run_sched_modifier to
11010 run_sched_chunk_size.
11011 (gomp_max_task_priority_var): New variable.
11012 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
11013 (handle_omp_display_env): Change _OPENMP value from 201307 to
11014 201511. Print OMP_MAX_TASK_PRIORITY.
11015 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
11016 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
11017 chunk_size and run_sched_modifier to run_sched_chunk_size.
11018 (omp_get_max_task_priority, omp_get_initial_device,
11019 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
11020 omp_get_partition_place_nums): New functions.
11021 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
11022 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
11023 to chunk_size.
11024 (omp_get_num_places_, omp_get_place_num_procs_,
11025 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
11026 omp_get_place_proc_ids_8_, omp_get_place_num_,
11027 omp_get_partition_num_places_, omp_get_partition_place_nums_,
11028 omp_get_partition_place_nums_8_, omp_get_initial_device_,
11029 omp_get_max_task_priority_): New functions.
11030 * libgomp_g.h (GOMP_loop_doacross_static_start,
11031 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
11032 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
11033 GOMP_loop_ull_doacross_dynamic_start,
11034 GOMP_loop_ull_doacross_guided_start,
11035 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
11036 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
11037 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
11038 GOMP_target_data_41, GOMP_target_update_41,
11039 GOMP_target_enter_exit_data): New prototypes.
11040 (GOMP_task): Add prototype argument.
11041 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
11042 (struct gomp_doacross_work_share): New type.
11043 (struct gomp_work_share): Add doacross field.
11044 (struct gomp_task_icv): Rename run_sched_modifier to
11045 run_sched_chunk_size.
11046 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
11047 GOMP_TASK_UNDEFERRED. Add comments.
11048 (struct gomp_task_depend_entry): Add comments.
11049 (struct gomp_task): Likewise.
11050 (struct gomp_taskgroup): Likewise.
11051 (struct gomp_target_task): New type.
11052 (struct gomp_team): Add comment.
11053 (gomp_get_place_proc_ids_8, gomp_doacross_init,
11054 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
11055 gomp_create_target_task, gomp_target_task_fn): New prototypes.
11056 (struct target_var_desc): New type.
11057 (struct target_mem_desc): Adjust comment. Use struct
11058 target_var_desc instead of splay_tree_key for list.
11059 (REFCOUNT_INFINITY): Define.
11060 (struct splay_tree_key_s): Remove copy_from field.
11061 (struct gomp_device_descr): Add dev2dev_func field.
11062 (enum gomp_map_vars_kind): New enum.
11063 (gomp_map_vars): Add one argument.
11064 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
11065 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11066 omp_get_place_num_procs, omp_get_place_num_procs_,
11067 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11068 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11069 omp_get_place_num_, omp_get_partition_num_places,
11070 omp_get_partition_num_places_, omp_get_partition_place_nums,
11071 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11072 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11073 omp_target_free, omp_target_is_present, omp_target_memcpy,
11074 omp_target_memcpy_rect, omp_target_associate_ptr and
11075 omp_target_disassociate_ptr.
11076 (GOMP_4.0.2): Renamed to ...
11077 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11078 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11079 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11080 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11081 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11082 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11083 GOMP_loop_ull_doacross_guided_start,
11084 GOMP_loop_ull_doacross_runtime_start,
11085 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11086 GOMP_doacross_ull_wait.
11087 * libgomp.texi: Document omp_get_max_task_priority.
11088 Rename modifier argument to chunk_size for omp_set_schedule and
11089 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11090 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11091 to run_sched_chunk_size renaming.
11092 (GOMP_loop_ordered_runtime_start): Likewise.
11093 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11094 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11095 GOMP_parallel_loop_runtime_start): New functions.
11096 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11097 to run_sched_chunk_size renaming.
11098 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11099 GOMP_loop_doacross_guided_start): New functions or aliases.
11100 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11101 run_sched_modifier to run_sched_chunk_size renaming.
11102 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11103 (gomp_loop_ull_doacross_static_start,
11104 gomp_loop_ull_doacross_dynamic_start,
11105 gomp_loop_ull_doacross_guided_start,
11106 GOMP_loop_ull_doacross_runtime_start): New functions.
11107 (GOMP_loop_ull_doacross_static_start,
11108 GOMP_loop_ull_doacross_dynamic_start,
11109 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11110 * oacc-mem.c (acc_map_data, present_create_copy,
11111 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11112 to gomp_map_vars.
11113 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11114 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11115 instead of false to gomp_map_vars.
11116 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11117 * omp.h.in (omp_lock_hint_t): New type.
11118 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11119 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11120 omp_get_place_num, omp_get_partition_num_places,
11121 omp_get_partition_place_nums, omp_get_initial_device,
11122 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11123 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11124 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11125 prototypes.
11126 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11127 (omp_lock_hint_none, omp_lock_hint_uncontended,
11128 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11129 omp_lock_hint_speculative): New parameters.
11130 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11131 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11132 omp_get_place_num, omp_get_partition_num_places,
11133 omp_get_partition_place_nums, omp_get_initial_device,
11134 omp_get_max_task_priority): New interfaces.
11135 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11136 to chunk_size.
11137 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11138 (omp_lock_hint_none, omp_lock_hint_uncontended,
11139 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11140 omp_lock_hint_speculative): New parameters.
11141 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11142 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11143 omp_get_place_num, omp_get_partition_num_places,
11144 omp_get_partition_place_nums, omp_get_initial_device,
11145 omp_get_max_task_priority): New functions and subroutines.
11146 * ordered.c: Include stdarg.h and string.h.
11147 (MAX_COLLAPSED_BITS): Define.
11148 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11149 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11150 GOMP_doacross_ull_wait): New functions.
11151 * target.c: Include errno.h.
11152 (resolve_device): If device is not initialized, call
11153 gomp_init_device on it.
11154 (gomp_map_lookup): New function.
11155 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11156 Don't bump refcount if REFCOUNT_INFINITY. Handle
11157 GOMP_MAP_ALWAYS_TO_P.
11158 (get_kind): Rename is_openacc argument to short_mapkind.
11159 (gomp_map_pointer): Use gomp_map_lookup.
11160 (gomp_map_fields_existing): New function.
11161 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11162 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11163 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11164 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11165 Adjust for tgt->list changed type and copy_from living in there.
11166 (gomp_copy_from_async): Adjust for tgt->list changed type and
11167 copy_from living in there.
11168 (gomp_unmap_vars): Likewise.
11169 (gomp_update): Likewise. Rename is_openacc argument to
11170 short_mapkind. Don't fail if object is not mapped.
11171 (gomp_load_image_to_device): Initialize refcount to
11172 REFCOUNT_INFINITY.
11173 (gomp_target_fallback): New function.
11174 (gomp_get_target_fn_addr): Likewise.
11175 (GOMP_target): Adjust gomp_map_vars caller, use
11176 gomp_get_target_fn_addr and gomp_target_fallback.
11177 (GOMP_target_41): New function.
11178 (gomp_target_data_fallback): New function.
11179 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11180 (GOMP_target_data_41): New function.
11181 (GOMP_target_update): Adjust gomp_update caller.
11182 (GOMP_target_update_41): New function.
11183 (gomp_exit_data, GOMP_target_enter_exit_data,
11184 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11185 omp_target_is_present, omp_target_memcpy,
11186 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11187 omp_target_associate_ptr, omp_target_disassociate_ptr,
11188 gomp_load_plugin_for_device): New functions.
11189 * task.c: Include gomp-constants.h. Include taskloop.c
11190 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11191 (gomp_task_handle_depend): New function.
11192 (GOMP_task): Use it. Add priority argument. Use
11193 gomp-constant.h constants instead of hardcoded numbers.
11194 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11195 (gomp_create_target_task): New function.
11196 (verify_children_queue, verify_taskgroup_queue,
11197 verify_task_queue): New functions.
11198 (gomp_task_run_pre): Call verify_*_queue functions.
11199 If an upcoming tied task is about to leave the sibling or
11200 taskgroup queues in an invalid state, adjust appropriately.
11201 Remove taskgroup argument. Add comments.
11202 (gomp_task_run_post_handle_dependers): Add comments.
11203 (gomp_task_run_post_remove_parent): Likewise.
11204 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11205 (GOMP_taskwait): Likewise. Add comments.
11206 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11207 problem such that the first non parent_depends_on task does not
11208 end up at the end of the children queue.
11209 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11210 GOMP_TASK_UNDEFERRED.
11211 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11212 * taskloop.c: New file.
11213 * testsuite/lib/libgomp.exp
11214 (check_effective_target_offload_device_nonshared_as): New proc.
11215 * testsuite/libgomp.c/affinity-2.c: New test.
11216 * testsuite/libgomp.c/doacross-1.c: New test.
11217 * testsuite/libgomp.c/doacross-2.c: New test.
11218 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11219 Add map clause to target.
11220 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11221 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11222 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11223 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11224 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11225 Likewise.
11226 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11227 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11228 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11229 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11230 not defined. Use those where needed.
11231 * testsuite/libgomp.c/for-4.c: New test.
11232 * testsuite/libgomp.c/for-5.c: New test.
11233 * testsuite/libgomp.c/for-6.c: New test.
11234 * testsuite/libgomp.c/linear-1.c: New test.
11235 * testsuite/libgomp.c/ordered-4.c: New test.
11236 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11237 only allowed on the loop iterator.
11238 * testsuite/libgomp.c/pr66199-3.c: New test.
11239 * testsuite/libgomp.c/pr66199-4.c: New test.
11240 * testsuite/libgomp.c/reduction-7.c: New test.
11241 * testsuite/libgomp.c/reduction-8.c: New test.
11242 * testsuite/libgomp.c/reduction-9.c: New test.
11243 * testsuite/libgomp.c/reduction-10.c: New test.
11244 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11245 map(tofrom:s).
11246 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11247 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11248 * testsuite/libgomp.c/target-11.c: New test.
11249 * testsuite/libgomp.c/target-12.c: New test.
11250 * testsuite/libgomp.c/target-13.c: New test.
11251 * testsuite/libgomp.c/target-14.c: New test.
11252 * testsuite/libgomp.c/target-15.c: New test.
11253 * testsuite/libgomp.c/target-16.c: New test.
11254 * testsuite/libgomp.c/target-17.c: New test.
11255 * testsuite/libgomp.c/target-18.c: New test.
11256 * testsuite/libgomp.c/target-19.c: New test.
11257 * testsuite/libgomp.c/target-20.c: New test.
11258 * testsuite/libgomp.c/target-21.c: New test.
11259 * testsuite/libgomp.c/target-22.c: New test.
11260 * testsuite/libgomp.c/target-23.c: New test.
11261 * testsuite/libgomp.c/target-24.c: New test.
11262 * testsuite/libgomp.c/target-25.c: New test.
11263 * testsuite/libgomp.c/target-26.c: New test.
11264 * testsuite/libgomp.c/target-27.c: New test.
11265 * testsuite/libgomp.c/taskloop-1.c: New test.
11266 * testsuite/libgomp.c/taskloop-2.c: New test.
11267 * testsuite/libgomp.c/taskloop-3.c: New test.
11268 * testsuite/libgomp.c/taskloop-4.c: New test.
11269 * testsuite/libgomp.c++/ctor-13.C: New test.
11270 * testsuite/libgomp.c++/doacross-1.C: New test.
11271 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11272 Replace offload_device with offload_device_nonshared_as.
11273 * testsuite/libgomp.c++/for-12.C: New test.
11274 * testsuite/libgomp.c++/for-13.C: New test.
11275 * testsuite/libgomp.c++/for-14.C: New test.
11276 * testsuite/libgomp.c++/linear-1.C: New test.
11277 * testsuite/libgomp.c++/member-1.C: New test.
11278 * testsuite/libgomp.c++/member-2.C: New test.
11279 * testsuite/libgomp.c++/member-3.C: New test.
11280 * testsuite/libgomp.c++/member-4.C: New test.
11281 * testsuite/libgomp.c++/member-5.C: New test.
11282 * testsuite/libgomp.c++/ordered-1.C: New test.
11283 * testsuite/libgomp.c++/reduction-5.C: New test.
11284 * testsuite/libgomp.c++/reduction-6.C: New test.
11285 * testsuite/libgomp.c++/reduction-7.C: New test.
11286 * testsuite/libgomp.c++/reduction-8.C: New test.
11287 * testsuite/libgomp.c++/reduction-9.C: New test.
11288 * testsuite/libgomp.c++/reduction-10.C: New test.
11289 * testsuite/libgomp.c++/reference-1.C: New test.
11290 * testsuite/libgomp.c++/simd14.C: New test.
11291 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11292 * testsuite/libgomp.c++/target-5.C: New test.
11293 * testsuite/libgomp.c++/target-6.C: New test.
11294 * testsuite/libgomp.c++/target-7.C: New test.
11295 * testsuite/libgomp.c++/target-8.C: New test.
11296 * testsuite/libgomp.c++/target-9.C: New test.
11297 * testsuite/libgomp.c++/target-10.C: New test.
11298 * testsuite/libgomp.c++/target-11.C: New test.
11299 * testsuite/libgomp.c++/target-12.C: New test.
11300 * testsuite/libgomp.c++/taskloop-1.C: New test.
11301 * testsuite/libgomp.c++/taskloop-2.C: New test.
11302 * testsuite/libgomp.c++/taskloop-3.C: New test.
11303 * testsuite/libgomp.c++/taskloop-4.C: New test.
11304 * testsuite/libgomp.c++/taskloop-5.C: New test.
11305 * testsuite/libgomp.c++/taskloop-6.C: New test.
11306 * testsuite/libgomp.c++/taskloop-7.C: New test.
11307 * testsuite/libgomp.c++/taskloop-8.C: New test.
11308 * testsuite/libgomp.c++/taskloop-9.C: New test.
11309 * testsuite/libgomp.fortran/affinity1.f90: New test.
11310 * testsuite/libgomp.fortran/affinity2.f90: New test.
11311
1f600fea
TV
113122015-10-13 Tom de Vries <tom@codesourcery.com>
11313
11314 PR tree-optimization/67476
11315 * testsuite/libgomp.c/autopar-3.c: New test.
11316 * testsuite/libgomp.c/autopar-4.c: New test.
11317 * testsuite/libgomp.c/autopar-5.c: New test.
11318 * testsuite/libgomp.c/autopar-6.c: New test.
11319 * testsuite/libgomp.c/autopar-7.c: New test.
11320 * testsuite/libgomp.c/autopar-8.c: New test.
11321
058a654b
JN
113222015-10-12 James Norris <jnorris@codesourcery.com>
11323
11324 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11325 initializer.
11326
9e531d37
DM
113272015-10-09 David Malcolm <dmalcolm@redhat.com>
11328
11329 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11330 using load_gcc_lib.
11331
113020dc
TS
113322015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11333
11334 * oacc-ptx.h: Remove file, moving its content into...
11335 * config/nvptx/fortran.c: ... here...
11336 * config/nvptx/oacc-init.c: ..., here...
11337 * config/nvptx/oacc-parallel.c: ..., and here.
11338 * config/nvptx/openacc.f90: New file.
11339 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11340 (link_ptx): Don't link in predefined bits of PTX code.
11341
cc3cd79b
NS
113422015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11343 Bernd Schmidt <bernds@codesourcery.com>
11344
11345 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11346 (struct targ_ptx_obj): New.
11347 (nvptx_tdata): Move earlier, change data format.
11348 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11349 objects.
11350 (GOMP_OFFLOAD_load_image): Adjust.
11351
4e2a5450
TS
113522015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11353
11354 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11355 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11356 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11357 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11358 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11359 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11360 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11361 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11362 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11363 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11364 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11365 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11366 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11367 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11368 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11369 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11370 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11371 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11372 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11373 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11374 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11375 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11376 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11377 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11378 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11379 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11380 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11381 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11382 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11383 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11384 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11385 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11386 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11387 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11388 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11389 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11390 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11391 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11392 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11393 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11394 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11395 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11396 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11397 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11398 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11399 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11400 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11401 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11402 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11403 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11404 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11405 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11406 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11407 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11408 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11409 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11410 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11411 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11412 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11413 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11414 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11415 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11416 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11417
164453bb
NS
114182015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11419
11420 * oacc-init.c (acc_on_device): Force optimization level.
11421
a12a0437
NS
114222015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11423
11424 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11425 (cuda_errlist): Delete.
11426 (cuda_error): Reimplement.
11427
3e32ee19
NS
114282015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11429
11430 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11431 array.
11432 * libgomp.map (GOACC_parallel_keyed): New.
11433 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11434 all callers.
11435 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11436 and take keyed varargs list. Adjust call to exec_func.
11437 (GOACC_parallel): Force host fallback.
11438 * libgomp_g.h (GOACC_parallel): Remove.
11439 (GOACC_parallel_keyed): Declare.
11440 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 11441 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
11442 (nvptx_exec): Lose separate geometry args, take array. Process
11443 dynamic dimensions and adjust.
11444 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11445 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11446 data.
11447 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11448 passing.
11449 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11450 passing.
11451
6bb4c3e2
CLT
114522015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11453
11454 PR libgomp/67141
11455 * oacc-int.h (goacc_host_init): Add declaration.
11456 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11457 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11458
74032f47 114592015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 11460 Sebastian Pop <s.pop@samsung.com>
74032f47 11461
93d90219 11462 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
11463 match o/p.
11464 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11465 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11466 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11467 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11468 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11469
97875f4a
JJ
114702015-09-03 Jakub Jelinek <jakub@redhat.com>
11471
11472 * configure.tgt: Add missing ;; in between nvptx and rtems
11473 snippets.
11474
06441dd5
SH
114752015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11476
11477 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11478 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11479 (gomp_thread_pool_reservoir): Add priority member.
11480 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11481 priority.
11482 (parse_thread_pools): Likewise.
11483 * team.c (gomp_team_start): Call configuration provided
11484 gomp_adjust_thread_attr(). Destroy thread attributes if
11485 necessary.
11486 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11487
66c59f92
SH
114882015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11489
11490 * config/posix/pool.h: New.
11491 * config/rtems/pool.h: Likewise.
11492 * config/rtems/proc.c: Likewise.
11493 * libgomp.h (gomp_thread_destructor): Declare.
11494 * team.c: Include configuration provided "pool.h".
11495 (gomp_get_thread_pool): Define in configuration.
11496 (gomp_team_end): Call configuration defined
11497 gomp_release_thread_pool().
11498
13c41b2e
SH
114992015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11500
11501 * config/rtems/bar.c: New.
11502 * config/rtems/bar.h: Likewise.
11503 * config/rtems/mutex.c: Likewise.
11504 * config/rtems/mutex.h: Likewise.
11505 * config/rtems/sem.c: Likewise.
11506 * config/rtems/sem.h: Likewise.
11507 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11508 <sys/lock.h> header file.
11509 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11510 supported by Newlib.
11511 * configure: Regenerate.
11512
7892ec67
SH
115132015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11514
11515 * team.c (gomp_new_thread_pool): Delete and move content to ...
11516 (gomp_get_thread_pool): ... new function. Allocate and
11517 initialize thread pool on demand.
11518 (get_last_team): Use gomp_get_thread_pool().
11519 (gomp_team_start): Delete thread pool initialization.
11520
1b96e9a4
TV
115212015-09-03 Tom de Vries <tom@codesourcery.com>
11522
11523 PR tree-optimization/65637
11524 * testsuite/libgomp.c/autopar-2.c: New test.
11525
3ff2d74e
TV
115262015-08-29 Tom de Vries <tom@codesourcery.com>
11527
11528 PR tree-optimization/46193
11529 * testsuite/libgomp.c/pr46193.c: New test.
11530
2a21ff19
NS
115312015-08-24 Nathan Sidwell <nathan@codesourcery.com>
11532
11533 libgomp/
11534 * libgomp.map: Add 4.0.2 version.
11535 * target.c (offload_image_descr): Add version field.
11536 (gomp_load_image_to_device): Add version argument. Adjust plugin
11537 call. Improve load mismatch diagnostic.
11538 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11539 call.
11540 (GOMP_offload_regster): Make stub function, move bulk to ...
11541 (GOMP_offload_register_ver): ... here. Process version argument.
11542 (GOMP_offload_unregister): Make stub function, move bulk to ...
11543 (GOMP_offload_unregister_ver): ... here. Process version argument.
11544 (gomp_init_device): Process version field.
11545 (gomp_unload_device): Process version field.
11546 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11547 macros. Check plugin version.
11548 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11549 loader and unloader types.
11550 * oacc-host.c: Include gomp-constants.h.
11551 (host_version): New.
11552 (host_load_image, host_unload_image): Adjust.
11553 (host_dispatch): Add host_version.
11554 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11555 (GOMP_OFFLOAD_version): New.
11556 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11557 (GOMP_OFFLOAD_unload_image): Likewise.
11558 * plugin/plugin-host.c: Include gomp-constants.h.
11559 (GOMP_OFFLOAD_version): New.
11560 (GOMP_OFFLOAD_load_image): Add version arg.
11561 (GOMP_OFFLOAD_unload_image): Likewise.
11562
1358a747
TV
115632015-08-24 Tom de Vries <tom@codesourcery.com>
11564
11565 PR tree-optimization/65468
11566 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11567
6be5c241
TV
115682015-08-24 Tom de Vries <tom@codesourcery.com>
11569
11570 PR tree-optimization/65468
11571 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11572
bfe7ac89
JV
115732015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
11574
11575 PR libgomp/66761
11576 PR libgomp/67303
11577 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11578 (gomp_iter_guided_next): Idem.
11579 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11580 (gomp_iter_ull_guided_next): Idem.
11581 * config/linux/wait.h (do_spin): Idem.
11582
b97e78b7
TS
115832015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11584
11585 * libgomp-plugin.h (enum offload_target_type): Remove
11586 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11587 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11588 * openacc.h (enum acc_device_t): Likewise.
11589 * openacc_lib.h: Likewise.
11590 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11591 (acc_on_device): Just use __builtin_acc_on_device.
11592 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11593 of acc_on_device builtin.
11594 * plugin/plugin-host.h: Remove file.
11595 * plugin/plugin-host.c: Likewise, but salvage some content into...
11596 * oacc-host.c: ... this file.
11597 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11598 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11599 * Makefile.in: Regenerate.
11600 * configure: Likewise.
11601 * testsuite/lib/libgomp.exp
11602 (check_effective_target_openacc_host_nonshm_selected): Remove.
11603 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11604 ACC_DEVICE_TYPE=host_nonshm.
11605 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11606 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11607 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11608 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11609 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11610 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11611
44a7d18d
TS
116122015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11613 Jakub Jelinek <jakub@redhat.com>
11614
11615 * config/nvptx/affinity.c: New file.
11616 * config/nvptx/alloc.c: Likewise.
11617 * config/nvptx/bar.c: Likewise.
11618 * config/nvptx/barrier.c: Likewise.
11619 * config/nvptx/critical.c: Likewise.
11620 * config/nvptx/env.c: Likewise.
11621 * config/nvptx/error.c: Likewise.
11622 * config/nvptx/fortran.c: Likewise.
11623 * config/nvptx/iter.c: Likewise.
11624 * config/nvptx/iter_ull.c: Likewise.
11625 * config/nvptx/libgomp-plugin.c: Likewise.
11626 * config/nvptx/lock.c: Likewise.
11627 * config/nvptx/loop.c: Likewise.
11628 * config/nvptx/loop_ull.c: Likewise.
11629 * config/nvptx/mutex.c: Likewise.
11630 * config/nvptx/oacc-async.c: Likewise.
11631 * config/nvptx/oacc-cuda.c: Likewise.
11632 * config/nvptx/oacc-host.c: Likewise.
11633 * config/nvptx/oacc-init.c: Likewise.
11634 * config/nvptx/oacc-mem.c: Likewise.
11635 * config/nvptx/oacc-parallel.c: Likewise.
11636 * config/nvptx/oacc-plugin.c: Likewise.
11637 * config/nvptx/omp-lock.h: Likewise.
11638 * config/nvptx/ordered.c: Likewise.
11639 * config/nvptx/parallel.c: Likewise.
11640 * config/nvptx/proc.c: Likewise.
11641 * config/nvptx/ptrlock.c: Likewise.
11642 * config/nvptx/sections.c: Likewise.
11643 * config/nvptx/sem.c: Likewise.
11644 * config/nvptx/single.c: Likewise.
11645 * config/nvptx/splay-tree.c: Likewise.
11646 * config/nvptx/target.c: Likewise.
11647 * config/nvptx/task.c: Likewise.
11648 * config/nvptx/team.c: Likewise.
11649 * config/nvptx/time.c: Likewise.
11650 * config/nvptx/work.c: Likewise.
11651 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11652 * configure: Regenerate.
11653 * configure.tgt (config_path): Set to "nvptx" for target
11654 nvptx*-*-*.
11655
96a2d174
TS
116562015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11657
11658 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11659
9ebddeb0
NS
116602015-08-03 Nathan Sidwell <nathan@codesourcery.com>
11661
11662 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11663 (cuda_errlist): Constify.
11664 (errmsg): Move into ...
11665 (cuda_error): ... here. Make smaller.
11666 (_XSTR, _STR): Delete.
11667 (cuda_synames): Delete.
11668 (verify_device_library): Delete.
11669 (nvptx_init): Don't call it.
11670
12efb1d7
TV
116712015-07-28 Tom de Vries <tom@codesourcery.com>
11672
11673 * testsuite/libgomp.c/uns-outer-4.c: New test.
11674
710ee218
CP
116752015-07-24 Cesar Philippidis <cesar@codesourcery.com>
11676
11677 * testsuite/libgomp.c/pr66714.c: New test.
11678
27c4ac7d
MB
116792015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
11680
11681 PR libgomp/66950
11682 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11683 (fib_ref): New function.
11684 (fib): Correct corner cases in the recursion.
11685 (main): Replace the non-simd loop with fib_ref call.
11686 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11687 subroutine.
11688 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11689 for the last array element value. Replace the non-simd loop with
11690 fib_ref call. Remove redundant b_ref array. Remove the comparison
11691 of the last array element with according Fibonacci sequence element.
11692 (fib): Correct corner cases in the recursion.
11693
22be2349
NS
116942015-07-21 Nathan Sidwell <nathan@codesourcery.com>
11695
11696 * target.c (gomp_offload_image_to_device): Rename to ...
11697 (gomp_load_image_to_device): ... here.
11698 (GOMP_offload_register): Adjust call.
11699 (gomp_init_device): Likewise.
11700 (gomp_unload_image_from_device): New. Broken out of ...
11701 (GOMP_offload_unregister): ... here. Call it.
11702 (gomp_unload_device): New.
11703 * libgomp.h (gomp_unload_device): Declare.
11704 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11705 mem maps.
11706
f3e9a059
NS
117072015-07-20 Nathan Sidwell <nathan@codesourcery.com>
11708
a091118d
NS
11709 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11710 wait=-specific if.
11711 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11712 !=0 condition.
11713 (goacc_waits): Move !num_waits handling to ...
11714 (GOACC_wait): ... here, the only caller that might have zero waits.
11715
f3e9a059
NS
11716 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11717 (struct ptx_image_data): Move earlier, add fns field.
11718 (struct ptx_device): Add images and image_lock fields.
11719 (ptx_images, ptx_image_lock): Delete.
11720 (nvptx_open_device): Initialize images and image_lock fields.
11721 (nvptx_close_device): Destroy image_lock.
11722 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11723 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11724 fields.
11725
afb2d80b
NS
117262015-07-17 Nathan Sidwell <nathan@codesourcery.com>
11727
896c28a7
NS
11728 * target.c (GOMP_offload_register): Use int for device type arg.
11729 (GOMP_offload_unregister): Likewise.
11730
ebe4a560
NS
11731 * target.c (struct_offload_image_descr): Constify host_table.
11732 (gomp_offload_image_to_device): Likewise.
11733 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11734
afb2d80b
NS
11735 * libgomp.h (gomp_device_descr): Constify target data arguments.
11736 * target.c (struct offload_image_descr): Constify target_data.
11737 (gomp_offload_image_to_device): Likewise.
11738 (GOMP_offload_register): Likewise.
93d90219 11739 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
11740 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11741 GOMP_OFFLOAD_unload_image): Constify target data.
11742 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11743 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11744
a4cb876d
NS
117452015-07-16 Nathan Sidwell <nathan@codesourcery.com>
11746
11747 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11748 Workaround driver library const error.
11749 (struct nvptx_tdata, nvptx_tdata_t): New.
11750 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11751 type.
11752
28ef6a27
MB
117532015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
11754
11755 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11756 of EPS parameter from integer to real.
11757 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11758 type of EPS parameter from integer to real.
11759
6dba0113
SH
117602015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
11761
11762 * team.c (get_last_team): New.
11763 (gomp_new_team): Recycle last non-nested team if possible.
11764 (gomp_team_end): Move team work share list free lock destruction
11765 to ...
11766 (free_team): ... here.
11767
4c1cb4da
MB
117682015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
11769
11770 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11771 and ref from int to double. Replaced their comparison with
11772 an inequality of their difference and EPS.
11773 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11774 comparison of pri and a reference number with an inequality of their
11775 difference and EPS.
11776 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11777 the comparison of sum and sum_ref with an inequality of their
11778 difference and EPS.
11779 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11780 the comparison of pri and a reference number with an inequality of
11781 their difference and EPS.
11782
343587dc
MB
117832015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
11784
11785 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11786 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11787 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11788 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11789 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11790 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11791 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11792 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11793 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11794 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11795 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11796 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11797 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11798 variables.
11799 (vec_mult): Likewise. Add #pragma omp taskwait.
11800 (main): Adjust caller.
11801 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11802 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11803 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11804 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11805 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11806 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11807 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11808 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11809 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11810 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11811 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11812 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11813 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11814 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11815 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11816 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11817 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11818 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11819 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11820 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11821 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11822 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11823 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11824 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11825 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11826 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11827 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11828 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11829 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11830 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11831 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11832 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11833 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11834 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11835 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11836 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11837 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11838 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11839 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11840 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11841 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11842 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11843 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11844 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11845 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11846 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11847 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11848 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11849 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11850 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11851 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11852 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11853 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11854 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11855 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11856 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11857 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11858 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11859 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11860 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11861 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11862 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11863 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11864 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11865 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11866 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11867 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11868 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11869 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11870 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11871 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11872 (vec_mult): Add !$omp taskwait.
11873 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11874 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11875 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11876 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11877 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11878 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11879 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11880 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11881 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11882 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11883 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11884 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11885 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11886 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11887 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11888 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11889 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11890 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11891 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11892 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11893 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11894 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11895 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11896 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11897 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11898 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11899 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11900 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11901 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11902 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11903 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11904 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11905 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11906 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11907 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11908 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11909 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11910 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11911 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11912 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11913 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11914 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11915 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11916 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11917 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11918 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11919 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11920 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11921 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11922 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11923 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11924 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11925 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11926 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11927 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11928 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11929 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11930 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11931 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11932 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11933 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11934 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11935 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11936 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11937 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11938 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11939 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11940
9f620bf1
TV
119412015-07-10 Tom de Vries <tom@codesourcery.com>
11942
11943 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11944 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11945
a92defda
TS
119462015-07-08 Thomas Schwinge <thomas@codesourcery.com>
11947
11948 PR libgomp/65099
11949 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11950 in a 64-bit configuration.
11951 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11952 offloading testing if no such device is available.
11953 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11954 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11955
cadb53a5
TV
119562015-07-08 Tom de Vries <tom@codesourcery.com>
11957
11958 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11959 second call to f.
11960 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11961
712cb0bb
TV
119622015-07-07 Tom de Vries <tom@codesourcery.com>
11963
11964 PR tree-optimization/66642
11965 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11966 iteration count case.
11967 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11968 function, factor out of ...
11969 (main): ... here. Test low iteration count case.
11970
e5210c77
SH
119712015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
11972
11973 * libgomp.h (gomp_thread_pool): Comment last_team field.
11974
f70360e7
UB
119752015-07-02 Uros Bizjak <ubizjak@gmail.com>
11976
11977 * testsuite/libgomp.c++/pr66702-1.C: Require
11978 vect_simd_clones effective target.
11979 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11980
b451c271
TV
119812015-06-30 Tom de Vries <tom@codesourcery.com>
11982
11983 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11984 already set. Use DEFAULT_CFLAGS in dg-runtest.
11985 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11986 "-O2".
11987
f8e89d9f
TV
119882015-06-30 Tom de Vries <tom@codesourcery.com>
11989
11990 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11991 already set. Use DEFAULT_CFLAGS in dg-runtest.
11992 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11993 * testsuite/libgomp.c++/pr64824.C: Same.
11994 * testsuite/libgomp.c++/pr64868.C: Same.
11995 * testsuite/libgomp.c++/pr66199-1.C: Same.
11996 * testsuite/libgomp.c++/pr66199-2.C: Same.
11997 * testsuite/libgomp.c++/target-2.C: Same.
11998 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11999 -std=<standard> option.
12000 * testsuite/libgomp.c++/udr-11.C: Same.
12001 * testsuite/libgomp.c++/udr-12.C: Same.
12002 * testsuite/libgomp.c++/udr-13.C: Same.
12003 * testsuite/libgomp.c++/udr-14.C: Same.
12004 * testsuite/libgomp.c++/udr-15.C: Same.
12005 * testsuite/libgomp.c++/udr-16.C: Same.
12006 * testsuite/libgomp.c++/udr-17.C: Same.
12007 * testsuite/libgomp.c++/udr-18.C: Same.
12008 * testsuite/libgomp.c++/udr-19.C: Same.
12009 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
12010 * testsuite/libgomp.c++/simd-1.C: Same.
12011 * testsuite/libgomp.c++/simd-2.C: Same.
12012 * testsuite/libgomp.c++/simd-3.C: Same.
12013 * testsuite/libgomp.c++/simd-4.C: Same.
12014 * testsuite/libgomp.c++/simd-5.C: Same.
12015 * testsuite/libgomp.c++/simd-6.C: Same.
12016 * testsuite/libgomp.c++/simd-7.C: Same.
12017 * testsuite/libgomp.c++/simd-8.C: Same.
12018 * testsuite/libgomp.c++/simd-9.C: Same.
12019 * testsuite/libgomp.c++/simd10.C: Same.
12020 * testsuite/libgomp.c++/simd11.C: Same.
12021 * testsuite/libgomp.c++/simd12.C: Same.
12022 * testsuite/libgomp.c++/simd13.C: Same.
12023
3446fe48
JJ
120242015-06-30 Jakub Jelinek <jakub@redhat.com>
12025
12026 PR middle-end/66702
12027 * testsuite/libgomp.c++/pr66702-1.C: New test.
12028 * testsuite/libgomp.c++/pr66702-2.C: New test.
12029
8a36714a
TV
120302015-06-30 Tom de Vries <tom@codesourcery.com>
12031
12032 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
12033 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
12034 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
12035 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
12036
4f75d608
TV
120372015-06-30 Tom de Vries <tom@codesourcery.com>
12038
12039 PR tree-optimization/66652
12040 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
12041 using restrict pointers.
12042 (main): Add arguments to calls to f.
12043 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12044
6d9d1eeb
AT
120452015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
12046
12047 * configure.ac: Fix check for header <sys/sysctl.h>.
12048 * configure: Regenerate.
12049 * config.h.in: Likewise.
12050
1222f22b
TV
120512015-06-23 Tom de Vries <tom@codesourcery.com>
12052
12053 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12054 abort.
12055 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12056
d7efbbf6
TS
120572015-06-19 Thomas Schwinge <thomas@codesourcery.com>
12058
bfcd036f
TS
12059 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12060 acc_device_nvidia.
12061
d7efbbf6
TS
12062 PR libgomp/66518
12063 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12064 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12065
d7bfc710
TV
120662015-06-15 Tom de Vries <tom@codesourcery.com>
12067
12068 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12069 dg-additional-options for any remaining options.
12070 * testsuite/libgomp.c/atomic-2.c: Same.
12071 * testsuite/libgomp.c/atomic-4.c: Same.
12072 * testsuite/libgomp.c/atomic-5.c: Same.
12073 * testsuite/libgomp.c/atomic-6.c: Same.
12074 * testsuite/libgomp.c/autopar-1.c: Same.
12075 * testsuite/libgomp.c/copyin-1.c: Same.
12076 * testsuite/libgomp.c/copyin-2.c: Same.
12077 * testsuite/libgomp.c/copyin-3.c: Same.
12078 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12079 * testsuite/libgomp.c/nestedfn-5.c: Same.
12080 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12081 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12082 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12083 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12084 * testsuite/libgomp.c/pr32362-1.c: Same.
12085 * testsuite/libgomp.c/pr32362-2.c: Same.
12086 * testsuite/libgomp.c/pr32362-3.c: Same.
12087 * testsuite/libgomp.c/pr39591-1.c: Same.
12088 * testsuite/libgomp.c/pr39591-2.c: Same.
12089 * testsuite/libgomp.c/pr39591-3.c: Same.
12090 * testsuite/libgomp.c/pr58392.c: Same.
12091 * testsuite/libgomp.c/pr58756.c: Same.
12092 * testsuite/libgomp.c/simd-1.c: Same.
12093 * testsuite/libgomp.c/simd-10.c: Same.
12094 * testsuite/libgomp.c/simd-11.c: Same.
12095 * testsuite/libgomp.c/simd-12.c: Same.
12096 * testsuite/libgomp.c/simd-13.c: Same.
12097 * testsuite/libgomp.c/simd-14.c: Same.
12098 * testsuite/libgomp.c/simd-15.c: Same.
12099 * testsuite/libgomp.c/simd-2.c: Same.
12100 * testsuite/libgomp.c/simd-3.c: Same.
12101 * testsuite/libgomp.c/simd-4.c: Same.
12102 * testsuite/libgomp.c/simd-5.c: Same.
12103 * testsuite/libgomp.c/simd-6.c: Same.
12104 * testsuite/libgomp.c/simd-7.c: Same.
12105 * testsuite/libgomp.c/simd-8.c: Same.
12106 * testsuite/libgomp.c/simd-9.c: Same.
12107
fb5b5352
TV
121082015-06-15 Tom de Vries <tom@codesourcery.com>
12109
12110 * testsuite/libgomp.c/pr35625.c: Fix typo.
12111
ca431bef
TV
121122015-06-15 Tom de Vries <tom@codesourcery.com>
12113
12114 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12115 in dg-options.
12116 * testsuite/libgomp.c/atomic-3.c: Same.
12117 * testsuite/libgomp.c/debug-1.c: Same.
12118 * testsuite/libgomp.c/nqueens-1.c: Same.
12119 * testsuite/libgomp.c/pr26171.c: Same.
12120 * testsuite/libgomp.c/pr48591.c: Same.
12121 * testsuite/libgomp.c/pr64824.c: Same.
12122 * testsuite/libgomp.c/pr64868.c: Same.
12123 * testsuite/libgomp.c/pr66133.c: Same.
12124 * testsuite/libgomp.c/pr66199-1.c: Same.
12125 * testsuite/libgomp.c/pr66199-2.c: Same.
12126 * testsuite/libgomp.c/target-8.c: Same.
12127
0d8a9e20
TV
121282015-06-15 Tom de Vries <tom@codesourcery.com>
12129
12130 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12131 -std={gnu99,c99}.
12132 * testsuite/libgomp.c/for-1.c: Same.
12133 * testsuite/libgomp.c/for-2.c: Same.
12134 * testsuite/libgomp.c/for-3.c: Same.
12135 * testsuite/libgomp.c/pr35625.c: Same.
12136 * testsuite/libgomp.c/pr39154.c: Same.
12137 * testsuite/libgomp.c/simd-16.c: Same.
12138 * testsuite/libgomp.c/simd-17.c: Same.
12139
a6860be9
TV
121402015-06-13 Tom de Vries <tom@codesourcery.com>
12141
12142 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12143
ab3306d2
TV
121442015-06-13 Tom de Vries <tom@codesourcery.com>
12145
12146 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12147 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12148 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12149 (N): Define.
12150 (main): Use N instead of hardcoded constants.
12151
7c82d827
TV
121522015-06-05 Tom de Vries <tom@codesourcery.com>
12153
12154 merge from gomp4 branch:
12155 2015-05-28 Tom de Vries <tom@codesourcery.com>
12156
12157 PR tree-optimization/65443
12158 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12159 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12160 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12161
c469078d
BRF
121622015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12163
12164 * testsuite/libgomp.graphite/bounds.c: Adjust for
12165 cleanup-tree-dump removal.
12166 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12167 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12168 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12169 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12170 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12171 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12172 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12173 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12174 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12175 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12176
bb3caa35
UB
121772015-05-28 Uros Bizjak <ubizjak@gmail.com>
12178
12179 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12180 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12181 (futex_wake) [!__x86_64__]: Ditto.
12182
9fb5fd44
JB
121832015-05-28 Julian Brown <julian@codesourcery.com>
12184
12185 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12186 function comment. Only call gomp_fatal if new argument is true.
12187 (acc_dev_num_out_of_range): New function.
12188 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12189 acc_dev_num_out_of_range as appropriate.
12190 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
12191 (acc_get_device_num, acc_set_device_num): Update calls to
12192 resolve_device.
9fb5fd44
JB
12193 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12194 output.
12195
32eaed93
JB
121962015-05-28 Julian Brown <julian@codesourcery.com>
12197
12198 PR libgomp/65742
32eaed93
JB
12199 * oacc-init.c (plugin/plugin-host.h): Include.
12200 (acc_on_device): Check whether we're in an offloaded region for
12201 host_nonshm
12202 plugin. Don't use __builtin_acc_on_device.
12203 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12204 nonshm_exec flag in thread-local data.
12205 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12206 data for host_nonshm plugin.
12207 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12208 for host_nonshm plugin.
12209 * plugin/plugin-host.h: New.
12210
ea023bcf
UB
122112015-05-27 Uros Bizjak <ubizjak@gmail.com>
12212
8ed501f1
UB
12213 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12214
122152015-05-27 Uros Bizjak <ubizjak@gmail.com>
12216
12217 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12218 Declare as int.
12219 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12220 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12221 Declare as int.
12222
122232015-05-27 Uros Bizjak <ubizjak@gmail.com>
12224
bb3caa35 12225 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 12226
1716efeb
CLT
122272015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12228
12229 * target.c (gomp_map_pointer): New function abstracting out
12230 GOMP_MAP_POINTER handling.
12231 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12232 gomp_map_pointer().
12233
41b37d5e
JJ
122342015-05-19 Jakub Jelinek <jakub@redhat.com>
12235
12236 PR middle-end/66199
12237 * testsuite/libgomp.c/pr66199-1.c: New test.
12238 * testsuite/libgomp.c/pr66199-2.c: New test.
12239 * testsuite/libgomp.c++/pr66199-1.C: New test.
12240 * testsuite/libgomp.c++/pr66199-2.C: New test.
12241 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12242 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12243
c8319826
JB
122442015-05-19 Julian Brown <julian@codesourcery.com>
12245
12246 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12247 on cuInit failure.
12248
b37dddbc
JJ
122492015-05-13 Jakub Jelinek <jakub@redhat.com>
12250
12251 PR middle-end/66133
12252 * testsuite/libgomp.c/pr66133.c: New test.
12253
55fba601
MH
122542015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12255
12256 * Makefile.in: Regenerated with automake-1.11.6.
12257 * aclocal.m4: Likewise.
12258 * config.h.in: Likewise.
12259 * configure: Likewise.
12260 * testsuite/Makefile.in: Likewise.
12261
1be0899d
JM
122622015-05-08 Jason Merrill <jason@redhat.com>
12263
12264 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12265 _Complex.
12266
12267 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12268
d2463960
JB
122692015-05-06 Julian Brown <julian@codesourcery.com>
12270
12271 * oacc-init.c (acc_device_lock): Add explanatory comment.
12272 (resolve_device): Add comment about locking requirement.
12273 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12274 gomp_init_device and gomp_fini_device calls.
12275 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12276 (acc_get_device_num, acc_set_device_num): Add locking around
12277 resolve_device and gomp_init_device calls.
12278
e38fdba4
JB
122792015-05-06 Julian Brown <julian@codesourcery.com>
12280
12281 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12282 goacc_thread_lock on error paths.
12283 * oacc-mem.c (lookup_host): Remove locking from function. Note
12284 locking requirement for caller in function comment.
12285 (lookup_dev): Likewise.
12286 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12287 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12288 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12289 Add locking.
12290
ae8ffbbb
TS
122912015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12292
12293 PR testsuite/65205
12294 PR libgomp/65993
12295 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12296 don't expect "0x" prefix for "%p" format specifier, don't expect
12297 "(nil)" for NULL pointer.
12298 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12299 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12300 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12301 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12302 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12303 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12304 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12305 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12306 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12307 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12308 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12309 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12310 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12311 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12312 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12313 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12314 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12315 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12316 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12317 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12318 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12319 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12320 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12321 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12322 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12323 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12324 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12325 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12326 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12327 accurately specify what we're looking for.
12328 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12329 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12330 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12331 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12332 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12333
1309f1d2
JN
123342015-04-30 James Norris <jnorris@codesourcery.com>
12335
12336 PR testsuite/65205
12337 * testsuite/lib/libgomp.exp
12338 (check_effective_target_openacc_host_selected)
12339 (check_effective_target_openacc_host_nonshm_selected): New
12340 procedures.
12341 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12342 dg-shouldfail.
12343 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12344 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12345 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12346 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12347 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12348 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12349 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12350 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12351 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12352 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12353 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12354 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12355 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12356 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12357 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12358 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12359 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12360 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12361 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12362 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12363 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12364 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12365 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12366 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12367 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12368 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12369 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12370 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12371 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12372 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12373 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12374 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12375 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12376 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12377 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12378 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12379 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12380 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12381 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12382 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12383 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12384 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12385 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12386
d93bdab5
JB
123872015-04-08 Julian Brown <julian@codesourcery.com>
12388
12389 * libgomp.h (target_mem_desc: Remove mem_map field.
12390 (acc_dispatch_t): Remove open_device_func, close_device_func,
12391 get_device_num_func, set_device_num_func, target_data members.
12392 Change create_thread_data_func argument to device number instead of
12393 generic pointer.
12394 * oacc-async.c (assert.h): Include.
12395 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12396 (acc_wait_all, acc_wait_all_async): Use current host thread's
12397 active device, not base_dev.
12398 * oacc-cuda.c (acc_get_current_cuda_device)
12399 (acc_get_current_cuda_context, acc_get_cuda_stream)
12400 (acc_set_cuda_stream): Likewise.
12401 * oacc-host.c (host_dispatch): Don't set open_device_func,
12402 close_device_func, get_device_num_func or set_device_num_func.
12403 * oacc-init.c (base_dev, init_key): Remove.
12404 (cached_base_dev): New.
12405 (name_of_acc_device_t): New.
12406 (acc_init_1): Initialise default-numbered device, not zeroth.
12407 (acc_shutdown_1): Close all devices of a given type.
12408 (goacc_destroy_thread): Don't use base_dev.
12409 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12410 (goacc_attach_host_thread_to_device): New.
12411 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12412 (acc_get_num_devices): Don't use base_dev.
12413 (acc_set_device_type): Reimplement.
12414 (acc_get_device_type): Don't use base_dev.
12415 (acc_get_device_num): Tweak logic.
12416 (acc_set_device_num): Likewise.
12417 (acc_on_device): Use acc_get_device_type.
12418 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12419 (goacc_lazy_initialize): Reimplement with acc_init and
12420 goacc_attach_host_thread_to_device.
12421 * oacc-int.h (goacc_thread): Add base_dev field.
12422 (base_dev): Remove extern declaration.
12423 (goacc_attach_host_thread_to_device): Add prototype.
12424 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12425 base_dev.
12426 (acc_free): Likewise.
12427 (acc_memcpy_to_device): Likewise.
12428 (acc_memcpy_from_device): Likewise.
12429 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12430 goacc_lazy_initialize (throughout).
12431 (GOACC_parallel): Use tgt_offset to locate target functions.
12432 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12433 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12434 (gomp_load_plugin_for_device): Remove open_device, close_device,
12435 get_device_num, set_device_num openacc hook initialisation. Don't set
12436 openacc.target_data.
12437 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12438 (GOMP_OFFLOAD_openacc_close_device)
12439 (GOMP_OFFLOAD_openacc_get_device_num)
12440 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12441 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12442 to int.
12443 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12444 (instantiated_devices, ptx_dev_lock): New.
12445 (struct ptx_image_data): New.
12446 (ptx_devices, ptx_images, ptx_image_lock): New.
12447 (fini_streams_for_device): Reorder cuStreamDestroy call.
12448 (nvptx_get_num_devices): Remove forward declaration.
12449 (nvptx_init): Change return type to bool.
12450 (nvptx_fini): Remove.
12451 (nvptx_attach_host_thread_to_device): New.
12452 (nvptx_open_device): Return struct ptx_device* instead of void*.
12453 (nvptx_close_device): Change argument type to struct ptx_device*,
12454 return type to void.
12455 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12456 (kernel_target_data, kernel_host_table): Remove static globals.
12457 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12458 (GOMP_OFFLOAD_init_device): Reimplement.
12459 (GOMP_OFFLOAD_fini_device): Likewise.
12460 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12461 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12462 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12463 (GOMP_OFFLOAD_openacc_open_device)
12464 (GOMP_OFFLOAD_openacc_close_device)
12465 (GOMP_OFFLOAD_openacc_set_device_num)
12466 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12467 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12468 (device number).
12469
12470 testsuite/
12471 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12472
a51df54e
IV
124732015-04-06 Ilya Verbin <ilya.verbin@intel.com>
12474
12475 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12476 * libgomp.h (struct gomp_memory_mapping): Remove.
12477 (struct target_mem_desc): Change type of mem_map from
12478 gomp_memory_mapping * to splay_tree_s *.
12479 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12480 Add load_image_func, unload_image_func.
12481 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12482 Remove offload_regions_registered.
12483 (gomp_init_tables): Remove.
12484 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12485 to splay_tree_s *.
12486 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12487 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12488 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12489 offload_regions_registered.
12490 Initialize load_image_func, unload_image_func, mem_map.root.
12491 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12492 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12493 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12494 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12495 gomp_memory_mapping *. Use dev's lock and splay_tree.
12496 (lookup_dev): Use dev's lock.
12497 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12498 (acc_is_present): Likewise.
12499 (acc_map_data): Likewise.
12500 (acc_unmap_data): Likewise. Use dev's lock.
12501 (present_create_copy): Likewise.
12502 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12503 (update_dev_host): Likewise.
12504 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12505 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12506 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12507 (GOMP_OFFLOAD_get_table): Remove
12508 (GOMP_OFFLOAD_load_image): New function.
12509 (GOMP_OFFLOAD_unload_image): New function.
12510 * target.c (register_lock): New mutex for offload image registration.
12511 (num_devices): Do not guard with PLUGIN_SUPPORT.
12512 (gomp_realloc_unlock): New static function.
12513 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12514 before gomp_fatal.
12515 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12516 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12517 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12518 mem_map's.
12519 (gomp_unmap_vars): Likewise.
12520 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12521 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12522 (gomp_offload_image_to_device): New static function.
12523 (GOMP_offload_register): Add mutex lock.
12524 Call gomp_offload_image_to_device for all initialized devices.
12525 Replace gomp_realloc with gomp_realloc_unlock.
12526 (GOMP_offload_unregister): New function.
12527 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12528 get_table_func from the plugin with calls to init_device_func and
12529 gomp_offload_image_to_device.
12530 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12531 to splay_tree_s *.
12532 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12533 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12534 (GOMP_target_data): Do not call gomp_init_tables.
12535 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12536 (gomp_load_plugin_for_device): Replace register_image and get_table
12537 with load_image and unload_image in DLSYM ().
12538 (gomp_register_images_for_device): Remove function.
12539 (gomp_target_init): Do not initialize current_device.mem_map.*,
12540 current_device.offload_regions_registered.
12541 Remove call to gomp_register_images_for_device.
12542 Do not free offload_images and num_offload_images.
12543
6c384511
JJ
125442015-03-30 Jakub Jelinek <jakub@redhat.com>
12545
12546 PR fortran/65597
12547 * testsuite/libgomp.fortran/pr65597.f90: New test.
12548
3e8165a5
TV
125492015-03-27 Tom de Vries <tom@codesourcery.com>
12550
12551 PR testsuite/65594
12552 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12553 (init, check): New function.
12554 (foo): Change return type to void.
12555 (main): Call init and check.
12556
4d688c9a
TV
125572015-03-27 Tom de Vries <tom@codesourcery.com>
12558
12559 PR testsuite/65594
12560 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12561 (foo): Use M for non-inner loops to scale down test-case.
12562
01c0b3b0
KT
125632015-03-25 Kai Tietz <ktietz@redhat.com>
12564
12565 PR libgomp/64972
12566 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12567 (GOACC_data_start): Likewise.
12568 * target.c (gomp_map_vars): Likewise.
12569
844d9a76
JDA
125702015-03-21 John David Anglin <danglin@gcc.gnu.org>
12571
12572 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12573 hppa*-*-hpux*.
12574
9b65e171
JJ
125752015-03-19 Jakub Jelinek <jakub@redhat.com>
12576
12577 * testsuite/libgomp.c/target-10.c: New test.
12578 * testsuite/libgomp.c++/target-4.C: New test.
12579
db397e2e
IV
125802015-03-13 Ilya Verbin <ilya.verbin@intel.com>
12581
12582 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12583 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12584
cd93945d
SH
125852015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
12586
12587 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12588 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12589 (pthread.h): Check for this header file.
12590 * configure: Regenerate.
12591
05deba9f
TV
125922015-02-25 Tom de Vries <tom@codesourcery.com>
12593
12594 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12595 (check_reduction_op, check_reduction_macro, max, min):
12596 Declare.
12597 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12598 function.
12599 (main): Use new functions.
12600
196904d8
IT
126012015-02-18 Ilya Tocar <ilya.tocar@intel.com>
12602
12603 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12604 char * for variables holding dlerror return values.
12605 (DLSYM_OPT): Ditto.
12606
a2818955
TS
126072015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12608
12609 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12610
26f93312
TS
126112015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12612 Cesar Philippidis <cesar@codesourcery.com>
12613
12614 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12615 GOACC_ctaid, and GOACC_nctaid routines.
12616
fa01ffcc
JJ
126172015-02-11 Jakub Jelinek <jakub@redhat.com>
12618
12619 PR c/64824
12620 * testsuite/libgomp.c/atomic-18.c: New test.
12621 * testsuite/libgomp.c++/atomic-16.C: New test.
12622
4886ec8e
JJ
126232015-02-04 Jakub Jelinek <jakub@redhat.com>
12624
12625 PR c/64824
12626 PR c/64868
12627 * testsuite/libgomp.c/pr64824.c: New test.
12628 * testsuite/libgomp.c/pr64868.c: New test.
12629 * testsuite/libgomp.c++/pr64824.C: New test.
12630 * testsuite/libgomp.c++/pr64868.C: New test.
12631
02d3e45e
DE
126322015-02-01 David Edelsohn <dje.gcc@gmail.com>
12633
12634 PR libgomp/64635
12635 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12636 Link with -lpthread.
12637 * config/aix/plugin-suffix.h: Delete.
12638
b5f7a6ca
JH
126392015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
12640
12641 PR libgomp/64635
12642 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12643 (*-*-darwin*): Use config_path "bsd darwin posix".
12644 (*-*-hpux*): Use config_path "hpux posix".
12645 * target.c: Add include of plugin-suffix.h and use
12646 SONAME_SUFFIX macro.
12647 * config/aix/plugin-suffix.h: New file.
12648 * config/darwin/plugin-suffix.h: New file.
12649 * config/hpux/plugin-suffix.h: New file.
12650 * config/posix/plugin-suffix.h: New file.
12651
b8910447
JJ
126522015-01-23 Jakub Jelinek <jakub@redhat.com>
12653
12654 PR middle-end/64734
12655 * libgomp.c/pr64734.c: New test.
12656
a0c88d06
TV
126572015-01-23 Tom de Vries <tom@codesourcery.com>
12658
12659 PR libgomp/64672
12660 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12661
1506ae0e
TV
126622015-01-23 Tom de Vries <tom@codesourcery.com>
12663
12664 PR libgomp/64707
12665 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12666 dg-options.
12667
128b26dc
TS
126682015-01-19 Thomas Schwinge <thomas@codesourcery.com>
12669
bed62c21 12670 PR libgomp/64625
128b26dc
TS
12671 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12672 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12673 formal parameter. Update all users.
12674 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12675 Document unused formal parameter.
12676
6e36114c
TS
126772015-01-16 Thomas Schwinge <thomas@codesourcery.com>
12678
12679 * oacc-parallel.c: Don't include <alloca.h>.
12680 (GOACC_parallel): Use gomp_alloca instead of alloca.
12681
973e9808
GP
126822015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
12683
12684 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12685
41dbbb37
TS
126862015-01-15 Thomas Schwinge <thomas@codesourcery.com>
12687 James Norris <jnorris@codesourcery.com>
12688 Tom de Vries <tom@codesourcery.com>
12689 Julian Brown <julian@codesourcery.com>
12690 Cesar Philippidis <cesar@codesourcery.com>
12691 Nathan Sidwell <nathan@codesourcery.com>
12692 Tobias Burnus <burnus@net-b.de>
12693
12694 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12695 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12696 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12697 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12698 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12699 Include $(top_srcdir)/plugin/Makefrag.am.
12700 (nodist_libsubinclude_HEADERS): Add openacc.h.
12701 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12702 openacc.f90, openacc.mod, openacc_kinds.mod.
12703 (omp_lib.mod): Generalize into...
12704 (%.mod): ... this new rule.
12705 (openacc_kinds.mod, openacc.mod): New rules.
12706 * plugin/configfrag.ac: New file.
12707 * configure.ac: Move plugin/offloading support into it. Include
12708 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12709 * plugin/Makefrag.am: New file.
12710 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12711 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12712 export.
12713 (libgomp-test-support.exp): New rule.
12714 (all-local): Depend on it.
12715 * Makefile.in: Regenerate.
12716 * testsuite/Makefile.in: Regenerate.
12717 * config.h.in: Likewise.
12718 * configure: Likewise.
12719 * configure.tgt: Harden shell syntax.
12720 * env.c: Include "oacc-int.h".
12721 (parse_acc_device_type): New function.
12722 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12723 variables.
12724 (initialize_env): Initialize those. Call
12725 goacc_runtime_initialize.
12726 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12727 (gomp_fatal): Call gomp_vfatal.
12728 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12729 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12730 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12731 (splay_tree_node, splay_tree, splay_tree_key)
12732 (struct target_mem_desc, struct splay_tree_key_s)
12733 (struct gomp_memory_mapping, struct acc_dispatch_t)
12734 (struct gomp_device_descr, gomp_acc_insert_pointer)
12735 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12736 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12737 (gomp_free_memmap, gomp_fini_device): New declarations.
12738 (gomp_vdebug, gomp_debug): New macros.
12739 Include "splay-tree.h".
12740 * libgomp.map (OACC_2.0): New symbol version. Use for
12741 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12742 acc_set_device_type_h_, acc_get_device_type,
12743 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12744 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12745 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12746 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12747 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12748 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12749 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12750 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12751 acc_copyin_array_h_, acc_present_or_copyin,
12752 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12753 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12754 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12755 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12756 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12757 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12758 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12759 acc_update_device, acc_update_device_32_h_,
12760 acc_update_device_64_h_, acc_update_device_array_h_,
12761 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12762 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12763 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12764 acc_is_present_64_h_, acc_is_present_array_h_,
12765 acc_memcpy_to_device, acc_memcpy_from_device,
12766 acc_get_current_cuda_device, acc_get_current_cuda_context,
12767 acc_get_cuda_stream, acc_set_cuda_stream.
12768 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12769 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12770 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12771 GOACC_get_num_threads.
12772 (GOMP_PLUGIN_1.0): New symbol version. Use for
12773 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12774 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12775 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12776 GOMP_PLUGIN_acc_thread.
12777 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12778 environment variable.
12779 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12780 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12781 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12782 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12783 (splay_tree_remove): New declarations.
12784 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12785 (splay_tree_remove, splay_tree_lookup): Move into...
12786 * splay-tree.c: ... this new file.
12787 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12788 (splay_tree_node, splay_tree, splay_tree_key)
12789 (struct target_mem_desc, struct splay_tree_key_s)
12790 (struct gomp_device_descr): Don't declare.
12791 (num_devices_openmp): New variable.
12792 (gomp_get_num_devices ): Use it.
12793 (gomp_init_targets_once): New function.
12794 (gomp_get_num_devices ): Use it.
12795 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12796 (gomp_fini_device, gomp_register_image_for_device): New functions.
12797 (gomp_map_vars): Add devaddrs parameter.
12798 (gomp_update): Add mm parameter.
12799 (gomp_init_device): Move most of it into...
12800 (gomp_init_tables): ... this new function.
12801 (gomp_register_images_for_device): Remove function.
12802 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12803 Make them hidden instead of static.
12804 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12805 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12806 (GOMP_target_end_data, GOMP_target_update)
12807 (gomp_load_plugin_for_device, gomp_target_init): Update for
12808 OpenACC changes.
12809 * oacc-async.c: New file.
12810 * oacc-cuda.c: Likewise.
12811 * oacc-host.c: Likewise.
12812 * oacc-init.c: Likewise.
12813 * oacc-int.h: Likewise.
12814 * oacc-mem.c: Likewise.
12815 * oacc-parallel.c: Likewise.
12816 * oacc-plugin.c: Likewise.
12817 * oacc-plugin.h: Likewise.
12818 * oacc-ptx.h: Likewise.
12819 * openacc.f90: Likewise.
12820 * openacc.h: Likewise.
12821 * openacc_lib.h: Likewise.
12822 * plugin/plugin-host.c: Likewise.
12823 * plugin/plugin-nvptx.c: Likewise.
12824 * libgomp-plugin.c: Likewise.
12825 * libgomp-plugin.h: Likewise.
12826 * libgomp_target.h: Remove file after merging content into the
12827 former file. Update all users.
12828 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12829 (offload_targets_s, offload_targets_s_openacc): New variables.
12830 (check_effective_target_openacc_nvidia_accel_present)
12831 (check_effective_target_openacc_nvidia_accel_selected): New
12832 procedures.
12833 (libgomp_init): Update for OpenACC changes.
12834 * testsuite/libgomp-test-support.exp.in: New file.
12835 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12836 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12837 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12838 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12839 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12840 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12841 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12842 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12843 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12844 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12845 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12846 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12847 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12848 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12849 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12850 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12851 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12852 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12853 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12854 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12855 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12856 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12857 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12858 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12859 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12860 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12861 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12862 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12863 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12864 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12865 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12866 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12867 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12868 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12869 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12870 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12871 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12872 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12873 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12874 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12875 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12876 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12877 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12878 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12879 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12880 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12881 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12882 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12883 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12884 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12885 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12886 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12887 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12888 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12889 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12894 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12895 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12896 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12897 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12898 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12899 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12900 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12901 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12906 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12907 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12908 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12909 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12910 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12911 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12912 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12913 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12914 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12915 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12916 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12917 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12918 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12919 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12920 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12921 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12922 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12923 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12924 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12925 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12926 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12927 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12928 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12929 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12930 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12931 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12932 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12933 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12934 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12935 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12936 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12937 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12938 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12939 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12940 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12941 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12942 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12943 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12944 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12945 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12946 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12947 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12948 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12949 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12950 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12951 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12952 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12953 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12954 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12955 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12956 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12957 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12958 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12959 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12960 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12961 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12962 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12963 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12964 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12965 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12966 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12967 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12968 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12969 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12970 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12971 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12972 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12973 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12974 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12975 Likewise.
12976 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12977 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12978 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12979 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12980 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12981 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12982 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12983 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12984 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12985 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12986 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12987 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12988 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12989 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12990 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12991 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12992 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12993 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12994 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12995 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12996 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12997 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12998 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12999 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
13000 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
13001 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
13002 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13003 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13004 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13005 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13006 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13007 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13008 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13009 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13010 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
13011 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
13012 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
13013 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
13014 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
13015 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
13016 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
13017 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
13018 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
13019 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
13020 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
13021 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
13022 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
13023 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
13024 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
13025 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13026 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13027 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13028 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13029 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13030 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
13031 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
13032 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
13033 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
13034 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
13035 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
13036
f1f3453e
TS
130372015-01-10 Thomas Schwinge <thomas@codesourcery.com>
13038 Julian Brown <julian@codesourcery.com>
13039 David Malcolm <dmalcolm@redhat.com>
13040
13041 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
13042 to "GNU Offloading and Multi Processing Runtime Library". Change
13043 all users.
13044 * configure: Regenerate.
13045 * libgomp.texi: Update.
13046
f9a0eca4
TS
130472015-01-08 Thomas Schwinge <thomas@codesourcery.com>
13048
b335ef4e
TS
13049 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
13050 "$tgt_dir/lib32".
13051 * configure: Regenerate.
13052
f9a0eca4
TS
13053 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13054 "intelmic" in $offload_targets.
13055
b67cd4e3
JJ
130562015-01-05 Jakub Jelinek <jakub@redhat.com>
13057
5624e564
JJ
13058 Update copyright years.
13059
b67cd4e3
JJ
13060 * libgomp.texi: Bump @copying's copyright year.
13061
3b41b583
KT
130622014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13063
13064 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 13065 Move load of target-supports.exp earlier.
3b41b583 13066
2354caec
IV
130672014-12-10 Ilya Verbin <ilya.verbin@intel.com>
13068
13069 * testsuite/libgomp.c/target-9.c: New test.
13070
f50eecba
VR
130712014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
13072
13073 * config.h.in: Regenerate.
13074 * configure: Regenerate.
13075 * configure.ac: Add GCC_CHECK_EMUTLS.
13076 * libgomp.h: Add check for USE_EMUTLS: this case
13077 is equal to HAVE_TLS.
13078 * team.c: Likewise.
13079
68bc9270
UB
130802014-12-03 Uros Bizjak <ubizjak@gmail.com>
13081
13082 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13083
476ff787
AT
130842014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
13085 Ilya Verbin <ilya.verbin@intel.com>
13086
13087 * testsuite/libgomp.c/target-critical-1.c: New test.
13088
31a30e62
JJ
130892014-11-26 Jakub Jelinek <jakub@redhat.com>
13090
13091 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 13092 to dg-options unless expensive testing is on.
31a30e62
JJ
13093 (TESTITERS): Define to N if not defined.
13094 (main): Use TESTITERS instead of N.
13095 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13096 dg-additional-options depending on whether expensive testing is on.
13097 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13098 Decrease N to 100000 and CHUNKSZ to 10000.
13099
3f9e8f13
JJ
131002014-11-24 Jakub Jelinek <jakub@redhat.com>
13101
13102 PR fortran/63938
31a30e62
JJ
13103 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13104 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 13105
c8451a46
SE
131062014-11-21 Steve Ellcey <sellcey@imgtec.com>
13107
13108 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13109
a699d672
L
131102014-11-21 H.J. Lu <hongjiu.lu@intel.com>
13111
13112 PR bootstrap/63784
13113 * configure: Regenerated.
13114
4a19f719
UB
131152014-11-19 Uros Bizjak <ubizjak@gmail.com>
13116
13117 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13118 vect_simd_clones effective target.
13119 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13120
b1bf6c52
JJ
131212014-11-14 Jakub Jelinek <jakub@redhat.com>
13122
13123 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13124 of 32 as block_size.
13125 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13126 instead of 32 as block_size.
13127
d64ae614
AT
131282014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13129 Ilya Verbin <ilya.verbin@intel.com>
13130
13131 * Makefile.in: Regenerate.
13132 * configure: Regenerate.
13133 * configure.ac: Set up offload_additional_options,
13134 offload_additional_lib_paths and offload_targets.
13135 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13136 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13137 * testsuite/Makefile.in: Regenerate.
13138 * testsuite/lib/libgomp.exp (libgomp_init): Append
13139 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13140 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13141 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13142
122d7303
AT
131432014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13144 Ilya Verbin <ilya.verbin@intel.com>
13145 Kirill Yukhin <kirill.yukhin@intel.com>
13146 Ilya Tocar <ilya.tocar@intel.com>
13147
13148 * testsuite/lib/libgomp.exp
13149 (check_effective_target_offload_device): New.
13150 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13151 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13152 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13153 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13154 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13155 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13156 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13157 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13158 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13159 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13160 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13161 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13162 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13163 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13164 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13165 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13166 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13167 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13168 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13169 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13170 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13171 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13172 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13173 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13174 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13175 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13176 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13177 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13178 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13179 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13180 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13181 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13182 * testsuite/libgomp.c/target-7.c: Fix test.
13183 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13184 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13185 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13186 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13187 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13188 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13189 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13190 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13191 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13192 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13193 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13194 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13195 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13196 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13197 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13198 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13199 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13200 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13201 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13202 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13203 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13204 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13205 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13206 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13207 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13208 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13209 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13210 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13211 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13212 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13213 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13214
1df3f842
JJ
132152014-11-13 Jakub Jelinek <jakub@redhat.com>
13216 Ilya Verbin <ilya.verbin@intel.com>
13217 Thomas Schwinge <thomas@codesourcery.com>
13218 Andrey Turetskiy <andrey.turetskiy@intel.com>
13219
13220 * libgomp.map (GOMP_4.0.1): New symbol version.
13221 Add GOMP_offload_register.
13222 * libgomp_target.h: New file.
13223 * splay-tree.h: New file.
13224 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13225 (gomp_target_init): New forward declaration.
13226 (gomp_is_initialized): New static variable.
13227 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13228 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13229 New structures.
13230 (offload_images, num_offload_images, devices, num_devices): New static
13231 variables.
13232 (splay_compare): New static function.
13233 (struct gomp_device_descr): New structure.
13234 (gomp_get_num_devices): Call gomp_target_init.
13235 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13236 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13237 (GOMP_offload_register): New function.
13238 (GOMP_target): Arrange for host callback to be performed in a separate
13239 initial thread and contention group, inheriting ICVs from
13240 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13241 Add device initialization and lookup for target function in splay tree.
13242 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13243 (GOMP_target_end_data): Call gomp_unmap_vars.
13244 (GOMP_target_update): Add device initialization and call gomp_update.
13245 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13246 (gomp_target_init): New static functions.
13247
85c64bbe
BS
132482014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13249 Thomas Schwinge <thomas@codesourcery.com>
13250 Ilya Verbin <ilya.verbin@intel.com>
13251 Andrey Turetskiy <andrey.turetskiy@intel.com>
13252
13253 * config.h.in: Regenerate.
13254 * configure: Regenerate.
13255 * configure.ac: Check for libdl, required for plugin support.
13256 (PLUGIN_SUPPORT): Define if plugins are supported.
13257 (enable_offload_targets): Support Intel MIC targets.
13258 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13259
ebf6d33b
FXC
132602014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13261
13262 PR target/63610
13263 * configure: Regenerate.
13264
8c768629
RO
132652014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13266
13267 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13268
c1d62412
MP
132692014-10-06 Marek Polacek <polacek@redhat.com>
13270
13271 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13272 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13273 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13274 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13275
44a0c6cb
MP
132762014-10-06 Marek Polacek <polacek@redhat.com>
13277
13278 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13279 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13280 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13281 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13282 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13283 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13284 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13285 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13286 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13287 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13288 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13289 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13290 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13291 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13292 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13293 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13294 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13295 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13296 declarations.
13297
5771c391
JJ
132982014-10-03 Jakub Jelinek <jakub@redhat.com>
13299
13300 PR libgomp/61200
13301 * testsuite/libgomp.c/pr61200.c: New test.
13302
bce16b88
JJ
133032014-09-18 Jakub Jelinek <jakub@redhat.com>
13304
13305 PR c++/63248
13306 * testsuite/libgomp.c++/pr63248.C: New test.
13307
3696163c
JJ
133082014-08-04 Jakub Jelinek <jakub@redhat.com>
13309
13310 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13311 is not zero, but taskgroup->children is NULL and there are
13312 any task->children, schedule those instead of waiting.
13313 * testsuite/libgomp.c/depend-6.c: New test.
13314 * testsuite/libgomp.c/depend-7.c: New test.
13315 * testsuite/libgomp.c/depend-8.c: New test.
13316 * testsuite/libgomp.c/depend-9.c: New test.
13317 * testsuite/libgomp.c/depend-10.c: New test.
13318
0494285a
JJ
133192014-08-01 Jakub Jelinek <jakub@redhat.com>
13320
13321 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13322 (struct gomp_taskwait): New type.
13323 (struct gomp_task): Add taskwait and parent_depends_on, remove
13324 in_taskwait and taskwait_sem fields.
13325 (gomp_finish_task): Don't destroy taskwait_sem.
13326 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13327 taskwait and parent_depends_on.
13328 (GOMP_task): For if (0) tasks with depend clause that depend on
13329 earlier tasks don't defer them, instead call
13330 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13331 Initialize redundant_out field, for redundant out entries just
13332 move them at the end of linked list instead of removing them
13333 completely, and set redundant_out flag instead of redundant.
13334 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13335 that task.
13336 (gomp_task_run_post_handle_dependers): If parent is in
13337 gomp_task_maybe_wait_for_dependencies and newly runnable task
13338 is not parent_depends_on, queue it in parent->children linked
13339 list after all runnable tasks with parent_depends_on set.
13340 Adjust for addition of taskwait indirection.
13341 (gomp_task_run_post_remove_parent): If parent is in
13342 gomp_task_maybe_wait_for_dependencies and task to be removed
13343 is parent_depends_on, decrement n_depend and if needed awake
13344 parent. Adjust for addition of taskwait indirection.
13345 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13346 (gomp_task_maybe_wait_for_dependencies): New function.
13347 * testsuite/libgomp.c/depend-5.c: New test.
13348
60ab4b44
TB
133492014-07-13 Tobias Burnus <burnus@net-b.de>
13350
13351 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 13352 with TS 18508/Fortran 2015.
60ab4b44 13353
773ec47f
MP
133542014-07-06 Marek Polacek <polacek@redhat.com>
13355
13356 PR c/6940
13357 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13358
f707da16
JJ
133592014-07-03 Jakub Jelinek <jakub@redhat.com>
13360
13361 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13362 matches regex $lang_source_re, add $lang_include_flags to options.
13363 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13364 * testsuite/libgomp.c++/c++.exp: Likewise.
13365 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13366 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13367 ALWAYS_CFLAGS.
13368 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13369
07b6c044
TS
133702014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13371
13372 * testsuite/libgomp.fortran/fortran.exp: Explain
13373 gfortran-dg-runtest usage.
13374
da6f124d
JJ
133752014-06-25 Jakub Jelinek <jakub@redhat.com>
13376
13377 * testsuite/libgomp.fortran/simd5.f90: New test.
13378 * testsuite/libgomp.fortran/simd6.f90: New test.
13379 * testsuite/libgomp.fortran/simd7.f90: New test.
13380
b46ebd6c
JJ
133812014-06-24 Jakub Jelinek <jakub@redhat.com>
13382
56ad0e38
JJ
13383 * testsuite/libgomp.c/for-2.c: Define SC to static for
13384 #pragma omp for simd testing.
13385 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13386 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13387 SC macro.
13388 * testsuite/libgomp.c/simd-14.c: New test.
13389 * testsuite/libgomp.c/simd-15.c: New test.
13390 * testsuite/libgomp.c/simd-16.c: New test.
13391 * testsuite/libgomp.c/simd-17.c: New test.
13392 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13393 #pragma omp for simd testing.
13394 * testsuite/libgomp.c++/simd10.C: New test.
13395 * testsuite/libgomp.c++/simd11.C: New test.
13396 * testsuite/libgomp.c++/simd12.C: New test.
13397 * testsuite/libgomp.c++/simd13.C: New test.
13398
b46ebd6c
JJ
13399 * testsuite/libgomp.fortran/aligned1.f03: New test.
13400 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13401 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13402 tasks with !$omp parallel !$omp single.
13403 * testsuite/libgomp.fortran/target8.f90: New test.
13404 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13405 not to use trim in the combiner, instead call elemental function.
13406 (fn): New elemental function.
13407 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13408 Make elemental.
13409 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13410 omp_in): Likewise.
13411 * testsuite/libgomp.fortran/udr12.f90: New test.
13412 * testsuite/libgomp.fortran/udr13.f90: New test.
13413 * testsuite/libgomp.fortran/udr14.f90: New test.
13414 * testsuite/libgomp.fortran/udr15.f90: New test.
13415
f014c653
JJ
134162014-06-18 Jakub Jelinek <jakub@redhat.com>
13417
13418 * omp_lib.f90.in (openmp_version): Set to 201307.
13419 * omp_lib.h.in (openmp_version): Likewise.
13420 * testsuite/libgomp.c/target-8.c: New test.
13421 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13422 and inbranch clauses.
13423 * testsuite/libgomp.fortran/depend-3.f90: New test.
13424 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13425 openmp_version.
13426 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13427 * testsuite/libgomp.fortran/target1.f90: New test.
13428 * testsuite/libgomp.fortran/target2.f90: New test.
13429 * testsuite/libgomp.fortran/target3.f90: New test.
13430 * testsuite/libgomp.fortran/target4.f90: New test.
13431 * testsuite/libgomp.fortran/target5.f90: New test.
13432 * testsuite/libgomp.fortran/target6.f90: New test.
13433 * testsuite/libgomp.fortran/target7.f90: New test.
13434
92d28cbb
JJ
134352014-06-10 Jakub Jelinek <jakub@redhat.com>
13436
13437 PR fortran/60928
13438 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13439 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13440 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13441 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13442 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13443 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13444 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13445 * testsuite/libgomp.fortran/associate1.f90: New test.
13446 * testsuite/libgomp.fortran/associate2.f90: New test.
13447 * testsuite/libgomp.fortran/procptr1.f90: New test.
13448
5f23671d
JJ
134492014-06-06 Jakub Jelinek <jakub@redhat.com>
13450
13451 * testsuite/libgomp.fortran/simd1.f90: New test.
13452 * testsuite/libgomp.fortran/udr1.f90: New test.
13453 * testsuite/libgomp.fortran/udr2.f90: New test.
13454 * testsuite/libgomp.fortran/udr3.f90: New test.
13455 * testsuite/libgomp.fortran/udr4.f90: New test.
13456 * testsuite/libgomp.fortran/udr5.f90: New test.
13457 * testsuite/libgomp.fortran/udr6.f90: New test.
13458 * testsuite/libgomp.fortran/udr7.f90: New test.
13459 * testsuite/libgomp.fortran/udr8.f90: New test.
13460 * testsuite/libgomp.fortran/udr9.f90: New test.
13461 * testsuite/libgomp.fortran/udr10.f90: New test.
13462 * testsuite/libgomp.fortran/udr11.f90: New test.
13463
0389fbb5
UB
134642014-05-27 Uros Bizjak <ubizjak@gmail.com>
13465
13466 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13467 vect_simd_clones effective target.
13468 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13469
decaaec8
JJ
134702014-05-21 Jakub Jelinek <jakub@redhat.com>
13471
13472 PR middle-end/61252
13473 * testsuite/libgomp.c++/simd-9.C: New test.
13474
72832460
UB
134752014-05-18 Uros Bizjak <ubizjak@gmail.com>
13476
13477 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13478 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13479 texts according to their @menu entry positions.
13480
dd2fc525
JJ
134812014-05-11 Jakub Jelinek <jakub@redhat.com>
13482
13483 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13484 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13485 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13486 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13487 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13488 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13489 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13490 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13491 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13492 * testsuite/libgomp.fortran/depend-1.f90: New test.
13493 * testsuite/libgomp.fortran/depend-2.f90: New test.
13494 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13495 * testsuite/libgomp.fortran/simd1.f90: New test.
13496 * testsuite/libgomp.fortran/simd2.f90: New test.
13497 * testsuite/libgomp.fortran/simd3.f90: New test.
13498 * testsuite/libgomp.fortran/simd4.f90: New test.
13499 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13500
95782571
JJ
135012014-05-02 Jakub Jelinek <jakub@redhat.com>
13502
13503 * testsuite/libgomp.c/simd-10.c: New test.
13504 * testsuite/libgomp.c/simd-11.c: New test.
13505 * testsuite/libgomp.c/simd-12.c: New test.
13506 * testsuite/libgomp.c/simd-13.c: New test.
13507
f7468577
JJ
135082014-04-24 Jakub Jelinek <jakub@redhat.com>
13509
42056eac
JJ
13510 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13511 atomic type clauses in any order and optional comma in between.
13512 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13513 * testsuite/libgomp.c/atomic-17.c: Likewise.
13514
f7468577
JJ
13515 * testsuite/libgomp.c/simd-7.c: New test.
13516 * testsuite/libgomp.c/simd-8.c: New test.
13517 * testsuite/libgomp.c/simd-9.c: New test.
13518 * testsuite/libgomp.c/loop-16.c: New test.
13519
ab18f2f5
RH
135202014-04-02 Richard Henderson <rth@redhat.com>
13521
13522 * config/linux/futex.h (futex_wait): Get error value from errno.
13523 (futex_wake): Likewise.
13524
8bcc90b0
JJ
135252014-03-25 Jakub Jelinek <jakub@redhat.com>
13526
13527 PR c++/60331
13528 * testsuite/libgomp.c++/udr-11.C: New test.
13529 * testsuite/libgomp.c++/udr-12.C: New test.
13530 * testsuite/libgomp.c++/udr-13.C: New test.
13531 * testsuite/libgomp.c++/udr-14.C: New test.
13532 * testsuite/libgomp.c++/udr-15.C: New test.
13533 * testsuite/libgomp.c++/udr-16.C: New test.
13534 * testsuite/libgomp.c++/udr-17.C: New test.
13535 * testsuite/libgomp.c++/udr-18.C: New test.
13536 * testsuite/libgomp.c++/udr-19.C: New test.
13537
18d73c7f
RS
135382014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13539
13540 Update copyright years
13541
f9030485
RS
135422014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13543
13544 * hashtab.h: Use the standard form for the copyright notice.
13545
98db73df
TB
135462014-01-02 Tobias Burnus <burnus@net-b.de>
13547
13548 * libgomp.texi: Bump @copying's copyright year.
13549
ae246f7f
AT
135502013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
13551
93d90219 13552 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
13553 alloca () with __builtin_alloca ().
13554 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13555 * testsuite/libgomp.c/lock-3.c: Likewise.
13556 * testsuite/libgomp.c/pr48591.c: Likewise.
13557
fa00a5fe
JJ
135582013-12-17 Jakub Jelinek <jakub@redhat.com>
13559
13560 PR testsuite/59534
13561 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13562 comparisons.
13563
e9792e1d
JJ
135642013-12-16 Jakub Jelinek <jakub@redhat.com>
13565
13566 PR libgomp/58756
13567 * testsuite/libgomp.c/pr58756.c: New test.
13568
cab37c89
JJ
135692013-12-12 Jakub Jelinek <jakub@redhat.com>
13570
13571 PR libgomp/59467
13572 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13573 !$omp parallel.
13574
de14871c
TS
135752013-11-07 Thomas Schwinge <thomas@codesourcery.com>
13576
1707a5de
TS
13577 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13578 ALWAYS_CFLAGS.
13579 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13580 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13581 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13582 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13583 Likewise.
13584
70f05c43
TS
13585 * libgomp_g.h: Include <stddef.h> for size_t.
13586
de14871c
TS
13587 * libgomp.spec.in: Update comment about libgomp's dependencies.
13588 * configure.ac: Likewise.
13589 * configure: Regenerate.
13590
83fd6c5b
TB
135912013-10-16 Tobias Burnus <burnus@net-b.de>
13592
13593 * libgomp.texi: (Runtime Library Routines): Update references for
13594 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13595 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13596 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13597 (Environment Variables): Update references for OpenMP 4.0. Add
13598 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13599 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13600 order.
13601
c8673881
JJ
136022013-10-14 Jakub Jelinek <jakub@redhat.com>
13603
13604 * env.c (parse_bind_var): Initialize value to avoid
13605 (false positive) warning.
13606
f89163fd
JJ
136072013-10-12 Jakub Jelinek <jakub@redhat.com>
13608
13609 PR libgomp/58691
13610 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13611 to check variable.
13612 (gomp_init_num_threads): Move i variable declaration into
13613 #ifdef CPU_ALLOC_SIZE block.
13614 * config/linux/affinity.c (gomp_affinity_init_level): Test
13615 gomp_places_list_len == 0 rather than gomp_places_list == 0
13616 when checking for topology reading error.
13617 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13618 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13619 gomp_places_list, only parse env var and always return false.
13620 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13621 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13622 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13623 and either of these variables were parsed correctly into a places
13624 list.
13625
1d340638
TS
136262013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13627 Jakub Jelinek <jakub@redhat.com>
13628
13629 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13630 of 5 loopfn matches.
13631 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13632 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13633 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13634 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13635 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13636 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13637 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13638 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13639
71a81c21
TS
136402013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13641
bd87f731
TS
13642 * Makefile.am (omp_lib.mod): Streamline rule.
13643 * Makefile.in: Regenerate.
13644
f5745bed
TS
13645 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13646 exceptions.
13647
b5512c66
TS
13648 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13649 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13650 * testsuite/libgomp.fortran/lib2.f: Likewise.
13651 * testsuite/libgomp.fortran/lib3.f: Likewise.
13652
451c19c4
TS
13653 * configure.ac: Typo fix.
13654 * configure: Regenerate.
13655
86a6016d
TS
13656 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13657 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13658
71a81c21
TS
13659 * omp.h.in: Don't touch the user's namespace.
13660
acf0174b
JJ
136612013-10-11 Jakub Jelinek <jakub@redhat.com>
13662 Tobias Burnus <burnus@net-b.de>
13663 Richard Henderson <rth@redhat.com>
13664
13665 * target.c: New file.
13666 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13667 * Makefile.in: Regenerated.
13668 * libgomp_g.h (GOMP_task): Add depend argument.
13669 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13670 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13671 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13672 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13673 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13674 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13675 GOMP_taskgroup_start, GOMP_taskgroup_end,
13676 GOMP_parallel_sections): New prototypes.
13677 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13678 (omp_is_initial_device_): New function.
13679 (ULP, STR1, STR2, ialias_redirect): Removed.
13680 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13681 omp_set_default_device_8_, omp_get_default_device_,
13682 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13683 functions.
13684 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13685 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13686 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13687 @@GOMP_4.0.
13688 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13689 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13690 omp_set_default_device, omp_set_default_device_,
13691 omp_set_default_device_8_, omp_get_default_device,
13692 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13693 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13694 omp_get_team_num_): Export @@OMP_4.0.
13695 * team.c (struct gomp_thread_start_data): Add place field.
13696 (gomp_thread_start): Clear thr->thread_pool and
13697 thr->task before returning. Use gomp_team_barrier_wait_final
13698 instead of gomp_team_barrier_wait. Initialize thr->place.
13699 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13700 team_cancelled and task_queued_count fields.
13701 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13702 before calling pthread_exit.
13703 (gomp_free_thread): No longer static. Use
13704 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13705 (gomp_team_start): Add flags argument. Set
13706 thr->thread_pool->threads_busy to nthreads immediately after creating
13707 new pool. Use gomp_managed_threads_lock instead of
13708 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13709 (gomp_team_end): Use gomp_managed_threads_lock instead of
13710 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13711 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 13712 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
13713 rather than thr->ts.work_share.
13714 (initialize_team): Don't call gomp_sem_init here.
13715 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13716 caller.
13717 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13718 * env.c (gomp_global_icv): Add default_device_var, target_data and
13719 bind_var initializers.
13720 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13721 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13722 gomp_places_list_len): New variables.
13723 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13724 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13725 sized places.
13726 (gomp_cancel_var): New global variable.
13727 (parse_int): New function.
13728 (handle_omp_display_env): New function.
13729 (initialize_env): Use it. Initialize default_device_var.
13730 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13731 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13732 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13733 been successfully parsed (and call gomp_init_affinity in that case).
13734 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13735 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13736 omp_get_team_num, omp_is_initial_device): New functions.
13737 * libgomp.h: Include stdlib.h.
13738 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13739 Define.
13740 (struct target_mem_desc): Forward declare.
13741 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13742 and thread_limit_var fields.
13743 (gomp_get_num_devices): New prototype.
13744 (gomp_cancel_var): New extern decl.
13745 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13746 team_cancelled and task_queued_count fields. Add comments about
13747 task_{,queued_,running_}count.
13748 (gomp_cancel_kind): New enum.
13749 (gomp_work_share_end_cancel): New prototype.
13750 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13751 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13752 and depend fields.
13753 (struct gomp_taskgroup): New type.
13754 (struct gomp_task_depend_entry,
13755 struct gomp_dependers_vec): New types.
13756 (gomp_finish_task): Free depend_hash if non-NULL.
13757 (struct gomp_team_state): Add place_partition_off
13758 and place_partition_len fields.
13759 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13760 gomp_places_list_len): New extern decls.
13761 (struct gomp_thread): Add place field.
13762 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13763 (gomp_init_thread_affinity): Add place argument.
13764 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13765 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13766 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13767 gomp_affinity_init_level, gomp_affinity_print_place): New
13768 prototypes.
13769 (gomp_team_start): Add flags argument.
13770 (gomp_thread_limit_var, gomp_remaining_threads_count,
13771 gomp_remaining_threads_lock): Remove.
13772 (gomp_managed_threads_lock): New variable.
13773 (struct gomp_thread_pool): Add threads_busy field.
13774 (gomp_free_thread): New prototype.
13775 * task.c: Include hashtab.h.
13776 (hash_entry_type): New typedef.
13777 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13778 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13779 copy_ctors_done and taskgroup fields.
13780 (GOMP_task): Add depend argument, handle depend clauses. If
13781 gomp_team_barrier_cancelled or if it's taskgroup has been
13782 cancelled, don't queue or start new tasks. Set copy_ctors_done
13783 field if needed. Initialize taskgroup field. If copy_ctors_done
13784 and already cancelled, don't discard the task. If taskgroup is
13785 non-NULL, enqueue the task into taskgroup queue. Increment
13786 num_children field in taskgroup. Increment task_queued_count.
13787 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13788 gomp_task_run_post_remove_taskgroup): New inline functions.
13789 (gomp_task_run_post_handle_depend_hash,
13790 gomp_task_run_post_handle_dependers,
13791 gomp_task_run_post_handle_depend): New functions.
13792 (GOMP_taskwait): Use them. If more than one new tasks
13793 have been queued, wake other threads if needed.
13794 (gomp_barrier_handle_tasks): Likewise. If
13795 gomp_team_barrier_cancelled, don't start any new tasks, just free
13796 all tasks.
13797 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13798 * omp_lib.f90.in
13799 (omp_proc_bind_kind, omp_proc_bind_false,
13800 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13801 omp_proc_bind_spread): New params.
13802 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13803 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13804 omp_get_team_num, omp_is_initial_device): New interfaces.
13805 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13806 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13807 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13808 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13809 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13810 useless use omp_lib_kinds.
13811 * omp.h.in (omp_proc_bind_t): New typedef.
13812 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13813 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13814 omp_get_team_num, omp_is_initial_device): New prototypes.
13815 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13816 through to gomp_team_start.
13817 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13818 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13819 Adjust gomp_parallel_loop_start callers.
13820 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13821 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13822 GOMP_loop_end_cancel): New functions.
13823 (GOMP_parallel_end): Add ialias_redirect.
13824 * hashtab.h: New file.
13825 * libgomp.texi (Environment Variables): Minor cleanup,
13826 update section refs to OpenMP 4.0rc2.
13827 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13828 environment variables.
13829 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13830 team->work_shares_to_free to thr->ts.work_share before calling
13831 free_work_share.
13832 (gomp_work_share_end_cancel): New function.
13833 * config/linux/proc.c: Include errno.h.
13834 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13835 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13836 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13837 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13838 gomp_cpuset_size is sizeof (cpu_set_t).
13839 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13840 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13841 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13842 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13843 contain any logical CPUs.
13844 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13845 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13846 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13847 pthread_getaffinity_np. Check gomp_places_list instead of
13848 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13849 * config/linux/bar.c (gomp_barrier_wait_end,
13850 gomp_barrier_wait_last): Use BAR_* defines.
13851 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13852 from state where needed. Set work_share_cancelled to 0 on last
13853 thread.
13854 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13855 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13856 functions.
13857 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13858 Add cpusetsize argument.
13859 (gomp_cpuset_size, gomp_cpusetp): Declare.
13860 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13861 (affinity_counter): Remove.
13862 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13863 if CPU_ALLOC_SIZE isn't defined.
13864 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13865 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13866 bind current thread to the first place.
13867 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13868 pthread_setaffinity_np to gomp_places_list[place].
13869 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13870 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13871 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13872 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13873 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13874 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13875 (gomp_barrier_t): Add awaited_final field.
13876 (gomp_barrier_init): Initialize awaited_final field.
13877 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13878 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13879 prototypes.
13880 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13881 defines.
13882 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13883 gomp_team_barrier_cancelled): New inline functions.
13884 (gomp_barrier_last_thread,
13885 gomp_team_barrier_set_task_pending,
13886 gomp_team_barrier_clear_task_pending,
13887 gomp_team_barrier_set_waiting_for_tasks,
13888 gomp_team_barrier_waiting_for_tasks,
13889 gomp_team_barrier_done): Use BAR_* defines.
13890 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13891 (gomp_barrier_wait_end): Use BAR_* defines.
13892 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13893 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13894 Use BAR_* defines.
13895 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13896 gomp_team_barrier_cancel): New functions.
13897 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13898 argument.
13899 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13900 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13901 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13902 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13903 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13904 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13905 (gomp_barrier_t): Add cancellable field.
13906 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13907 gomp_team_barrier_cancel): New prototypes.
13908 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13909 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13910 gomp_team_barrier_cancelled): New inline functions.
13911 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13912 gomp_team_barrier_set_task_pending,
13913 gomp_team_barrier_clear_task_pending,
13914 gomp_team_barrier_set_waiting_for_tasks,
13915 gomp_team_barrier_waiting_for_tasks,
13916 gomp_team_barrier_done): Use BAR_* defines.
13917 * barrier.c (GOMP_barrier_cancel): New function.
13918 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13919 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13920 omp_proc_bind_spread): New params.
13921 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13922 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13923 omp_get_team_num, omp_is_initial_device): New externals.
13924 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13925 New functions.
13926 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13927 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13928 infinity. If not nested, just return minimum of max_num_threads
13929 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13930 to the returned value. Otherwise, don't update atomically
13931 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13932 (GOMP_parallel_end): Adjust for thread_limit now being in
13933 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13934 infinity. Adjust threads_busy in the pool rather than
13935 gomp_remaining_threads_count. Remember team->nthreads and call
13936 gomp_team_end before adjusting threads_busy, if not nested
13937 afterwards, just set it to 1 non-atomically. Add ialias.
13938 (GOMP_parallel_start): Adjust gomp_team_start caller.
13939 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13940 * testsuite/libgomp.c/affinity-1.c: New test.
13941 * testsuite/libgomp.c/atomic-15.c: New test.
13942 * testsuite/libgomp.c/atomic-16.c: New test.
13943 * testsuite/libgomp.c/atomic-17.c: New test.
13944 * testsuite/libgomp.c/cancel-for-1.c: New test.
13945 * testsuite/libgomp.c/cancel-for-2.c: New test.
13946 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13947 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13948 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13949 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13950 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13951 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13952 * testsuite/libgomp.c/depend-1.c: New test.
13953 * testsuite/libgomp.c/depend-2.c: New test.
13954 * testsuite/libgomp.c/depend-3.c: New test.
13955 * testsuite/libgomp.c/depend-4.c: New test.
13956 * testsuite/libgomp.c/for-1.c: New test.
13957 * testsuite/libgomp.c/for-1.h: New file.
13958 * testsuite/libgomp.c/for-2.c: New test.
13959 * testsuite/libgomp.c/for-2.h: New file.
13960 * testsuite/libgomp.c/for-3.c: New test.
13961 * testsuite/libgomp.c/pr58392.c: New test.
13962 * testsuite/libgomp.c/simd-1.c: New test.
13963 * testsuite/libgomp.c/simd-2.c: New test.
13964 * testsuite/libgomp.c/simd-3.c: New test.
13965 * testsuite/libgomp.c/simd-4.c: New test.
13966 * testsuite/libgomp.c/simd-5.c: New test.
13967 * testsuite/libgomp.c/simd-6.c: New test.
13968 * testsuite/libgomp.c/target-1.c: New test.
13969 * testsuite/libgomp.c/target-2.c: New test.
13970 * testsuite/libgomp.c/target-3.c: New test.
13971 * testsuite/libgomp.c/target-4.c: New test.
13972 * testsuite/libgomp.c/target-5.c: New test.
13973 * testsuite/libgomp.c/target-6.c: New test.
13974 * testsuite/libgomp.c/target-7.c: New test.
13975 * testsuite/libgomp.c/taskgroup-1.c: New test.
13976 * testsuite/libgomp.c/thread-limit-1.c: New test.
13977 * testsuite/libgomp.c/thread-limit-2.c: New test.
13978 * testsuite/libgomp.c/thread-limit-3.c: New test.
13979 * testsuite/libgomp.c/udr-1.c: New test.
13980 * testsuite/libgomp.c/udr-2.c: New test.
13981 * testsuite/libgomp.c/udr-3.c: New test.
13982 * testsuite/libgomp.c++/affinity-1.C: New test.
13983 * testsuite/libgomp.c++/atomic-10.C: New test.
13984 * testsuite/libgomp.c++/atomic-11.C: New test.
13985 * testsuite/libgomp.c++/atomic-12.C: New test.
13986 * testsuite/libgomp.c++/atomic-13.C: New test.
13987 * testsuite/libgomp.c++/atomic-14.C: New test.
13988 * testsuite/libgomp.c++/atomic-15.C: New test.
13989 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13990 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13991 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13992 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13993 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13994 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13995 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13996 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13997 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13998 * testsuite/libgomp.c++/cancel-test.h: New file.
13999 * testsuite/libgomp.c++/for-9.C: New test.
14000 * testsuite/libgomp.c++/for-10.C: New test.
14001 * testsuite/libgomp.c++/for-11.C: New test.
14002 * testsuite/libgomp.c++/simd-1.C: New test.
14003 * testsuite/libgomp.c++/simd-2.C: New test.
14004 * testsuite/libgomp.c++/simd-3.C: New test.
14005 * testsuite/libgomp.c++/simd-4.C: New test.
14006 * testsuite/libgomp.c++/simd-5.C: New test.
14007 * testsuite/libgomp.c++/simd-6.C: New test.
14008 * testsuite/libgomp.c++/simd-7.C: New test.
14009 * testsuite/libgomp.c++/simd-8.C: New test.
14010 * testsuite/libgomp.c++/target-1.C: New test.
14011 * testsuite/libgomp.c++/target-2.C: New test.
14012 * testsuite/libgomp.c++/target-2-aux.cc: New file.
14013 * testsuite/libgomp.c++/target-3.C: New test.
14014 * testsuite/libgomp.c++/taskgroup-1.C: New test.
14015 * testsuite/libgomp.c++/udr-1.C: New test.
14016 * testsuite/libgomp.c++/udr-2.C: New test.
14017 * testsuite/libgomp.c++/udr-3.C: New test.
14018 * testsuite/libgomp.c++/udr-4.C: New test.
14019 * testsuite/libgomp.c++/udr-5.C: New test.
14020 * testsuite/libgomp.c++/udr-6.C: New test.
14021 * testsuite/libgomp.c++/udr-7.C: New test.
14022 * testsuite/libgomp.c++/udr-8.C: New test.
14023 * testsuite/libgomp.c++/udr-9.C: New test.
14024
bd599dea
JJ
140252013-09-20 Jakub Jelinek <jakub@redhat.com>
14026
14027 PR testsuite/57605
14028 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
14029 ALWAYS_CFLAGS.
14030
3cbe17f7
AM
140312013-09-20 Alan Modra <amodra@gmail.com>
14032
14033 * configure: Regenerate.
14034
4befd127
JJ
140352013-09-19 Jakub Jelinek <jakub@redhat.com>
14036
14037 * testsuite/libgomp.c/sections-2.c: New test.
14038
946c8f7b
MS
140392013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
14040
14041 * testsuite/libgomp.fortran/strassen.f90:
14042 Add dg-skip-if aarch64_tiny.
14043
1ef3b58e
IS
140442013-06-20 Iain Sandoe <iain@codesourcery.com>
14045 Cesar Philippidis <cesar@codesourcery.com>
14046
14047 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
14048 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
14049 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
14050 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14051 * testsuite/libgomp.graphite/graphite.exp: Likewise.
14052 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
14053 Use dg-runtest rather than gfortran-dg-runtest.
14054
9275f73a
TS
140552013-06-10 Thomas Schwinge <thomas@codesourcery.com>
14056
14057 * testsuite/libgomp.c/icv-2.c: Extend current handling of
14058 Linux-based x86 systems to cover all GNU systems.
14059 * testsuite/libgomp.c/lock-3.c: Likewise.
14060 * testsuite/libgomp.c/pr48591.c: Likewise.
14061
492992e2
TS
140622013-06-06 Thomas Schwinge <thomas@codesourcery.com>
14063
48df3acb
TS
14064 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14065 GNU/Hurd, as done for Linux-based systems.
14066
492992e2
TS
14067 * config/posix/ptrlock.h: Fix comment.
14068
4fed6b25
TB
140692013-05-27 Tobias Burnus <burnus@net-b.de>
14070
14071 PR fortran/57423
14072 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14073 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14074 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14075 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14076 omp_destroy_nest_lock): Correct arguments to match the one in
14077 the OpenMP spec.
14078 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14079 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14080 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14081 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14082
5a0f4dd3
JJ
140832013-05-16 Jakub Jelinek <jakub@redhat.com>
14084
14085 * testsuite/libgomp.c/loop-13.c: New test.
14086 * testsuite/libgomp.c/loop-14.c: New test.
14087 * testsuite/libgomp.c/loop-15.c: New test.
14088 * testsuite/libgomp.c++/loop-13.C: New test.
14089 * testsuite/libgomp.c++/loop-14.C: New test.
14090 * testsuite/libgomp.c++/loop-15.C: New test.
14091
6d840d99
JJ
140922013-02-06 Jakub Jelinek <jakub@redhat.com>
14093
14094 PR middle-end/56217
14095 * testsuite/libgomp.c++/pr56217.C: New test.
14096
bed8d8a6
AM
140972013-02-01 Alan Modra <amodra@gmail.com>
14098
14099 * task.c (GOMP_task, GOMP_taskwait): Comment.
14100
3b35cd04
DV
141012013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
14102 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
14103
14104 PR libgomp/55561
14105 * config/linux/wait.h (do_spin): Use atomic load for addr.
14106 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14107 for intptr and ptrlock.
14108 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14109 for ptrlock.
14110
9a647288
AM
141112013-01-22 Alan Modra <amodra@gmail.com>
14112
14113 PR libgomp/51376
14114 PR libgomp/56073
14115 * task.c (GOMP_task): Revert 2011-12-09 change.
14116 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14117 barrier to read task->children..
14118 (gomp_barrier_handle_tasks): ..and matching atomic store with
14119 release barrier here when setting parent->children to NULL.
14120
f34dea03
JJ
141212013-01-16 Jakub Jelinek <jakub@redhat.com>
14122 Tobias Burnus <burnus@net-b.de>
14123
14124 PR driver/55884
14125 * testsuite/libgomp.fortran/fortran.exp: Use
14126 -fintrinsic-modules-path= instead of
14127 -fintrinsic-modules-path.
14128
8129609c
RS
141292013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14130
14131 Update copyright years.
14132
aa86bf1e
TB
141332012-12-19 Tobias Burnus <burnus@net-b.de>
14134
14135 * testsuite/libgomp.fortran/fortran.exp: Set
14136 -fintrinsic-modules-path.
14137
2865ea66
TB
141382012-12-19 Tobias Burnus <burnus@net-b.de>
14139
14140 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14141 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14142
4c5ba8d0
JJ
141432012-11-21 Jakub Jelinek <jakub@redhat.com>
14144
14145 PR libgomp/55411
14146 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14147 if pool had any threads_used.
14148
e9f958c2
JH
141492012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14150
14151 * testsuite/libgomp.c++/pr24455.C: Use
14152 -Wl,-undefined,dynamic_lookup on darwin.
14153
a57d75dc
DE
141542012-11-07 David Edelsohn <dje.gcc@gmail.com>
14155
14156 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14157
c6c08485
DH
141582012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14159
14160 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14161
c1f37c00
IB
141622012-10-23 Ian Bolton <ian.bolton@arm.com>
14163 Jim MacArthur <jim.macarthur@arm.com>
14164 Marcus Shawcroft <marcus.shawcroft@arm.com>
14165 Nigel Stephens <nigel.stephens@arm.com>
14166 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14167 Richard Earnshaw <rearnsha@arm.com>
14168 Sofiane Naci <sofiane.naci@arm.com>
14169 Stephen Thomas <stephen.thomas@arm.com>
14170 Tejas Belagod <tejas.belagod@arm.com>
14171 Yufeng Zhang <yufeng.zhang@arm.com>
14172
14173 * configure.tgt: Add AArch64.
14174
7c424acd
JM
141752012-10-04 Jason Merrill <jason@redhat.com>
14176
14177 * testsuite/libgomp.c++/tls-init1.C: New.
14178
6608378b
DE
141792012-09-14 David Edelsohn <dje.gcc@gmail.com>
14180
14181 * configure: Regenerated.
14182
c24dbebb
CLT
141832012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14184
14185 * config/linux/mips/futex.h (sys_futex0): Change to static
14186 function with noinline, nomips16 attributes under MIPS16. Adjust
14187 asm statement to place 'li v0,SYS_futex' immediately before
14188 syscall insn.
14189
3d3949df
SL
141902012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14191
14192 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14193 conflict with index.html on case-insensitive file systems.
14194
68a12ef3
UB
141952012-07-03 Uros Bizjak <ubizjak@gmail.com>
14196
14197 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14198 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14199
33ad93b9 142002012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
14201 Michael Matz <matz@suse.de>
14202 Tobias Grosser <tobias@grosser.es>
14203 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
14204
14205 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14206 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14207 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14208 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14209
e6fdc918
AS
142102012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14211
14212 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14213
62e0a1ed
RG
142142012-06-22 Richard Guenther <rguenther@suse.de>
14215
14216 Merge from graphite branch
14217 2012-01-13 Tobias Grosser <tobias@grosser.es>
14218
14219 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14220 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14221
26127932
JJ
142222012-06-07 Jakub Jelinek <jakub@redhat.com>
14223
14224 PR middle-end/53580
14225 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14226 use GOMP_barrier () call instead.
14227 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14228 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14229 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14230 call GOMP_barrier instead.
14231 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14232
43fa5db5
JJ
142332012-06-06 Jakub Jelinek <jakub@redhat.com>
14234
14235 PR libgomp/52993
14236 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14237 argument to memset call.
14238
e6d5f8c9
L
142392012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14240
14241 * configure: Regenerated.
14242
559d990c
MLI
142432012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14244
14245 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14246
b9c23a61
L
142472012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14248
14249 PR bootstrap/52812
14250 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14251
c140ddf3
JJ
142522012-03-22 Jakub Jelinek <jakub@redhat.com>
14253
14254 PR middle-end/52547
14255 * testsuite/libgomp.c/pr52547.c: New test.
14256
6a26a74d
BRF
142572012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14258
14259 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14260
b24513a1
RO
142612012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14262
14263 * configure.tgt (mips-sgi-irix6*): Remove.
14264
5c30094f
RO
142652012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14266
14267 * configure.tgt (alpha*-dec-osf*): Remove.
14268
14269 * config/osf/sem.h: Remove.
14270 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14271
a339c9d6
EB
142722012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14273
14274 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14275
cc2de92d
RO
142762012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14277
14278 PR libstdc++/52188
14279 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14280 Remove ENABLE_SYMVERS_SOL2.
14281 * configure: Regenerate.
14282 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14283 (PREPROCESS): New variable.
14284 (libgomp.ver): New target.
14285 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14286 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14287 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14288 Use libgomp.ver.
14289 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14290 * Makefile.in: Regenerate.
14291
dd552284
WL
142922012-02-14 Walter Lee <walt@tilera.com>
14293
14294 * configure.tgt: Handle tilegx and tilepro.
14295 * config/linux/tile/futex.h: New file.
14296
31432e21
RG
142972012-02-08 Richard Guenther <rguenther@suse.de>
14298
14299 PR tree-optimization/46886
14300 * testsuite/libgomp.c/pr46886.c: New testcase.
14301
b9264b5f
MK
143022012-01-25 Matthias Klose <doko@ubuntu.com>
14303
14304 * config/linux/arm: Remove empty directory.
14305 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14306
fbf7be80
AM
143072011-12-09 Alan Modra <amodra@gmail.com>
14308
14309 PR libgomp/51376
14310 * task.c (GOMP_taskwait): Don't access task->children outside of
14311 task_lock mutex region.
14312 (GOMP_task): Likewise.
14313
5de62d00
JJ
143142011-12-06 Jakub Jelinek <jakub@redhat.com>
14315
14316 PR libgomp/51132
14317 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14318 to file scope.
14319 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14320 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14321 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14322 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14323 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14324
45608a43
AM
143252011-12-02 Alan Modra <amodra@gmail.com>
14326
14327 * config/linux/affinity.c: Use atomic rather than sync builtin.
14328 * config/linux/lock.c: Likewise.
14329 * config/linux/ptrlock.h: Likewise.
14330 * config/linux/ptrlock.c: Likewise.
14331 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14332 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14333 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14334 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14335 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14336 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14337 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14338 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14339 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14340 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14341
ab6dd406
AM
143422011-11-30 Alan Modra <amodra@gmail.com>
14343
14344 PR libgomp/51298
14345 * config/linux/bar.h: Use atomic rather than sync builtins.
14346 * config/linux/bar.c: Likewise. Add missing acquire
14347 synchronisation on generation field.
14348 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14349 double unlock.
14350
b40c885f
AM
143512011-11-30 Alan Modra <amodra@gmail.com>
14352
14353 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14354 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14355 * config/linux/mutex.h: Use atomic rather than sync builtins.
14356 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14357 * config/linux/omp-lock.h: Comment fix.
14358 * config/linux/arm/mutex.h: Delete.
14359 * config/linux/powerpc/mutex.h: Delete.
14360 * config/linux/ia64/mutex.h: Delete.
14361 * config/linux/mips/mutex.h: Delete.
14362
3e348fcc
AM
143632011-11-30 Alan Modra <amodra@gmail.com>
14364
14365 PR libgomp/51249
14366 * config/linux/sem.h: Rewrite.
14367 * config/linux/sem.c: Rewrite.
14368
cef86eb2
RH
143692011-11-28 Richard Henderson <rth@redhat.com>
14370
14371 * libgomp.h (enum memmodel): New.
14372
c6084f68
AT
143732011-11-21 Andreas Tobler <andreast@fgznet.ch>
14374
14375 * configure: Regenerate.
14376
06fe026c
MK
143772011-10-10 Matthias Klose <doko@ubuntu.com>
14378
14379 * config/posix95: Remove empty directory.
14380
a6c975bd
JJ
143812011-08-26 Jakub Jelinek <jakub@redhat.com>
14382
14383 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14384
c26dffff
JJ
143852011-08-19 Jakub Jelinek <jakub@redhat.com>
14386
14387 PR fortran/49792
14388 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14389 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14390
ddaad3c8
RO
143912011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14392
14393 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14394
98d03683
RO
143952011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14396
14397 PR libgomp/49965
14398 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14399
e0b23d9f
UB
144002011-08-03 Uros Bizjak <ubizjak@gmail.com>
14401
14402 * config/linux/proc.h: New.
14403 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14404 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14405 (gomp_init_num_threads): Update call to cpuset_popcount.
14406 (get_num_procs): Ditto.
14407 * config/linux/affinity.c (gomp_init_affinity): Call
14408 gomp_cpuset_popcount.
14409
20906c66
JJ
144102011-08-02 Jakub Jelinek <jakub@redhat.com>
14411
14412 PR fortran/42041
14413 PR fortran/46752
14414 * omp.h.in (omp_in_final): New prototype.
14415 * omp_lib.f90.in (omp_in_final): New interface.
14416 (omp_integer_kind, omp_logical_kind): Remove
14417 and replace all its uses in the module with 4.
14418 (openmp_version): Change to 201107.
14419 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14420 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14421 kind for the parameters.
14422 (omp_in_final): New external.
14423 (openmp_version): Change to 201107.
14424 * task.c (omp_in_final): New function.
14425 (gomp_init_task): Initialize final_task.
14426 (GOMP_task): Remove unused attribute from flags. Handle final
14427 tasks.
14428 (GOMP_taskyield): New function.
14429 (omp_in_final): Return true if if (false) or final (true) task
14430 or descendant of final (true).
14431 * fortran.c (omp_in_final_): New function.
14432 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14433 (GOMP_3.0): Export GOMP_taskyield.
14434 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14435 variables.
14436 (parse_unsigned_long_list): New function.
14437 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14438 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14439 even if parse_affinity returned false.
14440 * config/linux/affinity.c (gomp_init_affinity): Handle
14441 gomp_cpu_affinity_len == 0.
14442 * libgomp_g.h (GOMP_taskyield): New prototype.
14443 * libgomp.h (struct gomp_task): Add final_task field.
14444 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14445 * team.c (gomp_team_start): Override new task's nthreads_var icv
14446 if list form OMP_NUM_THREADS has been used and it has value for
14447 the new nesting level.
14448
14449 * testsuite/libgomp.c/atomic-11.c: New test.
14450 * testsuite/libgomp.c/atomic-12.c: New test.
14451 * testsuite/libgomp.c/atomic-13.c: New test.
14452 * testsuite/libgomp.c/atomic-14.c: New test.
14453 * testsuite/libgomp.c/reduction-6.c: New test.
14454 * testsuite/libgomp.c/task-5.c: New test.
14455 * testsuite/libgomp.c++/atomic-2.C: New test.
14456 * testsuite/libgomp.c++/atomic-3.C: New test.
14457 * testsuite/libgomp.c++/atomic-4.C: New test.
14458 * testsuite/libgomp.c++/atomic-5.C: New test.
14459 * testsuite/libgomp.c++/atomic-6.C: New test.
14460 * testsuite/libgomp.c++/atomic-7.C: New test.
14461 * testsuite/libgomp.c++/atomic-8.C: New test.
14462 * testsuite/libgomp.c++/atomic-9.C: New test.
14463 * testsuite/libgomp.c++/task-8.C: New test.
14464 * testsuite/libgomp.c++/reduction-4.C: New test.
14465 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14466 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14467 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14468 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14469 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14470 * testsuite/libgomp.fortran/pointer1.f90: New test.
14471 * testsuite/libgomp.fortran/pointer2.f90: New test.
14472 * testsuite/libgomp.fortran/task4.f90: New test.
14473
144742011-08-02 Tobias Burnus <burnus@net-b.de>
14475
14476 * libgomp.texi: Update OpenMP spec references to 3.1.
14477 (omp_in_final,OMP_PROC_BIND): New sections.
14478 (OMP_NUM_THREADS): Document that the value can be now a list.
14479 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14480
c01ecafc
L
144812011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14482
14483 * config/linux/x86/futex.h: Check __x86_64__ instead of
14484 __LP64__.
14485
25142650
JJ
144862011-07-29 Jakub Jelinek <jakub@redhat.com>
14487
14488 PR middle-end/49897
14489 PR middle-end/49898
14490 * testsuite/libgomp.c/pr49897-1.c: New test.
14491 * testsuite/libgomp.c/pr49897-2.c: New test.
14492 * testsuite/libgomp.c/pr49898-1.c: New test.
14493 * testsuite/libgomp.c/pr49898-2.c: New test.
14494
f53d712f
L
144952011-07-28 H.J. Lu <hongjiu.lu@intel.com>
14496
14497 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14498 for ia32 instead of ilp32.
14499
14500 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14501 * testsuite/libgomp.c/atomic-6.c: Likewise.
14502
3689198d
SP
145032011-07-23 Sebastian Pop <sebastian.pop@amd.com>
14504
14505 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14506 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14507
1a79cb73
RO
145082011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14509
14510 PR libgomp/45351
14511 * config/osf/sem.h: New file.
14512 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14513
c1f51484
RO
145142011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14515
14516 PR target/49541
14517 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14518 ldflags.
14519
bfee0724
JJ
145202011-07-15 Jakub Jelinek <jakub@redhat.com>
14521
14522 * config/linux/wait.h (do_spin): New inline, largely copied
14523 from do_wait, just don't do futex_wait here, instead return true if
14524 it should be done.
14525 (do_wait): Implement using do_spin.
14526 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14527 to prototype.
14528 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14529 __sync_bool_compare_and_swap, pass the oldval to
14530 gomp_mutex_lock_slow.
14531 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14532 If all mutex contenders are just spinning and not sleeping, don't
14533 change state to 2 unnecessarily. Optimize the loop when state has
14534 already become 2 to use just one atomic operation per loop instead
14535 of two.
14536 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14537 to prototype.
14538 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14539 __sync_bool_compare_and_swap, pass the oldval to
14540 gomp_mutex_lock_slow.
14541
fb79f500
JJ
145422011-06-22 Jakub Jelinek <jakub@redhat.com>
14543
14544 PR libgomp/49490
14545 * iter.c (gomp_iter_static_next): For chunk size 0
14546 only use n ceil/ nthreads size for the first
14547 n % nthreads threads in the team instead of
14548 all threads except for the last few ones which
14549 get less work or none at all.
14550 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14551 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14552 chunk argument, set run_sched_modifier to 0 for static
14553 resp. 1 for other kinds. If chunk argument is 0
14554 and not static, set value to 1.
14555
4577f730
JJ
145562011-05-19 Jakub Jelinek <jakub@redhat.com>
14557
ea93a47b
JJ
14558 PR c++/49043
14559 * testsuite/libgomp.c++/pr49043.C: New test.
14560
4577f730
JJ
14561 PR c++/48869
14562 * testsuite/libgomp.c++/pr48869.C: New test.
14563
e7385332
JJ
145642011-05-06 Jakub Jelinek <jakub@redhat.com>
14565
14566 PR fortran/48894
14567 * fortran.c: Include limits.h.
14568 (TO_INT): Define.
14569 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14570 *set.
14571 (omp_set_num_threads_8_, omp_set_schedule_8_,
14572 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14573 omp_get_team_size_8_): Use TO_INT macro.
14574 * testsuite/libgomp.fortran/pr48894.f90: New test.
14575
20790697
JJ
145762011-04-13 Jakub Jelinek <jakub@redhat.com>
14577
14578 PR middle-end/48591
14579 * testsuite/libgomp.c/pr48591.c: New test.
14580
bf382f5f
RO
145812011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14582
14583 PR bootstrap/48135
14584 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14585 * configure: Regenerate.
14586
113a53c1
JJ
145872011-02-27 Jakub Jelinek <jakub@redhat.com>
14588
14589 PR fortran/47886
14590 * testsuite/libgomp.fortran/task3.f90: New test.
14591
0024f1af
TB
145922011-02-24 Tobias Burnus <burnus@net-b.de>
14593
14594 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14595
21e1e594
JJ
145962011-02-23 Jakub Jelinek <jakub@redhat.com>
14597
14598 PR libgomp/47854
14599 * libgomp.texi (omp_get_wtime): Don't say time in the past
14600 must be Unix Epoch.
14601
67962076
JJ
146022011-02-18 Jakub Jelinek <jakub@redhat.com>
14603
14604 PR libgomp/47804
14605 * testsuite/libgomp.fortran/fortran.exp: Check for both
14606 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14607 but $blddir != "", still append ${blddir}/${lang_library_path}
14608 to ld_library_path.
14609
3808007c
TB
146102011-02-16 Tobias Burnus <burnus@net-b.de>
14611
14612 PR libgomp/47758
14613 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14614 of libquadmath.a before adding its libpath to ldflags.
14615
53b4d41d
JJ
146162011-02-14 Jakub Jelinek <jakub@redhat.com>
14617
14618 PR libgomp/47731
14619 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14620 to FUTEX_WAIT futex syscall.
14621 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14622
029c8f3e
RW
146232011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14624
14625 * configure: Regenerate.
14626
bddd6626
BK
146272011-01-20 Benjamin Kosnik <bkoz@redhat.com>
14628
14629 PR libstdc++/36104
14630 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14631
f1d4ab26
GP
146322011-01-16 Gerald Pfeifer
14633
14634 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14635
2b503136
JJ
146362010-12-14 Jakub Jelinek <jakub@redhat.com>
14637
14638 PR fortran/46874
14639 * libgomp.fortran/allocatable6.f90: New test.
14640
c0f9d583
RO
146412010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14642
14643 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14644 * configure: Regenerate.
14645
7de6ba7a
DK
146462010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
14647
14648 PR target/40125
14649 PR lto/46695
14650 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14651 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14652 * aclocal.m4: Regenerate.
14653 * configure: Regenerate.
14654 * Makefile.in: Regenerate.
14655 * testsuite/Makefile.in: Regenerate.
14656
b7516041
JJ
146572010-12-02 Jakub Jelinek <jakub@redhat.com>
14658
edaadf74
JJ
14659 PR fortran/46753
14660 * libgomp.fortran/pr46753.f90: New test.
14661
4c698cf8
JJ
14662 PR libgomp/43706
14663 * env.c (initialize_env): Default to spin count 300000
14664 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14665 is specified.
14666
b7516041
JJ
14667 PR libgomp/45240
14668 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14669 at the end if sync builtins aren't supported.
14670
6b43a34c
RO
146712010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14672
14673 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14674
950691fa
RO
146752010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14676
14677 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14678
fb9041ea
IS
146792010-11-24 Iain Sandoe <iains@gcc.gnu.org>
14680
14681 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14682
1ec601bf
FXC
146832010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14684 Tobias Burnus <burnus@net-b.de>
14685
14686 PR fortran/32049
3e348fcc 14687 * configure.ac:
1ec601bf
FXC
14688 * configure: Regenerate.
14689
d213e92e
MS
146902010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14691
14692 * config/linux/futex.h: New.
14693 * config/linux/arm/mutex.h: New.
14694 * configure.tgt (arm*-*-linux*): Add config path.
14695
89d5c66f
SP
146962010-09-30 Sebastian Pop <sebastian.pop@amd.com>
14697
14698 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14699
87350d4a
TB
147002010-09-23 Tobias Burnus <burnus@net-b.de>
14701
14702 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14703 Change Fortran datatype to LOGICAL.
14704 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14705 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14706
75bc9e5e
RW
147072010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14708
14709 * configure: Regenerate.
14710
acb5c916
JJ
147112010-07-26 Jakub Jelinek <jakub@redhat.com>
14712
14713 * libgomp.texi: Add function keyword to a couple of Fortran
14714 interfaces, use integer instead of int for Fortran.
14715
6a2ba183
AH
147162010-07-26 Aldy Hernandez <aldyh@redhat.com>
14717
14718 * libgomp.texi: Fix spelling and pasto problems throughout.
14719 Adjust prototypes to match code.
14720
df161b69
TB
147212010-07-24 Tobias Burnus <burnus@net-b.de>
14722
14723 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14724 silence -fwhole-file warning.
14725
16c9d3b1
RO
147262010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14727
14728 * configure.tgt (*-*-solaris2.[56]*): Removed.
14729
6d28b933
RO
147302010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14731
14732 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14733 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14734 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14735 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14736 targetting solaris2*.
14737 * configure: Regenerate.
14738 * config.h.in: Regenerate.
14739
14740 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14741 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14742 Add libgomp_version_dep.
14743 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14744 versioning.
14745 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14746 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14747 * Makefile.in: Regenerate.
14748
14749 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14750 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14751 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14752 to common block, protected by
14753 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14754
07a67d6a
GP
147552010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
14756
14757 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14758
dbd34b89
IS
147592010-06-09 Iain Sandoe <iains@gcc.gnu.org>
14760
14761 PR bootstrap/43170
14762 * configure: Regenerate.
14763
13917ae3
RW
147642010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14765
14766 PR other/43620
14767 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14768 * configure: Regenerate.
14769 * Makefile.in: Regenerate.
14770 * testsuite/Makefile.in: Regenerate.
14771
b83a701b
JJ
147722010-04-26 Jakub Jelinek <jakub@redhat.com>
14773
14774 PR c/43893
14775 * testsuite/libgomp.c/pr43893.c: New test.
14776 * testsuite/libgomp.c++/pr43893.C: New test.
14777
78db7d92
JJ
147782010-04-21 Jakub Jelinek <jakub@redhat.com>
14779
14780 PR middle-end/43570
14781 * testsuite/libgomp.fortran/vla8.f90: New test.
14782
5221d7a9
JJ
147832010-04-20 Jakub Jelinek <jakub@redhat.com>
14784
e4ba7a60
JJ
14785 PR libgomp/43706
14786 * config/linux/affinity.c (gomp_init_affinity): Decrease
14787 gomp_available_cpus if affinity mask confines the process to fewer
14788 CPUs.
14789 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14790 non-NULL, just return gomp_available_cpus.
14791
5221d7a9
JJ
14792 PR libgomp/43569
14793 * sections.c (gomp_sections_init): Initialize ws->mode.
14794
289a9f86
UB
147952010-04-14 Uros Bizjak <ubizjak@gmail.com>
14796
14797 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14798 not unused bar variable.
14799 * configure: Regenerate.
14800
4d9e8446
RW
148012010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14802
14803 * Makefile.in: Regenerate.
14804 * aclocal.m4: Regenerate.
14805 * testsuite/Makefile.in: Regenerate.
14806
80f046cc
JJ
148072010-03-22 Jakub Jelinek <jakub@redhat.com>
14808
14809 PR libgomp/42942
14810 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14811 (initialize_env): Adjust callers.
14812 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14813 when the argument is 0.
14814
14815 * testsuite/libgomp.c/pr42942.c: New test.
14816
b58543c3
SP
148172010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
14818
14819 PR middle-end/42644
14820 PR middle-end/42130
14821 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14822 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14823
41d1138f
RO
148242010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14825
14826 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14827 * testsuite/libgomp.c++/task-6.C: Likewise.
14828
6684eb28
SE
148292010-01-28 Steve Ellcey <sje@cup.hp.com>
14830
14831 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14832
2122aa97
PB
148332010-01-26 Paolo Bonzini <bonzini@gnu.org>
14834
14835 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14836 * configure: Regenerate.
14837
057dd91d
JJ
148382010-01-26 Jakub Jelinek <jakub@redhat.com>
14839
14840 PR fortran/42866
14841 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14842
d0709b6a
PB
148432010-01-20 Paolo Bonzini <bonzini@gnu.org>
14844
14845 * configure.ac: Test for executability of GFORTRAN.
14846 * configure: Regenerate.
14847
b9497ab5
RO
148482010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14849
14850 * configure: Regenerate.
14851
45de5648
L
148522010-01-04 H.J. Lu <hongjiu.lu@intel.com>
14853
14854 PR libgomp/42602
14855 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14856
e74003a1
RG
148572010-01-03 Richard Guenther <rguenther@suse.de>
14858
14859 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14860
1b3abda8
SP
148612009-12-23 Sebastian Pop <sebpop@gmail.com>
14862
14863 * testsuite/libgomp.graphite/pr4118.c: New.
14864
e19977d3
IS
148652009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14866
14867 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14868 for darwin, protect the test with require-effective-target tls_runtime.
14869 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14870
1d32a772
IS
148712009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14872
14873 PR target/41605
14874 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14875 link spec %s substitutions for static libraries.
14876
deb109b2
JH
148772009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
14878
14879 PR testsuite/42135
14880 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14881
43e02a8a
RW
148822009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14883
14884 * Makefile.in: Regenerate.
14885 * configure: Regenerate.
14886 * testsuite/Makefile.in: Regenerate.
14887
17f35e23
DK
148882009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
14889
14890 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14891 settings for LC_ALL and LANG.
14892
281e33e1
JJ
148932009-11-25 Jakub Jelinek <jakub@redhat.com>
14894
14895 PR fortran/42162
14896 * testsuite/libgomp.fortran/pr42162.f90: New test.
14897
2b32c27d
JJ
148982009-11-13 Jakub Jelinek <jakub@redhat.com>
14899
14900 PR middle-end/42029
281e33e1 14901 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 14902
89c74f4a
JJ
149032009-10-26 Jakub Jelinek <jakub@redhat.com>
14904
14905 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14906 *s. Accept ld version without text in ()s.
14907 * configure: Regenerated.
14908
7e06c3d6
EB
149092009-10-22 Razya Ladelsky <razya@il.ibm.com>
14910
14911 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14912
0046b1a7
RW
149132009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14914
14915 PR libgomp/41418
14916 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14917 or a hyphen (happens with fortran language disabled).
14918 * configure: Regenerate.
14919
c82852f7
RW
149202009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14921
14922 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14923 use sed script portable to Solaris /bin/sed for extracting ld
14924 version.
14925 * configure: Regenerate.
14926
98f3eb1f
AM
149272009-09-17 Alexander Monakov <amonakov@ispras.ru>
14928
14929 * testsuite/libgomp.graphite/bounds.c: New test.
14930
878f62e5
RW
149312009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14932
14933 * Makefile.am (libgomp_la_LINK): New.
14934 * Makefile.in: Regenerate.
14935
df58e648
RW
149362009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14937
14938 * configure.ac (AC_PREREQ): Bump to 2.64.
14939
5213506e
RW
149402009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14941
70fa0efa
RW
14942 * Makefile.am (install-html, install-pdf): Remove.
14943 * Makefile.in: Regenerate.
14944
5213506e
RW
14945 * Makefile.in: Regenerate.
14946 * aclocal.m4: Regenerate.
14947 * config.h.in: Regenerate.
14948 * configure: Regenerate.
14949 * testsuite/Makefile.in: Regenerate.
14950
84fec8a5
RW
149512009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14952
14953 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14954 * Makefile.in: Regenerate.
14955
197c68cc
DK
149562009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
14957
14958 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14959 * Makefile.in: Regenerate.
14960
693d54f2
TB
149612009-08-19 Tobias Burnus <burnus@net-b.de>
14962
14963 PR fortran/41102
14964 omp_lib.h.in: Fix -std=f95 errors.
14965
8cac884c
DE
149662009-08-14 David Edelsohn <edelsohn@gnu.org>
14967
14968 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14969 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14970 * testsuite/libgomp.graphite/graphite.exp: New.
14971
78729ee2
AT
149722009-08-05 Andreas Tobler <a.tobler@schweiz.org>
14973
14974 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14975 only build.
14976
b13b7f39
DD
149772009-08-04 David Daney <ddaney@caviumnetworks.com>
14978
14979 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14980 needed memory barrier semantics.
14981 * config/linux/mips/mutex.h: New file.
14982
1b3b24c2
RW
149832009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14984
14985 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14986
396b7fa4
JM
149872009-07-16 Joseph Myers <joseph@codesourcery.com>
14988
14989 * configure: Regenerate.
14990
33cde516
RS
149912009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
14992
14993 PR testsuite/40699
14994 PR testsuite/40707
14995 PR testsuite/40709
14996 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14997 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14998 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14999
bc21bfa5
RS
150002009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
15001
15002 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
15003 options when choosing a multilib.
15004
b30bfd40
RS
150052009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
15006
15007 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
15008 ld_library_path. Use add_path. Add just find_libgcc_s to
15009 ld_library_path, not every libgcc multilib directory.
15010 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
15011 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
15012 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
15013 Use add_path.
15014 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
15015
479c15c2
NF
150162009-06-09 Nathan Froyd <froydnj@codesourcery.com>
15017
15018 * Makefile.am (LTLDFLAGS): Define.
15019 (LINK): Define.
15020 * Makefile.in: Regenerate.
15021
667e6f89
JB
150222009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
15023
15024 PR fortran/39718
15025 * testsuite/libgomp.fortran/fortran.exp: Don't link with
15026 libgfortranbegin, check existence of libgfortran.a instead of
15027 libgfortranbegin.a.
15028
6dea8e99
JJ
150292009-05-20 Jakub Jelinek <jakub@redhat.com>
15030
15031 PR libgomp/40174
15032 * team.c (gomp_thread_start): Destroy thr->release semaphore.
15033 (gomp_free_pool_helper): Likewise.
15034
34d01e1d
VL
150352009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
15036 Jakub Jelinek <jakub@redhat.com>
15037
15038 PR fortran/35423
15039 * testsuite/libgomp.fortran/workshare2.f90: New test.
15040
748086b7
JJ
150412009-04-09 Nick Clifton <nickc@redhat.com>
15042
15043 * iter.c: Change copyright header to refer to version 3 of the
15044 GNU General Public License with version 3.1 of the GCC Runtime
15045 Library Exception and to point readers at the COPYING3 and
15046 COPYING3.RUNTIME files and the FSF's license web page.
15047 * alloc.c: Likewise.
15048 * barrier.c: Likewise.
15049 * config/bsd/proc.c: Likewise.
15050 * config/linux/affinity.c: Likewise.
15051 * config/linux/alpha/futex.h: Likewise.
15052 * config/linux/bar.c: Likewise.
15053 * config/linux/bar.h: Likewise.
15054 * config/linux/ia64/futex.h: Likewise.
15055 * config/linux/ia64/mutex.h: Likewise.
15056 * config/linux/lock.c: Likewise.
15057 * config/linux/mips/futex.h: Likewise.
15058 * config/linux/mutex.c: Likewise.
15059 * config/linux/mutex.h: Likewise.
15060 * config/linux/powerpc/futex.h: Likewise.
15061 * config/linux/proc.c: Likewise.
15062 * config/linux/ptrlock.c: Likewise.
15063 * config/linux/ptrlock.h: Likewise.
15064 * config/linux/s390/futex.h: Likewise.
15065 * config/linux/sem.c: Likewise.
15066 * config/linux/sem.h: Likewise.
15067 * config/linux/sparc/futex.h: Likewise.
15068 * config/linux/wait.h: Likewise.
15069 * config/linux/x86/futex.h: Likewise.
15070 * config/mingw32/proc.c: Likewise.
15071 * config/mingw32/time.c: Likewise.
15072 * config/posix/affinity.c: Likewise.
15073 * config/posix/bar.c: Likewise.
15074 * config/posix/bar.h: Likewise.
15075 * config/posix/lock.c: Likewise.
15076 * config/posix/mutex.h: Likewise.
15077 * config/posix/proc.c: Likewise.
15078 * config/posix/ptrlock.h: Likewise.
15079 * config/posix/sem.c: Likewise.
15080 * config/posix/sem.h: Likewise.
15081 * config/posix/time.c: Likewise.
15082 * config/posix95/lock.c: Likewise.
15083 * critical.c: Likewise.
15084 * env.c: Likewise.
15085 * error.c: Likewise.
15086 * fortran.c: Likewise.
15087 * iter_ull.c: Likewise.
15088 * libgomp.h: Likewise.
15089 * libgomp_f.h.in: Likewise.
15090 * libgomp_g.h: Likewise.
15091 * loop.c: Likewise.
15092 * loop_ull.c: Likewise.
15093 * omp.h.in: Likewise.
15094 * omp_lib.f90.in: Likewise.
15095 * omp_lib.h.in: Likewise.
15096 * ordered.c: Likewise.
15097 * parallel.c: Likewise.
15098 * sections.c: Likewise.
15099 * single.c: Likewise.
15100 * task.c: Likewise.
15101 * team.c: Likewise.
15102 * work.c: Likewise.
15103
151042009-04-09 Jakub Jelinek <jakub@redhat.com>
15105
15106 * testsuite/config/default.exp: Change copyright header to refer to
15107 version 3 of the GNU General Public License and to point readers
15108 at the COPYING3 file and the FSF's license web page.
15109
4f0ae266
JJ
151102009-04-08 Jakub Jelinek <jakub@redhat.com>
15111
15112 PR middle-end/39573
15113 * libgomp.c++/pr39573.C: New test.
15114
03742a9b
JJ
151152009-04-01 Jakub Jelinek <jakub@redhat.com>
15116
15117 PR other/39591
15118 * testsuite/libgomp.c/pr39591-1.c: New test.
15119 * testsuite/libgomp.c/pr39591-2.c: New test.
15120 * testsuite/libgomp.c/pr39591-3.c: New test.
15121
e50ea10b
UB
151222009-03-25 Uros Bizjak <ubizjak@gmail.com>
15123
15124 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15125 * testsuite/libgomp.c/atomic-6.c: Ditto.
15126
c5cdb03f
JJ
151272009-03-23 Jakub Jelinek <jakub@redhat.com>
15128
15129 PR c/39495
15130 * testsuite/libgomp.c/loop-12.c: New test.
15131 * testsuite/libgomp.c/loop-11.c: New test.
15132 * testsuite/libgomp.c++/loop-11.C: New test.
15133 * testsuite/libgomp.c++/loop-12.C: New test.
15134 * testsuite/libgomp.c++/for-8.C: New test.
15135
7a9d3fe8
RW
151362009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15137
15138 * configure: Regenerate.
15139
3ad6b266
JJ
151402009-02-11 Jakub Jelinek <jakub@redhat.com>
15141
15142 PR middle-end/39154
15143 * testsuite/libgomp.c/pr39154.c: New test.
15144
b39dea08
ILT
151452009-01-30 Ian Lance Taylor <iant@google.com>
15146
15147 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15148 libgomp_ld_is_gold. Get gold version number.
15149 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15150 * configure: Rebuild.
15151
72c66596
IS
151522009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15153
e50ea10b 15154 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
15155 use libgfortran.a%s in their specs.
15156
876080ff
JJ
151572009-01-07 Jakub Jelinek <jakub@redhat.com>
15158
15159 PR libgomp/38086
15160 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15161 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15162 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15163 * configure: Regenerated.
15164 * config.h.in: Likewise.
15165
e4ebaef3
JJ
151662008-12-28 Jakub Jelinek <jakub@redhat.com>
15167
15168 PR c++/38650
15169 * testsuite/libgomp.c/pr38650.c: New test.
15170 * testsuite/libgomp.c++/pr38650.C: New test.
15171
382017a6
JJ
151722008-12-27 Jakub Jelinek <jakub@redhat.com>
15173
15174 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15175
79644b27
UB
151762008-12-26 Uros Bizjak <ubizjak@gmail.com>
15177
15178 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15179
baafc534
RW
151802008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15181
15182 * configure: Regenerate.
15183
d9c194cb
JJ
151842008-12-08 Jakub Jelinek <jakub@redhat.com>
15185
15186 PR middle-end/36802
15187 * testsuite/libgomp.c/pr36802-1.c: New test.
15188 * testsuite/libgomp.c/pr36802-2.c: New test.
15189 * testsuite/libgomp.c/pr36802-3.c: New test.
15190
86a182bf
JJ
151912008-12-01 Janis Johnson <janis187@us.ibm.com>
15192
15193 PR libgomp/38270
15194 * config/linux/powerpc/mutex.h: New.
15195
956adfaf
JJ
151962008-12-01 Jakub Jelinek <jakub@redhat.com>
15197
a2d4cdc9
JJ
15198 PR c++/38257
15199 * testsuite/libgomp.c++/for-7.C: New test.
15200
956adfaf
JJ
15201 PR c++/38348
15202 * testsuite/libgomp.c++/for-6.C: New test.
15203
d4038ca2
JJ
152042008-11-26 Janis Johnson <janis187@us.ibm.com>
15205
15206 PR testsuite/28870
15207 * testsuite/lib/libgomp.exp: Include new timeout library files.
15208 (libgomp_target_compile): Set timeout value from new proc.
15209
8b159eea
SE
152102008-11-13 Steve Ellcey <sje@cup.hp.com>
15211
15212 PR libgomp/37938
15213 * config/linux/ia64/mutex.h: New.
15214
5c6ed53a
TB
152152008-11-04 Tobias Burnus <burnus@net-b.de>
15216
15217 PR libgomp/37935
15218 * libgomp.texi (Runtime library routines, environment variables):
15219 Update for OpenMP version 3.0.
15220
6b4a97ed
PG
152212008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15222 Steve Ellcey <sje@cup.hp.com>
15223
15224 * configure: Regenerate for new libtool.
15225 * Makefile.in: Ditto.
15226 * testsuite/Makefile.in: Ditto.
15227
e2b34106
JJ
152282008-09-19 Jakub Jelinek <jakub@redhat.com>
15229 Andreas Tobler <a.tobler@schweiz.org>
15230
15231 * config/bsd/proc.c: New file.
8c3b3600 15232 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
15233 * configure.ac: Check for header <sys/sysctl.h>
15234 * configure: Regenerate.
15235 * config.h.in: Likewise.
15236
3606b8bf
JJ
152372008-09-05 Janis Johnson <janis187@us.ibm.com>
15238
15239 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15240
6528b88d
AL
152412008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15242
15243 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15244 * Makefile.in: Regenerated.
15245 * testsuite/Makefile.in: Regenerated.
15246
d9b14b12 152472008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 15248
a16b68bb 15249 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
15250 depend on blddir if blddir exists.
15251 (libgomp_target_compile): Likewise.
15252 * testsuite/libgomp.c++/c++.exp: Likewise.
15253 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15254
70b1e376
RW
152552008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15256
15257 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15258 Do not list GPL as Invariant Section.
15259
318e8c3f
IG
152602008-07-28 Ilie Garbacea <ilie@mips.com>
15261 Chao-ying Fu <fu@mips.com>
15262
15263 * configure.tgt: Enable futex for MIPS.
15264 * config/linux/mips/futex.h: New file.
15265
4db72361
JJ
152662008-07-16 Jakub Jelinek <jakub@redhat.com>
15267
15268 * team.c (gomp_team_end): Free team immediately if it has
15269 just one thread.
15270
87bd23b8
DE
152712008-07-08 David Edelsohn <edelsohn@gnu.org>
15272
15273 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15274 * testsuite/libgomp.fortran/fortran.exp: Same.
15275 * testsuite/libgomp.c/c.exp: Same.
15276 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15277 directory to library path first.
15278
323ff903
KW
152792008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15280
15281 * env.c (parse_stacksize): Add cast to avoid warning.
15282 (parse_spincount): Likewise.
15283
b357f682
JJ
152842008-06-27 Jakub Jelinek <jakub@redhat.com>
15285
ca2b1311
JJ
15286 * testsuite/libgomp.c/loop-10.c: New test.
15287 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15288 * libgomp.c++/loop-6.C (main): Likewise.
15289
b357f682
JJ
15290 PR debug/36617
15291 * testsuite/libgomp.c/debug-1.c: New test.
15292
09a46078
JJ
152932008-06-19 Jakub Jelinek <jakub@redhat.com>
15294
15295 * testsuite/libgomp.c/nqueens-1.c: New test.
15296
2368a460
JJ
15297 PR c++/36523
15298 * testsuite/libgomp.c++/task-7.C: New function.
15299
18c04407
RW
153002008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15301
15302 * configure: Regenerate.
15303
9c4e59e0
JDA
153042008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15305
15306 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15307 mutex when HAVE_SYNC_BUILTINS isn't defined.
15308
6ccde948
RW
153092008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15310
15311 * libgomp.texi (omp_test_lock): Fix typo.
15312
b896f9fd
TB
153132008-06-12 Tobias Burnus <burnus@net-b.de>
15314
15315 * omp_lib.f90.in: Add "implicit none".
15316
c34938a8
JJ
153172008-06-12 Jakub Jelinek <jakub@redhat.com>
15318
15319 PR middle-end/36506
15320 * testsuite/libgomp.c/reduction-5.c: New test.
15321
976e44e3
JJ
153222008-06-11 Jakub Jelinek <jakub@redhat.com>
15323
5f836cbb
JJ
15324 * libgomp.h (struct gomp_task): Add in_tied_task field.
15325 * task.c (gomp_init_task): Initialize it.
15326 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15327 unconditionally. Don't call gomp_team_barrier_wake if
15328 current task is implicit or if(0) from implicit and number of
15329 running tasks is equal to nthreads - 1.
15330
01501fc8
JJ
15331 PR libgomp/36471
15332 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15333 omp_get_team_size_8): Fix pastos.
15334
976e44e3
JJ
15335 PR libgomp/36469
15336 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15337 * configure: Regenerated.
15338 * config.h.in: Regenerated.
15339 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15340 defined.
15341
e919209b
AT
153422008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15343
15344 PR bootstrap/36452
15345 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15346 (GOMP_loop_ull_dynamic_start): Likewise.
15347 (GOMP_loop_ull_guided_start): Likewise.
15348 (GOMP_loop_ull_ordered_static_start): Likewise.
15349 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15350 (GOMP_loop_ull_ordered_guided_start): Likewise.
15351
a68ab351
JJ
153522008-06-06 Jakub Jelinek <jakub@redhat.com>
15353 Richard Henderson <rth@redhat.com>
15354 Ulrich Drepper <drepper@redhat.com>
15355 Jakob Blomer <jakob.blomer@ira.uka.de>
15356
15357 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15358 Substitute also OMP_*LOCK_25*.
15359 * configure: Regenerated.
15360 * config.h.in: Regenerated.
15361 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15362 ptrlock.c and task.c.
15363 * Makefile.in: Regenerated.
15364 * testsuite/Makefile.in: Regenerated.
15365 * task.c: New file.
15366 * loop_ull.c: New file.
15367 * iter_ull.c: New file.
15368 * libgomp.h: Include ptrlock.h.
15369 (enum gomp_task_kind): New type.
15370 (struct gomp_team): Add task_lock, task_queue, task_count,
15371 task_running_count, single_count fields. Add
15372 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15373 Remove work_share_lock, generation_mask,
15374 oldest_live_gen, num_live_gen and init_work_shares fields, add
15375 work work_share_list_alloc, work_share_list_free and work_share_chunk
15376 fields. Change work_shares from pointer to pointers into an array.
15377 Change ordered_release field into gomp_sem_t ** from flexible array
15378 member. Add implicit_task and initial_work_shares fields.
15379 Move close to the end of the struct.
15380 (struct gomp_team_state): Add single_count, last_work_share,
15381 active_level and level fields, remove work_share_generation.
15382 (gomp_barrier_handle_tasks): New prototype.
15383 (gomp_finish_task): New inline function.
15384 (struct gomp_work_share): Move chunk_size, end, incr into
15385 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15386 next_ll fields. Reshuffle fields. Add next_alloc,
15387 next_ws, next_free and inline_ordered_team_ids fields, change
15388 ordered_team_ids into pointer from flexible array member.
15389 Add mode field. Put lock and next into a different cache line
15390 from most of the write-once fields.
15391 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15392 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15393 gomp_iter_ull_guided_next): New prototypes.
15394 (gomp_new_icv): New prototype.
15395 (struct gomp_thread): Add thread_pool and task fields.
15396 (struct gomp_thread_pool): New type.
15397 (gomp_new_team): New prototype.
15398 (gomp_team_start): Change type of last argument.
15399 (gomp_new_work_share): Removed.
15400 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15401 (gomp_work_share_init_done): New static inline.
15402 (gomp_throttled_spin_count_var, gomp_available_cpus,
15403 gomp_managed_threads): New extern decls.
15404 (gomp_init_task): New prototype.
15405 (gomp_spin_count_var): New extern var decl.
15406 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15407 or no alias support, or if not PIC.
15408 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15409 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15410 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15411 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15412 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15413 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15414 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15415 gomp_test_nest_lock_25): New prototypes.
15416 (omp_lock_symver, strong_alias): Define.
15417 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15418 decls.
15419 (gomp_end_task): New.
15420 (struct gomp_task_icv, gomp_global_icv): New.
15421 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15422 (struct gomp_task): New.
15423 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15424 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15425 (gomp_icv): New.
15426 (gomp_schedule_type): Reorder enum to match
15427 omp_sched_t.
15428 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15429 fields.
15430 (gomp_thread_start): Add gomp_team_barrier_wait call.
15431 For non-nested case remove clearing of docked thread thr fields.
15432 Use pool fields instead of global gomp_* variables. Use
15433 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15434 Create tasks for each member thread.
15435 (free_team): Only destroy team barrier, task_lock here and free it.
15436 (gomp_free_thread): Free last_team if non-NULL.
15437 (gomp_team_end): Call gomp_team_barrier_wait instead of
15438 gomp_barrier_wait. For nested case call one extra
15439 gomp_barrier_wait. Move here some destruction from free_team.
15440 Call free_team on pool->last_team if any, rather than freeing
15441 current team. Destroy work_share_list_free_lock ifndef
15442 HAVE_SYNC_BUILTINS.
15443 (gomp_new_icv): New function.
15444 (gomp_threads, gomp_threads_size, gomp_threads_used,
15445 gomp_threads_dock): Removed.
15446 (gomp_thread_destructor): New variable.
15447 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15448 functions.
15449 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 15450 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
15451 Initialize thread_pool field for new threads. Clear single_count.
15452 Change last argument from ws to team, don't create
15453 new team, set ts.work_share to &team->work_shares[0] and clear
15454 ts.last_work_share. Don't clear ts.work_share_generation.
15455 If number of threads changed, adjust atomically gomp_managed_threads.
15456 Use gomp_init_task instead of gomp_new_task,
15457 set thr->task to the corresponding implicit_task array entry.
15458 Create tasks for each member thread. Initialize ts.level.
15459 (initialize_team): Call pthread_key_create on
15460 gomp_thread_destructor.
15461 (team_destructor): New function.
15462 (new_team): Removed.
15463 (gomp_new_team): New function.
15464 (free_team): Free gomp_work_share blocks chained through next_alloc,
15465 instead of freeing work_shares and destroying work_share_lock.
15466 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15467 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15468 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15469 of gomp_barrier_wait.
15470 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15471 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15472 if gomp_work_share_start returned true. Don't unlock ws->lock.
15473 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15474 of gomp_barrier_wait.
15475 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15476 gomp_work_share_init_done if gomp_work_share_start returned true.
15477 Don't unlock ws->lock.
15478 * work.c: Include stddef.h.
15479 (free_work_share): Use work_share_list_free_lock instead
15480 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15481 Call gomp_fini_work_share and then either free ws if orphaned, or
15482 put it into work_share_list_free list of the current team.
15483 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15484 functions.
15485 (gomp_work_share_start, gomp_work_share_end,
15486 gomp_work_share_end_nowait): Rewritten.
15487 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15488 (openmp_version): Set to 200805.
15489 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15490 omp_sched_guided, omp_sched_auto): New parameters.
15491 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15492 omp_set_max_active_levels, omp_get_max_active_levels,
15493 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15494 omp_get_active_level): New interfaces.
15495 * omp_lib.h.in (openmp_version): Set to 200805.
15496 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15497 omp_sched_guided, omp_sched_auto): New parameters.
15498 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15499 omp_set_max_active_levels, omp_get_max_active_levels,
15500 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15501 omp_get_active_level): New externals.
15502 * loop.c: Include limits.h.
15503 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15504 GFS_AUTO.
15505 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15506 Likewise. Use gomp_icv.
15507 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15508 ts.static_trip here.
15509 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15510 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15511 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15512 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15513 don't unlock ws->lock, otherwise lock it.
15514 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15515 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15516 (gomp_parallel_loop_start): Call gomp_new_team instead of
15517 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15518 Adjust gomp_team_start caller. Pass 0 as second argument to
15519 gomp_resolve_num_threads.
15520 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15521 If adding ws->chunk_size nthreads + 1 times after end won't
15522 overflow, set ws->mode to 1.
15523 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15524 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15525 GOMP_loop_ull_ordered_static_start,
15526 GOMP_loop_ull_ordered_dynamic_start,
15527 GOMP_loop_ull_ordered_guided_start,
15528 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15529 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15530 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15531 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15532 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15533 prototypes.
15534 * libgomp.map: Export lock routines also @@OMP_2.0.
15535 (GOMP_loop_ordered_dynamic_first,
15536 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15537 GOMP_loop_ordered_static_first): Remove.
15538 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15539 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15540 GOMP_loop_ull_ordered_dynamic_next,
15541 GOMP_loop_ull_ordered_dynamic_start,
15542 GOMP_loop_ull_ordered_guided_next,
15543 GOMP_loop_ull_ordered_guided_start,
15544 GOMP_loop_ull_ordered_runtime_next,
15545 GOMP_loop_ull_ordered_runtime_start,
15546 GOMP_loop_ull_ordered_static_next,
15547 GOMP_loop_ull_ordered_static_start,
15548 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15549 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15550 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15551 (omp_set_schedule, omp_get_schedule,
15552 omp_get_thread_limit, omp_set_max_active_levels,
15553 omp_get_max_active_levels, omp_get_level,
15554 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15555 omp_set_schedule_, omp_set_schedule_8_,
15556 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15557 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15558 omp_get_max_active_levels_, omp_get_level_,
15559 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15560 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15561 New exports @@OMP_3.0.
15562 * omp.h.in (omp_sched_t): New type.
15563 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15564 omp_set_max_active_levels, omp_get_max_active_levels,
15565 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15566 omp_get_active_level): New prototypes.
15567 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15568 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15569 gomp_thread_limit_var, gomp_remaining_threads_count,
15570 gomp_remaining_threads_lock): New variables.
15571 (parse_spincount): New function.
15572 (initialize_env): Call gomp_init_num_threads unconditionally.
15573 Initialize gomp_available_cpus. Call parse_spincount,
15574 initialize gomp_{,throttled_}spin_count_var
15575 depending on presence and value of OMP_WAIT_POLICY and
15576 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15577 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15578 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15579 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15580 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15581 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15582 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15583 (gomp_global_icv): New.
15584 (parse_schedule): Use it. Parse "auto".
15585 (omp_set_num_threads): Use gomp_icv.
15586 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15587 Likewise.
15588 (omp_get_max_threads): Move from parallel.c.
15589 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15590 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15591 add ialias.
15592 (parse_stacksize, parse_wait_policy): New functions.
15593 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15594 both wrappers for compatibility and new locks.
15595 (omp_set_schedule, omp_get_schedule,
15596 omp_get_thread_limit, omp_set_max_active_levels,
15597 omp_get_max_active_levels, omp_get_level,
15598 omp_get_ancestor_thread_num, omp_get_team_size,
15599 omp_get_active_level): New ialias_redirect.
15600 (omp_set_schedule_, omp_set_schedule_8_,
15601 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15602 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15603 omp_get_max_active_levels_, omp_get_level_,
15604 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15605 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15606 New functions.
15607 * parallel.c: Include limits.h.
15608 (gomp_resolve_num_threads): Add count argument. Rewritten.
15609 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15610 argument to gomp_team_start. Pass 0 as second argument to
15611 gomp_resolve_num_threads.
15612 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15613 if gomp_thread_limit_var != ULONG_MAX.
15614 (omp_in_parallel): Implement using ts.active_level.
15615 (omp_get_max_threads): Move to env.c.
15616 (omp_get_level, omp_get_ancestor_thread_num,
15617 omp_get_team_size, omp_get_active_level): New functions,
15618 add ialias.
15619 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15620 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15621 gomp_iter_dynamic_next instead of the _locked variant and don't take
15622 lock around it, otherwise acquire it before calling
15623 gomp_iter_dynamic_next_locked.
15624 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15625 gomp_iter_dynamic_next instead of the _locked variant and don't take
15626 lock around it.
15627 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15628 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15629 Adjust gomp_team_start caller. Pass count as second argument to
15630 gomp_resolve_num_threads, don't adjust num_threads after the call.
15631 Use gomp_icv.
15632 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15633 ws->chunk_size by incr.
15634 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15635 code.
15636 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15637 types.
15638 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15639 (omp_check_defines): Check even the compat defines.
15640 * config/linux/ptrlock.c: New file.
15641 * config/linux/ptrlock.h: New file.
15642 * config/linux/wait.h: New file.
15643 * config/posix/ptrlock.c: New file.
15644 * config/posix/ptrlock.h: New file.
15645 * config/linux/bar.h (gomp_team_barrier_wait,
15646 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15647 (gomp_team_barrier_set_task_pending,
15648 gomp_team_barrier_clear_task_pending,
15649 gomp_team_barrier_set_waiting_for_tasks,
15650 gomp_team_barrier_waiting_for_tasks,
15651 gomp_team_barrier_done): New inlines.
15652 (gomp_barrier_t): Rewritten.
15653 (gomp_barrier_state_t): New typedef.
15654 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15655 gomp_barrier_wait_start): Rewritten.
15656 (gomp_barrier_wait_end): Change second argument to
15657 gomp_barrier_state_t.
15658 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15659 inlines.
15660 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15661 futex.h.
15662 (gomp_barrier_wait_end): Rewritten.
15663 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15664 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15665 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15666 (gomp_barrier_state_t): New typedef.
15667 (gomp_team_barrier_wait,
15668 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15669 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15670 into the return value. Return gomp_barrier_state_t.
15671 (gomp_team_barrier_set_task_pending,
15672 gomp_team_barrier_clear_task_pending,
15673 gomp_team_barrier_set_waiting_for_tasks,
15674 gomp_team_barrier_waiting_for_tasks,
15675 gomp_team_barrier_done): New inlines.
15676 (gomp_barrier_wait_end): Change second argument to
15677 gomp_barrier_state_t.
15678 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15679 inlines.
15680 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15681 (gomp_barrier_wait_end): Change second argument to
3e348fcc 15682 gomp_barrier_state_t.
a68ab351
JJ
15683 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15684 gomp_team_barrier_wake): New functions.
15685 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15686 futex.h.
15687 (gomp_futex_wake, gomp_futex_wait): New variables.
15688 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15689 * config/linux/lock.c: Rewrite to make locks task owned,
15690 for backwards compatibility provide the old entrypoints
15691 if symbol versioning. Include wait.h instead of libgomp.h and
15692 futex.h.
15693 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15694 * config/posix95/lock.c: Rewrite to make locks task owned,
15695 for backwards compatibility provide the old entrypoints
15696 if symbol versioning.
15697 * config/posix/lock.c: Rewrite to make locks task owned,
15698 for backwards compatibility provide the old entrypoints
15699 if symbol versioning.
15700 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15701 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15702 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15703 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15704 (sys_futex0): Return error code.
15705 (futex_wake, futex_wait): If ENOSYS was returned, clear
15706 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15707 (cpu_relax, atomic_write_barrier): New static inlines.
15708 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15709 (futex_wake, futex_wait): If ENOSYS was returned, clear
15710 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15711 (cpu_relax, atomic_write_barrier): New static inlines.
15712 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15713 (sys_futex0): Return error code.
15714 (futex_wake, futex_wait): If ENOSYS was returned, clear
15715 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15716 (cpu_relax, atomic_write_barrier): New static inlines.
15717 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15718 (sys_futex0): Return error code.
15719 (futex_wake, futex_wait): If ENOSYS was returned, clear
15720 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15721 (cpu_relax, atomic_write_barrier): New static inlines.
15722 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15723 (sys_futex0): Return error code.
15724 (futex_wake, futex_wait): If ENOSYS was returned, clear
15725 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15726 (cpu_relax, atomic_write_barrier): New static inlines.
15727 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15728 (sys_futex0): Return error code.
15729 (futex_wake, futex_wait): If ENOSYS was returned, clear
15730 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15731 (cpu_relax, atomic_write_barrier): New static inlines.
15732 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15733 futex.h.
15734 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15735 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15736 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15737 types.
15738 (omp_nest_lock_t): Change owner into void *, add lock field.
15739 * config/posix95/omp-lock.h: Include semaphore.h.
15740 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15741 (omp_lock_t): Use sem_t instead of mutex if semaphores
15742 aren't broken.
15743 (omp_nest_lock_t): Likewise. Change owner to void *.
15744 * config/posix/omp-lock.h: Include semaphore.h.
15745 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15746 (omp_lock_t): Use sem_t instead of mutex if semaphores
15747 aren't broken.
15748 (omp_nest_lock_t): Likewise. Add owner field.
15749
157502008-06-06 Jakub Jelinek <jakub@redhat.com>
15751
15752 * testsuite/libgomp.c/collapse-1.c: New test.
15753 * testsuite/libgomp.c/collapse-2.c: New test.
15754 * testsuite/libgomp.c/collapse-3.c: New test.
15755 * testsuite/libgomp.c/icv-1.c: New test.
15756 * testsuite/libgomp.c/icv-2.c: New test.
15757 * testsuite/libgomp.c/lib-2.c: New test.
15758 * testsuite/libgomp.c/lock-1.c: New test.
15759 * testsuite/libgomp.c/lock-2.c: New test.
15760 * testsuite/libgomp.c/lock-3.c: New test.
15761 * testsuite/libgomp.c/loop-4.c: New test.
15762 * testsuite/libgomp.c/loop-5.c: New test.
15763 * testsuite/libgomp.c/loop-6.c: New test.
15764 * testsuite/libgomp.c/loop-7.c: New test.
15765 * testsuite/libgomp.c/loop-8.c: New test.
15766 * testsuite/libgomp.c/loop-9.c: New test.
15767 * testsuite/libgomp.c/nested-3.c: New test.
15768 * testsuite/libgomp.c/nestedfn-6.c: New test.
15769 * testsuite/libgomp.c/sort-1.c: New test.
15770 * testsuite/libgomp.c/task-1.c: New test.
15771 * testsuite/libgomp.c/task-2.c: New test.
15772 * testsuite/libgomp.c/task-3.c: New test.
15773 * testsuite/libgomp.c/task-4.c: New test.
15774 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15775 to C++ testsuite default compiler options.
15776 * testsuite/libgomp.c++/collapse-1.C: New test.
15777 * testsuite/libgomp.c++/collapse-2.C: New test.
15778 * testsuite/libgomp.c++/ctor-10.C: New test.
15779 * testsuite/libgomp.c++/for-1.C: New test.
15780 * testsuite/libgomp.c++/for-2.C: New test.
15781 * testsuite/libgomp.c++/for-3.C: New test.
15782 * testsuite/libgomp.c++/for-4.C: New test.
15783 * testsuite/libgomp.c++/for-5.C: New test.
15784 * testsuite/libgomp.c++/loop-8.C: New test.
15785 * testsuite/libgomp.c++/loop-9.C: New test.
15786 * testsuite/libgomp.c++/loop-10.C: New test.
15787 * testsuite/libgomp.c++/task-1.C: New test.
15788 * testsuite/libgomp.c++/task-2.C: New test.
15789 * testsuite/libgomp.c++/task-3.C: New test.
15790 * testsuite/libgomp.c++/task-4.C: New test.
15791 * testsuite/libgomp.c++/task-5.C: New test.
15792 * testsuite/libgomp.c++/task-6.C: New test.
15793 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15794 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15795 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15796 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15797 * testsuite/libgomp.fortran/collapse1.f90: New test.
15798 * testsuite/libgomp.fortran/collapse2.f90: New test.
15799 * testsuite/libgomp.fortran/collapse3.f90: New test.
15800 * testsuite/libgomp.fortran/collapse4.f90: New test.
15801 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15802 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15803 * testsuite/libgomp.fortran/lib4.f90: New test.
15804 * testsuite/libgomp.fortran/lock-1.f90: New test.
15805 * testsuite/libgomp.fortran/lock-2.f90: New test.
15806 * testsuite/libgomp.fortran/nested1.f90: New test.
15807 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15808 * testsuite/libgomp.fortran/strassen.f90: New test.
15809 * testsuite/libgomp.fortran/tabs1.f90: New test.
15810 * testsuite/libgomp.fortran/tabs2.f: New test.
15811 * testsuite/libgomp.fortran/task1.f90: New test.
15812 * testsuite/libgomp.fortran/task2.f90: New test.
15813 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15814 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15815 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15816 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15817 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15818
7a0112e7
JJ
158192008-05-23 Jakub Jelinek <jakub@redhat.com>
15820
15821 PR c++/36308
15822 * testsuite/libgomp.c++/ctor-11.C: New test.
15823 * testsuite/libgomp.c++/ctor-12.C: New test.
15824
91a5b394
JJ
158252008-05-15 Janis Johnson <janis187@us.ibm.com>
15826
15827 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15828
c18c98c0
JJ
158292008-05-07 Jakub Jelinek <jakub@redhat.com>
15830
15831 PR middle-end/36106
15832 * testsuite/libgomp.c/atomic-5.c: New test.
15833 * testsuite/libgomp.c/atomic-6.c: New test.
15834 * testsuite/libgomp.c/autopar-1.c: New test.
15835
6d26724a
RW
158362008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15837
15838 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15839 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15840 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15841 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15842 * configure: Regenerate.
15843 * Makefile.in, testsuite/Makefile.in: Likewise.
15844
deb984e6
PB
158452008-04-18 Paolo Bonzini <bonzini@gnu.org>
15846
15847 PR bootstrap/35457
15848 * aclocal.m4: Regenerate.
15849 * configure: Regenerate.
15850
9e775963
JJ
158512008-03-18 Jakub Jelinek <jakub@redhat.com>
15852
8119fc93
JJ
15853 PR middle-end/35611
15854 * testsuite/libgomp.c/atomic-4.c: New test.
15855
9e775963
JJ
15856 PR libgomp/35625
15857 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15858 (gomp_iter_guided_next): Likewise.
15859 * testsuite/libgomp.c/pr35625.c: New test.
15860
38d24731
RW
158612008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15862
15863 * aclocal.m4: Regenerate.
15864 * configure: Likewise.
15865 * Makefile.in: Likewise.
15866 * testsuite/Makefile.in: Likewise.
15867
d0fb20be
JJ
158682008-03-13 Jakub Jelinek <jakub@redhat.com>
15869
15870 PR middle-end/35185
15871 * testsuite/libgomp.c++/pr35185.C: New test.
15872
7c8f7639
JJ
158732008-03-12 Jakub Jelinek <jakub@redhat.com>
15874
15875 PR middle-end/35549
15876 * testsuite/libgomp.c/pr35549.c: New test.
15877
251923f5
JJ
158782008-03-06 Jakub Jelinek <jakub@redhat.com>
15879
15880 * testsuite/libgomp.c/atomic-3.c: New test.
15881
f489fba1
FXC
158822008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15883
15884 PR fortran/33197
251923f5 15885 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
15886 .F08 file suffixes.
15887
a1b25e49
PG
158882008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
15889
15890 PR libgomp/33131
15891 * configure.ac: Add ACX_HEADER_STRING.
15892 * env.c: Include strings.h.
15893 * aclocal.m4: Regenerate.
15894 * config.h.in: Regenerate.
15895 * configure: Regenerate.
15896 * Makefile.in: Regenerate.
15897 * testsuite/Makefile.in: Regenerate.
15898
6837b3b8
JJ
158992008-02-15 Jakub Jelinek <jakub@redhat.com>
15900
ac84c062
JJ
15901 PR middle-end/35196
15902 * testsuite/libgomp.c/pr35196.c: New test.
15903
6837b3b8
JJ
15904 PR middle-end/35130
15905 * testsuite/libgomp.fortran/pr35130.f90: New test.
15906 * testsuite/libgomp.c/pr35130.c: New test.
15907
c256730c
JJ
159082008-01-25 Jakub Jelinek <jakub@redhat.com>
15909
15910 PR middle-end/33880
15911 * testsuite/libgomp.c/pr33880.c: New test.
15912 * testsuite/libgomp.fortran/pr33880.f90: New test.
15913
c8e95542 159142008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
15915
15916 * configure: Regenerate.
15917
0f3e711e
JJ
159182008-01-08 Jakub Jelinek <jakub@redhat.com>
15919
15920 * configure.ac: Move futex checking into ../config/futex.m4.
15921 * configure: Rebuilt.
15922 * aclocal.m4: Rebuilt.
15923 * Makefile.in: Rebuilt.
15924
15925 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15926 2007-10-15 ../config/tls.m4 change.
15927
5259c813
JJ
159282007-12-19 Jakub Jelinek <jakub@redhat.com>
15929
15930 PR c++/34513
15931 * testsuite/libgomp.c/pr34513.c: New test.
15932 * testsuite/libgomp.c++/pr34513.C: New test.
15933
ae8d8879
JH
159342007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
15935
15936 PR target/32765
15937 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15938
2b4cf991
JJ
159392007-12-04 Jakub Jelinek <jakub@redhat.com>
15940
15941 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15942
d2dda7fe
JJ
159432007-12-03 Jakub Jelinek <jakub@redhat.com>
15944
15945 * testsuite/libgomp.c/private-1.c: New test.
15946
d683ec81
PB
159472007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
15948 Paolo Bonzini <bonzini@gnu.org>
15949
15950 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15951 instead of 'VPATH ='.
15952 * Makefile.in: Regenerate.
15953
a7415017
MK
159542007-11-23 Matthias Klose <doko@ubuntu.com>
15955
15956 * configure.ac: Adjust makeinfo version check.
15957 * configure: Regenerate.
15958
78e47463
JJ
159592007-11-10 Jakub Jelinek <jakub@redhat.com>
15960
15961 PR fortran/34020
15962 * testsuite/libgomp.fortran/pr34020.f90: New test.
15963
239371f9
JJ
159642007-11-06 Jakub Jelinek <jakub@redhat.com>
15965
15966 PR c++/33894
15967 * testsuite/libgomp.c++/atomic-1.C: New test.
15968
98a5fa94
JJ
159692007-10-25 Jakub Jelinek <jakub@redhat.com>
15970
15971 PR libgomp/33275
15972 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15973 Make x and y integers rather than (implicit) reals. Add private (j)
15974 clause to the last omp parallel.
15975
3afcaaf4
MR
159762007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
15977
15978 * configure: Regenerate following changes to ../config/tls.m4.
15979
bd69daef
JJ
159802007-09-28 Jakub Jelinek <jakub@redhat.com>
15981
15982 * testsuite/libgomp.fortran/stack.f90: New test.
15983
1d0bd356
DS
159842007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
15985
15986 * config/mingw32/proc.c: New file.
15987
b3172cab
UB
159882007-09-05 Uros Bizjak <ubizjak@gmail.com>
15989
15990 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15991 (main): Use __get_cpuid to get i386 target fetaures.
15992 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15993 (main): Use __get_cpuid to get x86_64 target fetaures.
15994
6da17392
JH
159952007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
15996
15997 PR target/32765
15998 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15999 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
16000
e1c82219
JJ
160012007-07-12 Jakub Jelinek <jakub@redhat.com>
16002
16003 PR fortran/32550
16004 * testsuite/libgomp.fortran/pr32550.f90: New test.
16005 * testsuite/libgomp.fortran/crayptr2.f90: New test.
16006
12a27363
L
160072007-07-05 H.J. Lu <hongjiu.lu@intel.com>
16008
16009 * aclocal.m4: Regenerated.
16010
5349080d
TB
160112007-07-05 Tobias Burnus <burnus@net-b.de>
16012
16013 PR fortran/32359
16014 * testsuite/libgomp.fortran/pr32359.f90: New.
16015
4f9c450c
JJ
160162007-07-02 Jakub Jelinek <jakub@redhat.com>
16017
16018 PR libgomp/32468
16019 * sections.c (GOMP_parallel_sections_start): Only decrease
16020 number of threads to COUNT if dyn_var is true.
16021 * testsuite/libgomp.c/pr32468.c: New test.
16022
28c67ed7
RO
160232007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16024
16025 PR libgomp/26308
16026 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
16027
64964499
JJ
160282007-06-21 Jakub Jelinek <jakub@redhat.com>
16029
16030 PR middle-end/32362
16031 * testsuite/libgomp.c/pr32362-1.c: New test.
16032 * testsuite/libgomp.c/pr32362-2.c: New test.
16033 * testsuite/libgomp.c/pr32362-3.c: New test.
16034
46d8fbd1
JJ
160352007-06-07 Jakub Jelinek <jakub@redhat.com>
16036
16037 * team.c (gomp_team_start): Fix setting up thread_attr
16038 stack size.
16039
82a6cadf
PB
160402007-06-02 Paolo Bonzini <bonzini@gnu.org>
16041
16042 * configure: Regenerate.
16043
1cf3d07d
SE
160442007-05-23 Steve Ellcey <sje@cup.hp.com>
16045
16046 * Makefile.in: Regenerate.
16047 * configure: Regenerate.
16048 * aclocal.m4: Regenerate.
16049 * testsuite/Makefile.in: Regenerate.
16050
12aac30b
JJ
160512007-05-04 Jakub Jelinek <jakub@redhat.com>
16052
16053 * config/linux/proc.c: New file.
16054
f1028b02
JJ
16055 PR libgomp/28482
16056 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16057
06785a48
DF
160582007-04-19 Daniel Franke <franke.daniel@gmail.com>
16059
16060 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16061
b3b08ba0
MK
160622007-04-16 Matthias Klose <doko@debian.org>
16063
16064 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
16065 flags if not building with -m64.
16066 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16067 flag for i?86-*-* targets, if current target matches -m64.
16068
6b2c5ce0
SE
160692007-04-14 Steve Ellcey <sje@cup.hp.com>
16070
16071 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16072 * Makefile.in: Regenerate.
16073
dd56fe7c
JDA
160742007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16075
16076 PR testsuite/31369
16077 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16078 ld_library_path.
16079 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16080
a0884cf0
JJ
160812007-04-04 Jakub Jelinek <jakub@redhat.com>
16082
16083 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16084 decls.
16085 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16086 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16087 (parse_affinity): New function.
16088 (initialize_env): Call it and gomp_init_affinity.
16089 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16090 create new pthread_attr_t and call gomp_init_thread_affinity
16091 on it for each thread before passing the attribute to pthread_create.
16092 * config/linux/affinity.c: New file.
16093 * config/posix/affinity.c: New file.
16094 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16095 * configure: Rebuilt.
16096 * config.h.in: Rebuilt.
16097 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16098 * Makefile.in: Rebuilt.
16099
1850744b
AT
161002007-03-23 Andreas Tobler <a.tobler@schweiz.org>
16101
16102 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16103 *-*-darwin*.
16104 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16105 and use it if found.
16106
516f1ed8
UB
161072007-03-18 Uros Bizjak <ubizjak@gmail.com>
16108
16109 * testsuite/config/default.exp: New file.
16110 * testsuite/lib/libgomp.exp: New file.
16111 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16112 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16113 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16114 (libgomp_load): Remove.
16115 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16116 always_ld_library_path, not ld_library_path. Set additional_flags
16117 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16118 (target_compile): Do not call libgomp_init. Append lang_library_path
16119 and lang_link_flags to options.
16120 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16121 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16122 here.
16123 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16124 always_ld_library_path. Set LD_LIBRARY_PATH here.
16125 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16126 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16127 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16128 CX8 flag.
16129 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16130 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16131 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16132 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16133 * testsuite/libgomp.c/atomic-10.c: Ditto.
16134
2ada56f5
JJ
161352007-03-21 Jakub Jelinek <jakub@redhat.com>
16136
16137 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16138 dg-final cleanup-modules line.
16139 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16140 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16141 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16142 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16143 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16144 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16145 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16146
f210f1cd
AS
161472007-03-18 Andreas Schwab <schwab@suse.de>
16148
16149 * acinclude.m4: Adjust regular expression for ld version
16150 extraction.
16151 * configure: Regenerate.
16152
c4dc950d
BM
161532007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16154
16155 * Makefile.am: Add install-pdf target as copied from
16156 automake v1.10 rules.
16157 * Makefile.in: Regenerate
16158
e02a048f
JJ
161592007-02-07 Jakub Jelinek <jakub@redhat.com>
16160
78e075d4
JJ
16161 PR libgomp/28486
16162 * configure: Regenerate.
16163
e02a048f
JJ
16164 PR c++/30703
16165 * testsuite/libgomp.c++/pr30703.C: New test.
16166
60def7ed
JJ
161672007-02-02 Jakub Jelinek <jakub@redhat.com>
16168
16169 Revert:
16170 2006-07-05 Eric Christopher <echristo@apple.com>
16171 * configure.ac: Depend addition of -pthread on host OS.
16172 * configure: Regenerate.
16173
f1b0882e
RW
161742007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16175
16176 * libgomp.texi: Fix spacing after abbreviations.
16177
748b9d7c
DF
161782007-01-31 Daniel Franke <franke.daniel@gmail.com>
16179
16180 PR libgomp/30546
16181 * configure.ac: Add check for makeinfo
16182 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 16183 if an appropriate version of makeinfo is found.
748b9d7c
DF
16184 * aclocal.m4: Regenerated.
16185 * configure: Regenerated.
16186 * Makefile.in: Regenerated.
16187 * testsuite/Makefile.in: Regenerated.
16188
14734fc7
DF
161892007-01-29 Daniel Franke <franke.daniel@gmail.com>
16190
16191 PR libgomp/30540
16192 * libgomp.texi: More about implementation-dependent settings.
16193
7befd5d2
TB
161942007-01-26 Tobias Burnus <burnus@net-b.de>
16195
16196 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16197
4288fea2
JJ
161982007-01-24 Jakub Jelinek <jakub@redhat.com>
16199
16200 PR middle-end/30494
16201 * testsuite/libgomp.c/pr30494.c: New test.
16202
627ab4b8
TT
162032007-01-15 Tom Tromey <tromey@redhat.com>
16204
16205 * configure: Rebuilt.
16206 * configure.ac: Fixed comment.
16207
7c2b7f45
DF
162082007-01-14 Daniel Franke <franke.daniel@gmail.com>
16209
16210 * libgomp.texi: Document implementation specific default values of
16211 environment variables.
16212
3721b9e1
DF
162132006-12-21 Daniel Franke <franke.daniel@gmail.com>
16214
16215 PR libgomp/28209
16216 * libgomp.texi: New file.
16217 * configure.ac: Add --enable-generated-files-in-srcdir option.
16218 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16219 files to srcdir.
16220 * Makefile.in: Regenerated.
16221 * config.h.in: Regenerated.
16222 * testsuite/Makefile.in: Regenerated.
16223 * NOTES: Removed.
16224
62bd6216
DF
162252006-12-04 Daniel Franke <franke.daniel@gmail.com>
16226
16227 PR libgomp/29949
16228 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16229
aad741f4
EB
162302006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16231
16232 * configure: Regenerate.
16233
22568cc6
JJ
162342006-12-04 Jakub Jelinek <jakub@redhat.com>
16235
16236 PR libgomp/29947
16237 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16238 start if there shouldn't be any loop iterations.
16239 (gomp_loop_ordered_static_start): Remove start == end test.
16240 * testsuite/libgomp.c/pr29947-1.c: New test.
16241 * testsuite/libgomp.c/pr29947-2.c: New test.
16242
a9690009
EB
162432006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16244
16245 * configure.tgt: Force initial-exec TLS model on Linux only.
16246
597c25e6
DJ
162472006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16248
16249 * configure: Regenerated.
16250
6acf0b38
UB
162512006-11-09 Uros Bizjak <ubizjak@gmail.com>
16252
16253 * env.c (parse_schedule): Reject out of range values.
16254 (parse_unsigned_long): Reject out of range, negative or zero values.
16255
a7a53ca5
JJ
162562006-10-29 Jakub Jelinek <jakub@redhat.com>
16257
16258 PR fortran/29629
16259 * testsuite/libgomp.fortran/pr29629.f90: New test.
16260
6d4d216a
EB
162612006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16262
16263 PR libgomp/29494
16264 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16265 * config/posix95: New directory.
16266 * config/posix95/omp-lock.h: New file.
16267 * config/posix95/lock.c: Likewise.
16268
5b043f08
GK
162692006-10-14 Geoffrey Keating <geoffk@apple.com>
16270
16271 * aclocal.m4: Regenerate.
16272 * configure: Regenerate.
16273
b50019f0
DS
162742006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16275
16276 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16277 '<' to '<='.
16278
8887708e
DS
162792006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16280
16281 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16282 test.
16283 * configure: Regenerate.
16284 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16285
9b9e4cd6
JJ
162862006-09-26 Jakub Jelinek <jakub@redhat.com>
16287
a70ad3bb
JJ
16288 PR middle-end/25261
16289 PR middle-end/28790
16290 * testsuite/libgomp.c/nestedfn-4.c: New test.
16291 * testsuite/libgomp.c/nestedfn-5.c: New test.
16292 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16293
9b9e4cd6
JJ
16294 PR fortran/29097
16295 * testsuite/libgomp.fortran/condinc1.f: New test.
16296 * testsuite/libgomp.fortran/condinc2.f: New test.
16297 * testsuite/libgomp.fortran/condinc3.f90: New test.
16298 * testsuite/libgomp.fortran/condinc4.f90: New test.
16299 * testsuite/libgomp.fortran/condinc1.inc: New file.
16300
2fb31455
TT
163012006-09-18 Tom Tromey <tromey@redhat.com>
16302
16303 * configure: Rebuilt.
16304
c663e301
JM
163052006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16306
16307 PR c/28768
16308 PR preprocessor/14634
16309 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16310 to AC_DEFINE.
16311 * configure: Regenerate.
16312
38371be9
SK
163132006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16314
16315 * testsuite/libgomp.fortran/reduction3.f90: Change
16316 -2147483648 to -huge(i)-1 to avoid overflow.
16317 * testsuite/libgomp.fortran/reduction4.f90: Change
16318 Z'ffffffff' to not(0) to avoid overflow.
16319
571d5ac5
JM
163202006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16321
16322 PR libgomp/25938
16323 * Makefile.am (libsubincludedir): New.
16324 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16325 * Makefile.in: Regenerate.
16326
89b3e3cd
JJ
163272006-08-17 Jakub Jelinek <jakub@redhat.com>
16328
16329 PR libgomp/28725
16330 * env.c: Include ctype.h.
16331 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16332 leading and/or trailing whitespace and compare strings case
16333 insensitively.
16334
742fae05
JJ
163352006-07-16 Jakub Jelinek <jakub@redhat.com>
16336
16337 PR fortran/28390
16338 * testsuite/libgomp.fortran/pr28390.f: New test.
16339
a1daed2d
EC
163402006-07-05 Eric Christopher <echristo@apple.com>
16341
16342 * configure.ac: Depend addition of -pthread on host OS.
16343 * configure: Regenerate.
16344
5d7b5199
JJ
163452006-06-21 Jakub Jelinek <jakub@redhat.com>
16346
16347 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16348 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16349 defined.
16350
fe5568e9
JJ
163512006-06-20 Jakub Jelinek <jakub@redhat.com>
16352
16353 PR libgomp/26175
16354 PR libgomp/26477
16355 * configure.ac: If neither --enable-linux-futex nor
16356 --disable-linux-futex is passed, determine the default by checking
16357 for compiling and/or running against NPTL. With --enable-linux-futex,
16358 check if SYS_gettid and SYS_futex are defined.
16359 * configure: Rebuilt.
16360
c3b11a40
RH
163612006-06-14 Richard Henderson <rth@redhat.com>
16362
16363 PR libgomp/28008
16364 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16365 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16366
d0d1b24d
RH
163672006-06-09 Richard Henderson <rth@redhat.com>
16368
16369 * env.c (gomp_nthreads_var): Change to unsigned long.
16370 (gomp_run_sched_chunk): Likewise.
16371 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16372 (initialize_env): Initialize gomp_thread_attr.
16373 * libgomp.h (gomp_nthreads_var): Update decl.
16374 (gomp_run_sched_chunk): Likewise.
16375 (gomp_thread_attr): Declare.
16376 * team.c (gomp_thread_attr): Export.
16377 (initialize_team): Don't initialize it.
16378
cd75853e
JJ
163792006-06-09 Jakub Jelinek <jakub@redhat.com>
16380
16381 PR fortran/27916
16382 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16383 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16384
33815e0c
FXC
163852006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16386
16387 * config/mingw32/time.c: New file.
16388 * configure.tgt: Use it.
16389
6667de0d
CD
163902006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16391
16392 * Makefile.am: Add install-html target. Add install-html to .PHONY
16393 * Makefile.in: Regenerate.
16394
e962c46b
JDA
163952006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16396
16397 PR libgomp/27612
16398 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16399 * testsuite/libgomp.c/critical-1.c: Likewise.
16400 * testsuite/libgomp.c/loop-1.c: Likewise.
16401 * testsuite/libgomp.c/loop-2.c: Likewise.
16402 * testsuite/libgomp.c/single-1.c: Likewise.
16403 * testsuite/libgomp.c/ordered-1.c: Likewise.
16404 * testsuite/libgomp.c/ordered-2.c: Likewise.
16405
eeb1d9e0
JJ
164062006-05-15 Jakub Jelinek <jakub@redhat.com>
16407
16408 PR middle-end/27416
16409 * libgomp.fortran/pr27416-1.f90: New test.
16410
693d710f
JJ
164112006-05-03 Jakub Jelinek <jakub@redhat.com>
16412
16413 PR fortran/27395
16414 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16415 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16416
8ca5b2a2
JJ
164172006-05-02 Jakub Jelinek <jakub@redhat.com>
16418
16419 PR c++/26943
16420 * testsuite/libgomp.c/pr26943-1.c: New test.
16421 * testsuite/libgomp.c/pr26943-2.c: New test.
16422 * testsuite/libgomp.c/pr26943-3.c: New test.
16423 * testsuite/libgomp.c/pr26943-4.c: New test.
16424 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16425 * testsuite/libgomp.c++/pr26943.C: New test.
16426
077b0dfb
JJ
164272006-05-02 Jakub Jelinek <jakub@redhat.com>
16428
16429 PR middle-end/27337
16430 * testsuite/libgomp.c++/pr27337.C: New test.
16431
91b6c26d
JJ
164322006-04-26 Jakub Jelinek <jakub@redhat.com>
16433
16434 PR c/26171
16435 * testsuite/libgomp.c/pr26171.c: New test.
16436
60e1758f
RH
164372006-04-25 Richard Henderson <rth@redhat.com>
16438
16439 PR libgomp/25865
16440 * configure.ac: Use GCC_CHECK_TLS.
16441 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16442 * Makefile.in, aclocal.m4, configure: Regenerate.
16443
615baed7
MK
164442006-04-10 Matthias Klose <doko@debian.org>
16445
16446 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16447 directory names containing underscores.
16448
fae2b46b
JJ
164492006-03-21 Jakub Jelinek <jakub@redhat.com>
16450
16451 PR c++/26691
16452 * testsuite/libgomp.c++/pr26691.C: New test.
16453
11a5f608
JJ
164542006-03-13 Jakub Jelinek <jakub@redhat.com>
16455
16456 * testsuite/libgomp.fortran/retval2.f90: New test.
16457
1799e5d5
RH
164582006-03-09 Diego Novillo <dnovillo@redhat.com>
16459
16460 * testsuite/libgomp.c++: New directory.
16461
d349482e
AT
164622006-02-25 Shantonu Sen <ssen@opendarwin.org>
16463
16464 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16465 * config/posix/sem.c: Implement the above.
16466
164672006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
16468
16469 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16470 define HAVE_BROKEN_POSIX_SEMAPHORES.
16471 * configure: Rebuilt.
16472 * config.h.in: Rebuilt.
16473
124452c9
FXC
164742006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16475
16476 PR bootstrap/26161
16477 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16478 for the other pthread check.
16479 * configure: Regenerate.
16480 * config.h.in: Regenerate.
16481
dd8d6dfe
JJ
164822006-02-15 Jakub Jelinek <jakub@redhat.com>
16483
16484 PR libgomp/25938
16485 PR libgomp/25984
16486 * Makefile.am (fincludedir): New variable.
16487 (nodist_include_HEADERS): Remove Fortran files.
16488 (nodist_finclude_HEADERS): New variable.
16489 * Makefile.in: Regenerated.
16490
6c7a4dfd
JJ
164912006-02-13 Jakub Jelinek <jakub@redhat.com>
16492
16493 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16494 Remove tests for returning assumed character length arrays.
16495
5142e08b
RS
164962006-02-12 Roger Sayle <roger@eyesopen.com>
16497 John David Anglin <dave@hiauly1.hia.nrc.ca>
16498
16499 PR libgomp/25936
16500 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 16501
5821fba8
UW
165022006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
16503
16504 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16505
cb2bbc67
EB
165062006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
16507
16508 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16509 part of LD_LIBRARY_PATH manually.
16510
f05ee80c
L
165112006-02-03 H.J. Lu <hongjiu.lu@intel.com>
16512
16513 PR libgomp/25852
16514 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16515 libgomp_init.
16516
03b8fe49
PB
165172005-01-25 Paolo Bonzini <bonzini@gnu.org>
16518
16519 PR libgomp/25884
f05ee80c
L
16520 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16521 * configure.ac (PERL): Don't set.
16522 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16523 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16524 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16525 * omp.h.in: Wrap the new configure substitutions with @ characters.
16526 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16527 * aclocal.m4, configure, Makefile.in: Regenerate.
16528 * mkomp_h.pl: Delete.
03b8fe49 16529
18cbfd85
PB
165302005-01-24 Paolo Bonzini <bonzini@gnu.org>
16531
16532 PR libgomp/25259
16533 * configure.ac: Use GCC_HEADER_STDINT.
16534 * libgomp.h: Include gstdint.h.
16535 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16536 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16537
c41303c6
RH
165382006-01-24 Richard Henderson <rth@redhat.com>
16539
16540 PR libgomp/25942
16541 * configure.ac: Add AM_MAINTAINER_MODE.
16542 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16543
149b9553
DN
165442006-01-24 Diego Novillo <dnovillo@redhat.com>
16545
16546 * Makefile.in: Regenerate.
16547 * testsuite/Makefile.in: Regenerate.
16548 * aclocal.m4: Regenerate.
16549
192a50ad
AT
165502006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
16551
16552 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16553 Solaris.
16554 * configure.ac: Add check for loadavg.h.
16555 (link_gomp): Adjust comment.
16556 * configure: Regenerate.
16557 * config.h.in: Regenerate.
16558
a55b8e18
SE
165592006-01-21 Steve Ellcey <sje@cup.hp.com>
16560
16561 PR libgomp/25877
16562 * configure.ac: Remove check for alloca.h.
16563 * configure: Regenerate.
16564 * config.h.in: Regenerate.
16565 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16566 * team.c: Remove use of alloca.h.
16567 Call gomp_alloca instead of alloca.
16568
692eeb34
SE
165692006-01-20 Steve Ellcey <sje@cup.hp.com>
16570
16571 PR libgomp/25877
16572 * team.c: Add include of alloca.h.
16573 * configure.ac: Add check for alloca.h.
16574 * configure: Regenerate.
16575 * config.h.in: Regenerate.
16576
953ff289
DN
165772006-01-17 Jakub Jelinek <jakub@redhat.com>
16578
16579 PR fortran/25219
16580 * testsuite/libgomp.fortran/pr25219.f90: New test.
16581
165822005-12-05 Uros Bizjak <uros@kss-loka.si>
16583
16584 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16585 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16586 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16587 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16588 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16589 testsuite/libgomp.fortran/threadprivate1.f90,
16590 testsuite/libgomp.fortran/threadprivate2.f90,
16591 testsuite/libgomp.fortran/threadprivate3.f90,
16592 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16593 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16594 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16595 effective-target to TLS runtime.
16596
16597 * testsuite/libgomp.fortran/pr25162.f: Require
16598 effective-target TLS runtime.
16599
166002005-12-01 Jakub Jelinek <jakub@redhat.com>
16601
16602 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16603 * testsuite/libgomp.c/nestedfn-3.c: New test.
16604
166052005-11-30 Jakub Jelinek <jakub@redhat.com>
16606
16607 PR fortran/25162
16608 * testsuite/libgomp.fortran/pr25162.f: New test.
16609
166102005-11-28 Jakub Jelinek <jakub@redhat.com>
16611
16612 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16613 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16614
166152005-11-25 Jakub Jelinek <jakub@redhat.com>
16616
16617 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16618 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16619 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16620 single.c, team.c, work.c, config/linux/alpha/futex.h,
16621 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16622 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16623 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16624 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16625 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16626 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16627 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16628 FSF address.
16629
166302005-11-18 Jakub Jelinek <jakub@redhat.com>
16631
16632 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16633 to nodist_noinst_HEADERS.
16634 * Makefile.in: Rebuilt.
16635
16636 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16637 add integer count field.
16638 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16639 omp_nest_lock_t type change.
16640 (omp_init_nest_lock): Likewise. Initialize count to 0.
16641 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16642 Increment count.
16643 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16644 Decrement count.
16645 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16646 Increment count if successful and return the new nesting level.
16647 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16648 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16649 * testsuite/libgomp.c/lib-1.c: New test.
16650 * testsuite/libgomp.fortran/lib1.f90: New test.
16651 * testsuite/libgomp.fortran/lib2.f: New test.
16652 * testsuite/libgomp.fortran/lib3.f: New test.
16653
166542005-11-17 Richard Henderson <rth@redhat.com>
16655
16656 PR 24845
16657 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16658 * configure.ac (link_gomp): New. Substitute it.
16659 (AC_CONFIG_FILES): Add libgomp.spec.
16660 * libgomp.spec.in: New file.
16661 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16662 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16663
166642005-11-18 Jakub Jelinek <jakub@redhat.com>
16665
16666 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16667 reduction(-:var) behaving the same as reduction(+:var).
16668 * testsuite/libgomp.c/reduction-4.c: New test.
16669
166702005-11-15 Uros Bizjak <uros@kss-loka.si>
16671
16672 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16673 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16674 testsuite/libgomp.c/copyin-3.c,
16675 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16676 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16677 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16678 testsuite/libgomp.c++/pr24455.C,
16679 testsuite/libgomp.fortran/threadprivate1.f90,
16680 testsuite/libgomp.fortran/threadprivate2.f90,
16681 testsuite/libgomp.fortran/threadprivate3.f90,
16682 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16683 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16684 testsuite/libgomp.fortran/omp_parse3.f90: Require
16685 effective-target TLS.
16686
166872005-11-14 Diego Novillo <dnovillo@redhat.com>
16688
16689 * HEADER: Remove.
16690
166912005-11-13 Jakub Jelinek <jakub@redhat.com>
16692
16693 PR libgomp/24797
16694 * team.c (initialize_team): Pass NULL rather than free as
16695 pthread_key_create destructor. Initialize thread specific data
16696 pointer in initial thread to a static local variable rather than
16697 malloced memory.
16698
166992005-11-11 Uros Bizjak <uros@kss-loka.si>
16700
16701 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16702 its location to ld_library_path.
16703
167042005-11-10 Diego Novillo <dnovillo@redhat.com>
16705
16706 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16707
167082005-11-10 Diego Novillo <dnovillo@redhat.com>
16709
16710 * testsuite/libgomp.c: Rename from libgomp.dg.
16711
167122005-11-09 Diego Novillo <dnovillo@redhat.com>
16713
16714 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16715 threadprivate variable 'i'.
16716
167172005-11-09 Jakub Jelinek <jakub@redhat.com>
16718
16719 * config/linux/s390/futex.h: New file.
16720 * configure.tgt: Use it.
16721
16722 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16723 before the parallel.
16724
167252005-11-08 Jakub Jelinek <jakub@redhat.com>
16726
16727 PR c++/24734
16728 * testsuite/libgomp.c++/master-1.C: New test.
16729
167302005-11-07 Jakub Jelinek <jakub@redhat.com>
16731
16732 * testsuite/libgomp.dg/copyin-3.c: New test.
16733
167342005-11-07 Jakub Jelinek <jakub@redhat.com>
16735
16736 * testsuite/libgomp.fortran/retval1.f90: New test.
16737 * testsuite/libgomp.fortran/vla7.f90: New test.
16738
167392005-11-06 Jakub Jelinek <jakub@redhat.com>
16740
16741 * testsuite/libgomp.fortran/vla2.f90: New test.
16742 * testsuite/libgomp.fortran/vla3.f90: New test.
16743 * testsuite/libgomp.fortran/vla4.f90: New test.
16744 * testsuite/libgomp.fortran/vla5.f90: New test.
16745 * testsuite/libgomp.fortran/vla6.f90: New test.
16746
167472005-11-01 Jakub Jelinek <jakub@redhat.com>
16748
16749 * config/linux/sparc/futex.h: New file.
16750 * configure.tgt: Use it.
16751 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16752
16753 * critical.c: Include stdlib.h.
16754 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16755 ignoring return value.
16756 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16757 LIBGOMP_CHECK_SYNC_BUILTINS check.
16758 * configure: Rebuilt.
16759
167602005-10-31 Jakub Jelinek <jakub@redhat.com>
16761
16762 * testsuite/libgomp.fortran/vla1.f90: New test.
16763
167642005-10-31 Richard Henderson <rth@redhat.com>
16765
16766 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16767 setting 's' in different threads.
16768
167692005-10-31 Jakub Jelinek <jakub@redhat.com>
16770
16771 * libgomp.h (attribute_hidden, ialias): Define.
16772 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16773 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16774 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16775 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16776 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16777 omp_test_lock, omp_test_nest_lock): Likewise.
16778 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16779 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16780 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16781 omp_test_lock, omp_test_nest_lock): Likewise.
16782 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16783 omp_get_dynamic, omp_get_nested): Likewise.
16784 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16785 omp_get_thread_num, omp_in_parallel): Likewise.
16786 * fortran.c (ialias_redirect): Define.
16787 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16788 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16789 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16790 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16791 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16792 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16793 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16794 omp_get_wtime): Add ialias_redirect.
16795
167962005-10-30 Jakub Jelinek <jakub@redhat.com>
16797
16798 * fortran.c: Include stdlib.h.
16799
168002005-10-29 Jakub Jelinek <jakub@redhat.com>
16801
16802 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16803 * Makefile.in: Regenerated.
16804
168052005-10-28 Jakub Jelinek <jakub@redhat.com>
16806
16807 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16808 * libgomp_f.h.in (omp_check_defines): New function.
16809 * env.c: Include libgomp_f.h.
16810 (initialize_env): Call omp_check_defines.
16811
16812 * testsuite/libgomp.dg/copyin-2.c: New test.
16813 * testsuite/libgomp.c++/copyin-2.C: New test.
16814 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16815
16816 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16817 * testsuite/libgomp.fortran/sharing2.f90: New test.
16818
16819 * testsuite/libgomp.dg/copyin-1.c: New test.
16820 * testsuite/libgomp.c++/copyin-1.C: New test.
16821
168222005-10-26 Jakub Jelinek <jakub@redhat.com>
16823
16824 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16825
16826 * testsuite/libgomp.fortran/workshare1.f90: New test.
16827
16828 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16829 only test.
16830 * libgomp.fortran/sharing1.f90: New test.
16831
168322005-10-24 Jakub Jelinek <jakub@redhat.com>
16833
16834 PR c++/24502
16835 * testsuite/libgomp.c++/loop-7.C: New test.
16836
16837 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16838
16839 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16840 * testsuite/libgomp.fortran/reduction6.f90: New test.
16841 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16842
168432005-10-23 Richard Henderson <rth@redhat.com>
16844
16845 * testsuite/libgomp.c++/ctor-1.C: New.
16846 * testsuite/libgomp.c++/ctor-2.C: New.
16847 * testsuite/libgomp.c++/ctor-3.C: New.
16848 * testsuite/libgomp.c++/ctor-4.C: New.
16849 * testsuite/libgomp.c++/ctor-5.C: New.
16850 * testsuite/libgomp.c++/ctor-6.C: New.
16851 * testsuite/libgomp.c++/ctor-7.C: New.
16852 * testsuite/libgomp.c++/ctor-8.C: New.
16853 * testsuite/libgomp.c++/ctor-9.C: New.
16854
168552005-10-21 Diego Novillo <dnovillo@redhat.com>
16856
16857 PR 24455
16858 * testsuite/libgomp.c++/pr24455-1.C: New test.
16859 * testsuite/libgomp.c++/pr24455.C: New test.
16860 * testsuite/libgomp.dg/pr24455-1.c: New test.
16861 * testsuite/libgomp.dg/pr24455.c: New test.
16862
168632005-10-20 Richard Henderson <rth@redhat.com>
16864
16865 * testsuite/libgomp.c++/loop-6.C: New.
16866 * testsuite/libgomp.dg/loop-3.c: New.
16867
168682005-10-20 Jakub Jelinek <jakub@redhat.com>
16869
16870 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16871 explicitly private.
16872 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16873 explicitly shared.
16874
168752005-10-19 Diego Novillo <dnovillo@redhat.com>
16876
16877 * testsuite/libgomp.fortran/jacobi.f: New test.
16878
168792005-10-19 Richard Henderson <rth@redhat.com>
16880
16881 * configure.tgt (i?86-linux): Default to with_arch instead of
16882 CFLAGS. Add -mtune to match target_cpu.
16883 (x86_64-linux): Tune to i686.
16884
16885 * fortran.c (omp_test_nest_lock_): Fix typo.
16886
168872005-10-19 Jakub Jelinek <jakub@redhat.com>
16888
16889 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16890 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16891 * testsuite/libgomp.dg/ordered-3.c: New test.
16892
16893 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16894 Remove volatile keyword.
16895
16896 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16897 in COMMON block to avoid warnings on 64-bit targets.
16898
168992005-10-18 Diego Novillo <dnovillo@redhat.com>
16900
16901 * testsuite/libgomp.dg/shared-3.c: New test.
16902
169032005-10-18 Jakub Jelinek <jakub@redhat.com>
16904
16905 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16906 * testsuite/libgomp.fortran/reduction5.f90: New test.
16907
169082005-10-18 Jakub Jelinek <jakub@redhat.com>
16909
16910 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16911 dg-options.
16912 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16913 flush loop now that __sync_synchronize has proper memory barrier.
16914 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16915 Add -ffixed-form to dg-options.
16916
169172005-10-17 Diego Novillo <dnovillo@redhat.com>
16918
16919 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16920 from subdirectories.
16921 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16922 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16923 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16924 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16925 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16926 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16927 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16928 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16929 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16930 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16931 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16932 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16933 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16934 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16935 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16936 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16937 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16938 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16939 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16940 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16941 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16942 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16943 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16944 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16945 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16946
169472005-10-17 Jakub Jelinek <jakub@redhat.com>
16948
16949 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16950 lang_library_path exists. Use find instead of glob to gather tests.
16951 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16952
169532005-10-17 Diego Novillo <dnovillo@redhat.com>
16954
16955 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16956 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16957 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16958 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16959 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16960 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16961 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16962 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16963 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16964 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16965 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16966 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16967 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16968
169692005-10-15 Jakub Jelinek <jakub@redhat.com>
16970
16971 * testsuite/libgomp.dg/vla-1.c: New test.
16972
16973 * testsuite/libgomp.fortran/reference2.f90: New test.
16974
16975 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16976 declaration of omp_get_thread_num.
16977 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16978 use omp_lib.
16979
16980 * testsuite/libgomp.fortran/reduction1.f90: New test.
16981 * testsuite/libgomp.fortran/reduction2.f90: New test.
16982 * testsuite/libgomp.fortran/reduction3.f90: New test.
16983 * testsuite/libgomp.fortran/reduction4.f90: New test.
16984
169852005-10-13 Richard Henderson <rth@redhat.com>
16986
16987 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16988 * Makefile.in: Regenerate.
16989 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16990 * libgomp.h: Include bar.h.
16991 (struct gomp_barrier): Remove.
16992 (struct gomp_team): Add barrier. Replace master_barrier with
16993 master_release. Replace threads with ordered_release.
16994 (struct gomp_thread): Replace barrier with release.
16995 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16996 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16997 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16998 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16999 (GOMP_single_copy_end): Likewise.
17000 * team.c (gomp_threads_dock): New.
17001 (gomp_barrier_init, gomp_barrier_destroy): Remove.
17002 (gomp_thread_start): Use gomp_barrier_wait.
17003 (new_team, free_team): Update for gomp_team changes.
17004 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
17005 (gomp_team_end): Use gomp_barrier_wait.
17006 (initialize_team): Update for gomp_thread changes.
17007 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
17008 (gomp_work_share_end_nowait): Use atomic ops when available.
17009 * config/linux/bar.c, config/linux/bar.h: New files.
17010 * config/posix/bar.c, config/posix/bar.h: New files.
17011
170122005-10-13 Jakub Jelinek <jakub@redhat.com>
17013
17014 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
17015 * testsuite/libgomp.dg/single-2.c: New test.
17016
17017 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
17018 lang_link_flags): Unset, so that they aren't inherited from previously
17019 sourced *.exp.
17020
17021 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
17022
170232005-10-12 Richard Henderson <rth@redhat.com>
17024
17025 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
17026 (libgomp_init): Use lang_test_file, lang_library_path, and
17027 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
17028
17029 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
17030 (lang_test_file, lang_link_flags): New.
17031 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
17032
17033 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
17034 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
17035 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
17036 testsuite/libgomp.c++/parallel-1.C,
17037 testsuite/libgomp.c++/reduction-1.C,
17038 testsuite/libgomp.c++/reduction-2.C,
17039 testsuite/libgomp.c++/reduction-3.C,
17040 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
17041 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
17042 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
17043 New files, largely cribbed from the C testsuite.
17044
170452005-10-12 Jakub Jelinek <jakub@redhat.com>
17046
17047 * testsuite/libgomp.fortran/character1.f90: New test.
17048 * testsuite/libgomp.fortran/character2.f90: New test.
17049
17050 * testsuite/libgomp.dg/nested-1.c: New test.
17051 * testsuite/libgomp.dg/nested-2.c: New test.
17052 * testsuite/libgomp.fortran/do1.f90: New test.
17053 * testsuite/libgomp.fortran/do2.f90: New test.
17054
17055 * testsuite/libgomp.fortran/reference1.f90: New test.
17056
170572005-10-11 Jakub Jelinek <jakub@redhat.com>
17058
17059 * testsuite/libgomp.dg/reduction-1.c: New test.
17060 * testsuite/libgomp.dg/reduction-2.c: New test.
17061 * testsuite/libgomp.dg/reduction-3.c: New test.
17062
170632005-10-10 Jakub Jelinek <jakub@redhat.com>
17064
17065 * testsuite/libgomp.dg/atomic-1.c: New test.
17066 * testsuite/libgomp.dg/atomic-2.c: New test.
17067
170682005-10-09 Richard Henderson <rth@redhat.com>
17069
17070 * critical.c (atomic_lock): New.
17071 (initialize_critical): Initialize it.
17072 (GOMP_atomic_start, GOMP_atomic_end): New.
17073 * libgomp.map: Export them.
17074 * libgomp_g.h: Declare them.
17075
17076 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17077
170782005-10-02 Richard Henderson <rth@redhat.com>
17079
17080 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17081 to XCFLAGS instead of CFLAGS.
17082
170832005-09-30 Richard Henderson <rth@redhat.com>
17084
17085 * configure.ac: Determine whether -pthread or -lpthread is needed.
17086 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 17087 * Makefile.in, configure: Rebuild.
953ff289
DN
17088
170892005-09-28 Richard Henderson <rth@redhat.com>
17090
17091 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17092 * testsuite/libgomp.dg/omp-single-3.c: New test.
17093
170942005-09-28 Diego Novillo <dnovillo@redhat.com>
17095
17096 * testsuite/libgomp.dg/omp-single-2.c: New test.
17097 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17098
170992005-09-27 Richard Henderson <rth@redhat.com>
17100
17101 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17102 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17103
171042005-09-27 Jakub Jelinek <jakub@redhat.com>
17105
17106 * testsuite/libgomp.dg/omp-loop03.c: New test.
17107
171082005-09-27 Diego Novillo <dnovillo@redhat.com>
17109
17110 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17111
171122005-09-27 Diego Novillo <dnovillo@redhat.com>
17113
17114 * testsuite/libgomp.dg/omp-single-1.c: New test.
17115 * testsuite/libgomp.dg/shared-1.c: Return 0.
17116 Add prototype for abort.
17117 * testsuite/libgomp.dg/shared-2.c: Likewise.
17118
171192005-09-26 Jakub Jelinek <jakub@redhat.com>
17120
17121 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17122 constructs.
17123
171242005-09-26 Diego Novillo <dnovillo@redhat.com>
17125
17126 * testsuite/libgomp.dg/shared-1.c: New test.
17127 * testsuite/libgomp.dg/shared-2.c: New test.
17128
171292005-09-24 Richard Henderson <rth@redhat.com>
17130
17131 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17132
171332005-09-24 Richard Henderson <rth@redhat.com>
17134
17135 * iter.c (gomp_iter_static_next): Round up when computing number
17136 of iterations. Don't bother distributing a remainder equally.
17137
17138 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17139 Don't call srand. Zero b before testing.
17140 (main): New.
17141
171422005-09-24 Jakub Jelinek <jakub@redhat.com>
17143
17144 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17145 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17146
171472005-09-23 Jakub Jelinek <jakub@redhat.com>
17148
17149 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17150 without !$omp end do, followed immediately by subroutine end.
17151
171522005-09-23 Diego Novillo <dnovillo@redhat.com>
17153
17154 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17155
171562005-09-22 Richard Henderson <rth@redhat.com>
17157
17158 * critical.c (GOMP_critical_name_start): Change argument to void**.
17159 Reuse the pointer space if the mutex fits.
17160 (GOMP_critical_name_end): Likewise.
17161 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17162 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17163 (GOMP_critical_name_end): Likewise.
17164 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17165 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17166
171672005-09-20 Richard Henderson <rth@redhat.com>
17168
17169 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17170 (create_lock_lock): New.
17171 (initialize_critical): Initialize it.
17172 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17173 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17174
171752005-09-20 Diego Novillo <dnovillo@redhat.com>
17176
17177 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17178
171792005-09-20 Diego Novillo <dnovillo@redhat.com>
17180
17181 * testsuite/libgomp.dg/omp-loop01.c: New test.
17182 * testsuite/libgomp.dg/omp-loop02.c: New test.
17183
171842005-09-20 Jakub Jelinek <jakub@redhat.com>
17185
17186 * configure.ac (AC_PROG_FC): Add.
17187 (USE_FORTRAN): New automake conditional.
17188 * configure: Rebuilt.
17189 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17190 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17191 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17192 Add rules to build them.
17193 * Makefile.in: Rebuilt.
17194 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17195 OMP_NEST_LOCK_KIND.
17196 * libgomp.map: Add Fortran wrappers.
17197 * libgomp_f.h.in: New file.
17198 * omp_lib.h.in: New file.
17199 * omp_lib.f90.in: New file.
17200 * fortran.c: New file.
17201 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17202 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17203 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17204 libgfortran has been built.
17205 * testsuite/libgomp.fortran/fortran.exp: New file.
17206 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17207 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17208 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17209 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17210 * testsuite/libgomp.fortran/omp_hello.f: New test.
17211 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17212 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17213 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17214 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17215 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17216 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17217 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17218 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17219
172202005-08-30 Richard Henderson <rth@redhat.com>
17221
17222 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17223 function for when aliases are not usable.
17224 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17225 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17226 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17227 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17228 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17229 GOMP_loop_ordered_guided_next): Likewise.
17230 * ordered.c (GOMP_ordered_start): Likewise.
17231
172322005-08-01 Diego Novillo <dnovillo@redhat.com>
17233
17234 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17235 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17236 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17237 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17238 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17239 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17240 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17241 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17242 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17243
172442005-07-07 Eric Christopher <echristo@redhat.com>
17245 Diego Novillo <dnovillo@redhat.com>
17246
17247 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17248 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17249 up code.
17250 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17251 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17252 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17253 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17254 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17255 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17256 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17257
172582005-06-13 Diego Novillo <dnovillo@redhat.com>
17259
17260 * TOPLEVEL.patch: Remove.
17261
172622005-05-16 Richard Henderson <rth@redhat.com>
17263
17264 * configure.ac: Test for clock_gettime.
17265 * config.h.in, configure: Rebuild.
17266 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17267 (omp_get_wtime): Use clock_gettime if available.
17268 (omp_get_wtick): Use clock_getres if available.
17269
172702005-05-11 Richard Henderson <rth@redhat.com>
17271
17272 * config/linux/ia64/futex.h: New file.
17273 * configure.tgt: Use it.
17274
17275 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17276
172772005-05-07 Richard Henderson <rth@redhat.com>
17278
17279 * config/linux/powerpc/futex.h: New file.
17280 * configure.tgt: Use it.
17281
17282 * config/linux/i486/futex.h: Merge ...
17283 * config/linux/x86_64/futex.h: ... into ...
17284 * config/linux/x86/futex.h: ... here.
17285 * configure.tgt: Update to match.
17286
172872005-05-06 Richard Henderson <rth@redhat.com>
17288
17289 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17290 * config/linux/i486/futex.h: Likewise.
17291 * config/linux/x86_64/futex.h: Likewise.
17292
17293 * config/linux/lock.c: New file.
17294 * config/linux/omp-lock.h: New file.
17295
17296 * critical.c, env.h: Don't include omp.h
17297 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17298 * config/posix/time.c: Likewise.
17299 * config/posix/omp-lock.h: New file.
17300 * libgomp.h: Include omp-lock.h and omp.h.
17301 * Makefile.am (nodist_include_HEADERS): New.
17302 (omp.h): New rule.
17303 * configure.ac (PERL): New.
17304 * mkomp_h.pl: New file.
17305 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17306 with templates.
17307 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17308
17309 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17310 build directory. Re-add -march=i486 hack.
17311
17312 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17313 (libgomp_link_flags): Remove.
17314 (libgomp_initialized): Remove.
17315 (libgomp_init): Don't protect from reinitialization. Copy code
17316 from libstdc++ for getting the multilib set correctly.
17317
173182005-05-05 Richard Henderson <rth@redhat.com>
17319
17320 * config/linux/alpha/futex.h: New file.
17321 * configure.tgt (alpha*-*-linux*): Use it.
17322
17323 * config/posix/mutex.c: New file.
17324 * config/posix/sem.c: Use libgomp.h.
17325
17326 * configure.tgt (x86_64-linux): Also test CC for -m32.
17327 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17328
a1daed2d 17329 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
17330 after $gccpath.
17331
17332 * Makefile.am (SUBDIRS): New.
17333 (libgomp_la_LDFLAGS): Add -lpthread.
17334 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17335 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17336
17337 * libgomp_g.h: New file.
17338 * libgomp.h: Split out all public declarations to libgomp_g.h.
17339 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17340 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17341 * config/linux/sem.h: Likewise.
17342 * config/posix/sem.h: Likewise.
17343
17344 * Makefile.am (AM_LDFLAGS): New.
17345 (libgomp_version_script): Split out from ...
17346 (libgomp_la_LDFLAGS): ... here.
17347 (libgomp_version_info): New.
17348 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17349 (LIBGOMP_ENABLE): New.
17350 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17351 (LIBGOMP_ENABLE_SYMVERS): New.
17352 * configure.ac (AC_INIT): Version 1.0.
17353 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17354 (enable-linux-futex): Likewise. Rename from enable-futex.
17355 (libtool_VERSION): New.
17356 (LIBGOMP_ENABLE_SYMVERS): Use it.
17357 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17358 * Makefile.in, aclocal.m4, configure: Rebuild.
17359
17360 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17361 (gomp_mutex_unlock_slow): Fix typo.
17362 * config/linux/sem.c: Similarly.
17363 (gomp_sem_post_slow): Fix typo.
17364 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17365 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17366 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17367
17368 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17369 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17370 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17371 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17372 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17373 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17374 LDFLAGS. Pull enable_futex check to top-level.
17375 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17376 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17377
17378 First attempt at real configury.
17379 * Makefile, config.h: Remove file.
17380 * Makefile.am, Makefile.in: New file.
17381 * acinclude.m4 aclocal.m4: New file.
17382 * configure.ac, configure.tgt, configure: New file.
17383
17384 * config/posix/lock.c: Rename from sys-lock.c.
17385 * config/posix/mutex.h: Rename from sys-mutex.h.
17386 * config/posix/sem.c: Rename from sys-sem.c.
17387 * config/posix/sem.h: Rename from sys-sem.h.
17388 * config/posix/proc.c: Rename from sys-proc.c.
17389 * config/posix/time.c: Rename from sys-proc.c.
17390
17391 * config/linux/mutex.c: New file.
17392 * config/linux/mutex.h: New file.
17393 * config/linux/sem.c: New file.
17394 * config/linux/sem.h: New file.
17395 * config/linux/i486/futex.h: New file.
17396 * config/linux/x86_64/futex.h: New file.
17397
173982005-05-04 Richard Henderson <rth@redhat.com>
17399
17400 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17401 * libgomp.h: Declare them.
17402 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17403 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17404
174052005-05-04 Richard Henderson <rth@redhat.com>
17406
17407 * libgomp-1 code drop
17408
174092005-05-04 Richard Henderson <rth@redhat.com>
17410
17411 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17412 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17413 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17414 (gomp_iter_static_next): Update.
17415 (gomp_ordered_static_next): Update.
17416 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17417 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17418 totally empty range.
17419 (gomp_loop_ordered_static_next): Refine test for calling
17420 gomp_ordered_static_next.
17421 * testsuite/ordered-1.c: Add case for more threads than iterations.
17422
17423 * iter.c (gomp_iter_runtime_next_locked): Remove.
17424 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 17425 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
17426 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17427 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17428 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17429 gomp_loop_ordered_guided_next): Downcase name, make static, add
17430 an external alias with the old name.
17431 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17432 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17433 switch and call one of the above static functions.
17434 * libgomp.h: Update.
17435
17436 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17437 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17438 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17439 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17440 GOMP_loop_ordered_guided_start): Update to match.
17441 * sections.c (GOMP_sections_start): Likewise.
17442 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17443
17444 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17445 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17446 Use bounds check instead of modulus.
17447 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17448 (gomp_ordered_last): Don't sync with ordered_owner here.
17449 (gomp_ordered_next): Likewise.
17450 (gomp_ordered_static_loop_next): Likewise.
17451 * loop.c, libgomp.h: Update to match.
17452
17453 * libgomp.h (GOMP_barrier): Declare.
17454
17455 * testsuite/barrier-1.c: New file.
17456 * testsuite/critical-1.c: New file.
17457 * testsuite/ordered-2.c: New file.
17458 * testsuite/ordered-1.c: New file.
17459 * testsuite/sections-1.c: New file.
17460 * testsuite/single-1.c: New file.
17461 * testsuite/Makefile (TESTS): Add them.
17462
174632005-05-04 Richard Henderson <rth@redhat.com>
17464
17465 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17466 * loop.c (GOMP_loop_static_start): If not the startup thread,
17467 acquire the mutex to wait for initialization complete.
17468 (GOMP_loop_ordered_static_start): Likewise.
17469 (GOMP_loop_ordered_runtime_start): Likewise.
17470 (GOMP_loop_ordered_static_first): Remove.
17471 (GOMP_loop_ordered_dynamic_first): Remove.
17472 (GOMP_loop_ordered_guided_first): Remove.
17473 (GOMP_loop_ordered_runtime_first): Remove.
17474 * ordered.c (gomp_ordered_loop_first): Post to own release when
17475 we're the first thread.
17476 (gomp_ordered_loop_last): Wait on release if not owner.
17477 (gomp_ordered_loop_next): Likewise.
17478 (gomp_ordered_static_loop_init): New.
17479 (gomp_ordered_static_loop_next): Use ordered_owner.
17480 (GOMP_ordered_start): Likewise.
17481 * work.c (gomp_new_work_share): Initialize ordered_owner.
17482
174832005-05-03 Richard Henderson <rth@redhat.com>
17484
17485 * Makefile (OPT): New.
17486 (CFLAGS): Use it.
17487
17488 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17489 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17490 * libgomp.h, libgomp.map, NOTES: Update to match.
17491
17492 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17493 Add initialized and thr members.
17494 (gomp_thread_start): Pause when initially spawned to wait for
17495 the whole team to be created.
17496 (gomp_team_start): Release team members at the end.
17497
17498 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17499 (f_foo_1): Use GOMP_loop_end.
17500 (f_foo_2): Use GOMP_loop_end_nowait.
17501
17502 * testsuite/loop-2.c: New file.
17503 * testsuite/Makefile (TESTS): Add it.
17504
175052005-05-03 Richard Henderson <rth@redhat.com>
17506
17507 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17508 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17509 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17510 initial work_share.
17511
17512 * testsuite/Makefile: New file.
17513 * testsuite/loop-1.c: New file.
17514
175152005-05-03 Richard Henderson <rth@redhat.com>
17516
17517 Initial implementation and checkin.
21fa2a29 17518\f
877e3c2a 17519Copyright (C) 2005-2022 Free Software Foundation, Inc.
21fa2a29
JJ
17520
17521Copying and distribution of this file, with or without modification,
17522are permitted in any medium without royalty provided the copyright
17523notice and this notice are preserved.