]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
2
3 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
4 with fromto as implemented.
5
6 2022-06-28 Martin Liska <mliska@suse.cz>
7
8 * acinclude.m4: Fix typo in mold linker detection.
9 * Makefile.in: Regenerate.
10 * configure: Regenerate.
11
12 2022-06-21 Jakub Jelinek <jakub@redhat.com>
13 Paul Iannetta <piannetta@kalrayinc.com>
14
15 PR libgomp/106045
16 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
17
18 2022-06-17 Martin Liska <mliska@suse.cz>
19
20 * libgomp.texi: Add table header for new features of
21 OpenMP 5.2.
22
23 2022-06-15 Jakub Jelinek <jakub@redhat.com>
24
25 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
26 q to ddress of an automatic variable. Use -5 instead of -1 in
27 omp_get_mapped_ptr call. Add test with omp_initial_device.
28 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
29 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
30 Renumber stop arguments afterwards.
31
32 2022-06-13 Jakub Jelinek <jakub@redhat.com>
33
34 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
35 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
36 parameters.
37 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
38 * target.c (resolve_device): Add remapped argument, handle
39 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
40 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
41 if remapped, otherwise treat omp_initial_device that way. For
42 omp_invalid_device, always emit gomp_fatal, even when
43 OMP_TARGET_OFFLOAD isn't mandatory.
44 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
45 GOMP_target_update, GOMP_target_update_ext,
46 GOMP_target_enter_exit_data): Pass true as remapped argument to
47 resolve_device.
48 (omp_target_alloc, omp_target_free, omp_target_is_present,
49 omp_target_memcpy_check, omp_target_associate_ptr,
50 omp_target_disassociate_ptr, omp_get_mapped_ptr,
51 omp_target_is_accessible): Pass false as remapped argument to
52 resolve_device. Treat omp_initial_device the same as
53 gomp_get_num_devices (). Don't bypass resolve_device calls if
54 device_num is negative.
55 (omp_pause_resource): Treat omp_initial_device the same as
56 gomp_get_num_devices (). Call resolve_device.
57 * icv-device.c (omp_set_default_device): Always set to device_num
58 even when it is negative.
59 * libgomp.texi: Document that Conforming device numbers,
60 omp_initial_device and omp_invalid_device is implemented.
61 * testsuite/libgomp.c/target-41.c (main): Add test with
62 omp_initial_device.
63 * testsuite/libgomp.c/target-45.c: New test.
64 * testsuite/libgomp.c/target-46.c: New test.
65 * testsuite/libgomp.c/target-47.c: New test.
66 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
67 test with omp_initial_device. Use -5 instead of -1 for negative value
68 test.
69 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
70 Likewise. Reorder stop numbers.
71
72 2022-06-10 Jakub Jelinek <jakub@redhat.com>
73
74 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
75 rather than "libmemkind.so".
76
77 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
78
79 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
80 * plugin/configfrag.ac (--with-cuda-driver)
81 (--with-cuda-driver-include, --with-cuda-driver-lib)
82 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
83 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
84 Remove.
85 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
86 (cuda_driver_lib): Remove.
87 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
88 * Makefile.in: Regenerate.
89 * configure: Likewise.
90 * testsuite/Makefile.in: Likewise.
91
92 2022-06-09 Jakub Jelinek <jakub@redhat.com>
93
94 * config/linux/allocator.c: Fix up #include directive.
95
96 2022-06-09 Jakub Jelinek <jakub@redhat.com>
97
98 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
99 (enum gomp_memkind_kind): New type.
100 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
101 is defined.
102 (struct gomp_memkind_data): New type.
103 (memkind_data, memkind_data_once): New variables.
104 (gomp_init_memkind, gomp_get_memkind): New functions.
105 (omp_init_allocator): Initialize data.memkind, don't fail for
106 omp_high_bw_mem_space if libmemkind supports it.
107 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
108 memkind support of LIBGOMP_USE_MEMKIND is defined.
109 * config/linux/allocator.c: New file.
110
111 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
112
113 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
114 * testsuite/libgomp.fortran/scope-2.f90: New test.
115
116 2022-06-02 David Malcolm <dmalcolm@redhat.com>
117
118 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
119
120 2022-05-31 Jakub Jelinek <jakub@redhat.com>
121
122 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
123 scope construct with allocate clause.
124 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
125 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
126
127 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
128
129 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
130 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
131 explicit 'to' and 'enter' clause.
132 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
133
134 2022-05-28 Jakub Jelinek <jakub@redhat.com>
135
136 PR libgomp/105745
137 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
138 defined(HAVE__ALIGNED_MALLOC) case.
139 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
140 handling as last option before fallback instead of first.
141 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
142 _aligned_free.
143
144 2022-05-27 Jakub Jelinek <jakub@redhat.com>
145
146 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
147 clauses to enter.
148 * testsuite/libgomp.c/target-41.c: Likewise.
149
150 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
151
152 * libgomp.texi (Other new OpenMP 5.1 features): Add
153 'begin declare target'.
154 (Other new OpenMP 5.2 features): New.
155
156 2022-05-25 Jakub Jelinek <jakub@redhat.com>
157
158 * task.c (gomp_task_run_post_handle_dependers): If empty_task
159 is the last task taskwait depend depends on, wake it up.
160 Similarly if it is the last child of a taskgroup, use atomic
161 store instead of decrement and awak taskgroup wait if any.
162 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
163
164 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
165
166 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
167 EF_AMDGPU_MACH_AMDGCN_GFX90a.
168 (gcn_gfx90a_s): New.
169 (isa_hsa_name): Support gfx90a.
170 (isa_code): Likewise.
171
172 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
173
174 PR c/105378
175 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
176 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
177
178 2022-05-24 Jakub Jelinek <jakub@redhat.com>
179
180 PR c/105378
181 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
182 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
183 * task.c (empty_task): New function.
184 (gomp_task_run_post_handle_depend_hash): Declare earlier.
185 (gomp_task_run_post_handle_depend): Declare.
186 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
187 for.
188 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
189 (GOMP_taskwait_depend_nowait): New function.
190 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
191
192 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
193
194 PR fortran/104949
195 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
196 Support attach for GOMP_MAP_FIRSTPRIVATE.
197 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
198 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
199 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
200
201 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
202
203 * libgomp.map: Added omp_target_memcpy_async and
204 omp_target_memcpy_rect_async.
205 * libgomp.texi: Both functions are now supported.
206 * omp.h.in: Added omp_target_memcpy_async and
207 omp_target_memcpy_rect_async.
208 * omp_lib.f90.in: Added interfaces for both new functions.
209 * omp_lib.h.in: Likewise.
210 * target.c (ialias_redirect): Added for GOMP_task.
211 (omp_target_memcpy): Restructured into check and copy part.
212 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
213 omp_target_memcpy_async that checks requirements.
214 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
215 omp_target_memcpy_async that performs the memcpy.
216 (omp_target_memcpy_async_helper): New helper function that is used in
217 omp_target_memcpy_async for the asynchronous task.
218 (omp_target_memcpy_async): Added.
219 (omp_target_memcpy_rect): Restructured into check and copy part.
220 (omp_target_memcpy_rect_check): New helper function for
221 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
222 requirements.
223 (omp_target_memcpy_rect_copy): New helper function for
224 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
225 the memcpy.
226 (omp_target_memcpy_rect_async_helper): New helper function that is used
227 in omp_target_memcpy_rect_async for the asynchronous task.
228 (omp_target_memcpy_rect_async): Added.
229 * task.c (ialias): Added for GOMP_task.
230 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
231 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
232 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
233 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
234 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
235 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
236 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
237 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
238
239 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
240
241 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
242 (OpenMP Context Selectors): Add missing comma.
243 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
244 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
245 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
246 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
247
248 2022-05-17 Jakub Jelinek <jakub@redhat.com>
249
250 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
251 comment for omp_display_env feature.
252
253 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
254
255 * libgomp.texi (Offload-Target Specifics): New chapter; add section
256 to document OpenMP context selectors.
257
258 2022-05-17 Jakub Jelinek <jakub@redhat.com>
259
260 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
261 from bool to unsigned char.
262 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
263 Ignore dependencies where
264 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
265 rather than just task->depend[i].is_in && ent->is_in. Remember
266 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
267 conditional.
268 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
269 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
270 rather than just elem.is_in && ent->is_in.
271 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
272 inoutset depend-kind.
273 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
274 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
275 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
276
277 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
278
279 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
280
281 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
282
283 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
284 * testsuite/libgomp.fortran/depend-5.f90: New test.
285 * testsuite/libgomp.fortran/depend-6.f90: New test.
286 * testsuite/libgomp.fortran/depend-7.f90: New test.
287
288 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
289
290 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
291 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
292 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
293
294 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
295
296 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
297
298 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
299
300 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
301
302 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
303
304 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
305 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
306 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
307 append '$(PLUGIN_NVPTX_LDFLAGS)'.
308 * Makefile.in: Regenerate.
309
310 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
311
312 * Makefile.am (libgomp_la_LIBADD): Initialize.
313 * plugin/configfrag.ac (DL_LIBS): New.
314 (PLUGIN_GCN_LIBS): Remove.
315 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
316 * plugin/Makefrag.am (libgomp_la_LIBADD)
317 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
318 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
319 * Makefile.in: Regenerate.
320 * config.h.in: Likewise.
321 * configure: Likewise.
322 * testsuite/Makefile.in: Likewise.
323
324 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
325
326 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
327 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
328 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
329 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
330 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
331 'PLUGIN_NVPTX_LINK_LIBCUDA'.
332 * Makefile.in: Regenerate.
333 * config.h.in: Likewise.
334 * configure: Likewise.
335
336 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
337
338 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
339 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
340 * Makefile.in: Regenerate.
341 * config.h.in: Likewise.
342 * configure: Likewise.
343 * testsuite/Makefile.in: Likewise.
344
345 2022-05-12 Jakub Jelinek <jakub@redhat.com>
346
347 * libgomp.h (struct gomp_task): Add depend_all_memory member.
348 * task.c (gomp_init_task): Initialize depend_all_memory.
349 (gomp_task_handle_depend): Handle omp_all_memory.
350 (gomp_task_run_post_handle_depend_hash): Clear
351 parent->depend_all_memory if equal to current task.
352 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
353 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
354 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
355 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
356
357 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
358
359 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
360 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
361 * Makefile.in: Regenerate.
362 * configure: Likewise.
363 * testsuite/Makefile.in: Likewise.
364
365 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
366
367 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
368 consider 'PLUGIN_GCN_CPPFLAGS'.
369 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
370 'PLUGIN_GCN_LDFLAGS'.
371 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
372 Remove.
373 * Makefile.in: Regenerate.
374 * configure: Likewise.
375 * testsuite/Makefile.in: Likewise.
376
377 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
378
379 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
380 (HSA_RUNTIME_LDFLAGS): Remove.
381 * configure: Regenerate.
382
383 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
384
385 * testsuite/lib/libgomp.exp (libgomp_init): Don't
386 'append always_ld_library_path ":$hsa_runtime_lib"'.
387 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
388
389 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
390
391 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
392 multi-device testing.
393
394 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
395
396 * libgomp.map: Added omp_target_is_accessible.
397 * libgomp.texi: Tagged omp_target_is_accessible as supported.
398 * omp.h.in: Added omp_target_is_accessible.
399 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
400 * omp_lib.h.in: Likewise.
401 * target.c (omp_target_is_accessible): Added implementation of
402 omp_target_is_accessible.
403 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
404 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
405
406 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
407
408 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
409
410 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
411
412 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
413
414 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
415
416 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
417
418 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
419
420 * libgomp.map: Added omp_get_mapped_ptr.
421 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
422 * omp.h.in: Added omp_get_mapped_ptr.
423 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
424 * omp_lib.h.in: Likewise.
425 * target.c (omp_get_mapped_ptr): Added implementation of
426 omp_get_mapped_ptr.
427 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
428 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
429 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
430 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
431 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
432 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
433 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
434 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
435
436 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
437
438 PR fortran/104717
439 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
440 privatization scanning. For GCN offloading compilation, raise
441 '-mgang-private-size'.
442
443 2022-04-26 Jakub Jelinek <jakub@redhat.com>
444
445 PR libgomp/105358
446 * work.c (gomp_init_work_share): Don't mask of adjustment for
447 dynamic long long realignment if struct gomp_work_share has smaller
448 alignof than long long.
449 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
450 struct gomp_work_share has smaller alignof than long long or if
451 sizeof (struct gomp_work_share) is smaller than
452 INLINE_ORDERED_TEAM_IDS_OFF.
453 * loop_ull.c (GOMP_loop_ull_start): Likewise.
454 * sections.c (GOMP_sections2_start): Likewise.
455
456 2022-04-25 Jakub Jelinek <jakub@redhat.com>
457 Thomas Schwinge <thomas@codesourcery.com>
458
459 PR fortran/104717
460 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
461
462 2022-04-13 Jakub Jelinek <jakub@redhat.com>
463
464 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
465
466 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
467
468 * plugin/cuda/cuda.h: Remove file.
469 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
470 "cuda/cuda.h" instead of <cuda.h>.
471 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
472 'PLUGIN_NVPTX_CPPFLAGS'.
473 * configure: Regenerate.
474
475 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
476
477 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
478
479 2022-04-04 Tom de Vries <tdevries@suse.de>
480
481 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
482 on_device_arch_nvptx instead of offload_target_nvptx.
483 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
484
485 2022-04-01 Tom de Vries <tdevries@suse.de>
486
487 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
488 and use REC_DEPTH.
489 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
490
491 2022-04-01 Tom de Vries <tdevries@suse.de>
492
493 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
494 num_workers check.
495
496 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
497 Lulu Cheng <chenglulu@loongson.cn>
498
499 * configure.tgt: Add LoongArch triplet.
500
501 2022-03-28 Tom de Vries <tdevries@suse.de>
502
503 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
504 instead of /libexec/.
505 * configure: Regenerate.
506
507 2022-03-25 Tom de Vries <tdevries@suse.de>
508
509 PR libgomp/105042
510 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
511 execution time.
512 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
513 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
514
515 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
516
517 PR middle-end/104285
518 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
519 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
520 * testsuite/libgomp.c++/target-same-name-2.C: New test.
521 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
522 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
523 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
524
525 2022-03-22 Tom de Vries <tdevries@suse.de>
526
527 PR target/104916
528 PR target/104783
529 * testsuite/libgomp.c/pr104783-2.c: New test.
530
531 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
532
533 PR fortran/103039
534 * testsuite/libgomp.fortran/associate4.f90: New test.
535
536 2022-03-18 Tom de Vries <tdevries@suse.de>
537
538 PR target/104952
539 * testsuite/libgomp.c/pr104952-1.c: New test.
540 * testsuite/libgomp.c/pr104952-2.c: New test.
541
542 2022-03-18 Jakub Jelinek <jakub@redhat.com>
543
544 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
545 variable next to pl variable.
546
547 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
548
549 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
550 Enhance.
551 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
552 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
553
554 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
555
556 PR middle-end/90115
557 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
558 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
559
560 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
561
562 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
563 omp_set_max_active_levels.
564 * testsuite/libgomp.fortran/icv-8.f90: New test.
565
566 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
567
568 PR testsuite/102841
569 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
570
571 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
572
573 * libgomp.texi: Fix typo.
574
575 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
576
577 PR middle-end/100280
578 PR middle-end/104892
579 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
580 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
581 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
582 Likewise.
583 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
584 Likewise.
585 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
586 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
587 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
588 Likewise.
589
590 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
591
592 PR middle-end/104892
593 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
594 to PR104892.
595 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
596 enable '--param=openacc-kernels=decompose' and adjust.
597 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
598 Likewise.
599 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
600 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
601 Likewise.
602
603 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
604
605 PR middle-end/90115
606 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
607 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
608 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
609 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
610
611 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
612
613 PR middle-end/100280
614 PR middle-end/104086
615 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
616 Merge this...
617 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
618 ..., and this...
619 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
620 this, and adjust.
621 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
622 Extend.
623
624 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
625
626 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
627 trait. Test last index in w and v array. Remove redundant
628 assignment to V(1). Move alignment checks at the end of
629 parallel region.
630
631 2022-03-10 Tom de Vries <tdevries@suse.de>
632
633 * testsuite/libgomp.c/pr104783.c: New test.
634
635 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
636
637 PR middle-end/90115
638 PR middle-end/102330
639 PR middle-end/104774
640 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
641 Enhance.
642 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
643 Adjust.
644 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
645 Likewise.
646 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
647 Likewise.
648 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
649 Likewise.
650 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
651 Likewise.
652 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
653 Likewise.
654 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
655 Likewise.
656 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
657 Likewise.
658 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
659 Likewise.
660 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
661 Likewise.
662 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
663 Likewise.
664 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
665 Likewise.
666 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
667 Likewise.
668 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
669 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
670 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
671
672 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
673
674 PR middle-end/90115
675 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
676 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
677 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
678 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
679
680 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
681
682 PR testsuite/104791
683 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
684 expected diagnostics.
685
686 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
687
688 PR middle-end/104784
689 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
690 Test with '--param=openacc-kernels=decompose'.
691 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
692 Likewise.
693 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
694 Likewise.
695 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
696 Likewise.
697 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
698 Likewise.
699 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
700 Likewise.
701 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
702 Likewise.
703 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
704 Likewise.
705 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
706 Likewise.
707 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
708 Likewise.
709 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
710 Likewise.
711 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
712 Likewise.
713 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
714 Likewise.
715 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
716 Likewise.
717 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
718 Likewise.
719 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
720 Likewise.
721 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
722 Likewise.
723 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
724 Likewise.
725 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
726 Likewise.
727 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
728 Likewise.
729 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
730 Likewise.
731 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
732 Likewise.
733 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
734 Likewise.
735 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
736 Likewise.
737 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
738 Likewise.
739 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
740 Likewise.
741 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
742 Likewise.
743 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
744 Likewise.
745 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
746 Likewise.
747 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
748 Likewise.
749 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
750 Likewise.
751 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
752 Likewise.
753 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
754 Likewise.
755
756 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
757
758 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
759 Test '-fopt-info-omp-all'.
760 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
761 Likewise.
762 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
763 Likewise.
764 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
765 Likewise.
766 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
767 Likewise.
768 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
769 Likewise.
770 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
771 Likewise.
772 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
773 Likewise.
774 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
775 Likewise.
776 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
777 Likewise.
778 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
779 Likewise.
780 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
781 Likewise.
782 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
783 Likewise.
784 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
785 Likewise.
786 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
787 Likewise.
788 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
789 Likewise.
790 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
791 Likewise.
792 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
793 Likewise.
794 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
795 Likewise.
796 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
797 Likewise.
798 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
799 Likewise.
800 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
801 Likewise.
802 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
803 Likewise.
804 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
805 Likewise.
806 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
807 Likewise.
808 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
809 Likewise.
810 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
811 Likewise.
812 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
813 Likewise.
814 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
815 Likewise.
816 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
817 Likewise.
818 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
819 Likewise.
820 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
821 Likewise.
822 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
823 Likewise.
824
825 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
826
827 PR middle-end/100280
828 PR middle-end/104132
829 PR middle-end/104133
830 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
831 Extend.
832
833 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
834
835 PR middle-end/100280
836 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
837 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
838 Likewise.
839
840 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
841
842 PR middle-end/100280
843 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
844 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
845 Likewise.
846
847 2022-02-28 Tom de Vries <tdevries@suse.de>
848
849 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
850 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
851 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
852 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
853 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
854 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
855
856 2022-02-24 Tom de Vries <tdevries@suse.de>
857
858 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
859 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
860 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
861 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
862 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
863 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
864 * testsuite/libgomp.c/declare-variant-3.h: New header file.
865
866 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
867
868 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
869 gang-redundant execution.
870
871 2022-02-22 Tom de Vries <tdevries@suse.de>
872
873 PR target/99555
874 * config/nvptx/bar.c (generation_to_barrier): New function, copied
875 from config/rtems/bar.c.
876 (futex_wait, futex_wake): New function.
877 (do_spin, do_wait): New function, copied from config/linux/wait.h.
878 (gomp_barrier_wait_end, gomp_barrier_wait_last)
879 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
880 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
881 and replace with include of config/linux/bar.c.
882 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
883 (gomp_barrier_init): Init new fields.
884 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
885 workarounds.
886 * testsuite/libgomp.c/pr99555-1.c: Same.
887 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
888
889 2022-02-22 Tom de Vries <tdevries@suse.de>
890
891 PR testsuite/104146
892 * testsuite/libgomp.c++/pr96390.C: Add additional-option
893 -foffload=-Wa,--verify for nvptx.
894 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
895
896 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
897
898 * testsuite/libgomp.fortran/depend-4.f90: New test.
899
900 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
901
902 PR c++/102204
903 * testsuite/libgomp.c++/target-virtual-1.C: New test.
904
905 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
906
907 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
908 * target.c (copy_firstprivate_data): Copy only if host address is not
909 NULL.
910 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
911 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
912 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
913 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
914 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
915 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
916 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
917 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
918 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
919 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
920
921 2022-02-08 Jakub Jelinek <jakub@redhat.com>
922
923 PR libgomp/104385
924 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
925 clear task->parent.
926 * testsuite/libgomp.c/pr104385.c: New test.
927
928 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
929
930 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
931 STOP of previous commit.
932
933 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
934
935 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
936 from is_64bit_aligned_.
937 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
938 and use it, more implicit none, remove unused argument.
939
940 2022-02-03 David Seifert <soap@gentoo.org>
941 Jakub Jelinek <jakub@redhat.com>
942
943 * configure.ac: Support --disable-werror.
944 * configure: Regenerate.
945
946 2022-02-01 Tom de Vries <tdevries@suse.de>
947
948 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
949 PR83812 workaround.
950 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
951 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
952
953 2022-02-01 Tom de Vries <tdevries@suse.de>
954
955 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
956 num_workers for nvidia accelerator to fix libgomp error 'insufficient
957 resources'.
958 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
959 Same.
960 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
961
962 2022-02-01 Tom de Vries <tdevries@suse.de>
963
964 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
965 recursion depth.
966 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
967
968 2022-01-31 Martin Liska <mliska@suse.cz>
969
970 * acinclude.m4: Detect *_ld_is_mold and use it.
971 * configure: Regenerate.
972
973 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
974
975 * libgomp.texi (OpenMP 5.0): Update implementation status.
976
977 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
978
979 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
980 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
981 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
982 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
983 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
984 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
985 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
986 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
987 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
988 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
989 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
990 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
991 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
992 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
993 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
994
995 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
996
997 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
998 "static") to make the device num available in the offload image.
999
1000 2022-01-19 Martin Liska <mliska@suse.cz>
1001 Thomas Schwinge <thomas@codesourcery.com>
1002
1003 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
1004 patterns.
1005 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1006 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1007 Likewise.
1008 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1009 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1010 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1011 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1012 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1013 Likewise.
1014 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
1015 Likewise.
1016 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
1017 Likewise.
1018 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
1019 Likewise.
1020 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
1021 Likewise.
1022 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1023 Likewise.
1024 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1025 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1026 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1027
1028 2022-01-18 Martin Liska <mliska@suse.cz>
1029
1030 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
1031 in dg-warning.
1032 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1033 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1034 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1035 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1036 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1037 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1038 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
1039 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
1040 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
1041 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
1042 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
1043 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
1044 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1045 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1046 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1047
1048 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
1049
1050 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
1051 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1052 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1053
1054 2022-01-17 Julian Brown <julian@codesourcery.com>
1055 Thomas Schwinge <thomas@codesourcery.com>
1056
1057 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
1058 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
1059 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
1060
1061 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1062 Andrew Stubbs <ams@codesourcery.com>
1063
1064 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
1065 the number of teams and threads if necessary.
1066 (gcn_exec): Automatically set the number of gangs and workers if
1067 necessary.
1068
1069 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
1070
1071 * testsuite/libgomp.fortran/allocate-1.c: New test.
1072 * testsuite/libgomp.fortran/allocate-1.f90: New test.
1073 * libgomp.texi: Remove string that says that allocate clause
1074 support is for C/C++ only.
1075
1076 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1077
1078 * testsuite/libgomp.c-c++-common/on_device_arch.h
1079 (any_device_arch, any_device_arch_intel_mic): New.
1080 * testsuite/lib/libgomp.exp
1081 (check_effective_target_offload_device_any_intel_mic): New.
1082 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
1083 * testsuite/libgomp.fortran/target10.f90: Likewise.
1084
1085 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1086
1087 PR tree-optimization/102192
1088 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
1089 '-Wuninitialized' diagnostics.
1090
1091 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1092
1093 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
1094 current '-Wuninitialized' diagnostics.
1095 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
1096 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
1097 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
1098 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
1099 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1100 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
1101 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
1102 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1103 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1104 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1105 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
1106 Likewise.
1107
1108 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1109
1110 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
1111 for 'offload_device_intel_mic'.
1112
1113 2022-01-13 Julian Brown <julian@codesourcery.com>
1114 Thomas Schwinge <thomas@codesourcery.com>
1115
1116 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
1117 offloading execution XFAIL.
1118
1119 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1120
1121 PR middle-end/100280
1122 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1123 Update.
1124 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1125 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1126 Likewise.
1127
1128 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1129
1130 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1131 Enhance.
1132 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1133 Likewise.
1134 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
1135 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1136 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
1137 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
1138 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1139 Likewise.
1140 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1141 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1142 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1143 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1144
1145 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
1146
1147 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
1148 * testsuite/libgomp.fortran/target10.f90: Likewise.
1149
1150 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
1151
1152 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
1153 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
1154 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1155
1156 2022-01-03 Jakub Jelinek <jakub@redhat.com>
1157
1158 * libgomp.texi: Bump @copying's copyright year.
1159
1160 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
1161
1162 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
1163 * testsuite/libgomp.fortran/atomic-19.f90: New test.
1164
1165 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
1166
1167 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
1168 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
1169 table, not individual symbols.
1170
1171 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
1172
1173 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
1174 "target offload_device_nonshared_as"
1175 * testsuite/libgomp.c++/target-this-3.C: Likewise.
1176 * testsuite/libgomp.c++/target-this-4.C: Likewise.
1177
1178 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1179
1180 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1181 not overwritten during cross-host/device copying.
1182 (gomp_update): Likewise.
1183 (gomp_exit_data): Likewise.
1184 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1185 * testsuite/libgomp.c++/target-12.C: Likewise.
1186 * testsuite/libgomp.c++/target-15.C: Likewise.
1187 * testsuite/libgomp.c++/target-16.C: Likewise.
1188 * testsuite/libgomp.c++/target-17.C: Likewise.
1189 * testsuite/libgomp.c++/target-21.C: Likewise.
1190 * testsuite/libgomp.c++/target-23.C: Likewise.
1191 * testsuite/libgomp.c/target-23.c: Likewise.
1192 * testsuite/libgomp.c/target-29.c: Likewise.
1193 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1194
1195 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1196
1197 PR middle-end/92120
1198 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1199 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1200 (goacc_enter_data_internal): Likewise.
1201 * target.c (gomp_map_vars_existing): Update assert condition to
1202 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1203 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1204 parameter, add support for mapping a pointer with NULL target.
1205 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1206 parameter, add support for attaching a pointer with NULL target.
1207 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1208 gomp_attach_pointer, add handling for
1209 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1210 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1211 * testsuite/libgomp.c++/target-23.C: New testcase.
1212 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1213 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1214 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1215 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1216 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1217 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1218 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1219
1220 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
1221
1222 * libgomp.texi (OpenMP 5.1): Update status.
1223
1224 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
1225
1226 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1227
1228 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
1229
1230 PR fortran/90030
1231 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1232 * testsuite/libgomp.fortran/pr90030.f90: New test.
1233
1234 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1235 Thomas Schwinge <thomas@codesourcery.com>
1236
1237 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1238 temporary skip.
1239
1240 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1241 Thomas Schwinge <thomas@codesourcery.com>
1242
1243 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1244 skip.
1245
1246 2021-11-29 Richard Biener <rguenther@suse.de>
1247
1248 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1249 return.
1250
1251 2021-11-24 Jakub Jelinek <jakub@redhat.com>
1252
1253 PR middle-end/103384
1254 * testsuite/libgomp.c/declare-variant-2.c: New test.
1255
1256 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
1257
1258 * alloc.c (gomp_aligned_alloc): Fix typo.
1259
1260 2021-11-18 Jakub Jelinek <jakub@redhat.com>
1261
1262 PR libgomp/102838
1263 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1264 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1265 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1266 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1267 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1268 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1269 gomp_aligned_alloc instead of team_malloc.
1270
1271 2021-11-18 Jakub Jelinek <jakub@redhat.com>
1272
1273 PR libgomp/102838
1274 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1275 memalign over posix_memalign over aligned_alloc over fallback
1276 with malloc instead of aligned_alloc over _aligned_alloc over
1277 posix_memalign over memalign over fallback with malloc. For
1278 aligned_alloc, round up size up to multiple of al.
1279
1280 2021-11-16 Jakub Jelinek <jakub@redhat.com>
1281
1282 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1283 construct as implemented.
1284
1285 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
1286
1287 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1288
1289 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1290
1291 * task.c (gomp_create_target_task): Copy args array as well.
1292 * target.c (gomp_target_fallback): Add args argument.
1293 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1294 (GOMP_target): Adjust gomp_target_fallback caller.
1295 (GOMP_target_ext): Likewise.
1296 (gomp_target_task_fn): Likewise.
1297 * config/nvptx/team.c (gomp_nvptx_main): Set
1298 gomp_global_icv.thread_limit_var.
1299 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1300
1301 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1302
1303 * config/nvptx/team.c (__gomp_team_num): Define as
1304 __attribute__((shared)) var.
1305 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1306 * config/nvptx/target.c (__gomp_team_num): Declare as
1307 extern __attribute__((shared)) var.
1308 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1309 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1310 is bigger than num_blocks, use num_teams_lower teams and arrange for
1311 bumping of __gomp_team_num if !first and returning false once we run
1312 out of teams.
1313 * config/nvptx/teams.c (__gomp_team_num): Declare as
1314 extern __attribute__((shared)) var.
1315 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1316
1317 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1318
1319 * testsuite/libgomp.c/teams-5.c: New test.
1320
1321 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1322
1323 PR target/103201
1324 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1325 to ...
1326 * config/gcn/teams.c: ... here. New file.
1327
1328 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1329
1330 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1331 implicit map handling to allow a "superset" existing map as valid case.
1332 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1333 (get_implicit): New function to extract implicit status.
1334 (gomp_map_fields_existing): Adjust arguments in calls to
1335 gomp_map_vars_existing, and add uses of get_implicit.
1336 (gomp_map_vars_internal): Likewise.
1337 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1338
1339 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1340
1341 * libgomp_g.h (GOMP_teams4): Declare.
1342 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1343 * target.c (GOMP_teams4): New function.
1344 * config/nvptx/target.c (GOMP_teams): Remove.
1345 (GOMP_teams4): New function.
1346 * config/gcn/target.c (GOMP_teams): Remove.
1347 (GOMP_teams4): New function.
1348 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1349 teams instead of <= 2.
1350 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1351
1352 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
1353
1354 * testsuite/libgomp.fortran/teams-1.f90: New test.
1355
1356 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1357
1358 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1359 * team.c (struct gomp_thread_start_data): Likewise.
1360 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1361 (gomp_team_start): Initialize start_data->num_teams and
1362 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1363 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1364 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1365 instead of gomp_num_teams and gomp_team_num.
1366 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1367 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1368 * testsuite/libgomp.c/teams-4.c: New test.
1369
1370 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1371
1372 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1373
1374 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1375
1376 * env.c (parse_gomp_openacc_dim): Restore parsing.
1377
1378 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
1379
1380 PR middle-end/102972
1381 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1382 parallel construct.
1383 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1384 * testsuite/libgomp.c/target-3.c: Likewise.
1385 * testsuite/libgomp.c/target-5.c: Likewise.
1386 * testsuite/libgomp.c/target-6.c: Likewise.
1387 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1388 * testsuite/libgomp.c/teams-1.c: Likewise.
1389 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1390 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1391 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1392 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1393 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1394 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1395 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1396
1397 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
1398
1399 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1400 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1401
1402 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1403
1404 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1405 aren't implemented for Fortran yet.
1406
1407 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1408
1409 * testsuite/libgomp.c/loop-26.c: New test.
1410 * testsuite/libgomp.c/loop-27.c: New test.
1411
1412 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
1413
1414 PR testsuite/102910
1415 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1416 instead of #include <alloca.h> + alloca.
1417
1418 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1419
1420 * libgomp.texi (Support of strictly structured blocks in Fortran):
1421 Adjust to 'Y'.
1422 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1423
1424 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1425
1426 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1427 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1428
1429 2021-10-20 Jakub Jelinek <jakub@redhat.com>
1430
1431 PR libgomp/102838
1432 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1433 (struct gomp_work_share): Only use aligned(64) attribute if
1434 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1435 add padding before lock to ensure lock is at offset 64 bytes
1436 into the structure.
1437 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1438 New poor man's static assertions.
1439 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1440 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1441
1442 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
1443 Richard Biener <rguenther@suse.de>
1444
1445 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1446
1447 2021-10-18 Jakub Jelinek <jakub@redhat.com>
1448
1449 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1450 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1451
1452 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
1453
1454 PR fortran/102086
1455 PR fortran/92189
1456 PR fortran/92621
1457 PR fortran/101308
1458 PR fortran/101309
1459 PR fortran/101635
1460 PR fortran/92482
1461 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1462
1463 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1464
1465 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1466 type from char [50] to const char *.
1467 (places_array): Add a testcase for simplified syntax place followed
1468 by length or length and stride.
1469
1470 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1471
1472 * env.c (parse_one_place): Handle non-negative-number the same
1473 as { non-negative-number }. Reject even !number:1 and
1474 !number:1:stride or !place:1 or !place:1:stride instead of just
1475 length other than 1.
1476 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1477 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1478 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1479 as implemented.
1480 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1481 simplified syntax.
1482
1483 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1484
1485 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1486 clearly reject return value 0 as invalid handle the case where end
1487 pointer is the same as first argument as invalid.
1488 (parse_unsigned_long_1): Likewise.
1489 (parse_one_place): Likewise.
1490 (parse_places_var): Likewise.
1491 (parse_stacksize): Likewise.
1492 (parse_spincount): Likewise.
1493 (parse_affinity): Likewise.
1494 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1495 Make code valid C89.
1496 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1497 For strtoul calls which don't clearly reject return value 0 as
1498 invalid handle the case where end pointer is the same as first
1499 argument as invalid.
1500 (gomp_affinity_init_level_1): Likewise.
1501 (gomp_affinity_init_numa_domains): Likewise.
1502 * config/rtems/proc.c (parse_thread_pools): Likewise.
1503
1504 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1505
1506 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1507 after creating count places clean up and return immediately.
1508 * testsuite/libgomp.c/places-6.c: New test.
1509 * testsuite/libgomp.c/places-7.c: New test.
1510 * testsuite/libgomp.c/places-8.c: New test.
1511 * testsuite/libgomp.c/places-9.c: New test.
1512 * testsuite/libgomp.c/places-10.c: New test.
1513
1514 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1515
1516 * env.c (parse_places_var): Handle numa_domains as level 5.
1517 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1518 function.
1519 (gomp_affinity_init_level): Use it instead of
1520 gomp_affinity_init_level_1 for level == 5.
1521 * testsuite/libgomp.c/places-5.c: New test.
1522
1523 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1524
1525 * env.c (parse_places_var): Handle ll_caches as level 4.
1526 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1527 function.
1528 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1529 last level cache.
1530 (gomp_affinity_init_level): Likewise.
1531 * testsuite/libgomp.c/places-1.c: New test.
1532 * testsuite/libgomp.c/places-2.c: New test.
1533 * testsuite/libgomp.c/places-3.c: New test.
1534 * testsuite/libgomp.c/places-4.c: New test.
1535
1536 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1537
1538 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1539 directive.
1540
1541 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1542
1543 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1544
1545 2021-10-12 Julian Brown <julian@codesourcery.com>
1546
1547 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1548 error path.
1549
1550 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
1551
1552 * testsuite/libgomp.fortran/icv-3.f90: New.
1553 * testsuite/libgomp.fortran/icv-4.f90: New.
1554
1555 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1556
1557 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1558 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1559 OMP_TEAMS_THREAD_LIMIT): Document.
1560
1561 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1562
1563 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1564 to avoid makeinfo warnings.
1565
1566 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1567
1568 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1569 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1570
1571 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1572
1573 PR libgomp/102628
1574 PR libgomp/102668
1575 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1576 allocation sizes from 420 to 320 and from 768 to 568.
1577 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1578 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1579 for cr from 16 to 4.
1580
1581 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1582
1583 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1584 * testsuite/libgomp.c/scan-12.c: Likewise.
1585 * testsuite/libgomp.c/scan-13.c: Likewise.
1586 * testsuite/libgomp.c/scan-14.c: Likewise.
1587 * testsuite/libgomp.c/scan-15.c: Likewise.
1588 * testsuite/libgomp.c/scan-16.c: Likewise.
1589 * testsuite/libgomp.c/scan-17.c: Likewise.
1590 * testsuite/libgomp.c/scan-18.c: Likewise.
1591 * testsuite/libgomp.c/scan-19.c: Likewise.
1592 * testsuite/libgomp.c/scan-20.c: Likewise.
1593 * testsuite/libgomp.c/scan-21.c: Likewise.
1594 * testsuite/libgomp.c/scan-22.c: Likewise.
1595 * testsuite/libgomp.c++/scan-9.C: Likewise.
1596 * testsuite/libgomp.c++/scan-10.C: Likewise.
1597 * testsuite/libgomp.c++/scan-11.C: Likewise.
1598 * testsuite/libgomp.c++/scan-12.C: Likewise.
1599 * testsuite/libgomp.c++/scan-13.C: Likewise.
1600 * testsuite/libgomp.c++/scan-14.C: Likewise.
1601 * testsuite/libgomp.c++/scan-15.C: Likewise.
1602 * testsuite/libgomp.c++/scan-16.C: Likewise.
1603
1604 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
1605
1606 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1607
1608 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
1609
1610 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1611 omp_atv_serialized.
1612 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1613 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1614 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1615 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1616
1617 2021-10-11 Jakub Jelinek <jakub@redhat.com>
1618
1619 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1620 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1621 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1622 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1623 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1624 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1625 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1626 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1627 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1628 omp_set_teams_thread_limit{,_,_8_}.
1629 * icv.c (omp_set_num_teams, omp_get_max_teams,
1630 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1631 functions.
1632 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1633 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1634 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1635 vars.
1636 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1637 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1638 is not specified, use gomp_nteams_var.
1639 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1640 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1641 ialias_redirect.
1642 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1643 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1644 omp_get_teams_thread_limit_): New functions.
1645
1646 2021-10-09 liuhongt <hongtao.liu@intel.com>
1647
1648 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1649 * testsuite/libgomp.c++/scan-11.C: Ditto.
1650 * testsuite/libgomp.c++/scan-12.C: Ditto.
1651 * testsuite/libgomp.c++/scan-13.C: Ditto.
1652 * testsuite/libgomp.c++/scan-14.C: Ditto.
1653 * testsuite/libgomp.c++/scan-15.C: Ditto.
1654 * testsuite/libgomp.c++/scan-16.C: Ditto.
1655 * testsuite/libgomp.c++/scan-9.C: Ditto.
1656 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1657 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1658 * testsuite/libgomp.c/scan-11.c: Ditto.
1659 * testsuite/libgomp.c/scan-12.c: Ditto.
1660 * testsuite/libgomp.c/scan-13.c: Ditto.
1661 * testsuite/libgomp.c/scan-14.c: Ditto.
1662 * testsuite/libgomp.c/scan-15.c: Ditto.
1663 * testsuite/libgomp.c/scan-16.c: Ditto.
1664 * testsuite/libgomp.c/scan-17.c: Ditto.
1665 * testsuite/libgomp.c/scan-18.c: Ditto.
1666 * testsuite/libgomp.c/scan-19.c: Ditto.
1667 * testsuite/libgomp.c/scan-20.c: Ditto.
1668 * testsuite/libgomp.c/scan-21.c: Ditto.
1669 * testsuite/libgomp.c/scan-22.c: Ditto.
1670
1671 2021-10-09 Jakub Jelinek <jakub@redhat.com>
1672
1673 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1674 structured block sequences in C/C++. Mention support for
1675 unconstrained/reproducible modifiers on order clause.
1676 Mention partial (C/C++ only) support of extentensions to atomics
1677 construct. Mention partial (C/C++ on clause only) support of
1678 align/allocator modifiers on allocate clause.
1679
1680 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
1681
1682 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1683 based on libgomp.c-c++-common/order-reproducible-1.c.
1684 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1685 * testsuite/libgomp.fortran/my-usleep.c: New test.
1686
1687 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
1688
1689 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1690 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1691 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1692 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1693 based on libgomp.c-c++-common/alloc-9.c.
1694
1695 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1696
1697 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1698 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1699
1700 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1701
1702 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1703 ialias_redirect.
1704 * env.c (handle_omp_display_env): Use ialias_call.
1705 * icv-device.c: Move ialias right below each function.
1706 (omp_get_device_num): Use ialias_call.
1707 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1708 * icv.c (omp_get_active_level): Add ialias_redirect.
1709
1710 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1711
1712 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1713 __alloc_align__ (1) attribute.
1714 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1715
1716 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
1717
1718 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1719 for -fintrinsic-modules-path= warning of the C compiler.
1720 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1721 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1722
1723 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
1724
1725 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1726 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1727 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1728 omp_realloc): Add.
1729 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1730 omp_realloc): Add.
1731 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1732 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1733 * testsuite/libgomp.fortran/alloc-7.c: New test.
1734 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1735 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1736 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1737
1738 2021-09-30 Jakub Jelinek <jakub@redhat.com>
1739
1740 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1741 omp_realloc): New prototypes.
1742 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1743 attribute.
1744 * allocator.c: Include string.h.
1745 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1746 variable and use it instead of alignment so that when retrying the old
1747 alignment is used again. Don't retry if new alignment is the same
1748 as old alignment, unless allocator had pool size.
1749 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1750 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1751 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1752 omp_aligned_calloc and omp_realloc.
1753 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1754 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1755 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1756 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1757 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1758 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1759
1760 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
1761
1762 PR libgomp/96661
1763 * configure.ac: Only check for int-type = 2*size_t support when
1764 building with Fortran support.
1765 * configure: Regenerate.
1766
1767 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
1768
1769 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1770 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1771
1772 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
1773
1774 * team.c: Initialize start_data.
1775 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1776 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1777
1778 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
1779
1780 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1781 dg-message back to dg-note.
1782
1783 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
1784
1785 PR fortran/94070
1786 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1787 expected dg-note output.
1788
1789 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
1790
1791 PR fortran/55534
1792 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1793 r12-3722 by removing -Wno-missing-include-dirs.
1794 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1795
1796 2021-09-22 Jakub Jelinek <jakub@redhat.com>
1797
1798 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1799 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1800
1801 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
1802
1803 PR fortran/55534
1804 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1805 to ALWAYS_CFLAGS.
1806 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1807
1808 2021-09-18 Jakub Jelinek <jakub@redhat.com>
1809
1810 * testsuite/libgomp.c++/default-1.C: New test.
1811 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1812 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1813 to default clause in C and C++" as implemented.
1814
1815 2021-09-17 Julian Brown <julian@codesourcery.com>
1816
1817 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1818
1819 2021-09-17 Julian Brown <julian@codesourcery.com>
1820
1821 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1822
1823 2021-09-17 Jakub Jelinek <jakub@redhat.com>
1824
1825 * libgomp.texi (OpenMP 5.1): Spelling fix,
1826 declare variante -> declare variant.
1827
1828 2021-09-17 Jakub Jelinek <jakub@redhat.com>
1829
1830 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1831 Use /* */ comments instead of //.
1832 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1833 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1834 * testsuite/libgomp.c++/atomic-16.C: New test.
1835 * testsuite/libgomp.c++/atomic-17.C: New test.
1836
1837 2021-09-10 Jakub Jelinek <jakub@redhat.com>
1838
1839 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1840 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1841 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1842
1843 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
1844
1845 * libgomp.texi (OpenMP Implementation Status): Extend
1846 OpenMP 5.0 section.
1847 (OpenACC Profiling Interface): Fix typo.
1848
1849 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
1850
1851 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1852 not to 4.5; link to new section.
1853 (OpenMP Implementation Status): New.
1854
1855 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
1856
1857 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1858
1859 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
1860
1861 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1862 dg-output.
1863 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1864
1865 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1866 Jakub Jelinek <jakub@redhat.com>
1867
1868 * testsuite/libgomp.c/address-space-1.c: New file.
1869
1870 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1871
1872 * testsuite/lib/libgomp.exp
1873 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1874 (check_effective_target_offload_device_intel_mic): New 'proc'.
1875 * testsuite/libgomp.c-c++-common/on_device_arch.h
1876 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1877 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1878 'dg-xfail-run-if'.
1879 * testsuite/libgomp.fortran/target10.f90: Likewise.
1880
1881 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
1882
1883 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1884 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1885 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1886 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1887
1888 2021-08-23 Jakub Jelinek <jakub@redhat.com>
1889
1890 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1891 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1892 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1893
1894 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
1895
1896 * config/nvptx/error.c (fwrite, exit): Override, too.
1897 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1898 of offloading testing.
1899 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1900
1901 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
1902
1903 * testsuite/libgomp.fortran/error-1.f90: New test.
1904
1905 2021-08-20 Jakub Jelinek <jakub@redhat.com>
1906
1907 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1908 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1909 * error.c (GOMP_warning, GOMP_error): New functions.
1910 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1911
1912 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
1913
1914 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1915 omp_target_free. omp_target_is_present, omp_target_memcpy,
1916 omp_target_memcpy_rect, omp_target_associate_ptr,
1917 omp_target_disassociate_ptr): Add interface.
1918 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1919 omp_target_free. omp_target_is_present, omp_target_memcpy,
1920 omp_target_memcpy_rect, omp_target_associate_ptr,
1921 omp_target_disassociate_ptr): Add interface.
1922 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1923 interface block for omp_alloc + omp_free.
1924 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1925 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1926 * testsuite/libgomp.fortran/target-12.f90: New test.
1927
1928 2021-08-18 Jakub Jelinek <jakub@redhat.com>
1929
1930 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1931
1932 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
1933
1934 * testsuite/libgomp.fortran/scope-1.f90: New test.
1935 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1936
1937 2021-08-17 Jakub Jelinek <jakub@redhat.com>
1938
1939 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1940 * Makefile.in: Regenerated.
1941 * libgomp_g.h (GOMP_scope_start): Declare.
1942 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1943 * scope.c: New file.
1944 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1945 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1946
1947 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
1948
1949 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1950 '?:' issues.
1951
1952 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
1953
1954 * testsuite/libgomp.fortran/masked-1.f90: New test.
1955
1956 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
1957
1958 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1959
1960 2021-08-12 Jakub Jelinek <jakub@redhat.com>
1961
1962 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1963
1964 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
1965
1966 * env.c (parse_bind_var): Accept 'primary' as alias for
1967 'master'.
1968 (omp_display_env): Add TODO comment to
1969 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1970 * libgomp.texi: Change 'master thread' to 'primary thread'
1971 in line with OpenMP 5.1.
1972 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1973 omp_proc_bind_master is an alias of it.
1974 (OMP_PROC_BIND): Mention 'PRIMARY'.
1975 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1976 (omp_proc_bind_primary): Add.
1977 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1978 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1979 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1980 * omp_lib.h.in (omp_proc_bind_primary): Add.
1981 * testsuite/libgomp.c/affinity-1.c: Check that
1982 'primary' works and is identical to 'master'.
1983
1984 2021-08-09 Julian Brown <julian@codesourcery.com>
1985 Kwok Cheung Yeung <kcy@codesourcery.com>
1986 Thomas Schwinge <thomas@codesourcery.com>
1987
1988 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1989 16.
1990 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1991 [acc_device_radeon]: Update.
1992 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1993 [ACC_DEVICE_TYPE_radeon]: Likewise.
1994 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1995 [acc_device_radeon]: Likewise.
1996 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1997 [ACC_DEVICE_TYPE_radeon]: Likewise.
1998 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1999 'openacc_radeon_accel_selected' and '-O0'.
2000 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2001
2002 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
2003
2004 * icv-device.c (omp_get_device_num): New API function, host side.
2005 * fortran.c (omp_get_device_num_): New interface function.
2006 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
2007 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
2008 omp_get_device_num_.
2009 * libgomp.texi (omp_get_device_num): Add documentation for new API
2010 function.
2011 * omp.h.in (omp_get_device_num): Add declaration.
2012 * omp_lib.f90.in (omp_get_device_num): Likewise.
2013 * omp_lib.h.in (omp_get_device_num): Likewise.
2014 * target.c (gomp_load_image_to_device): If additional entry for device
2015 number exists at end of returned entries from 'load_image_func' hook,
2016 copy the assigned device number over to the device variable.
2017 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2018 (omp_get_device_num): New API function, device side.
2019 * plugin/plugin-gcn.c ("symcat.h"): Add include.
2020 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2021 at end of returned 'target_table' entries.
2022 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2023 (omp_get_device_num): New API function, device side.
2024 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
2025 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2026 at end of returned 'target_table' entries.
2027 * testsuite/lib/libgomp.exp
2028 (check_effective_target_offload_target_intelmic): New function for
2029 testing for intelmic offloading.
2030 * testsuite/libgomp.c-c++-common/target-45.c: New test.
2031 * testsuite/libgomp.fortran/target10.f90: New test.
2032
2033 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
2034 Ulrich Drepper <drepper@redhat.com>
2035
2036 * fortran.c (omp_display_env_, omp_display_env_8_): Only
2037 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
2038
2039 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
2040 Julian Brown <julian@codesourcery.com>
2041 Kwok Cheung Yeung <kcy@codesourcery.com>
2042
2043 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
2044 's%oaccdevlow%oaccloops%g'.
2045 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2046 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2047 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
2048 Likewise.
2049 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
2050 Likewise.
2051 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
2052 Likewise.
2053 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
2054 Likewise.
2055 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
2056 Likewise.
2057 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
2058 Likewise.
2059 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
2060 Likewise.
2061 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
2062 Likewise.
2063 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2064
2065 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
2066
2067 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
2068 threader.
2069 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2070
2071 2021-07-27 Ulrich Drepper <drepper@gmail.com>
2072
2073 * env.c (wait_policy, stacksize): New static variables,
2074 move out of handle_omp_display_env.
2075 (omp_display_env): New function. The meat of the old
2076 handle_omp_display_env function.
2077 (handle_omp_display_env): Change to not take parameters
2078 and instead use the global variables. Only perform
2079 parsing, defer to omp_display_env for the implementation.
2080 (initialize_env): Remove local variables wait_policy and
2081 stacksize. Don't pass parameters to handle_omp_display_env.
2082 * fortran.c: Add ialias_redirect for omp_display_env.
2083 (omp_display_env_, omp_display_env_8_): New functions.
2084 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
2085 omp_display_env_, and omp_display_env_8_.
2086 * omp.h.in: Declare omp_display_env.
2087 * omp_lib.f90.in: Likewise.
2088 * omp_lib.h.in: Likewise.
2089
2090 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2091 Julian Brown <julian@codesourcery.com>
2092
2093 * target.c (gomp_coalesce_buf_add): Update comment.
2094 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
2095 'aq && cbuf'.
2096 (gomp_map_vars_internal): Only 'if (!aq)', do
2097 'gomp_coalesce_buf_add'.
2098 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
2099 XFAIL.
2100
2101 2021-07-27 Julian Brown <julian@codesourcery.com>
2102 Thomas Schwinge <thomas@codesourcery.com>
2103
2104 * libgomp.h (gomp_copy_host2dev): Update prototype.
2105 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
2106 argument to gomp_copy_host2dev (false).
2107 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
2108 (copy_data): Don't free src.
2109 (queue_push_copy): Remove free_src handling.
2110 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
2111 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
2112 snapshotting.
2113 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
2114 queue_push_copy.
2115 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
2116 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
2117 data when true, and set up deferred freeing of temporary buffer.
2118 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
2119 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
2120 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
2121 calls to gomp_copy_host2dev with appropriate ephemeral argument.
2122 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
2123 XFAIL.
2124
2125 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2126 Tom de Vries <tom@codesourcery.com>
2127
2128 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
2129 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
2130
2131 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2132
2133 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
2134 sequencing of 'async' data copying vs. profiling events.
2135 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2136 Likewise.
2137
2138 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2139 Julian Brown <julian@codesourcery.com>
2140
2141 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
2142 'async'/'wait' issue.
2143 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
2144 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
2145 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
2146
2147 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2148 Joseph Myers <joseph@codesourcery.com>
2149 Cesar Philippidis <cesar@codesourcery.com>
2150
2151 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
2152 file.
2153 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
2154 Likewise.
2155 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
2156 Likewise.
2157 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2158
2159 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
2160
2161 PR target/101484
2162 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
2163 '-Wno-error=array-bounds'.
2164 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
2165 * libgomp.h [__AMDGCN__]: Likewise.
2166
2167 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
2168
2169 PR target/101484
2170 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2171 * libgomp.h [__AMDGCN__]: Likewise.
2172
2173 2021-07-13 Jakub Jelinek <jakub@redhat.com>
2174 Florian Weimer <fweimer@redhat.com>
2175
2176 * config/linux/sem.h: Don't include limits.h.
2177 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
2178 * config/linux/affinity.c: Include limits.h.
2179
2180 2021-07-01 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR middle-end/94366
2183 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2184
2185 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
2186
2187 PR other/67300
2188 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2189 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2190 avoid disabling other offload targets.
2191 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2192 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2193 * testsuite/libgomp.c/target-44.c: Likewise.
2194
2195 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
2196
2197 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2198 target has shared memory and disable some scalar pointer/allocatable
2199 checks if not as firstprivate does not work.
2200
2201 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
2202
2203 PR testsuite/101114
2204 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2205 Add "target offload_device_nonshared_as" condition for enabling test.
2206
2207 2021-06-24 Jakub Jelinek <jakub@redhat.com>
2208
2209 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2210 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2211 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2212 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2213
2214 2021-06-23 Jakub Jelinek <jakub@redhat.com>
2215
2216 PR middle-end/101167
2217 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2218
2219 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
2220
2221 * hashtab.h (htab_clear): New function with initialization code
2222 factored out from...
2223 (htab_create): ...here, adjust to use htab_clear function.
2224 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2225 special refcount values, add comments.
2226 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2227 (REFCOUNT_LINK): Likewise.
2228 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2229 element siblings.
2230 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2231 sibling maps.
2232 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2233 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2234 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2235 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2236 (struct splay_tree_key_s): Add structelem_refcount and
2237 structelem_refcount_ptr fields into a union with dynamic_refcount.
2238 Add comments.
2239 (gomp_map_vars): Delete declaration.
2240 (gomp_map_vars_async): Likewise.
2241 (gomp_unmap_vars): Likewise.
2242 (gomp_unmap_vars_async): Likewise.
2243 (goacc_map_vars): New declaration.
2244 (goacc_unmap_vars): Likewise.
2245 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2246 (goacc_enter_datum): Likewise.
2247 (goacc_enter_data_internal): Likewise.
2248 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2249 and goacc_unmap_vars.
2250 (GOACC_data_start): Adjust to use goacc_map_vars.
2251 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2252 * target.c (hash_entry_type): New typedef.
2253 (htab_alloc): New function hook for hashtab.h.
2254 (htab_free): Likewise.
2255 (htab_hash): Likewise.
2256 (htab_eq): Likewise.
2257 (hashtab.h): Add file include.
2258 (gomp_increment_refcount): New function.
2259 (gomp_decrement_refcount): Likewise.
2260 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2261 gomp_increment_refcount.
2262 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2263 to gomp_map_vars_existing.
2264 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2265 variable to guard OpenMP specific paths, adjust calls to
2266 gomp_map_vars_existing, add structure element sibling splay_tree_key
2267 sequence creation code, adjust Fortran map case to avoid increment
2268 under OpenMP.
2269 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2270 local refcount_set if caller passed in NULL, adjust call to
2271 gomp_map_vars_internal.
2272 (gomp_map_vars_async): Adjust and rename into...
2273 (goacc_map_vars): ...this new function, adjust call to
2274 gomp_map_vars_internal.
2275 (gomp_remove_splay_tree_key): New function with code factored out from
2276 gomp_remove_var_internal.
2277 (gomp_remove_var_internal): Add code to handle removing multiple
2278 splay_tree_key sequence for structure elements, adjust code to use
2279 gomp_remove_splay_tree_key for splay-tree key removal.
2280 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2281 gomp_decrement_refcount.
2282 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2283 local refcount_set if caller passed in NULL, adjust call to
2284 gomp_unmap_vars_internal.
2285 (gomp_unmap_vars_async): Adjust and rename into...
2286 (goacc_unmap_vars): ...this new function, adjust call to
2287 gomp_unmap_vars_internal.
2288 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2289 gomp_unmap_vars.
2290 (GOMP_target_ext): Likewise.
2291 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2292 (GOMP_target_data): Likewise.
2293 (GOMP_target_data_ext): Likewise.
2294 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2295 (gomp_exit_data): Add refcount_set parameter, adjust to use
2296 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2297 after main loop.
2298 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2299 gomp_map_vars and gomp_exit_data.
2300 (gomp_target_task_fn): Likewise.
2301 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2302 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2303 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2304 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2305 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2306 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2307
2308 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
2309
2310 PR fortran/92568
2311 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2312
2313 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2314 Thomas Schwinge <thomas@codesourcery.com>
2315
2316 * libgomp.map (GOACC_2.0.2): New symbol version.
2317 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2318 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2319
2320 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2321 Andrew Stubbs <ams@codesourcery.com>
2322
2323 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2324 extracted from...
2325 (GOACC_enter_exit_data): ... here.
2326 (GOACC_declare): Use it.
2327
2328 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2329
2330 * oacc-parallel.c (GOACC_declare): Move...
2331 * oacc-mem.c: ... here.
2332 * libgomp_g.h: Adjust.
2333
2334 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2335 Thomas Schwinge <thomas@codesourcery.com>
2336
2337 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2338 handling.
2339
2340 2021-06-10 Jakub Jelinek <jakub@redhat.com>
2341
2342 PR tree-optimization/100981
2343 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2344 dsdotr and dsdoti to 0.
2345
2346 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
2347
2348 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2349 if atomic compare-and-swap is supported on 'int'.
2350
2351 2021-06-09 Richard Biener <rguenther@suse.de>
2352
2353 PR tree-optimization/100981
2354 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2355
2356 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2357
2358 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2359 unconditionally.
2360 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2361 Update.
2362 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2363 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2364
2365 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2366
2367 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2368 '-DACC_MEM_SHARED=0'.
2369 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2370 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2371 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2372 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2373 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2374 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2375 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2376 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2377 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2378 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2379 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2380 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2381 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2382 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2383 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2384 'acc_device_radeon' testing.
2385 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2386 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2387 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2388 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2389 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2390 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2391 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2392 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2393 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2394 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2395 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2396 for non-'openacc_nvidia_accel_selected'.
2397 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2398 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2399 all implement this checking".
2400 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2401 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2402 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2403 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2404 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2405
2406 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2407
2408 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2409 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2410
2411 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2412
2413 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2414 for 'acc_device_radeon'.
2415
2416 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2417
2418 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2419 for non-'acc_device_nvidia'.
2420
2421 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2422
2423 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2424 'acc_device_radeon' testing.
2425 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2426 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2427 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2428
2429 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2430
2431 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2432 require 'openacc_nvidia_accel_selected'. Fix up for
2433 'ACC_DEVICE_TYPE_radeon'.
2434
2435 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2436
2437 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2438 'openacc_nvidia_accel_selected'.
2439 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2440
2441 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2442
2443 * testsuite/lib/libgomp.exp
2444 (check_effective_target_openacc_radeon_accel_selected):
2445 Streamline.
2446
2447 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2448
2449 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2450 PR80547 workaround.
2451
2452 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2453
2454 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2455 <acc_device_nvidia>: Update comment.
2456
2457 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
2458
2459 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2460
2461 2021-05-27 Jakub Jelinek <jakub@redhat.com>
2462
2463 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2464 check_effective_target_openacc_cublas,
2465 check_effective_target_openacc_cudart): New.
2466 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2467 target openacc_cublas.
2468 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2469 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2470 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2471 target openacc_cuda.
2472 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2473 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2474 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2475 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2476 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2477 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2478 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2479 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2480 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2481 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2482 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2483 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2484 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2485 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2486 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2487 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2488 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2489 targets openacc_cublas and openacc_cudart.
2490 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2491 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2492 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2493 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2494 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2495 Require effective target openacc_cudart.
2496 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2497 for effective target openacc_cuda and add && defined USE_CUDA_H to
2498 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2499 effective target.
2500
2501 2021-05-26 Jakub Jelinek <jakub@redhat.com>
2502
2503 PR libgomp/100573
2504 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2505 GOMP_target_end_data, GOMP_target_update_ext,
2506 GOMP_target_enter_exit_data): New dummy entrypoints.
2507 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2508 GOMP_target_end_data, GOMP_target_update_ext,
2509 GOMP_target_enter_exit_data): Likewise.
2510 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2511 OMPFROM, OMPTO): Define.
2512 (main): Remove #pragma omp target teams around all the tests.
2513 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2514 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2515
2516 2021-05-25 Jakub Jelinek <jakub@redhat.com>
2517
2518 PR middle-end/99928
2519 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2520
2521 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
2522
2523 PR fortran/86470
2524 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2525 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2526 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2527
2528 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2529
2530 PR testsuite/90115
2531 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2532 uninteresting/varying diagnostics.
2533
2534 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2535
2536 PR middle-end/90115
2537 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2538 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2539
2540 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2541
2542 PR middle-end/90115
2543 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2544 file.
2545 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2546 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2547 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2548 Likewise.
2549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2550 Likewise.
2551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2552 Likewise.
2553 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2554 Likewise.
2555 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2556 Likewise.
2557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2558 Likewise.
2559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2560 Likewise.
2561 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2562 Likewise.
2563 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2564 Likewise.
2565 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2566 Likewise.
2567 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2568 Likewise.
2569 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2570 Likewise.
2571 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2572 Likewise.
2573 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2574 Likewise.
2575 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2576 Likewise.
2577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2578 Likewise.
2579 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2580 Likewise.
2581 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2582 Likewise.
2583 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2584 Likewise.
2585 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2586 Likewise.
2587 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2588 Likewise.
2589 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2590 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2591 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2592 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2593 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2594 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2595 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2596 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2597 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2598 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2599 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2600 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2601 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2602 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2603 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2604 Likewise.
2605 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2606 Likewise.
2607 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2608 Likewise.
2609 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2610 Likewise.
2611 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2612 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2613 Likewise.
2614 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2615 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2616 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2617 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2618 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2619 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2620 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2621 Likewise.
2622 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2623 Likewise.
2624 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2625 Likewise.
2626 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2627 Likewise.
2628 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2629 Likewise.
2630 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2631 Likewise.
2632 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2633 Likewise.
2634 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2635 Likewise.
2636 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2637 Likewise.
2638 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2639 Likewise.
2640 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2641 Likewise.
2642 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2643 Likewise.
2644 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2645 Likewise.
2646 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2647 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2648 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2649 Likewise.
2650 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2651 Likewise.
2652 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2653 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2654 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2655
2656 2021-05-21 Julian Brown <julian@codesourcery.com>
2657 Chung-Lin Tang <cltang@codesourcery.com>
2658 Thomas Schwinge <thomas@codesourcery.com>
2659
2660 PR middle-end/90115
2661 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2662 test.
2663 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2664 Likewise.
2665 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2666 Likewise.
2667
2668 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2669
2670 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2671 for nvptx offloading.
2672
2673 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
2674
2675 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2676
2677 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
2678
2679 PR target/83812
2680 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2681
2682 2021-05-19 Julian Brown <julian@codesourcery.com>
2683
2684 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2685
2686 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2687
2688 * testsuite/lib/libgomp.exp
2689 (check_effective_target_offload_target_nvptx): Don't shadow global
2690 'offload_targets' variable.
2691
2692 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2693
2694 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2695 '-latomic' to nvptx offloading compilation.
2696 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2697
2698 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2699
2700 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2701 offloading compilation.
2702
2703 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
2704
2705 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2706 if new tasks generated.
2707 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2708
2709 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
2710
2711 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2712
2713 2021-05-13 Martin Liska <mliska@suse.cz>
2714
2715 PR testsuite/100569
2716 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2717 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2718 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2719 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2720
2721 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
2722
2723 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2724 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2725
2726 2021-05-11 Jakub Jelinek <jakub@redhat.com>
2727
2728 PR middle-end/100471
2729 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2730 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2731 reduction pointer.
2732 * testsuite/libgomp.c/task-reduction-4.c: New test.
2733
2734 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
2735 Tom de Vries <tdevries@suse.de>
2736
2737 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2738 complex/floating-point || + && reduction with 'omp target'.
2739 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2740
2741 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
2742
2743 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2744 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2745 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2746 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2747
2748 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
2749
2750 PR testsuite/100397
2751 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2752 declaration to scope of non-'depend'-guarded assignment to avoid races.
2753
2754 2021-05-03 Tom de Vries <tdevries@suse.de>
2755
2756 PR target/100321
2757 * testsuite/libgomp.c/target-44.c: New test.
2758
2759 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
2760
2761 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2762
2763 2021-04-29 Tom de Vries <tdevries@suse.de>
2764
2765 * testsuite/libgomp.c/pr81778.c: New test.
2766
2767 2021-04-29 Tom de Vries <tdevries@suse.de>
2768
2769 PR target/100232
2770 * testsuite/libgomp.c/target-43.c: New file.
2771
2772 2021-04-28 Jakub Jelinek <jakub@redhat.com>
2773 Tobias Burnus <tobias@codesourcery.com>
2774
2775 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2776 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2777 can't be dlopened, silently assume it has no devices.
2778 * Makefile.in: Regenerate.
2779 * config.h.in: Regenerate.
2780 * configure: Regenerate.
2781
2782 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
2783
2784 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2785 Use [Ww]arning in dg-bogus as FE diagnostic and default
2786 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2787 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2788 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2789 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2790
2791 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
2792
2793 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2794 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2795 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2796 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2797 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2798
2799 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2800 Nathan Sidwell <nathan@codesourcery.com>
2801 Tom de Vries <vries@codesourcery.com>
2802 Julian Brown <julian@codesourcery.com>
2803 Kwok Cheung Yeung <kcy@codesourcery.com>
2804
2805 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2806 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2807 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2808 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2809 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2810 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2811 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2812 Likewise.
2813 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2814 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2815 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2816 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2817 Likewise.
2818 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2819 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2820 Likewise.
2821 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2822 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2823 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2824 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2825 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2826 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2827 Likewise.
2828 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2829 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2830 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2831 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2832 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2833 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2834 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2835 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2836 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2837 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2838 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2839
2840 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2841
2842 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2843 compile with '-w'.
2844 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2845 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2846 Likewise.
2847 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2848 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2849 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2850 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2851 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2852 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2853 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2854
2855 2021-04-22 Richard Biener <rguenther@suse.de>
2856
2857 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2858 only on nvptx-none.
2859
2860 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2861
2862 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2863 omp_depend_kind instead of defining it as 16.
2864
2865 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2866
2867 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2868 New, based on check_effective_target_offload_target_nvptx.
2869 (check_effective_target_offload_target_nvptx): Call it.
2870 (check_effective_target_offload_target_amdgcn): New.
2871 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2872 Require target offload_target_nvptx || offload_target_amdgcn.
2873 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2874 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2875 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2876
2877 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2878
2879 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2880
2881 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
2882
2883 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2884 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2885 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2886 Likewise.
2887 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2888 Likewise.
2889 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2890
2891 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
2892
2893 PR target/99555
2894 * testsuite/lib/libgomp.exp
2895 (check_effective_target_offload_device_nvptx): New.
2896 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2897 resolved, make sure that we exit quickly, with error status,
2898 XFAILed.
2899 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2900 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2901
2902 2021-04-14 Jakub Jelinek <jakub@redhat.com>
2903
2904 PR testsuite/100071
2905 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2906 cp = omp_alloc with cp, p arguments instead of cq, q and call
2907 c_f_pointer after last cq = omp_alloc with cq, q.
2908
2909 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
2910
2911 PR middle-end/98088
2912 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2913 for loop with GT/GE condition.
2914 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2915
2916 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
2917
2918 PR middle-end/84991
2919 PR middle-end/84992
2920 PR middle-end/90779
2921 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2922
2923 2021-04-09 Jakub Jelinek <jakub@redhat.com>
2924
2925 PR libgomp/99984
2926 * team.c (gomp_thread_start): Call pthread_setspecific for
2927 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2928 has been initialized to avoid false positive warning.
2929
2930 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
2931
2932 PR target/99555
2933 * testsuite/lib/on_device_arch.c: Move to ...
2934 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2935 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2936 #include on_device_arch.h.
2937 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2938 on_device_arch.h instead of using dg-additional-source.
2939 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2940 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2941 on_device_arch.c without relative paths.
2942
2943 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2944
2945 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2946 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2947 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2948 * config.h.in: Regenerate.
2949 * configure: Likewise.
2950
2951 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2952
2953 PR target/99555
2954 * testsuite/lib/on_device_arch.c: New file.
2955 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2956 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2957 skip for nvptx offloading, with error status.
2958 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2959
2960 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2961
2962 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2963 OpenACC 'serial' construct diagnostic for nvptx offloading.
2964
2965 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
2966
2967 PR c++/99509
2968 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2969
2970 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
2971
2972 PR fortran/98858
2973 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2974
2975 2021-03-04 Jakub Jelinek <jakub@redhat.com>
2976
2977 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2978 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2979 checking of -m32 or -mx32 options on the command line.
2980 * config.h.in: Regenerated.
2981 * configure: Regenerated.
2982
2983 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
2984
2985 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2986 support from the target.
2987
2988 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2989 Jakub Jelinek <jakub@redhat.com>
2990
2991 PR libgomp/98738
2992 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2993 (struct gomp_task): Replace detach and completion_sem fields with
2994 union containing completion_sem and detach_team. Add deferred_p
2995 field.
2996 (struct gomp_team): Remove task_detach_queue.
2997 * task.c: Include assert.h.
2998 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2999 Rearrange initialization order of fields.
3000 (task_fulfilled_p): Delete.
3001 (GOMP_task): Use address of task as the event handle. Remove
3002 initialization of detach field. Initialize deferred_p field.
3003 Use automatic local for completion_sem. Initialize detach_team field
3004 for deferred tasks.
3005 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
3006 Set kind of suspended detach task to GOMP_TASK_DETACHED and
3007 decrement task_running_count. Move finish_cancelled block out of
3008 else branch. Relocate call to gomp_team_barrier_done.
3009 (GOMP_taskwait): Handle tasks with completion events that have not
3010 been fulfilled.
3011 (GOMP_taskgroup_end): Likewise.
3012 (omp_fulfill_event): Use address of task as event handle. Post to
3013 completion_sem for undeferred tasks. Clear detach_team if task
3014 has not finished. For finished tasks, handle post-execution tasks,
3015 call gomp_team_barrier_wake if necessary, and free task.
3016 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
3017 (free_team): Remove free of task_detach_queue.
3018 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
3019 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
3020 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
3021 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
3022 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
3023 Change data-sharing of detach events on enclosing parallel to private.
3024 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
3025 taskwait directive.
3026 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
3027 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
3028 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
3029 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
3030 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
3031 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
3032 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
3033 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
3034 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
3035 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
3036 Change data-sharing of detach events on enclosing parallel to private.
3037 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
3038 taskwait directive.
3039 * testsuite/libgomp.fortran/task-detach-7.f90: New.
3040 * testsuite/libgomp.fortran/task-detach-8.f90: New.
3041 * testsuite/libgomp.fortran/task-detach-9.f90: New.
3042 * testsuite/libgomp.fortran/task-detach-10.f90: New.
3043 * testsuite/libgomp.fortran/task-detach-11.f90: New.
3044
3045 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
3046
3047 PR fortran/99171
3048 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
3049
3050 2021-02-17 Julian Brown <julian@codesourcery.com>
3051
3052 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
3053 expected errors.
3054
3055 2021-02-17 Julian Brown <julian@codesourcery.com>
3056
3057 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
3058 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
3059
3060 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3061
3062 * config/linux/x86/futex.h (__futex_wait):
3063 Revert output type back to long.
3064 (__futex_wake): Ditto.
3065 (futex_wait): Update for revert.
3066 (futex_wake): Ditto.
3067
3068 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3069
3070 * config/linux/x86/futex.h (__futex_wait): New static inline
3071 wrapper function. Correct output type to int and
3072 timeout type to void *.
3073 (__futex_wake): New static inline wrapper function.
3074 Correct output type to int.
3075 (futex_wait): Use __futex_wait.
3076 (futex_wake): Use __futex_wake.
3077
3078 2021-02-10 Julian Brown <julian@codesourcery.com>
3079
3080 PR fortran/98979
3081 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
3082 errors.
3083
3084 2021-02-04 Julian Brown <julian@codesourcery.com>
3085
3086 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
3087
3088 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
3089
3090 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3091 EF_AMDGPU_MACH_AMDGCN_GFX908.
3092 (gcn_gfx908_s): New constant string.
3093 (isa_hsa_name): Add gfx908.
3094 (isa_code): Add gfx908.
3095
3096 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3097
3098 * libgomp.texi (omp_fulfill_event): New entry.
3099
3100 2021-01-20 Jakub Jelinek <jakub@redhat.com>
3101
3102 * task.c (GOMP_task): Rename priority argument to priority_arg,
3103 add priority automatic variable and modify that variable. Instead of
3104 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
3105 check flags for that bit.
3106
3107 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
3108
3109 PR fortran/98476
3110 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
3111
3112 2021-01-18 Andreas Schwab <schwab@suse.de>
3113
3114 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
3115
3116 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
3117
3118 * config/rtems/sem.h (gomp_sem_getcount): New function.
3119
3120 2021-01-18 Jakub Jelinek <jakub@redhat.com>
3121
3122 * config/linux/sem.h (gomp_sem_getcount): New function.
3123 * config/posix/sem.h (gomp_sem_getcount): New function.
3124 * config/posix/sem.c (gomp_sem_getcount): New function.
3125 * config/accel/sem.h (gomp_sem_getcount): New function.
3126 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
3127 (omp_fulfill_event): Likewise.
3128
3129 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3130
3131 * fortran.c (omp_fulfill_event_): New.
3132 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
3133 (struct gomp_team): Add task_detach_queue and task_detach_count
3134 fields.
3135 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
3136 * libgomp_g.h (GOMP_task): Add extra argument.
3137 * omp.h.in (enum omp_event_handle_t): New.
3138 (omp_fulfill_event): New.
3139 * omp_lib.f90.in (omp_event_handle_kind): New.
3140 (omp_fulfill_event): New.
3141 * omp_lib.h.in (omp_event_handle_kind): New.
3142 (omp_fulfill_event): Declare.
3143 * priority_queue.c (priority_tree_find): New.
3144 (priority_list_find): New.
3145 (priority_queue_find): New.
3146 * priority_queue.h (priority_queue_predicate): New.
3147 (priority_queue_find): New.
3148 * task.c (gomp_init_task): Initialize detach field.
3149 (task_fulfilled_p): New.
3150 (GOMP_task): Add detach argument. Ignore detach argument if
3151 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
3152 field. Copy address of completion_sem into detach argument and
3153 into the start of the data record. Wait for detach event if task
3154 not deferred.
3155 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
3156 Remove completed tasks and requeue dependent tasks.
3157 (omp_fulfill_event): New.
3158 * team.c (gomp_new_team): Initialize task_detach_queue and
3159 task_detach_count fields.
3160 (free_team): Free task_detach_queue field.
3161 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
3162 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
3163 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
3164 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
3165 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
3166 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
3167 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
3168 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
3169 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
3170 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
3171 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
3172 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
3173
3174 2021-01-15 Jakub Jelinek <jakub@redhat.com>
3175
3176 PR target/70454
3177 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
3178 be added through preprocessor check on
3179 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3180
3181 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
3182
3183 PR libgomp/65099
3184 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3185 configurations.
3186 * configure: Regenerate.
3187 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3188 check.
3189
3190 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3191
3192 * configure: Re-generate.
3193
3194 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3195
3196 * configure: Re-generate.
3197
3198 2021-01-05 Julian Brown <julian@codesourcery.com>
3199
3200 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3201 (struct ptx_device): Add omp_stacks struct.
3202 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3203 (nvptx_close_device): Free cached stacks block and mutex.
3204 (nvptx_stacks_free): New function.
3205 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3206 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3207 (nvptx_stacks_alloc): Rename to...
3208 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3209 size or smaller is required.
3210 (nvptx_stacks_free): Remove.
3211 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3212 during kernel execution.
3213
3214 2021-01-01 Jakub Jelinek <jakub@redhat.com>
3215
3216 * libgomp.texi: Bump @copying's copyright year.
3217
3218 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3219
3220 * libgomp.texi (Top): Avoid bad "up" link.
3221
3222 2020-12-18 Jakub Jelinek <jakub@redhat.com>
3223
3224 * testsuite/libgomp.c/task-6.c: New test.
3225
3226 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
3227
3228 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3229 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3230
3231 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
3232
3233 * testsuite/libgomp.fortran/scan-1.f90: New test.
3234
3235 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
3236
3237 PR target/97865
3238 * configure: Regenerate.
3239
3240 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
3241
3242 * configure: Regenerate.
3243
3244 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3245
3246 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3247 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3248
3249 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
3250
3251 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3252 expected results.
3253
3254 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
3255
3256 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3257 (reserved): Delete unused define.
3258
3259 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
3260
3261 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3262 Tcl 8.5-specific behavior.
3263 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3264
3265 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
3266
3267 * env.c (gomp_global_icv): Remove nest_var field. Add
3268 max_active_levels_var field.
3269 (gomp_max_active_levels_var): Remove.
3270 (parse_boolean): Return true on success.
3271 (handle_omp_display_env): Express OMP_NESTED in terms of
3272 max_active_levels_var. Change format specifier for
3273 max_active_levels_var.
3274 (initialize_env): Set max_active_levels_var from
3275 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3276 OMP_PROC_BIND.
3277 * icv.c (omp_set_nested): Express in terms of
3278 max_active_levels_var.
3279 (omp_get_nested): Likewise.
3280 (omp_set_max_active_levels): Use max_active_levels_var field instead
3281 of gomp_max_active_levels_var.
3282 (omp_get_max_active_levels): Likewise.
3283 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3284 max_active_levels_var field.
3285 (gomp_supported_active_levels): Set to UCHAR_MAX.
3286 (gomp_max_active_levels_var): Delete.
3287 * libgomp.texi (omp_get_nested): Update documentation.
3288 (omp_set_nested): Likewise.
3289 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3290 (OMP_NESTED): Likewise.
3291 (OMP_NUM_THREADS): Likewise.
3292 (OMP_PROC_BIND): Likewise.
3293 * parallel.c (gomp_resolve_num_threads): Replace reference
3294 to nest_var with max_active_levels_var. Use max_active_levels_var
3295 field instead of gomp_max_active_levels_var.
3296
3297 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
3298
3299 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3300 nvptx_usleep; use also for device={arch(gcn)}.
3301
3302 2020-11-14 Jakub Jelinek <jakub@redhat.com>
3303
3304 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3305 (foo): Add tests for non-VLA private and firstprivate clauses on
3306 omp task.
3307 (bar): Likewise. Remove taking of address from private/firstprivate
3308 variables.
3309 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3310 (foo): Add p, q, px and s arguments. Add tests for array reductions
3311 and for non-VLA private and firstprivate clauses on omp task.
3312 (bar): Removed.
3313 (main): Adjust foo caller. Don't call bar.
3314
3315 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3316 Thomas Schwinge <thomas@codesourcery.com>
3317
3318 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3319 New.
3320 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3321 Likewise.
3322 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3323 Likewise.
3324 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3325 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3326
3327 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3328 Thomas Schwinge <thomas@codesourcery.com>
3329
3330 PR fortran/94358
3331 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3332
3333 2020-11-13 Jakub Jelinek <jakub@redhat.com>
3334
3335 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3336 for array reductions.
3337 (main): Adjust foo callers.
3338
3339 2020-11-12 Jakub Jelinek <jakub@redhat.com>
3340
3341 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3342 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3343 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3344 * allocator.c (omp_aligned_alloc): New for now static function,
3345 add alignment argument and handle it.
3346 (omp_alloc): Reimplement using omp_aligned_alloc.
3347 (GOMP_alloc, GOMP_free): New functions.
3348 (omp_free): Add ialias.
3349 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3350 * testsuite/libgomp.c++/allocate-1.C: New test.
3351
3352 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3353
3354 PR fortran/97782
3355 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3356
3357 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3358
3359 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3360 usable.
3361 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3362 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3363 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3364 (goacc_enter_data_internal): Likewise.
3365 * target.c (gomp_map_vars_internal):
3366 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3367 of gomp_attach_pointer for OpenMP cases.
3368 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3369 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3370 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3371
3372 2020-11-05 Ulrich Drepper <drepper@redhat.com>
3373 Kwok Cheung Yeung <kcy@codesourcery.com>
3374
3375 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3376 * Makefile.in: Regenerate.
3377 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3378 pragmas to ignore -Wdeprecated-declarations warnings.
3379 * icv.c: Likewise.
3380 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3381 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3382 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3383 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3384 deprecated.
3385 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3386 to test options.
3387 * testsuite/libgomp.c/affinity-1.c: Likewise.
3388 * testsuite/libgomp.c/affinity-2.c: Likewise.
3389 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3390 * testsuite/libgomp.c/lib-1.c: Likewise.
3391 * testsuite/libgomp.c/nested-1.c: Likewise.
3392 * testsuite/libgomp.c/nested-2.c: Likewise.
3393 * testsuite/libgomp.c/nested-3.c: Likewise.
3394 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3395 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3396 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3397 * testsuite/libgomp.c/pr35549.c: Likewise.
3398 * testsuite/libgomp.c/pr42942.c: Likewise.
3399 * testsuite/libgomp.c/pr61200.c: Likewise.
3400 * testsuite/libgomp.c/sort-1.c: Likewise.
3401 * testsuite/libgomp.c/target-5.c: Likewise.
3402 * testsuite/libgomp.c/target-6.c: Likewise.
3403 * testsuite/libgomp.c/teams-1.c: Likewise.
3404 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3405 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3406 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3407 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3408 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3409 * testsuite/libgomp.fortran/lib2.f: Likewise.
3410 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3411 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3412
3413 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3414
3415 PR target/85486
3416 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3417 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3418 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3419
3420 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3421
3422 PR testsuite/80219
3423 PR testsuite/85303
3424 * testsuite/lib/libgomp.exp (libgomp_init): Set
3425 'gcc_warning_prefix', 'gcc_error_prefix'.
3426
3427 2020-10-30 Jakub Jelinek <jakub@redhat.com>
3428
3429 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3430 even in field_tgt_clear initializer.
3431
3432 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3433
3434 * testsuite/libgomp.c/target-42.c: New test.
3435
3436 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3437 Tom de Vries <tdevries@suse.de>
3438
3439 PR testsuite/81690
3440 * testsuite/libgomp.c/usleep.h: New file.
3441 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3442 (main): Use tgt_usleep instead of usleep.
3443 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3444 (main): Use tgt_usleep instead of usleep.
3445
3446 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3447
3448 PR lto/96680
3449 * testsuite/libgomp.c/declare-variant-1.c: New test.
3450
3451 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3452
3453 * testsuite/libgomp.c/target-41.c: New test.
3454
3455 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3456
3457 * icv.c (omp_get_initial_device): Remove including corresponding
3458 ialias.
3459 * icv-device.c (omp_get_initial_device): New function. Return
3460 gomp_get_num_devices (). Add ialias.
3461 * target.c (resolve_device): Don't fail with
3462 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3463 gomp_get_num_devices ().
3464 (omp_target_alloc, omp_target_free, omp_target_is_present,
3465 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3466 omp_target_disassociate_ptr, omp_pause_resource): Use
3467 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3468 first use in the functions, in uses dominated by the
3469 gomp_get_num_devices call use num_devices_openmp instead.
3470 * libgomp.texi (omp_get_initial_device): Document.
3471 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3472 Add ialias.
3473 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3474 * testsuite/libgomp.c/target-40.c: New test.
3475
3476 2020-10-21 Jakub Jelinek <jakub@redhat.com>
3477
3478 * env.c (parse_target_offload): Change new_offload var type to int,
3479 preinitialize to -1, remove found var and test new_offload != -1
3480 instead of found.
3481
3482 2020-10-20 Jakub Jelinek <jakub@redhat.com>
3483
3484 * target.c (gomp_target_init): Inside of the function, use automatic
3485 variables corresponding to num_devices, num_devices_openmp and devices
3486 global variables and update the globals only at the end of the
3487 function.
3488
3489 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3490
3491 * env.c (gomp_target_offload_var): New.
3492 (parse_target_offload): New.
3493 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3494 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3495 * libgomp.h (gomp_target_offload_t): New.
3496 (gomp_target_offload_var): New.
3497 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3498 * target.c (resolve_device): Generate error if device not found and
3499 offloading is mandatory.
3500 (gomp_target_fallback): Generate error if offloading is mandatory.
3501 (GOMP_target): Add argument in call to gomp_target_fallback.
3502 (GOMP_target_ext): Likewise.
3503 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3504 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3505 (GOMP_target_data_ext): Likewise.
3506 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3507 (gomp_target_init): Return early if offloading is disabled.
3508
3509 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3510
3511 * libgomp.texi (omp_get_max_active_levels): Modify description.
3512 (omp_get_supported_active_levels): Make descriptions consistent.
3513
3514 2020-10-14 Jakub Jelinek <jakub@redhat.com>
3515
3516 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3517
3518 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3519
3520 * env.c (gomp_max_active_levels_var): Initialize to
3521 gomp_supported_active_levels.
3522 (initialize_env): Limit gomp_max_active_levels_var to be at most
3523 equal to gomp_supported_active_levels.
3524 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3525 (omp_get_supported_active_levels_): New.
3526 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3527 to at most equal to gomp_supported_active_levels.
3528 (omp_get_supported_active_levels): New.
3529 * libgomp.h (gomp_supported_active_levels): New.
3530 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3531 omp_get_supported_active_levels_.
3532 * libgomp.texi (omp_get_supported_active_levels): New.
3533 (omp_set_max_active_levels): Update. Add reference to
3534 omp_get_supported_active_levels.
3535 * omp.h.in (omp_get_supported_active_levels): New.
3536 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3537 * omp_lib.h.in (omp_get_supported_active_levels): New.
3538 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3539 against omp_get_supported_active_levels.
3540 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3541
3542 2020-10-11 Clement Chigot <clement.chigot@atos.net>
3543
3544 * config/t-aix: Delete and recreate libgomp before creating
3545 FAT library.
3546
3547 2020-10-08 Tom de Vries <tdevries@suse.de>
3548
3549 PR libgomp/81802
3550 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3551 dimensions.
3552
3553 2020-10-06 Tom de Vries <tdevries@suse.de>
3554
3555 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3556
3557 2020-10-06 Tom de Vries <tdevries@suse.de>
3558
3559 PR middle-end/90861
3560 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3561
3562 2020-10-05 Tom de Vries <tdevries@suse.de>
3563
3564 PR fortran/95654
3565 * testsuite/libgomp.fortran/pr95654.f90: New test.
3566
3567 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
3568
3569 * Makefile.in: Regenerate with automake 1.15.1.
3570 * aclocal.m4: Likewise.
3571 * configure: Likewise.
3572 * testsuite/Makefile.in: Likewise.
3573
3574 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
3575
3576 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3577 and amdgcn targets.
3578
3579 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
3580
3581 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3582
3583 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
3584
3585 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3586 total number of threads is one.
3587 (gomp_team_barrier_wake): Likewise.
3588 (gomp_team_barrier_wait_end): Likewise.
3589 (gomp_team_barrier_wait_cancel_end): Likewise.
3590 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3591 (gomp_team_barrier_wake): Likewise.
3592 (gomp_team_barrier_wait_end): Likewise.
3593 (gomp_team_barrier_wait_cancel_end): Likewise.
3594 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3595
3596 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
3597
3598 PR middle-end/96390
3599 * testsuite/libgomp.c++/pr96390.C: New test.
3600 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3601
3602 2020-09-27 Clement Chigot <clement.chigot@atos.net>
3603
3604 * config/t-aix: Use $(AR) without -X32_64.
3605
3606 2020-09-25 Jakub Jelinek <jakub@redhat.com>
3607
3608 * testsuite/libgomp.c/loop-25.c: New test.
3609
3610 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
3611
3612 PR fortran/95654
3613 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3614
3615 2020-09-22 Tom de Vries <tdevries@suse.de>
3616
3617 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3618 fails.
3619
3620 2020-09-16 Nathan Sidwell <nathan@acm.org>
3621
3622 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3623
3624 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
3625
3626 PR fortran/96668
3627 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3628
3629 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
3630
3631 PR fortran/96668
3632 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3633 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3634 (gomp_map_vars_existing): Update call to it.
3635 (gomp_map_fields_existing): Likewise
3636 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3637 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3638 remapped.
3639 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3640 GOMP_MAP_POINTER.
3641 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3642 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3643
3644 2020-09-14 Tom de Vries <tdevries@suse.de>
3645
3646 * config/nvptx/atomic.c: New file. Add
3647 __sync_val_compare_and_swap_16.
3648 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3649 target offload_target_nvptx.
3650
3651 2020-09-08 Julian Brown <julian@codesourcery.com>
3652
3653 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3654 iteration-ordering assumptions.
3655
3656 2020-09-08 Julian Brown <julian@codesourcery.com>
3657
3658 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3659 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3660
3661 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
3662
3663 * plugin/plugin-nvptx.c (nvptx_free):
3664 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3665 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3666 comments.
3667
3668 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
3669
3670 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3671
3672 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3673
3674 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3675
3676 2020-08-13 Jakub Jelinek <jakub@redhat.com>
3677
3678 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3679 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3680 * testsuite/libgomp.c/loop-24.c: New test.
3681
3682 2020-08-08 Jakub Jelinek <jakub@redhat.com>
3683 Tobias Burnus <tobias@codesourcery.com>
3684
3685 PR fortran/93553
3686 * testsuite/libgomp.fortran/pr93553.f90: New test.
3687
3688 2020-08-05 Jakub Jelinek <jakub@redhat.com>
3689
3690 * testsuite/libgomp.c/loop-22.c: New test.
3691 * testsuite/libgomp.c/loop-23.c: New test.
3692
3693 2020-08-05 Jakub Jelinek <jakub@redhat.com>
3694
3695 PR middle-end/96459
3696 * testsuite/libgomp.c/teams-3.c: New test.
3697 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3698 if not defined yet.
3699 (N(test)): Use it before all N(f*) calls.
3700 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3701 (main): Don't call all test_* functions from within
3702 #pragma omp teams reduction(|:err), call them directly.
3703
3704 2020-08-04 Tom de Vries <tdevries@suse.de>
3705
3706 PR target/96428
3707 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3708 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3709
3710 2020-08-03 Julian Brown <julian@codesourcery.com>
3711 Thomas Schwinge <thomas@codesourcery.com>
3712
3713 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3714 shared-memory devices. Extend with further checking.
3715
3716 2020-08-03 Martin Jambor <mjambor@suse.cz>
3717
3718 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3719 * aclocal.m4: Regenerated.
3720 * Makefile.in: Regenerated.
3721 * config.h.in: Regenerated.
3722 * configure: Regenerated.
3723 * plugin/configfrag.ac: Likewise.
3724 * plugin/hsa_ext_finalize.h: Removed.
3725 * plugin/plugin-hsa.c: Likewise.
3726 * testsuite/Makefile.in: Regenerated.
3727 * testsuite/lib/libgomp.exp
3728 (offload_target_to_openacc_device_type): Remove hsa case.
3729 (check_effective_target_hsa_offloading_selected_nocache): Removed
3730 (check_effective_target_hsa_offloading_selected): Likewise.
3731 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3732 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3733 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3734 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3735 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3736 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3737 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3738 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3739 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3740 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3741 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3742 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3743 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3744 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3745 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3746 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3747 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3748 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3749 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3750 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3751 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3752 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3753 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3754 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3755 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3756
3757 2020-07-27 Julian Brown <julian@codesourcery.com>
3758 Thomas Schwinge <thomas@codesourcery.com>
3759
3760 * libgomp.h (struct target_var_desc): Rename do_detach field to
3761 is_attach.
3762 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3763 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3764 (goacc_enter_data_internal): Don't affect reference counts
3765 for attach mappings.
3766 (goacc_exit_data_internal): Don't affect reference counts for detach
3767 mappings.
3768 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3769 attach mappings.
3770 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3771 mark attach mappings.
3772 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3773 reference count for attach mappings.
3774 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3775 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3776 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3777 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3778 test as shouldfail.
3779 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3780 gracefully in no-finalize mode.
3781 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3782
3783 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
3784
3785 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3786 use.
3787 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3788 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3789
3790 2020-07-23 Julian Brown <julian@codesourcery.com>
3791 Thomas Schwinge <thomas@codesourcery.com>
3792
3793 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3794 finalization for detach operation.
3795 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3796 New test.
3797
3798 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
3799
3800 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3801 * libgomp_f.h.in (omp_check_defines): Check whether
3802 sizeof of determined Fortran kind and C typedef match.
3803 * omp_lib.f90.in: Add omp_depened_kind.
3804 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3805 * configure: Regenerate.
3806 * Makefile.in: Regenerate.
3807 * testsuite/Makefile.in: Regenerate.
3808
3809 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3810
3811 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3812 gcc/testsuite/c-c++-common/gomp/.
3813 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3814 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3815 from gcc/testsuite/gfortran.dg/gomp/.
3816 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3817
3818 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3819
3820 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3821 * omp_lib.h.in: Likewise.
3822
3823 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
3824
3825 PR target/95620
3826 * testsuite/libgomp.c/pr95620.c: New test.
3827
3828 2020-07-16 Julian Brown <julian@codesourcery.com>
3829 Thomas Schwinge <thomas@codesourcery.com>
3830
3831 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3832 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3833
3834 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3835
3836 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3837 avoid conversion on 32bit systems from 32bit to 64bit due
3838 to -fdefault-integer-8.
3839
3840 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3841
3842 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3843 variables; add character(kind=4) tests; update TODO comment.
3844
3845 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3846
3847 * allocator.c: Add ialias for omp_init_allocator and
3848 omp_destroy_allocator.
3849 * configure.ac: Set INTPTR_T_KIND.
3850 * configure: Regenerate.
3851 * Makefile.in: Regenerate.
3852 * testsuite/Makefile.in: Regenerate.
3853 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3854 omp_set_default_allocator_, omp_get_default_allocator_): New
3855 functions and ialias_redirect.
3856 * icv.c: Add ialias for omp_set_default_allocator and
3857 omp_get_default_allocator.
3858 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3859 omp_destroy_allocator_, omp_set_default_allocator_ and
3860 omp_get_default_allocator_.
3861 * omp_lib.f90.in: Add allocator traits parameters, declare
3862 allocator routines and add related kind parameters.
3863 * omp_lib.h.in: Likewise.
3864 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3865 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3866 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3867 * testsuite/libgomp.fortran/alloc-3.F: New test.
3868 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3869 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3870
3871 2020-07-14 Tom de Vries <tom@codesourcery.com>
3872 Cesar Philippidis <cesar@codesourcery.com>
3873 Thomas Schwinge <thomas@codesourcery.com>
3874 Kwok Cheung Yeung <kcy@codesourcery.com>
3875
3876 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3877 New variable.
3878 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3879 acc_init_state to initializing at the start, and to initialized at the
3880 end.
3881 (self_initializing_p): New function.
3882 (acc_get_device_type): Return acc_device_none if called by thread that
3883 is currently executing acc_init_1.
3884 * libgomp.texi (acc_get_device_type): Update documentation.
3885 (Implementation Status and Implementation-Defined Behavior): Likewise.
3886 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3887
3888 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
3889
3890 * config/t-aix: Set BITS from compiler cpp macro.
3891
3892 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
3893
3894 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3895
3896 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
3897
3898 PR fortran/67311
3899 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3900
3901 2020-07-14 Jakub Jelinek <jakub@redhat.com>
3902
3903 * testsuite/libgomp.c/loop-21.c: New test.
3904
3905 2020-07-13 Julian Brown <julian@codesourcery.com>
3906 Thomas Schwinge <thomas@codesourcery.com>
3907
3908 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3909
3910 2020-07-10 Julian Brown <julian@codesourcery.com>
3911 Thomas Schwinge <thomas@codesourcery.com>
3912
3913 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3914 dynamic_refcount.
3915 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3916 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3917 dynamic_refcount.
3918 (acc_unmap_data): Update comment.
3919 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3920 dynamic_refcount semantics.
3921 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3922 Adjust for dynamic_refcount semantics.
3923 (goacc_enter_data_internal): Implement "present" case of dynamic
3924 memory-map handling here. Update "non-present" case for
3925 dynamic_refcount semantics.
3926 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3927 * target.c (gomp_map_vars_internal): Remove
3928 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3929 handling.
3930 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3931 (gomp_load_image_to_device): Substitute dynamic_refcount for
3932 virtual_refcount.
3933 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3934 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3935 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3936 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3937 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3938 trace output.
3939 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3940 trace output.
3941 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3942 test.
3943 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3944 Remove stale comment.
3945 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3946 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3947 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3948 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3949 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3950 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3951
3952 2020-07-10 Julian Brown <julian@codesourcery.com>
3953 Thomas Schwinge <thomas@codesourcery.com>
3954
3955 * oacc-mem.c (goacc_map_var_existing): New function.
3956 (goacc_enter_datum): Use above function.
3957 (goacc_exit_datum_1): New function.
3958 (goacc_exit_datum): Use above function.
3959
3960 2020-07-09 Julian Brown <julian@codesourcery.com>
3961 Thomas Schwinge <thomas@codesourcery.com>
3962
3963 PR middle-end/95270
3964 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3965 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3966
3967 2020-07-09 Julian Brown <julian@codesourcery.com>
3968
3969 * oacc-mem.c (find_group_last): Group data-movement clauses
3970 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3971 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3972
3973 2020-07-09 Jakub Jelinek <jakub@redhat.com>
3974
3975 * testsuite/libgomp.c/loop-19.c: New test.
3976 * testsuite/libgomp.c/loop-20.c: New test.
3977
3978 2020-07-09 Jakub Jelinek <jakub@redhat.com>
3979
3980 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3981 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3982 it. Remove __omp_alloctrait_value_max__.
3983 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3984 omp_atk_alignment and omp_atk_pool_size.
3985
3986 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3987
3988 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3989 behavior for 'GOMP_MAP_FORCE_FROM'.
3990 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3991
3992 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3993
3994 * oacc-mem.c (goacc_exit_data_internal): Remove
3995 'GOMP_MAP_ALWAYS_FROM' handling.
3996
3997 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3998
3999 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
4000 'scan-assembler' with 'scan-offload-rtl'.
4001 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
4002 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
4004 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
4005
4006 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4007
4008 * target.c (gomp_map_vars_existing): Assert 'kind !=
4009 GOMP_MAP_ATTACH'.
4010 (gomp_map_vars_internal): Clean up.
4011
4012 2020-06-27 Jakub Jelinek <jakub@redhat.com>
4013
4014 * testsuite/libgomp.c/loop-17.c: New test.
4015 * testsuite/libgomp.c/loop-18.c: New test.
4016
4017 2020-06-26 Marek Polacek <polacek@redhat.com>
4018
4019 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
4020
4021 2020-06-23 Alexandre Oliva <oliva@adacore.com>
4022
4023 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
4024 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
4025
4026 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
4027
4028 * Makefile.am: Use -include.
4029 * Makefile.in: Regenerate.
4030
4031 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
4032
4033 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
4034 * Makefile.in: Regenerate
4035 * configure.ac (tmake_file): Substitute.
4036 * configure: Regenerate.
4037 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
4038 * config/t-aix: New file.
4039
4040 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
4041
4042 PR lto/94848
4043 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
4044 'dg-do run'.
4045
4046 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
4047
4048 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
4049 variant for HSA_RUNTIME_LIB name.
4050 (find_executable_symbol_1): Delete.
4051 (find_executable_symbol): Delete.
4052 (init_kernel_properties): Add ".kd" suffix to symbol names.
4053 (find_load_offset): Delete.
4054 (create_and_finalize_hsa_program): Remove relocation handling.
4055
4056 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
4057
4058 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
4059
4060 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
4061
4062 PR lto/94848
4063 PR middle-end/95551
4064 * testsuite/libgomp.fortran/target-var.f90: New test.
4065
4066 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4067 Julian Brown <julian@codesourcery.com>
4068
4069 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
4070 special handling.
4071
4072 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4073 Julian Brown <julian@codesourcery.com>
4074
4075 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4076 Simplify.
4077
4078 2020-06-05 Julian Brown <julian@codesourcery.com>
4079
4080 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
4081 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
4082
4083 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4084
4085 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4086 Evaluate 'copyfrom' individually for each entry.
4087 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
4088
4089 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4090
4091 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4092 Evaluate 'finalize' individually for each entry.
4093 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
4094 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
4095 file.
4096
4097 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4098
4099 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
4100 usage.
4101 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
4102
4103 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4104 Julian Brown <julian@codesourcery.com>
4105
4106 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
4107 checking.
4108 (acc_unmap_data, goacc_exit_data_internal): Restore
4109 'is_tgt_unmapped' checking.
4110 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
4111 file.
4112 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
4113 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4114 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4115 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4116 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4117 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4118
4119 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4120 Julian Brown <julian@codesourcery.com>
4121
4122 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
4123
4124 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4125
4126 PR libgomp/92854
4127 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
4128
4129 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4130
4131 PR libgomp/92854
4132 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
4133 more.
4134
4135 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4136 Julian Brown <julian@codesourcery.com>
4137
4138 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
4139 'gomp_map_vars'.
4140 (acc_map_data): Clean up accordingly.
4141
4142 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4143
4144 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
4145 of over-eager 'finalize' clause.
4146 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
4147 file.
4148 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4149 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4150 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4151 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4152 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4153 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
4154 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4155 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
4156
4157 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4158
4159 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
4160
4161 2020-06-04 Julian Brown <julian@codesourcery.com>
4162
4163 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
4164 error path.
4165 (goacc_detach_internal): Likewise.
4166
4167 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4168
4169 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
4170 the checkpoint.
4171 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4172 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4173 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4174 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4175 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4176
4177 2020-06-02 Jakub Jelinek <jakub@redhat.com>
4178
4179 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4180 defined.
4181
4182 2020-05-30 Jakub Jelinek <jakub@redhat.com>
4183
4184 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4185
4186 2020-05-30 Jakub Jelinek <jakub@redhat.com>
4187
4188 * allocator.c (omp_alloc): For size == 0, return NULL early.
4189
4190 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
4191
4192 PR bootstrap/95413
4193 * configure: Regenerated.
4194
4195 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
4196
4197 PR libfortran/95191
4198 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4199
4200 2020-05-19 Jakub Jelinek <jakub@redhat.com>
4201
4202 * omp.h.in (omp_uintptr_t): New typedef.
4203 (__GOMP_UINTPTR_T_ENUM): Define.
4204 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4205 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4206 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4207 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4208 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4209 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4210 (gomp_def_allocator): Declare.
4211 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4212 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4213 omp_alloc and omp_free.
4214 * team.c (gomp_team_start): Copy over ts.def_allocator.
4215 * env.c (gomp_def_allocator): New variable.
4216 (parse_wait_policy): Adjust function comment.
4217 (parse_allocator): New function.
4218 (handle_omp_display_env): Print OMP_ALLOCATOR.
4219 (initialize_env): Call parse_allocator.
4220 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4221 * allocator.c: New file.
4222 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4223 functions.
4224 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4225 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4226 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4227 * Makefile.in: Regenerated.
4228
4229 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
4230
4231 PR bootstrap/95147
4232 * configure: Regenerated.
4233
4234 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
4235
4236 PR libfortran/95119
4237 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4238
4239 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4240
4241 * configure: Regenerated.
4242
4243 2020-05-14 Jakub Jelinek <jakub@redhat.com>
4244
4245 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4246
4247 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
4248
4249 PR fortran/94690
4250 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4251 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4252 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4253 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4254 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4255 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4256 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4257
4258 2020-05-12 Jakub Jelinek <jakub@redhat.com>
4259
4260 * testsuite/libgomp.c/target-39.c: New test.
4261
4262 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
4263
4264 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4265 * openacc.f90 (acc_device_current): Likewise.
4266 * openacc.h (acc_device_current): Likewise.
4267 * openacc_lib.h (acc_device_current): Likewise.
4268
4269 PR target/94282
4270 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4271 'dg-allow-blank-lines-in-output'.
4272
4273 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4274 * testsuite/lib/libgomp.exp
4275 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4276 'radeon'. Adjust all users.
4277 (check_effective_target_openacc_amdgcn_accel_present): Rename
4278 to...
4279 (check_effective_target_openacc_radeon_accel_present): ... this.
4280 Adjust all users.
4281 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4282 (check_effective_target_openacc_radeon_accel_selected): ... this.
4283 Adjust all users.
4284
4285 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4286 'dg-do run'.
4287
4288 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
4289
4290 PR other/94629
4291
4292 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4293 hsa_iterate_agents.
4294 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4295 hsa_agent_iterate_regions.
4296
4297 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4298
4299 PR middle-end/94635
4300 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4301 run'.
4302
4303 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
4304
4305 PR middle-end/94120
4306 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4307 test case.
4308
4309 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
4310
4311 PR middle-end/94635
4312 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4313
4314 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4315
4316 PR libgomp/92843
4317 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4318 Rename to...
4319 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4320 ... this.
4321 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4322 Rename to...
4323 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4324 ... this.
4325 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4326 Rename to...
4327 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4328 ... this.
4329 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4330 Rename to...
4331 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4332 ... this.
4333 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4334 Rename to...
4335 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4336 ... this.
4337 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4338 Rename to...
4339 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4340 ... this.
4341 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4342 Rename to...
4343 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4344 ... this.
4345 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4346 Rename to...
4347 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4348 ... this.
4349 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4350 Rename to...
4351 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4352 ... this.
4353 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4354 Rename to...
4355 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4356 ... this.
4357 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4358 Rename to...
4359 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4360 ... this.
4361 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4362 Rename to...
4363 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4364 ... this.
4365 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4366 Rename to...
4367 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4368 ... this.
4369 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4370 Rename to...
4371 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4372 ... this.
4373 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4374 Rename to...
4375 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4376 ... this.
4377 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4378 Rename to...
4379 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4380 ... this.
4381
4382 2020-04-10 Julian Brown <julian@codesourcery.com>
4383 Thomas Schwinge <thomas@codesourcery.com>
4384
4385 PR libgomp/92843
4386 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4387 New file.
4388 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4389 Likewise.
4390 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4391 Likewise.
4392 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4393 Likewise.
4394 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4395 Likewise.
4396 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4397 Likewise.
4398 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4399 Likewise.
4400 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4401 Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4403 Likewise.
4404 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4405 Likewise.
4406 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4407 Likewise.
4408 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4409 Likewise.
4410 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4411 Likewise.
4412 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4413 Likewise.
4414 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4415 Likewise.
4416 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4417 Likewise.
4418
4419 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4420
4421 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4422 run'.
4423
4424 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
4425
4426 PR middle-end/94120
4427 * libgomp.oacc-c++/declare-pr94120.C: New.
4428
4429 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
4430
4431 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4432 files.
4433 * configure: Regenerate.
4434 * testsuite/libgomp-site-extra.exp.in: New file.
4435 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4436 variable.
4437 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4438 variable.
4439 * testsuite/Makefile.in: Regenerate.
4440
4441 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4442
4443 PR tree-optimization/89713
4444 PR c/94392
4445 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4446 'bar.sync'.
4447 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4448
4449 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
4450
4451 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4452 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4453
4454 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
4455
4456 PR libgomp/81689
4457 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4458
4459 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
4460
4461 PR libgomp/94251
4462 * target.c (gomp_load_image_to_device): Fix link
4463 variable handling.
4464
4465 2020-03-19 Jakub Jelinek <jakub@redhat.com>
4466
4467 PR c++/93931
4468 * testsuite/libgomp.c++/pr93931.C: New test.
4469
4470 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
4471
4472 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4473 dg-allow-blank-lines-in-output.
4474
4475 2020-03-18 Julian Brown <julian@codesourcery.com>
4476 Tobias Burnus <tobias@codesourcery.com>
4477
4478 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4479 it work concurrently.
4480
4481 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
4482
4483 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4484 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4485 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4486
4487 2020-03-14 Jakub Jelinek <jakub@redhat.com>
4488
4489 PR middle-end/93566
4490 * testsuite/libgomp.c/pr93566.c: New test.
4491
4492 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
4493
4494 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4495 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4496 integer(acc_device_property) for the type of the return value of
4497 acc_get_property.
4498
4499 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
4500
4501 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4502 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4503 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4504 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4505 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4506 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4507 corrections; add note about the previous interface and named constant.
4508 (OpenACC library and environment variables): Fix two typos.
4509 * openacc.f90: Use for all procedures the argument names from the spec
4510 as for …_h they are user visible.
4511 (openacc_kinds): Rename acc_device_property to
4512 acc_device_property_kinds and change value to int32 ; and update users.
4513 Re-add acc_device_property for for backward compatibility.
4514 (acc_get_property_string_h): Clean up as acc_device_property_kind
4515 changed.
4516 (acc_get_property_h): Likewise and return c_size_t instead of
4517 acc_device_property.
4518 (openacc): Also export acc_device_property_kinds.
4519 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4520 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4521 handling; check against /= 0 instead of == 1 to match C.
4522 * openacc_lib.h: Use for all procedures the argument names from the spec
4523 as for …_h they are user visible. Place !GCC$ into the first column to
4524 be active also for fixed-form souce form.
4525 (acc_device_current, acc_device_property_kind, acc_device_property,
4526 acc_property_memory, acc_property_free_memory, acc_property_name,
4527 acc_property_vendor, acc_property_driver): New named constants.
4528 (acc_get_property, acc_get_property_string): New generic interface.
4529
4530 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
4531
4532 PR libgomp/93481
4533 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4534 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4535 optional.
4536 (gomp_target_task_fn): Assert "devicep->async_run_func".
4537 (clear_unsupported_flags): New function to remove unsupported flags
4538 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4539 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4540 * testsuite/libgomp.c/target-33.c:
4541 Remove xfail for offload_target_nvptx.
4542 * testsuite/libgomp.c/target-34.c: Likewise.
4543
4544 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
4545
4546 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4547 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4548 * testsuite/libgomp.c/target-34.c: Likewise.
4549 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4550 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4551
4552 2020-02-09 Jakub Jelinek <jakub@redhat.com>
4553
4554 * testsuite/libgomp.c/target-38.c: New test.
4555
4556 2020-02-06 Jakub Jelinek <jakub@redhat.com>
4557
4558 PR libgomp/93515
4559 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4560
4561 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
4562
4563 * testsuite/lib/libgomp.exp
4564 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4565 and not as 'source' argument to libgomp_target_compile.
4566
4567 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
4568
4569 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4570 (gcn_gfx801_s): Remove.
4571 (isa_hsa_name): Remove gfx801.
4572 (isa_gcc_name): Remove gfx801/carizzo.
4573 (isa_code): Remove gfx801.
4574
4575 2020-02-03 Julian Brown <julian@codesourcery.com>
4576 Tobias Burnus <tobias@codesourcery.com>
4577
4578 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4579 and *_finalize variants; document acc_attach and acc_detach; update
4580 references from OpenACC 2.0 to 2.6.
4581 * openacc.f90 (openacc_version): Update to 201711.
4582 * openacc_lib.h (openacc_version): Update to 201711.
4583 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4584 openacc_version to 201711.
4585 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4586
4587 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
4588
4589 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4590 and vgpr_count fields.
4591 (struct kernel_info): Add a field for a hsa_kernel_description.
4592 (run_kernel): Reduce the number of threads/workers if the requested
4593 number would require too many VGPRs.
4594 (init_basic_kernel_info): Initialize description field with
4595 the hsa_kernel_description entry for the kernel.
4596
4597 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
4598
4599 PR bootstrap/93409
4600 * plugin/configfrag.ac (enable_offload_targets): Skip
4601 HSA and GCN plugin besides -m32 also for -mx32.
4602 * configure: Regenerate.
4603
4604 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4605
4606 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4607
4608 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4609
4610 * plugin-gcn.c (struct agent_info): Add fields "name" and
4611 "vendor_name" ...
4612 (GOMP_OFFLOAD_init_device): ... and init from here.
4613 (struct hsa_context_info): Add field "driver_version_s" ...
4614 (init_hsa_contest): ... and init from here.
4615 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4616 implementation.
4617 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4618 Enable test execution for amdgcn and host offloading targets.
4619 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4620 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4621 (expect_device_properties): Split function into ...
4622 (expect_device_string_properties): ... this new function ...
4623 (expect_device_memory): ... and this new function.
4624 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4625 Add test.
4626
4627 2020-01-28 Julian Brown <julian@codesourcery.com>
4628
4629 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4630 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4631 component/non-component variable refs in a single directive.
4632 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4633
4634 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
4635
4636 * configure.ac: Handle `--with-toolexeclibdir='.
4637 * Makefile.in: Regenerate.
4638 * aclocal.m4: Regenerate.
4639 * configure: Regenerate.
4640 * testsuite/Makefile.in: Regenerate.
4641
4642 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
4643
4644 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4645 (expect_device_properties): Remove "expected_free_mem" argument,
4646 change "expected_total_mem" argument type to size_t;
4647 change types of acc_get_property results to size_t,
4648 adapt format strings.
4649 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4650 Use %zu instead of %zd to print size_t values.
4651 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4652 rename to ...
4653 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4654 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4655 rename to ...
4656 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4657
4658 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
4659
4660 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4661 the device id.
4662
4663 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
4664
4665 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4666 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4667 Adjust test dimensions for amdgcn.
4668 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4669 gang/worker/vector expectations dynamically.
4670 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4671 (main): Likewise.
4672 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4673 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4679 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4681 (acc_gang): Recognise acc_device_radeon.
4682 (acc_worker): Likewise.
4683 (acc_vector): Likewise.
4684 (main): Set expectations for amdgcn.
4685 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4686 (main): Adjust gang/worker/vector expectations dynamically.
4687 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4688 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4689 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4690 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4691 for amdgcn.
4692
4693 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
4694
4695 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4696 acc_device_radeon.
4697 (openacc): Likewise.
4698 * openacc.f90 (openacc_kinds): Likewise.
4699 (openacc): Likewise.
4700 * openacc.h (acc_device_t): Likewise.
4701 * openacc_lib.h: Likewise.
4702 * testsuite/lib/libgomp.exp
4703 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4704 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4705 (cb_compute_construct_end): Likewise.
4706 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4707 (cb_enqueue_launch_start): Likewise.
4708 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4709 (cb_enter_data_end): Likewise.
4710 (cb_exit_data_start): Likewise.
4711 (cb_exit_data_end): Likewise.
4712 (cb_compute_construct_end): Likewise.
4713 (cb_enqueue_launch_start): Likewise.
4714 (cb_enqueue_launch_end): Likewise.
4715 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4716 (main): Likewise.
4717
4718 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
4719
4720 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4721 to use this instead of 'enum gomp_device_property'.
4722 (GOMP_OFFLOAD_get_property): Rename to...
4723 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4724 * libgomp.h (struct gomp_device_descr): Move
4725 'GOMP_OFFLOAD_openacc_get_property'...
4726 (struct acc_dispatch_t): ... here. Adjust all users.
4727 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4728
4729 * target.c (gomp_map_vars_internal)
4730 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4731 paths.
4732
4733 2020-01-10 Jakub Jelinek <jakub@redhat.com>
4734
4735 PR libgomp/93219
4736 * libgomp.h (gomp_print_string): Change return type from void to int.
4737 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4738 not all characters have been written.
4739
4740 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
4741
4742 * libgomp.texi: Fix typos, use https.
4743
4744 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
4745
4746 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4747 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4748 dummy arguments; those are/shall be regarded as absent arguments.
4749 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4750 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4751
4752 2020-01-01 Jakub Jelinek <jakub@redhat.com>
4753
4754 Update copyright years.
4755
4756 * libgomp.texi: Bump @copying's copyright year.
4757
4758 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
4759
4760 PR libgomp/93065
4761 * oacc-init.c (goacc_runtime_deinitialize): New function.
4762
4763 2019-12-28 Jakub Jelinek <jakub@redhat.com>
4764
4765 PR bootstrap/93074
4766 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4767 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4768
4769 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
4770 Frederik Harwath <frederik@codesourcery.com>
4771 Thomas Schwinge <tschwinge@codesourcery.com>
4772
4773 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4774 * libgomp-plugin.h (gomp_device_property_value): New union.
4775 (gomp_device_property_value): New prototype.
4776 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4777 constant.
4778 (acc_device_property_t): New enum.
4779 (acc_get_property, acc_get_property_string): New prototypes.
4780 * oacc-init.c (acc_get_device_type): Also assert that result
4781 is not `acc_device_current'.
4782 (get_property_any, acc_get_property, acc_get_property_string):
4783 New functions.
4784 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4785 `acc_property_memory', `acc_property_free_memory',
4786 `acc_property_name', `acc_property_vendor' and
4787 `acc_property_driver' constants. Add `acc_device_property' data
4788 type.
4789 (openacc_internal): Add `acc_get_property' and
4790 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4791 `acc_get_property_string_h', `acc_get_property_l' and
4792 `acc_get_property_string_l'.
4793 * oacc-host.c (host_get_property): New function.
4794 (host_dispatch): Wire it.
4795 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4796 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4797 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4798 * libgomp.texi (OpenACC Runtime Library Routines): Add
4799 `acc_get_property'.
4800 (acc_get_property): New node.
4801 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4802 function (stub).
4803 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4804 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4805 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4806 calls.
4807 (GOMP_OFFLOAD_get_property): New function.
4808 (struct ptx_device): Add new field "name".
4809 (cuda_driver_version_s): Add new static variable ...
4810 (nvptx_init): ... and init from here.
4811
4812 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4813 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4814 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4815 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4816 with test helper functions.
4817
4818 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4819
4820 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
4821
4822 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4823 variable.
4824
4825 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
4826
4827 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4828 link' handling.
4829
4830 2019-12-19 Julian Brown <julian@codesourcery.com>
4831
4832 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4833 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4834 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4835
4836 2019-12-19 Julian Brown <julian@codesourcery.com>
4837 Cesar Philippidis <cesar@codesourcery.com>
4838
4839 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4840 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4841 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4842 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4843 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4844 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4845 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4846 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4847 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4848 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4849 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4850 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4851 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4852
4853 2019-12-19 Julian Brown <julian@codesourcery.com>
4854
4855 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4856 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4857 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4858 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4859 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4860 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4861 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4862 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4863 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4864 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4865 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4866 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4867
4868 2019-12-19 Julian Brown <julian@codesourcery.com>
4869
4870 * libgomp.h (struct target_var_desc): Add do_detach flag.
4871 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4872 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4873 struct components. Tidy up and add some new checks.
4874 (goacc_enter_data_internal): Update call to find_group_last.
4875 (goacc_exit_data_internal): Support detach operations and
4876 GOMP_MAP_STRUCT.
4877 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4878 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4879 attach/detach in enter/exit data detection code.
4880 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4881 tgt_var_desc.
4882 (gomp_map_vars_internal): Support attach.
4883 (gomp_unmap_vars_internal): Support detach.
4884
4885 2019-12-19 Julian Brown <julian@codesourcery.com>
4886 Thomas Schwinge <thomas@codesourcery.com>
4887
4888 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4889 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4890 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4891 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4892 acc_detach_finalize_async.
4893 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4894 acc_detach, acc_detach_async, acc_detach_finalize,
4895 acc_detach_finalize_async): New functions.
4896 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4897 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4898 prototypes.
4899 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4900 (gomp_remove_var_internal): Free attachment counts if present.
4901 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4902 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4903
4904 2019-12-19 Julian Brown <julian@codesourcery.com>
4905 Cesar Philippidis <cesar@codesourcery.com>
4906
4907 * libgomp.h (gomp_map_val): Add prototype.
4908 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4909 open-coding device-address calculation.
4910 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4911 non-present case.
4912
4913 2019-12-19 Julian Brown <julian@codesourcery.com>
4914
4915 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4916 field for virtual_refcount.
4917 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4918 (gomp_free_memmap): Remove prototype.
4919 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4920 instead of calling gomp_free_memmap.
4921 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4922 dynamic_refcount.
4923 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4924 to_free field to NULL then calling gomp_unmap_vars. Handle
4925 REFCOUNT_INFINITY on target blocks.
4926 (goacc_enter_data): Rename to...
4927 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4928 handling for mapping groups. Use virtual_refcount instead of
4929 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4930 map_map_vars_async call. Re-do lookup for target pointer return value.
4931 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4932 renamed goacc_enter_datum function.
4933 (goacc_exit_data): Rename to...
4934 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4935 (acc_delete, acc_delete_async, acc_delete_finalize,
4936 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4937 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4938 goacc_exit_datum function.
4939 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4940 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4941 New functions.
4942 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4943 goacc_exit_data_internal helper functions.
4944 * target.c (gomp_map_vars_internal): Handle
4945 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4946 semantics.
4947 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4948 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4949 virtual_refcount field instead of dynamic_refcount.
4950 (gomp_free_memmap): Remove function.
4951 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4952 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4953 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4954
4955 2019-12-19 Julian Brown <julian@codesourcery.com>
4956 Thomas Schwinge <thomas@codesourcery.com>
4957
4958 * libgomp.h (struct splay_tree_aux): New.
4959 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4960 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4961 to aux struct.
4962 (gomp_remove_var_internal): Free aux block if present.
4963 (gomp_load_image_to_device): Zero-initialise aux field instead of
4964 link_key field.
4965 (omp_target_associate_pointer): Zero-initialise aux field.
4966
4967 2019-12-18 Jakub Jelinek <jakub@redhat.com>
4968
4969 PR middle-end/86416
4970 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4971 q or none.
4972 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4973 L or none.
4974
4975 2019-12-19 Julian Brown <julian@codesourcery.com>
4976 Maciej W. Rozycki <macro@codesourcery.com>
4977 Tobias Burnus <tobias@codesourcery.com>
4978 Thomas Schwinge <thomas@codesourcery.com>
4979
4980 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4981 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4982 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4983 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4984 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4985 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4986 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4987 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4988 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4989
4990 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
4991
4992 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4993 called...
4994 (goacc_insert_pointer): ... from here, "present" case.
4995 (goacc_insert_pointer): Inline function into...
4996 (GOACC_enter_exit_data): ... here, and simplify.
4997
4998 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4999 called...
5000 (goacc_insert_pointer): ... from here, "not present" case.
5001
5002 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
5003 all users.
5004
5005 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
5006 'goacc_enter_data', 'goacc_exit_data'.
5007
5008 * oacc-mem.c (delete_copyout): Refactor into...
5009 (goacc_exit_data): ... this. Adjust all users.
5010
5011 * oacc-mem.c (present_create_copy): Refactor into...
5012 (goacc_enter_data): ... this. Adjust all users.
5013
5014 * target.c (gomp_unmap_vars_internal): Add a safeguard to
5015 'gomp_remove_var'.
5016
5017 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
5018 like 'GOMP_MAP_FROM'.
5019
5020 PR libgomp/92726
5021 PR libgomp/92970
5022 PR libgomp/92984
5023 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
5024 fails.
5025 (GOACC_enter_exit_data): Simplify accordingly.
5026 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
5027 subsuming...
5028 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
5029 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
5030 file.
5031 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
5032 subsuming...
5033 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
5034 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
5035 file.
5036 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
5037 subsuming...
5038 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
5039
5040 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
5041 'finalize' handling.
5042
5043 PR libgomp/92848
5044 * oacc-mem.c (acc_map_data, present_create_copy)
5045 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
5046 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
5047 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
5048 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
5049 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
5050 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
5051 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
5052 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5053 Remove "XFAIL"s.
5054
5055 * target.c (gomp_unmap_tgt): Make it 'static'.
5056 * libgomp.h (gomp_unmap_tgt): Remove.
5057
5058 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
5059
5060 PR middle-end/86416
5061 * testsuite/libgomp.c/pr86416-1.c: New.
5062 * testsuite/libgomp.c/pr86416-2.c: New.
5063
5064 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
5065
5066 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
5067 all symbols as public except for the 'use …, only' imported symbol,
5068 which is private.
5069 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5070 all symbols from module openacc_kinds as PUBLIC
5071 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
5072 fix comment typo.
5073 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
5074
5075 2019-12-13 Julian Brown <julian@codesourcery.com>
5076
5077 PR libgomp/92881
5078
5079 * libgomp.h (gomp_remove_var_async): Add prototype.
5080 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
5081 gomp_remove_var.
5082 * target.c (gomp_unref_tgt): Change return type to bool, indicating
5083 whether target_mem_desc was unmapped.
5084 (gomp_unref_tgt_void): New.
5085 (gomp_remove_var): Reimplement in terms of...
5086 (gomp_remove_var_internal): ...this new helper function.
5087 (gomp_remove_var_async): New, implemented using above helper function.
5088 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
5089 gomp_unref_tgt.
5090
5091 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
5092
5093 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
5094 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
5095 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
5096 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
5097 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
5098 Likewise.
5099 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
5100 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
5101
5102 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
5103
5104 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
5105 as public except for the 'use …, only' imported symbol, which is
5106 private.
5107 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5108 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
5109 attributes for acc_copyout_finalize and acc_delete_finalize.
5110
5111 2019-12-11 Jakub Jelinek <jakub@redhat.com>
5112
5113 PR fortran/92899
5114 * testsuite/libgomp.fortran/atomic1.f90: New test.
5115
5116 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5117
5118 PR libgomp/92843
5119 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
5120 reference counting for structured 'REFCOUNT_INFINITY'. Add some
5121 assertions.
5122 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
5123 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
5124 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
5125 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5126 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5127
5128 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
5129 * oacc-mem.c: ... here.
5130 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
5131 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
5132 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5133 Remove.
5134 * libgomp_g.h: Update.
5135
5136 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
5137 * oacc-async.c: ... here.
5138 * oacc-int.h (goacc_wait): Declare.
5139 * libgomp_g.h: Update
5140
5141 PR libgomp/92854
5142 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
5143 New file.
5144 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
5145 Likewise.
5146 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
5147 Likewise.
5148 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
5149 Likewise.
5150 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
5151 Likewise.
5152 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
5153 Likewise.
5154
5155 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5156 Julian Brown <julian@codesourcery.com>
5157
5158 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
5159 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
5160
5161 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
5162
5163 * omp_lib.h.in: Fix spelling of function declaration
5164 omp_get_cancell(l)ation.
5165 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
5166 Fix typos.
5167 * env.c: Fix comment typos.
5168 * oacc-host.c: Likewise.
5169 * ordered.c: Likewise.
5170 * task.c: Likewise.
5171 * team.c: Likewise.
5172 * config/gcn/task.c: Likewise.
5173 * config/gcn/team.c: Likewise.
5174 * config/nvptx/task.c: Likewise.
5175 * config/nvptx/team.c: Likewise.
5176 * plugin/plugin-gcn.c: Likewise.
5177 * testsuite/libgomp.fortran/jacobi.f: Likewise.
5178 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5179 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
5180
5181 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
5182
5183 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5184 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5185 unnecessary 'dg-additional-options "-w"'.
5186
5187 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5188 Julian Brown <julian@codesourcery.com>
5189
5190 PR libgomp/92116
5191 PR libgomp/92877
5192
5193 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5194 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5195 Adjust all users.
5196 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5197 Remove XFAIL.
5198 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5199 Likewise.
5200 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5201
5202 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5203
5204 PR libgomp/92503
5205 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5206 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5207 file.
5208 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5209 Likewise.
5210 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5211 Likewise.
5212 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5213 Likewise.
5214 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5215 Likewise.
5216 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5217 Likewise.
5218 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5219 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5220 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5221 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5222 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5223 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5224 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5225 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5226 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5227 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5228
5229 PR libgomp/92840
5230 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5231 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5232 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5233 New file.
5234 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5235 Likewise.
5236 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5237 Likewise.
5238 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5239 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5240
5241 PR libgomp/92511
5242 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5243 this file...
5244 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5245 this file...
5246 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5247 file...
5248 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5249 file...
5250 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5251 ... with their content moved into, and extended in this new file.
5252 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5253 New file.
5254 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5255 Likewise.
5256 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5257 Likewise.
5258 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5259 Likewise.
5260
5261 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5262
5263 PR libgomp/92854
5264 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5265
5266 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5267
5268 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5269
5270 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
5271
5272 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5273 unique.
5274 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5275 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5276 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5277 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5278 Ditto.
5279 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5280 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5281
5282 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5283
5284 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5285
5286 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
5287 Kwok Cheung Yeung <kcy@codesourcery.com>
5288
5289 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5290 if input it a NULL pointer.
5291 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5292 diagnostic of NULL pointer.
5293 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5294 * testsuite/libgomp.fortran/optional-map.f90: New.
5295 * testsuite/libgomp.fortran/use_device_addr-1.f90
5296 (test_dummy_opt_callee_1_absent): New.
5297 (test_dummy_opt_call_1): Call it.
5298 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5299 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5300 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5301 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5302 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5303 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5304 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5305 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5306 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5307 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5308 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5309 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5310 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5311 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5312 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5313 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5314
5315 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
5316
5317 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5318 expect dg-output of 'Error termination.' for GCN.
5319 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5320 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5321
5322 2019-12-04 Jakub Jelinek <jakub@redhat.com>
5323
5324 PR fortran/92756
5325 * testsuite/libgomp.fortran/teams1.f90: New test.
5326 * testsuite/libgomp.fortran/teams2.f90: New test.
5327
5328 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
5329
5330 * oacc-init.c (acc_known_device_type): Add function.
5331 (unknown_device_type_error): Add function.
5332 (name_of_acc_device_t): Change to call unknown_device_type_error
5333 on unknown type.
5334 (resolve_device): Use acc_known_device_type.
5335 (acc_init): Fail if acc_device_t argument is not valid.
5336 (acc_shutdown): Likewise.
5337 (acc_get_num_devices): Likewise.
5338 (acc_set_device_type): Likewise.
5339 (acc_get_device_num): Likewise.
5340 (acc_set_device_num): Likewise.
5341 (acc_on_device): Add comment that argument validity is not checked.
5342
5343 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
5344
5345 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5346 Recognize amdgcn.
5347 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5348 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5349 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5350 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5351 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5352
5353 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5354
5355 PR libgomp/91938
5356 * configure.tgt: Avoid IE tls on *-*-musl*.
5357
5358 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
5359
5360 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5361 adding a common-block test case.
5362
5363 2019-11-29 Jakub Jelinek <jakub@redhat.com>
5364
5365 PR c++/60228
5366 * testsuite/libgomp.c++/udr-20.C: New test.
5367 * testsuite/libgomp.c++/udr-21.C: New test.
5368
5369 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5370
5371 * testsuite/lib/libgomp.exp
5372 (check_effective_target_offload_target_nvptx): New proc.
5373 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5374 'dg-skip-if'.
5375 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5376 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5377 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5378
5379 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5380
5381 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5382 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5383 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5384 * testsuite/libgomp.c/private-1.c: Likewise.
5385 * testsuite/libgomp.c/task-1.c: Likewise.
5386 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5387
5388 2019-11-20 Julian Brown <julian@codesourcery.com>
5389
5390 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5391 aq->mutex here.
5392 (queue_push_launch): Lock aq->mutex before calling
5393 wait_for_queue_nonfull.
5394 (queue_push_callback): Likewise.
5395 (queue_push_asyncwait): Likewise.
5396 (queue_push_placeholder): Likewise.
5397
5398 2019-11-20 Julian Brown <julian@codesourcery.com>
5399
5400 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5401 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5402 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5403 return code.
5404
5405 2019-11-20 Julian Brown <julian@codesourcery.com>
5406
5407 PR libgomp/92511
5408
5409 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5410 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5411 in non-present/create case.
5412 (delete_copyout): Change error condition to fail only on copies outside
5413 of mapped block. Adjust error message accordingly.
5414 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5415 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5416 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5417 message.
5418 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5419 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5420 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5421
5422 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
5423
5424 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5425 libatomic in build-tree testing.
5426
5427 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
5428
5429 * testsuite/Makefile.in: Regenerate.
5430
5431 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
5432
5433 * testsuite/libgomp.c/target-print-1.c: New file.
5434 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5435 * testsuite/libgomp.oacc-c/print-1.c: New file.
5436 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5437
5438 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5439 Kwok Cheung Yeung <kcy@codesourcery.com>
5440 Julian Brown <julian@codesourcery.com>
5441 Tom de Vries <tom@codesourcery.com>
5442
5443 * plugin/Makefrag.am: Add amdgcn plugin support.
5444 * plugin/configfrag.ac: Likewise.
5445 * plugin/plugin-gcn.c: New file.
5446 * configure: Regenerate.
5447 * Makefile.in: Regenerate.
5448 * testsuite/Makefile.in: Regenerate.
5449
5450 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5451
5452 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5453 and use team_malloc variants.
5454 (gomp_gcn_exit_kernel): Use team_free.
5455 * libgomp.h (TEAM_ARENA_SIZE): Define.
5456 (TEAM_ARENA_START): Define.
5457 (TEAM_ARENA_FREE): Define.
5458 (TEAM_ARENA_END): Define.
5459 (team_malloc): New function.
5460 (team_malloc_cleared): New function.
5461 (team_free): New function.
5462 * team.c (gomp_new_team): Initialize and use team_malloc.
5463 (free_team): Use team_free.
5464 (gomp_free_thread): Use team_free.
5465 (gomp_pause_host): Use team_free.
5466 * work.c (gomp_init_work_share): Use team_malloc.
5467 (gomp_fini_work_share): Use team_free.
5468
5469 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5470 Kwok Cheung Yeung <kcy@codesourcery.com>
5471 Julian Brown <julian@codesourcery.com>
5472 Tom de Vries <tom@codesourcery.com>
5473
5474 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5475 * Makefile.in: Regenerate.
5476 * config.h.in (PLUGIN_GCN): Add new undef.
5477 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5478 * config/gcn/affinity-fmt.c: New file.
5479 * config/gcn/bar.c: New file.
5480 * config/gcn/bar.h: New file.
5481 * config/gcn/doacross.h: New file.
5482 * config/gcn/icv-device.c: New file.
5483 * config/gcn/oacc-target.c: New file.
5484 * config/gcn/simple-bar.h: New file.
5485 * config/gcn/target.c: New file.
5486 * config/gcn/task.c: New file.
5487 * config/gcn/team.c: New file.
5488 * config/gcn/time.c: New file.
5489 * configure.ac: Add amdgcn*-*-*.
5490 * configure: Regenerate.
5491 * configure.tgt: Add amdgcn*-*-*.
5492 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5493 * libgomp.h (gcn_thrs): Add amdgcn variant.
5494 (set_gcn_thrs): Likewise.
5495 (gomp_thread): Likewise.
5496 * oacc-int.h (goacc_thread): Likewise.
5497 * oacc-target.c: New file.
5498 * openacc.f90 (acc_device_gcn): New parameter.
5499 * openacc.h (acc_device_t): Add acc_device_gcn.
5500 * team.c (gomp_free_pool_helper): Add amdgcn support.
5501
5502 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5503 Julian Brown <julian@codesourcery.com>
5504
5505 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5506 parameter.
5507 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5508 queue constructor.
5509 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5510 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5511 device parameter.
5512
5513 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5514
5515 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5516 * config/nvptx/libgomp-plugin.c: Move ...
5517 * config/accel/libgomp-plugin.c: ... to here.
5518 * config/nvptx/lock.c: Move ...
5519 * config/accel/lock.c: ... to here.
5520 * config/nvptx/mutex.c: Move ...
5521 * config/accel/mutex.c: ... to here.
5522 * config/nvptx/mutex.h: Move ...
5523 * config/accel/mutex.h: ... to here.
5524 * config/nvptx/oacc-async.c: Move ...
5525 * config/accel/oacc-async.c: ... to here.
5526 * config/nvptx/oacc-cuda.c: Move ...
5527 * config/accel/oacc-cuda.c: ... to here.
5528 * config/nvptx/oacc-host.c: Move ...
5529 * config/accel/oacc-host.c: ... to here.
5530 * config/nvptx/oacc-init.c: Move ...
5531 * config/accel/oacc-init.c: ... to here.
5532 * config/nvptx/oacc-mem.c: Move ...
5533 * config/accel/oacc-mem.c: ... to here.
5534 * config/nvptx/oacc-plugin.c: Move ...
5535 * config/accel/oacc-plugin.c: ... to here.
5536 * config/nvptx/omp-lock.h: Move ...
5537 * config/accel/omp-lock.h: ... to here.
5538 * config/nvptx/openacc.f90: Move ...
5539 * config/accel/openacc.f90: ... to here.
5540 * config/nvptx/pool.h: Move ...
5541 * config/accel/pool.h: ... to here.
5542 * config/nvptx/proc.c: Move ...
5543 * config/accel/proc.c: ... to here.
5544 * config/nvptx/ptrlock.c: Move ...
5545 * config/accel/ptrlock.c: ... to here.
5546 * config/nvptx/ptrlock.h: Move ...
5547 * config/accel/ptrlock.h: ... to here.
5548 * config/nvptx/sem.c: Move ...
5549 * config/accel/sem.c: ... to here.
5550 * config/nvptx/sem.h: Move ...
5551 * config/accel/sem.h: ... to here.
5552 * config/nvptx/thread-stacksize.h: Move ...
5553 * config/accel/thread-stacksize.h: ... to here.
5554
5555 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5556 Tobias Burnus <tobias@codesourcery.com>
5557 Frederik Harwath <frederik@codesourcery.com>
5558 Thomas Schwinge <thomas@codesourcery.com>
5559
5560 libgomp/
5561 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5562 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5563 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5564
5565 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
5566 Kwok Cheung Yeung <kcy@codesourcery.com>
5567
5568 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5569 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5570
5571 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5572
5573 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5574
5575 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5576 run'.
5577 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5578 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5579
5580 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
5581
5582 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5583 Add expected warnings about missing reduction clauses.
5584 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5585 Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5587 Likewise.
5588 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5589 Likewise.
5590
5591 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5592
5593 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5594 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5595 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5596 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5597 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5598 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5599
5600 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5601
5602 PR fortran/92305
5603 * testsuite/libgomp.fortran/allocatable2.f90: Use
5604 unique numbers with 'stop'.
5605 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5606 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5607 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5608 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5609 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5610
5611 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
5612
5613 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5614 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5615 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5616 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5617 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5618 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5619
5620 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5621
5622 * testsuite/libgomp.fortran/target9.f90: New.
5623
5624 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5625
5626 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5627 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5628 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5629 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5630 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5631 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5632 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5633 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5634 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5635 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5636 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5637 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5638 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5639 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5640 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5641 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5642 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5643 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5644 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5645 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5646 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5647 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5648 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5649 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5650 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5651 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5652 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5653 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5654 * testsuite/libgomp.fortran/character1.f90: Ditto.
5655 * testsuite/libgomp.fortran/character2.f90: Ditto.
5656 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5657 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5658 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5659 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5660 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5661 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5662 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5663 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5664 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5665 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5666 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5667 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5668 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5669 * testsuite/libgomp.fortran/do1.f90: Ditto.
5670 * testsuite/libgomp.fortran/do2.f90: Ditto.
5671 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5672 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5673 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5674 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5675 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5676 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5677 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5678 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5679 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5680 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5681 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5682 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5683 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5684 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5685 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5686 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5687 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5688 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5689 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5690 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5691 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5692 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5693 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5694 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5695 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5696 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5697 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5698 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5699 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5700 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5701 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5702 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5703 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5704 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5705 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5706 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5707 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5708 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5709 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5710 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5711 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5712 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5713 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5714 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5715 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5716 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5717 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5718 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5719 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5720 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5721 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5722 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5723 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5724 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5725 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5726 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5727 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5728 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5729 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5730 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5731 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5732 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5733 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5734 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5735 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5736 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5737 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5738 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5739 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5740 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5741 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5742 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5743 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5744 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5745 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5746 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5747 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5748 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5749 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5750 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5751 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5752 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5753 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5754 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5755 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5756 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5757 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5758 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5759 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5760 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5761 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5762 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5763 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5764 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5765 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5766 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5767 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5768 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5769 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5770 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5771 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5772 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5773 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5774 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5775 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5776 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5777 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5778 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5779 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5780 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5781 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5782 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5783 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5784 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5785 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5786 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5787 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5788 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5789 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5790 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5791 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5792 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5793 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5794 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5795 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5796 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5797 * testsuite/libgomp.fortran/stack.f90: Ditto.
5798 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5799 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5800 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5801 * testsuite/libgomp.fortran/target1.f90: Ditto.
5802 * testsuite/libgomp.fortran/target2.f90: Ditto.
5803 * testsuite/libgomp.fortran/target3.f90: Ditto.
5804 * testsuite/libgomp.fortran/target4.f90: Ditto.
5805 * testsuite/libgomp.fortran/target5.f90: Ditto.
5806 * testsuite/libgomp.fortran/target6.f90: Ditto.
5807 * testsuite/libgomp.fortran/target7.f90: Ditto.
5808 * testsuite/libgomp.fortran/target8.f90: Ditto.
5809 * testsuite/libgomp.fortran/task1.f90: Ditto.
5810 * testsuite/libgomp.fortran/task2.f90: Ditto.
5811 * testsuite/libgomp.fortran/task3.f90: Ditto.
5812 * testsuite/libgomp.fortran/task4.f90: Ditto.
5813 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5814 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5815 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5816 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5817 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5818 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5819 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5820 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5821 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5822 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5823 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5824 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5825 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5826 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5827 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5828 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5829 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5830 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5831 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5832 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5833 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5834 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5835 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5836 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5837 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5838 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5839 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5840 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5841 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5842 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5843 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5844 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5845 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5846 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5847
5848 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5849
5850 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5851 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5852 Ditto; add 'dg-do run' for torture testing.
5853 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5854 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5855 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5856 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5857 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5858 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5859 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5860 * testsuite/libgomp.fortran/task2.f90: Ditto.
5861 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5862 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5863 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5864 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5865 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5866 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5867
5868 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
5869
5870 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5871 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5872 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5873 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5874 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5875 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5876 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5877 Use 'stop' not abort().
5878 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5879 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5880 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5881 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5882 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5883 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5884 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5885 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5886 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5887 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5888 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5889 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5890 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5891 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5892 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5893 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5894 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5895 Ditto.
5896 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5897 Ditto.
5898 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5899 Ditto.
5900 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5901 Ditto.
5902 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5903 Ditto.
5904 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5905 Ditto.
5906 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5907 Ditto.
5908 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5909 Ditto.
5910 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5911 Ditto.
5912 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5913 Ditto.
5914 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5915 Ditto.
5916 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5917 Ditto.
5918 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5919 Ditto.
5920 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5921 Ditto.
5922 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5923 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5924 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5925 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5926 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5927 Likewise and also add 'dg-do run'.
5928 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5929 Ditto.
5930
5931 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
5932 Tobias Burnus <tobias@codesourcery.com>
5933
5934 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5935 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5936 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5937
5938 2019-10-14 Jakub Jelinek <jakub@redhat.com>
5939
5940 PR libgomp/92081
5941 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5942 than 0.
5943
5944 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
5945
5946 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5947 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5948
5949 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
5950
5951 PR middle-end/92036
5952 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5953 file.
5954
5955 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
5956
5957 PR testsuite/91884
5958 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5959 add -lquadmath.
5960 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5961
5962 2019-10-09 Jakub Jelinek <jakub@redhat.com>
5963
5964 PR libgomp/92028
5965 * target.c (gomp_map_vars_internal): Readd the previous
5966 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5967 though do that just in the !not_found_cnt case.
5968
5969 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
5970
5971 * gfortran.dg/gomp/target-simd.f90: New.
5972
5973 2019-10-02 Julian Brown <julian@codesourcery.com>
5974 Cesar Philippidis <cesar@codesourcery.com>
5975
5976 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5977 * target.c (FIELD_TGT_EMPTY): Define.
5978 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5979 as switch instead of list of ifs.
5980 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5981
5982 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
5983
5984 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5985 include. Replace alloca () with __builtin_alloca ().
5986 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5987
5988 2019-10-01 Jakub Jelinek <jakub@redhat.com>
5989
5990 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5991 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5992 * oacc-parallel.c: Don't include "libgomp_g.h".
5993 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5994 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5995 * aclocal.m4: Regenerated.
5996 * config.h.in: Regenerated.
5997 * configure: Regenerated.
5998 * Makefile.in: Regenerated.
5999
6000 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
6001
6002 * libgomp_g.h: Include stdint.h instead of gstdint.h.
6003
6004 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
6005
6006 * configure: Regenerate.
6007
6008 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
6009
6010 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
6011 string is initialized.
6012
6013 2019-09-06 Florian Weimer <fweimer@redhat.com>
6014
6015 * configure: Regenerate.
6016
6017 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
6018
6019 PR other/79543
6020 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
6021 scanning to conform to the GNU Coding Standards.
6022 * configure: Regenerate.
6023
6024 2019-08-28 Jakub Jelinek <jakub@redhat.com>
6025
6026 PR libgomp/91530
6027 * testsuite/libgomp.c/scan-21.c: New test.
6028 * testsuite/libgomp.c/scan-22.c: New test.
6029
6030 2019-08-27 Jakub Jelinek <jakub@redhat.com>
6031
6032 PR libgomp/91530
6033 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
6034 targets.
6035 * testsuite/libgomp.c/scan-12.c: Likewise.
6036 * testsuite/libgomp.c/scan-13.c: Likewise.
6037 * testsuite/libgomp.c/scan-14.c: Likewise.
6038 * testsuite/libgomp.c/scan-15.c: Likewise.
6039 * testsuite/libgomp.c/scan-16.c: Likewise.
6040 * testsuite/libgomp.c/scan-17.c: Likewise.
6041 * testsuite/libgomp.c/scan-18.c: Likewise.
6042 * testsuite/libgomp.c/scan-19.c: Likewise.
6043 * testsuite/libgomp.c/scan-20.c: Likewise.
6044 * testsuite/libgomp.c++/scan-9.C: Likewise.
6045 * testsuite/libgomp.c++/scan-10.C: Likewise.
6046 * testsuite/libgomp.c++/scan-11.C: Likewise.
6047 * testsuite/libgomp.c++/scan-12.C: Likewise.
6048 * testsuite/libgomp.c++/scan-14.C: Likewise.
6049 * testsuite/libgomp.c++/scan-15.C: Likewise.
6050 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
6051 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
6052 * testsuite/libgomp.c++/scan-16.C: Likewise.
6053
6054 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
6055
6056 PR fortran/91473
6057 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
6058 -std=legacy so invalid code in the test case is accepted.
6059
6060 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6061
6062 PR fortran/91422
6063 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
6064 dimension.
6065
6066 2019-08-08 Jakub Jelinek <jakub@redhat.com>
6067
6068 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
6069 perform the lookup in the first loop only if !not_found_cnt, otherwise
6070 perform lookups for it in the second loop guarded with
6071 if (not_found_cnt || has_firstprivate).
6072 * testsuite/libgomp.c/target-37.c: New test.
6073 * testsuite/libgomp.c++/target-22.C: New test.
6074
6075 2019-08-07 Jakub Jelinek <jakub@redhat.com>
6076
6077 * testsuite/libgomp.c/target-18.c (struct S): New type.
6078 (foo): Use use_device_addr clause instead of use_device_ptr clause
6079 where required by OpenMP 5.0, add further tests for both use_device_ptr
6080 and use_device_addr clauses.
6081 * testsuite/libgomp.c++/target-9.C (struct S): New type.
6082 (foo): Use use_device_addr clause instead of use_device_ptr clause
6083 where required by OpenMP 5.0, add further tests for both use_device_ptr
6084 and use_device_addr clauses. Add t and u arguments.
6085 (main): Adjust caller.
6086
6087 2019-08-06 Jakub Jelinek <jakub@redhat.com>
6088
6089 * testsuite/libgomp.c++/loop-13.C: New test.
6090 * testsuite/libgomp.c++/loop-14.C: New test.
6091 * testsuite/libgomp.c++/loop-15.C: New test.
6092
6093 2019-07-31 Jakub Jelinek <jakub@redhat.com>
6094
6095 PR middle-end/91301
6096 * testsuite/libgomp.c++/for-27.C: New test.
6097
6098 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
6099
6100 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
6101 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
6102
6103 2019-07-20 Jakub Jelinek <jakub@redhat.com>
6104
6105 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
6106
6107 2019-07-08 Jakub Jelinek <jakub@redhat.com>
6108
6109 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
6110 * testsuite/libgomp.c++/scan-16.C: Likewise.
6111
6112 2019-07-06 Jakub Jelinek <jakub@redhat.com>
6113
6114 * testsuite/libgomp.c/scan-19.c: New test.
6115 * testsuite/libgomp.c/scan-20.c: New test.
6116
6117 * testsuite/libgomp.c/scan-11.c: New test.
6118 * testsuite/libgomp.c/scan-12.c: New test.
6119 * testsuite/libgomp.c/scan-13.c: New test.
6120 * testsuite/libgomp.c/scan-14.c: New test.
6121 * testsuite/libgomp.c/scan-15.c: New test.
6122 * testsuite/libgomp.c/scan-16.c: New test.
6123 * testsuite/libgomp.c/scan-17.c: New test.
6124 * testsuite/libgomp.c/scan-18.c: New test.
6125 * testsuite/libgomp.c++/scan-9.C: New test.
6126 * testsuite/libgomp.c++/scan-10.C: New test.
6127 * testsuite/libgomp.c++/scan-11.C: New test.
6128 * testsuite/libgomp.c++/scan-12.C: New test.
6129 * testsuite/libgomp.c++/scan-13.C: New test.
6130 * testsuite/libgomp.c++/scan-14.C: New test.
6131 * testsuite/libgomp.c++/scan-15.C: New test.
6132 * testsuite/libgomp.c++/scan-16.C: New test.
6133
6134 2019-07-04 Jakub Jelinek <jakub@redhat.com>
6135
6136 * testsuite/libgomp.c/scan-9.c: New test.
6137 * testsuite/libgomp.c/scan-10.c: New test.
6138
6139 2019-07-03 Jakub Jelinek <jakub@redhat.com>
6140
6141 * testsuite/libgomp.c++/scan-1.C: New test.
6142 * testsuite/libgomp.c++/scan-2.C: New test.
6143 * testsuite/libgomp.c++/scan-3.C: New test.
6144 * testsuite/libgomp.c++/scan-4.C: New test.
6145 * testsuite/libgomp.c++/scan-5.C: New test.
6146 * testsuite/libgomp.c++/scan-6.C: New test.
6147 * testsuite/libgomp.c++/scan-7.C: New test.
6148 * testsuite/libgomp.c++/scan-8.C: New test.
6149 * testsuite/libgomp.c/scan-1.c: New test.
6150 * testsuite/libgomp.c/scan-2.c: New test.
6151 * testsuite/libgomp.c/scan-3.c: New test.
6152 * testsuite/libgomp.c/scan-4.c: New test.
6153 * testsuite/libgomp.c/scan-5.c: New test.
6154 * testsuite/libgomp.c/scan-6.c: New test.
6155 * testsuite/libgomp.c/scan-7.c: New test.
6156 * testsuite/libgomp.c/scan-8.c: New test.
6157
6158 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6159
6160 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
6161 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
6162 Likewise.
6163
6164 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
6165 check.
6166
6167 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
6168
6169 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6170 file.
6171
6172 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6173
6174 PR fortran/90743
6175 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
6176 case.
6177 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
6178 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
6179 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
6180 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6181
6182 PR testsuite/90861
6183 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6184
6185 PR middle-end/90862
6186 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6187
6188 2019-06-16 Tom de Vries <tdevries@suse.de>
6189
6190 PR tree-optimization/89376
6191 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6192
6193 2019-06-15 Tom de Vries <tdevries@suse.de>
6194
6195 PR tree-optimization/89713
6196 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6197 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6198
6199 2019-06-15 Jakub Jelinek <jakub@redhat.com>
6200
6201 PR middle-end/90779
6202 * testsuite/libgomp.c/pr90779.c: New test.
6203 * testsuite/libgomp.fortran/pr90779.f90: New test.
6204
6205 2019-06-15 Tom de Vries <tdevries@suse.de>
6206
6207 PR tree-optimization/90009
6208 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6209
6210 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
6211
6212 PR tree-optimization/89713
6213 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6214
6215 2019-06-11 Jakub Jelinek <jakub@redhat.com>
6216
6217 PR target/90811
6218 * testsuite/libgomp.c/pr90811.c: New test.
6219
6220 2019-06-05 Jakub Jelinek <jakub@redhat.com>
6221
6222 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6223 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6224
6225 2019-06-04 Jakub Jelinek <jakub@redhat.com>
6226
6227 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6228 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6229 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6230 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6231
6232 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6233
6234 * configure.ac: Call AX_COUNT_CPUS.
6235 Substitute CPU_COUNT.
6236 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6237 count fallback.
6238 * aclocal.m4: Regenerate.
6239 * configure: Regenerate.
6240 * Makefile.in, testsuite/Makefile.in: Regenerate.
6241
6242 2019-05-29 Jakub Jelinek <jakub@redhat.com>
6243
6244 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6245 to ...
6246 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6247 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6248 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6249
6250 2019-05-27 Jakub Jelinek <jakub@redhat.com>
6251
6252 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6253
6254 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6255
6256 PR libgomp/90641
6257 * work.c (gomp_init_work_share): Instead of aligning final ordered
6258 value to multiples of long long alignment, align to that the
6259 first part (ordered team ids) and if inline_ordered_team_ids
6260 is not on a long long alignment boundary within the structure,
6261 use __alignof__ (long long) - 1 pad size always.
6262 * loop.c (GOMP_loop_start): Fix *mem computation if
6263 inline_ordered_team_ids is not aligned on long long alignment boundary
6264 within the structure.
6265 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6266 * sections.c (GOMP_sections2_start): Likewise.
6267
6268 2019-05-24 Jakub Jelinek <jakub@redhat.com>
6269
6270 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6271 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6272
6273 PR libgomp/90585
6274 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6275 HAVE_INTTYPES_H is defined.
6276 (print_uint64_t): New typedef.
6277 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6278 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6279 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6280 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6281 before casting to void *.
6282 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6283 * oacc-mem.c: Don't include config.h nor stdint.h.
6284 * target.c: Don't include config.h.
6285 * oacc-cuda.c: Likewise.
6286 * oacc-host.c: Don't include stdint.h.
6287
6288 2019-05-20 Jakub Jelinek <jakub@redhat.com>
6289
6290 PR libgomp/90527
6291 * alloc.c (_GNU_SOURCE): Define.
6292
6293 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6294
6295 * acc_prof.h: New file.
6296 * oacc-profiling.c: Likewise.
6297 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6298 Add these, respectively.
6299 * Makefile.in: Regenerate.
6300 * env.c (initialize_env): Call goacc_profiling_initialize.
6301 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6302 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6303 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6304 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6305 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6306 acc_prof_register, acc_prof_unregister, and acc_register_library.
6307 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6308 GOMP_PLUGIN_goacc_thread.
6309 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6310 prof_callbacks_enabled members.
6311 (goacc_prof_enabled, goacc_profiling_initialize)
6312 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6313 (goacc_profiling_dispatch): Declare.
6314 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6315 (GOACC_PROFILING_SETUP_P): Define.
6316 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6317 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6318 OpenACC Profiling Interface.
6319 * oacc-cuda.c (acc_get_current_cuda_device)
6320 (acc_get_current_cuda_context, acc_get_cuda_stream)
6321 (acc_set_cuda_stream): Likewise.
6322 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6323 (acc_init, acc_set_device_type, acc_get_device_type)
6324 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6325 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6326 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6327 (acc_unmap_data, present_create_copy, delete_copyout)
6328 (update_dev_host): Likewise.
6329 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6330 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6331 Likewise.
6332 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6333 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6334 Likewise.
6335 * libgomp.texi: Update.
6336 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6337 file.
6338 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6339 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6340 Likewise.
6341 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6342 Likewise.
6343 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6344 Likewise.
6345 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6346 Likewise.
6347
6348 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6349
6350 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6351 (struct goacc_asyncqueue_list): Likewise.
6352 (goacc_aq): Likewise.
6353 (goacc_aq_list): Likewise.
6354 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6355 (GOMP_OFFLOAD_openacc_async_test): Remove.
6356 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6357 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6358 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6359 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6360 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6361 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6362 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6363 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6364 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6365 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6366 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6367 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6368 (GOMP_OFFLOAD_openacc_async_test): Declare.
6369 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6370 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6371 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6372 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6373 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6374
6375 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6376 (gomp_acc_insert_pointer): Adjust declaration.
6377 (gomp_copy_host2dev): New declaration.
6378 (gomp_copy_dev2host): Likewise.
6379 (gomp_map_vars_async): Likewise.
6380 (gomp_unmap_tgt): Likewise.
6381 (gomp_unmap_vars_async): Likewise.
6382 (gomp_fini_device): Likewise.
6383
6384 * oacc-async.c (get_goacc_thread): New function.
6385 (get_goacc_thread_device): New function.
6386 (lookup_goacc_asyncqueue): New function.
6387 (get_goacc_asyncqueue): New function.
6388 (acc_async_test): Adjust code to use new async design.
6389 (acc_async_test_all): Likewise.
6390 (acc_wait): Likewise.
6391 (acc_wait_async): Likewise.
6392 (acc_wait_all): Likewise.
6393 (acc_wait_all_async): Likewise.
6394 (goacc_async_free): New function.
6395 (goacc_init_asyncqueues): Likewise.
6396 (goacc_fini_asyncqueues): Likewise.
6397 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6398 design.
6399 (acc_set_cuda_stream): Likewise.
6400 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6401 (host_openacc_register_async_cleanup): Remove.
6402 (host_openacc_async_exec): New function.
6403 (host_openacc_async_test): Adjust parameters.
6404 (host_openacc_async_test_all): Remove.
6405 (host_openacc_async_wait): Remove.
6406 (host_openacc_async_wait_async): Remove.
6407 (host_openacc_async_wait_all): Remove.
6408 (host_openacc_async_wait_all_async): Remove.
6409 (host_openacc_async_set_async): Remove.
6410 (host_openacc_async_synchronize): New function.
6411 (host_openacc_async_serialize): New function.
6412 (host_openacc_async_host2dev): New function.
6413 (host_openacc_async_dev2host): New function.
6414 (host_openacc_async_queue_callback): New function.
6415 (host_openacc_async_construct): New function.
6416 (host_openacc_async_destruct): New function.
6417 (struct gomp_device_descr host_dispatch): Remove initialization of old
6418 interface, add initialization of new async sub-struct.
6419 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6420 (goacc_attach_host_thread_to_device): Remove old async code usage.
6421 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6422 (goacc_fini_asyncqueues): Likewise.
6423 (goacc_async_copyout_unmap_vars): Likewise.
6424 (goacc_async_free): Likewise.
6425 (get_goacc_asyncqueue): Likewise.
6426 (lookup_goacc_asyncqueue): Likewise.
6427 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6428 design.
6429 (present_create_copy): Adjust code to use new async design.
6430 (delete_copyout): Likewise.
6431 (update_dev_host): Likewise.
6432 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6433 async design.
6434 (gomp_acc_remove_pointer): Adjust code to use new async design.
6435 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6436 design.
6437 (GOACC_enter_exit_data): Likewise.
6438 (goacc_wait): Likewise.
6439 (GOACC_update): Likewise.
6440 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6441 when called, warn as obsolete in comment.
6442 * target.c (goacc_device_copy_async): New function.
6443 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6444 add goacc_device_copy_async case.
6445 (gomp_copy_dev2host): Likewise.
6446 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6447 (gomp_map_pointer): Likewise.
6448 (gomp_map_fields_existing): Likewise.
6449 (gomp_map_vars_internal): New always_inline function, renamed from
6450 gomp_map_vars.
6451 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6452 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6453 passing goacc_asyncqueue argument.
6454 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6455 (gomp_unref_tgt): New function.
6456 (gomp_unmap_vars_internal): New always_inline function, renamed from
6457 gomp_unmap_vars.
6458 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6459 (gomp_unmap_vars_async): Implement by calling
6460 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6461 (gomp_fini_device): New function.
6462 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6463 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6464 new async interface.
6465 (gomp_target_fini): Adjust code to call gomp_fini_device.
6466
6467 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6468 (struct ptx_stream): Remove.
6469 (struct nvptx_thread): Remove current_stream field.
6470 (cuda_map_create): Remove.
6471 (cuda_map_destroy): Remove.
6472 (map_init): Remove.
6473 (map_fini): Remove.
6474 (map_pop): Remove.
6475 (map_push): Remove.
6476 (struct goacc_asyncqueue): Define.
6477 (struct nvptx_callback): Define.
6478 (struct ptx_free_block): Define.
6479 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6480 stream_lock, and next fields.
6481 (enum ptx_event_type): Remove.
6482 (struct ptx_event): Remove.
6483 (ptx_event_lock): Remove.
6484 (ptx_events): Remove.
6485 (init_streams_for_device): Remove.
6486 (fini_streams_for_device): Remove.
6487 (select_stream_for_async): Remove.
6488 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6489 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6490 case.
6491 (nvptx_open_device): Add free_blocks initialization, remove
6492 init_streams_for_device call.
6493 (nvptx_close_device): Remove fini_streams_for_device call, add
6494 free_blocks destruct code.
6495 (event_gc): Remove.
6496 (event_add): Remove.
6497 (nvptx_exec): Adjust parameters and code.
6498 (nvptx_free): Likewise.
6499 (nvptx_host2dev): Remove.
6500 (nvptx_dev2host): Remove.
6501 (nvptx_set_async): Remove.
6502 (nvptx_async_test): Remove.
6503 (nvptx_async_test_all): Remove.
6504 (nvptx_wait): Remove.
6505 (nvptx_wait_async): Remove.
6506 (nvptx_wait_all): Remove.
6507 (nvptx_wait_all_async): Remove.
6508 (nvptx_get_cuda_stream): Remove.
6509 (nvptx_set_cuda_stream): Remove.
6510 (GOMP_OFFLOAD_alloc): Adjust code.
6511 (GOMP_OFFLOAD_free): Likewise.
6512 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6513 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6514 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6515 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6516 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6517 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6518 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6519 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6520 (cuda_free_argmem): New function.
6521 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6522 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6523 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6524 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6525 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6526 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6527 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6528 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6529 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6530 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6531 (cuda_callback_wrapper): New function.
6532 (cuda_memcpy_sanity_check): New function.
6533 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6534 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6535 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6536 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6537
6538 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6539
6540 PR target/87835
6541 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6542
6543 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6544
6545 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6546
6547 2019-03-27 Kevin Buettner <kevinb@redhat.com>
6548
6549 * team.c (gomp_team_start): Initialize pool->threads[0].
6550
6551 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6552
6553 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6554 "-foffload=$offload_target".
6555 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6556 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6557 * testsuite/lib/libgomp.exp
6558 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6559 as (conceptually) merged into
6560 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6561 users.
6562
6563 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6564 * testsuite/libgomp-test-support.exp.in: Adjust.
6565 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6566 openacc_device_types_s.
6567 (offload_target_to_openacc_device_type): New proc.
6568 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6569 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6570 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6571 * Makefile.in: Regenerate.
6572 * configure: Likewise.
6573 * testsuite/Makefile.in: Likewise.
6574
6575 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6576 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6577 instead of OFFLOAD_TARGETS.
6578 * target.c (gomp_target_init): Adjust.
6579 * testsuite/libgomp-test-support.exp.in: Likewise.
6580 * testsuite/lib/libgomp.exp: Likewise. Populate
6581 openacc_device_types_s instead of offload_targets_s_openacc.
6582 (check_effective_target_openacc_nvidia_accel_selected)
6583 (check_effective_target_openacc_host_selected): Adjust.
6584 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6585 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6586 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6587 * Makefile.in: Regenerate.
6588 * config.h.in: Likewise.
6589 * configure: Likewise.
6590 * testsuite/Makefile.in: Likewise.
6591
6592 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6593 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6594 "offloading: supported, but hardware not accessible".
6595 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6596 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6597
6598 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6599
6600 PR c/87924
6601 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6602 goacc_wait().
6603 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6604 and related adjustment.
6605
6606 2019-01-30 Jakub Jelinek <jakub@redhat.com>
6607
6608 PR c++/88988
6609 * testsuite/libgomp.c++/pr88988.C: New test.
6610
6611 2019-01-28 Jakub Jelinek <jakub@redhat.com>
6612
6613 PR middle-end/89002
6614 * testsuite/libgomp.c/pr89002.c: New test.
6615
6616 2019-01-28 Richard Biener <rguenther@suse.de>
6617
6618 PR testsuite/89064
6619 PR tree-optimization/86865
6620 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6621
6622 2019-01-24 Tom de Vries <tdevries@suse.de>
6623
6624 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6625 once instantiated_devices drops to 0.
6626
6627 2019-01-23 Tom de Vries <tdevries@suse.de>
6628
6629 PR target/PR88946
6630 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6631 cuMemFree.
6632 (nvptx_exec): Don't call map_push if mapnum == 0.
6633 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6634
6635 2019-01-23 Tom de Vries <tdevries@suse.de>
6636
6637 PR target/88941
6638 PR target/88939
6639 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6640 (map_fini): Remove "assert (!s->map->active)".
6641 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6642
6643 2019-01-23 Tom de Vries <tdevries@suse.de>
6644
6645 PR target/87835
6646 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6647 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6648
6649 2019-01-15 Tom de Vries <tdevries@suse.de>
6650
6651 PR target/80547
6652 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6653 New test.
6654
6655 2019-01-12 Tom de Vries <tdevries@suse.de>
6656
6657 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6658 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6659 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6660 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6661
6662 2019-01-12 Tom de Vries <tdevries@suse.de>
6663
6664 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6665
6666 2019-01-12 Tom de Vries <tdevries@suse.de>
6667
6668 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6669 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6670 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6671
6672 2019-01-12 Tom de Vries <tdevries@suse.de>
6673
6674 PR target/85486
6675 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6676 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6677
6678 2019-01-12 Tom de Vries <tdevries@suse.de>
6679
6680 PR target/85381
6681 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6682 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6683
6684 2019-01-12 Tom de Vries <tdevries@suse.de>
6685
6686 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6687 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6688 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6689
6690 2019-01-12 Tom de Vries <tdevries@suse.de>
6691
6692 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6693 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6694 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6695
6696 2019-01-12 Tom de Vries <tdevries@suse.de>
6697
6698 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6699 resources diagnostic.
6700
6701 2019-01-12 Tom de Vries <tdevries@suse.de>
6702
6703 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6704 vector length to be 128.
6705 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6706 length 2097152 to be reduced to 1024 instead of 32.
6707
6708 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
6709 James Norris <jnorris@codesourcery.com>
6710
6711 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6712 Library Routines", and "Environment Variables".
6713
6714 2019-01-11 Tom de Vries <tdevries@suse.de>
6715
6716 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6717 num_workers 16.
6718
6719 2019-01-11 Tom de Vries <tdevries@suse.de>
6720
6721 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6722 -foffload=-w.
6723 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6724 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6725 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6726 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6727
6728 2019-01-11 Tom de Vries <tdevries@suse.de>
6729
6730 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6731 test.
6732
6733 2019-01-10 Nathan Sidwell <nathan@acm.org>
6734 Julian Brown <julian@codesourcery.com>
6735
6736 PR lto/71959
6737 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6738 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6739
6740 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6741
6742 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6743 and paste code.
6744
6745 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6746
6747 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6748 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6749 write.
6750
6751 2019-01-09 Tom de Vries <tdevries@suse.de>
6752
6753 PR target/88756
6754 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6755 #define instead of "const int".
6756 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6757 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6758 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6759 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6760
6761 2019-01-09 Tom de Vries <tdevries@suse.de>
6762
6763 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6764 one worker.
6765
6766 2019-01-07 Tom de Vries <tdevries@suse.de>
6767
6768 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6769 GOMP_OPENACC_DIM argument.
6770
6771 2019-01-03 Tom de Vries <tdevries@suse.de>
6772
6773 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6774 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6775
6776 2019-01-01 Jakub Jelinek <jakub@redhat.com>
6777
6778 Update copyright years.
6779
6780 2019-01-01 Jakub Jelinek <jakub@redhat.com>
6781
6782 * libgomp.texi: Bump @copying's copyright year.
6783
6784 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6785
6786 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6787 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6788 (GOACC_declare): Redefine the "device" argument to "flags".
6789
6790 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6791 Cesar Philippidis <cesar@codesourcery.com>
6792
6793 * target.c (struct gomp_coalesce_chunk): New structure.
6794 (struct gomp_coalesce_buf): Update the chunks member to use that
6795 type. Adjust all users.
6796
6797 2018-12-19 Tom de Vries <tdevries@suse.de>
6798
6799 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6800 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6801 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6802
6803 2018-12-19 Tom de Vries <tdevries@suse.de>
6804
6805 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6806 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6807 gcc/testsuite/gcc.dg/goacc.
6808 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6809
6810 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6811 Chung-Lin Tang <cltang@codesourcery.com>
6812
6813 * oacc-mem.c (acc_present_or_create): Remove definition and change
6814 to alias of acc_create.
6815 (acc_present_or_copyin): Remove definition and change to alias of
6816 acc_copyin.
6817 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6818 of acc_present_or_create.
6819 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6820 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6824 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6825 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6826 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6827 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6828 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6829 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6830 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6831 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6832 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6833 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6834 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6835
6836 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6837
6838 PR libgomp/88495
6839 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6840 "identical parameters".
6841 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6842 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6843
6844 PR libgomp/88484
6845 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6846 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6847
6848 PR libgomp/88407
6849 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6850 (nvptx_wait_async): Unseen async-argument is a no-op.
6851 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6852 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6855 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6856 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6857 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6858 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6859 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6860
6861 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6862 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6863
6864 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
6865
6866 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6867 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6868 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6869
6870 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6871
6872 PR libgomp/88370
6873 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6874 (acc_set_cuda_stream): Clarify.
6875 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6876 "async_valid_p".
6877 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6878 acc_async_sync".
6879 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6880 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6881 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6882 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6883
6884 2018-12-14 Tom de Vries <tdevries@suse.de>
6885
6886 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6887 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6888 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6889 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6890 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6891
6892 2018-12-13 Tom de Vries <tdevries@suse.de>
6893
6894 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6895 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6896 * fortran.c (omp_display_affinity_): ... here.
6897 * libgomp.h (gomp_print_string): Declare.
6898 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6899 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6900 write.
6901
6902 2018-12-13 Jakub Jelinek <jakub@redhat.com>
6903
6904 PR libgomp/88460
6905 * testsuite/libgomp.c++/for-24.C (results): Include it in
6906 omp declare target region.
6907 (main): Use map (always, tofrom: results) instead of
6908 map (tofrom: results).
6909
6910 2018-12-12 Jakub Jelinek <jakub@redhat.com>
6911
6912 PR fortran/88463
6913 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6914 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6915
6916 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6917
6918 2018-12-12 Andreas Schwab <schwab@suse.de>
6919
6920 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6921 clobbered.
6922
6923 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
6924
6925 PR fortran/88411
6926 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6927
6928 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
6929 Jakub Jelinek <jakub@redhat.com>
6930
6931 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6932 devicep->host2dev_func.
6933
6934 2018-12-08 Jakub Jelinek <jakub@redhat.com>
6935
6936 PR libgomp/87995
6937 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6938 tls_runtime effective target.
6939 (t): New threadprivate variable.
6940 (main): Set t in threads which execute iterations of the worksharing
6941 loop. Propagate that to the task after the loop and don't abort
6942 if the current taskgroup hasn't been cancelled.
6943
6944 2018-12-02 Jakub Jelinek <jakub@redhat.com>
6945
6946 * testsuite/libgomp.c/task-reduction-3.c: New test.
6947
6948 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6949
6950 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
6951
6952 PR libgomp/88288
6953 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6954 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6955
6956 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
6957
6958 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6959
6960 2018-10-19 Richard Biener <rguenther@suse.de>
6961
6962 PR tree-optimization/88182
6963 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6964
6965 2018-11-26 Jakub Jelinek <jakub@redhat.com>
6966
6967 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6968 (RUNTEST): Don't define.
6969 (RUNTESTDEFAULTFLAGS): Add.
6970 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6971 (distclean-am): Depend on distclean-DEJAGNU.
6972 (check-am): If -j% option is present in MFLAGS and if
6973 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6974 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6975 * testsuite/Makefile.in: Regenerated.
6976
6977 2018-11-26 Richard Biener <rguenther@suse.de>
6978
6979 PR tree-optimization/88182
6980 * testsuite/libgomp.c++/pr88182.C: New testcase.
6981
6982 2018-11-20 Jakub Jelinek <jakub@redhat.com>
6983
6984 PR bootstrap/88106
6985 * config/mingw32/affinity-fmt.c: New file.
6986
6987 2018-11-09 Jakub Jelinek <jakub@redhat.com>
6988
6989 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6990 (gomp_display_affinity): Use __builtin_choose_expr to handle
6991 properly handle argument having integral, or pointer or some other
6992 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6993 with uint64_t type instead of %llx and unsigned long long.
6994
6995 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6996 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6997
6998 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6999
7000 * affinity.c: Include <string.h>, <stdio.h>.
7001 (gomp_display_affinity_place): Remove cpusetp.
7002 * teams.c: Include <limits.h>.
7003
7004 2018-11-08 Jakub Jelinek <jakub@redhat.com>
7005
7006 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
7007 in_reduction clause for s[0].
7008
7009 * affinity.c (gomp_display_affinity_place): New function.
7010 * affinity-fmt.c: New file.
7011 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
7012 * config/linux/affinity.c (gomp_display_affinity_place): New function.
7013 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
7014 Move these functions to ...
7015 * config/nvptx/teams.c: ... here. New file.
7016 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
7017 New functions.
7018 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
7019 functions.
7020 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
7021 and _aligned_malloc.
7022 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
7023 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
7024 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
7025 gomp_affinity_format_len): New variables.
7026 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
7027 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
7028 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
7029 modifiers. Display (non-default) chunk sizes. Print
7030 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
7031 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
7032 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
7033 * fortran.c: Include stdio.h and string.h.
7034 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
7035 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
7036 (omp_set_affinity_format_, omp_get_affinity_format_,
7037 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
7038 omp_pause_resource_all_): New functions.
7039 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
7040 switch.
7041 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
7042 functions to ...
7043 * teams.c: ... here. New file.
7044 * libgomp_g.h: Include gstdint.h.
7045 (GOMP_loop_nonmonotonic_runtime_start,
7046 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
7047 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
7048 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
7049 GOMP_parallel_loop_nonmonotonic_runtime,
7050 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7051 GOMP_loop_ull_nonmonotonic_runtime_start,
7052 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
7053 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
7054 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7055 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
7056 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
7057 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7058 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7059 GOMP_teams_reg): Declare.
7060 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
7061 gomp_aligned_alloc uses fallback implementation.
7062 (gomp_aligned_alloc, gomp_aligned_free): Declare.
7063 (enum gomp_schedule_type): Add GFS_MONOTONIC.
7064 (struct gomp_doacross_work_share): Add extra field.
7065 (struct gomp_work_share): Add task_reductions field.
7066 (struct gomp_taskgroup): Add workshare and reductions fields.
7067 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
7068 (gomp_thread_handle): New typedef.
7069 (gomp_display_affinity_place, gomp_set_affinity_format,
7070 gomp_display_string, gomp_display_affinity,
7071 gomp_display_affinity_thread): Declare.
7072 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
7073 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
7074 gomp_workshare_task_reduction_register): Declare.
7075 (gomp_team_start): Add taskgroup argument.
7076 (gomp_pause_host): Declare.
7077 (gomp_init_work_share, gomp_work_share_start): Change bool argument
7078 to size_t.
7079 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
7080 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
7081 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
7082 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7083 GOMP_loop_ull_doacross_start,
7084 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7085 GOMP_loop_maybe_nonmonotonic_runtime_next,
7086 GOMP_loop_maybe_nonmonotonic_runtime_start,
7087 GOMP_loop_nonmonotonic_runtime_next,
7088 GOMP_loop_nonmonotonic_runtime_start,
7089 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7090 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7091 GOMP_loop_ull_nonmonotonic_runtime_next,
7092 GOMP_loop_ull_nonmonotonic_runtime_start,
7093 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7094 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
7095 GOMP_taskgroup_reduction_register,
7096 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7097 GOMP_teams_reg and GOMP_taskwait_depend.
7098 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
7099 omp_{capture,display}_affinity{,_}, and
7100 omp_[gs]et_affinity_format{,_}.
7101 * loop.c: Include string.h.
7102 (GOMP_loop_runtime_next): Add ialias.
7103 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7104 (gomp_loop_static_start, gomp_loop_dynamic_start,
7105 gomp_loop_guided_start, gomp_loop_ordered_static_start,
7106 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7107 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7108 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
7109 or gomp_doacross_init callers.
7110 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
7111 GOMP_loop_doacross_start): New functions.
7112 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7113 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
7114 Mask off GFS_MONOTONIC bit.
7115 (GOMP_loop_maybe_nonmonotonic_runtime_next,
7116 GOMP_loop_maybe_nonmonotonic_runtime_start,
7117 GOMP_loop_nonmonotonic_runtime_next,
7118 GOMP_loop_nonmonotonic_runtime_start,
7119 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7120 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
7121 functions.
7122 (gomp_parallel_loop_start): Pass NULL as taskgroup to
7123 gomp_team_start.
7124 * loop_ull.c: Include string.h.
7125 (GOMP_loop_ull_runtime_next): Add ialias.
7126 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7127 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
7128 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
7129 gomp_loop_ull_ordered_dynamic_start,
7130 gomp_loop_ull_ordered_guided_start,
7131 gomp_loop_ull_doacross_static_start,
7132 gomp_loop_ull_doacross_dynamic_start,
7133 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
7134 and gomp_doacross_ull_init callers.
7135 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7136 GOMP_loop_ull_doacross_start): New functions.
7137 (GOMP_loop_ull_runtime_start,
7138 GOMP_loop_ull_ordered_runtime_start,
7139 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
7140 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7141 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7142 GOMP_loop_ull_nonmonotonic_runtime_next,
7143 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
7144 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
7145 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
7146 (omp_pause_resource_t, omp_depend_t): New typedefs.
7147 (enum omp_lock_hint_t): Renamed to ...
7148 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
7149 enumerators using numbers and omp_lock_hint_* as their aliases.
7150 (omp_lock_hint_t): New typedef. Rename to ...
7151 (omp_sync_hint_t): ... this.
7152 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
7153 omp_sync_hint_t instead of omp_lock_hint_t.
7154 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7155 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7156 Declare.
7157 (omp_target_is_present, omp_target_disassociate_ptr):
7158 Change first argument from void * to const void *.
7159 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
7160 from void * to const void *.
7161 (omp_target_associate_ptr): Change first and second arguments from
7162 void * to const void *.
7163 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
7164 omp_pause_hard): New parameters.
7165 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7166 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7167 New interfaces.
7168 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
7169 omp_pause_hard): New parameters.
7170 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7171 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7172 New externals.
7173 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
7174 EXTRA argument. If not needed to prepare array, if extra is 0,
7175 clear ws->doacross, otherwise allocate just doacross structure and
7176 extra payload. If array is needed, allocate also extra payload.
7177 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
7178 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
7179 doacross == NULL.
7180 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7181 gomp_team_start.
7182 (GOMP_parallel): Likewise. Formatting fix.
7183 (GOMP_parallel_reductions): New function.
7184 (GOMP_cancellation_point): If taskgroup has workshare
7185 flag set, check cancelled of prev taskgroup if any.
7186 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7187 on prev taskgroup if any.
7188 * sections.c: Include string.h.
7189 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7190 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7191 (GOMP_sections2_start): New function.
7192 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7193 Pass NULL as taskgroup to gomp_team_start.
7194 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7195 gomp_work_share_start callers.
7196 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7197 If taskgroup has workshare flag set, check cancelled on prev
7198 taskgroup if any. Guard all cancellation tests with
7199 gomp_cancel_var test.
7200 (omp_target_is_present, omp_target_disassociate_ptr):
7201 Change ptr argument from void * to const void *.
7202 (omp_target_memcpy): Change src argument from void * to const void *.
7203 (omp_target_memcpy_rect): Likewise.
7204 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7205 instead of char * where needed.
7206 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7207 from void * to const void *.
7208 (omp_pause_resource, omp_pause_resource_all): New functions.
7209 * task.c (gomp_task_handle_depend): Handle new depend array format
7210 in addition to the old. Handle mutexinoutset kinds the same as
7211 inout for now, handle unspecified kinds.
7212 (gomp_create_target_task): If taskgroup has workshare flag set, check
7213 cancelled on prev taskgroup if any. Guard all cancellation tests with
7214 gomp_cancel_var test. Handle new depend array format count in
7215 addition to the old.
7216 (GOMP_task): Likewise. Adjust function comment.
7217 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7218 cancelled on prev taskgroup if any. Guard all cancellation tests with
7219 gomp_cancel_var test.
7220 (GOMP_taskwait_depend): New function.
7221 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7222 format in addition to the old. Handle mutexinoutset kinds the same as
7223 inout for now, handle unspecified kinds. Fix a function comment typo.
7224 (gomp_taskgroup_init): New function.
7225 (GOMP_taskgroup_start): Use it.
7226 (gomp_reduction_register, gomp_create_artificial_team,
7227 GOMP_taskgroup_reduction_register,
7228 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7229 gomp_parallel_reduction_register,
7230 gomp_workshare_task_reduction_register,
7231 gomp_workshare_taskgroup_start,
7232 GOMP_workshare_task_reduction_unregister): New functions.
7233 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7234 check cancelled on prev taskgroup if any. Guard all cancellation
7235 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7236 by calling GOMP_taskgroup_reduction_register.
7237 * team.c (gomp_thread_attr): Remove comment.
7238 (struct gomp_thread_start_data): Add handle field.
7239 (gomp_thread_start): Call pthread_detach.
7240 (gomp_new_team): Adjust gomp_init_work_share caller.
7241 (gomp_free_pool_helper): Call pthread_detach.
7242 (gomp_team_start): Add taskgroup argument, initialize implicit
7243 tasks' taskgroup field to that. Don't call
7244 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7245 (gomp_team_end): Determine nesting by thr->ts.level != 0
7246 rather than thr->ts.team != NULL.
7247 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7248 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7249 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7250 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7251 if more than 1 allocate also extra payload at the end of array. Never
7252 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7253 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7254 return true instead of ws.
7255 * Makefile.in: Regenerated.
7256 * configure: Regenerated.
7257 * config.h.in: Regenerated.
7258 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7259 in some cases.
7260 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7261 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7262 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7263 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7264 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7265 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7266 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7267 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7268 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7269 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7270 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7271 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7272 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7273 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7274 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7275 define a different N(test), don't define N(f0) to N(f14), but instead
7276 define N(f20) to N(f34) using != comparisons.
7277 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7278 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7279 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7280 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7281 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7282 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7283 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7284 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7285 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7286 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7287 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7288 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7289 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7290 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7291 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7292 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7293 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7294 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7295 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7296 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7297 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7298 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7299 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7300 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7301 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7302 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7303 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7304 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7305 * testsuite/libgomp.c++/depend-1.C: New test.
7306 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7307 * testsuite/libgomp.c++/depobj-1.C: New test.
7308 * testsuite/libgomp.c++/for-16.C: New test.
7309 * testsuite/libgomp.c++/for-21.C: New test.
7310 * testsuite/libgomp.c++/for-22.C: New test.
7311 * testsuite/libgomp.c++/for-23.C: New test.
7312 * testsuite/libgomp.c++/for-24.C: New test.
7313 * testsuite/libgomp.c++/for-25.C: New test.
7314 * testsuite/libgomp.c++/for-26.C: New test.
7315 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7316 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7317 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7318 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7319 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7320 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7321 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7322 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7323 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7324 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7325 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7326 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7327 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7328 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7329 * testsuite/libgomp.c/task-reduction-1.c: New test.
7330 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7331 * testsuite/libgomp.c/task-reduction-2.c: New test.
7332 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7333 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7334 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7335 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7336 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7337 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7338 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7339 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7340 * testsuite/libgomp.c/teams-1.c: New test.
7341 * testsuite/libgomp.c/teams-2.c: New test.
7342 * testsuite/libgomp.c/thread-limit-4.c: New test.
7343 * testsuite/libgomp.c/thread-limit-5.c: New test.
7344 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7345
7346 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7347
7348 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7349 acc_memcpy_to/from_device functions, now with async parameter.
7350 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7351 (acc_memcpy_from_device): Likewise.
7352 (acc_memcpy_to_device_async): New API function.
7353 (acc_memcpy_from_device_async): Likewise.
7354 (present_create_copy): Add async parameter and async setting/unsetting.
7355 (acc_create): Adjust present_create_copy call.
7356 (acc_copyin): Likewise.
7357 (acc_present_or_create): Likewise.
7358 (acc_present_or_copyin): Likewise.
7359 (acc_create_async): New API function.
7360 (acc_copyin_async): New API function.
7361 (delete_copyout): Add async parameter and async setting/unsetting.
7362 (acc_delete): Adjust delete_copyout call.
7363 (acc_copyout): Likewise.
7364 (acc_delete_async): New API function.
7365 (acc_copyout_async): Likewise.
7366 (update_dev_host): Add async parameter and async setting/unsetting.
7367 (acc_update_device): Adjust update_dev_host call.
7368 (acc_update_self): Likewise.
7369 (acc_update_device_async): New API function.
7370 (acc_update_self_async): Likewise.
7371 * openacc.h (acc_copyin_async): Declare new API function.
7372 (acc_create_async): Likewise.
7373 (acc_copyout_async): Likewise.
7374 (acc_delete_async): Likewise.
7375 (acc_update_device_async): Likewise.
7376 (acc_update_self_async): Likewise.
7377 (acc_memcpy_to_device_async): Likewise.
7378 (acc_memcpy_from_device_async): Likewise.
7379 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7380 (acc_copyin_async_64_h): New subroutine.
7381 (acc_copyin_async_array_h): New subroutine.
7382 (acc_create_async_32_h): New subroutine.
7383 (acc_create_async_64_h): New subroutine.
7384 (acc_create_async_array_h): New subroutine.
7385 (acc_copyout_async_32_h): New subroutine.
7386 (acc_copyout_async_64_h): New subroutine.
7387 (acc_copyout_async_array_h): New subroutine.
7388 (acc_delete_async_32_h): New subroutine.
7389 (acc_delete_async_64_h): New subroutine.
7390 (acc_delete_async_array_h): New subroutine.
7391 (acc_update_device_async_32_h): New subroutine.
7392 (acc_update_device_async_64_h): New subroutine.
7393 (acc_update_device_async_array_h): New subroutine.
7394 (acc_update_self_async_32_h): New subroutine.
7395 (acc_update_self_async_64_h): New subroutine.
7396 (acc_update_self_async_array_h): New subroutine.
7397 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7398 (acc_copyin_async_64_h): New subroutine.
7399 (acc_copyin_async_array_h): New subroutine.
7400 (acc_create_async_32_h): New subroutine.
7401 (acc_create_async_64_h): New subroutine.
7402 (acc_create_async_array_h): New subroutine.
7403 (acc_copyout_async_32_h): New subroutine.
7404 (acc_copyout_async_64_h): New subroutine.
7405 (acc_copyout_async_array_h): New subroutine.
7406 (acc_delete_async_32_h): New subroutine.
7407 (acc_delete_async_64_h): New subroutine.
7408 (acc_delete_async_array_h): New subroutine.
7409 (acc_update_device_async_32_h): New subroutine.
7410 (acc_update_device_async_64_h): New subroutine.
7411 (acc_update_device_async_array_h): New subroutine.
7412 (acc_update_self_async_32_h): New subroutine.
7413 (acc_update_self_async_64_h): New subroutine.
7414 (acc_update_self_async_array_h): New subroutine.
7415 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7416 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7417 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7418 acc_memcpy_to_device_async*, acc_update_device_async*, and
7419 acc_update_self_async* entries.
7420 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7421 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7422 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7423
7424 2018-10-31 Joseph Myers <joseph@codesourcery.com>
7425
7426 PR bootstrap/82856
7427 * Makefile.am: Include multilib.am
7428 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7429 (CLEANFILES): Remove libgomp.info.
7430 * configure.ac: Remove AC_PREREQ.
7431 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7432 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7433 Regenerate.
7434
7435 2018-10-29 Joseph Myers <joseph@codesourcery.com>
7436 Julian Brown <julian@codesourcery.com>
7437
7438 * testsuite/libgomp.oacc-c++/this.C: New.
7439
7440 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7441
7442 * plugin/plugin-nvptx.c (struct cuda_map): New.
7443 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7444 h_tail with (cuda_map *) map.
7445 (cuda_map_create): New function.
7446 (cuda_map_destroy): New function.
7447 (map_init): Update to use a linked list of cuda_map objects.
7448 (map_fini): Likewise.
7449 (map_pop): Likewise.
7450 (map_push): Likewise. Return CUdeviceptr instead of void.
7451 (init_streams_for_device): Remove stales references to ptx_stream
7452 members.
7453 (select_stream_for_async): Likewise.
7454 (nvptx_exec): Update call to map_init.
7455
7456 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7457 Julian Brown <julian@codesourcery.com>
7458
7459 PR middle-end/86336
7460 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7461
7462 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7463 Thomas Koenig <tkoenig@gcc.gnu.org>
7464
7465 PR fortran/25829
7466 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7467 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7468 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7469 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7470 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7471 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7472 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7473
7474 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7475 Tom de Vries <tdevries@suse.de>
7476
7477 PR target/85590
7478 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7479 (cuOccupancyMaxPotentialBlockSize): Declare.
7480 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7481 CUDA_ONE_CALL_MAYBE_NULL.
7482 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7483 CUoccupancyB2DSize and declare
7484 cuOccupancyMaxPotentialBlockSize.
7485 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7486 default num_gangs and num_workers when the driver supports it.
7487
7488 2018-08-08 Tom de Vries <tdevries@suse.de>
7489
7490 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7491 CUDA_ONE_CALL_MAYBE_NULL.
7492 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7493 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7494 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7495 are not found.
7496
7497 2018-08-08 Tom de Vries <tdevries@suse.de>
7498
7499 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7500 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7501 present.
7502
7503 2018-08-08 Tom de Vries <tdevries@suse.de>
7504
7505 * plugin/plugin-nvptx.c
7506 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7507 (nvptx_open_device): Use
7508 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7509
7510 2018-08-08 Tom de Vries <tdevries@suse.de>
7511
7512 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7513 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7514
7515 2018-08-07 Tom de Vries <tdevries@suse.de>
7516
7517 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7518 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7519 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7520 corresponding call in CUDA_ONE_CALL. Add def/undef of
7521 CUDA_ONE_CALL_MAYBE_NULL.
7522 (CUDA_CALL_EXISTS): Define.
7523
7524 2018-08-07 Tom de Vries <tdevries@suse.de>
7525
7526 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7527 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7528 corresponding undefs right after.
7529
7530 2018-08-04 Tom de Vries <tdevries@suse.de>
7531
7532 * plugin/configfrag.ac: For --without-cuda-driver, set
7533 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7534 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7535 * configure: Regenerate.
7536
7537 2018-08-02 Tom de Vries <tdevries@suse.de>
7538
7539 PR target/86660
7540 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7541 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7542 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7543 Same.
7544 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7545 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7546 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7547
7548 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7549 Thomas Schwinge <thomas@codesourcery.com>
7550
7551 * config/nvptx/oacc-parallel.c: Truncate.
7552
7553 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7554 James Norris <jnorris@codesourcery.com>
7555
7556 * plugin/plugin-nvptx.c (struct map): Removed.
7557 (map_init, map_pop): Remove use of struct map.
7558 (map_push): Likewise and change argument list.
7559 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7560
7561 2018-08-01 Tom de Vries <tdevries@suse.de>
7562
7563 * plugin/cuda-lib.def: New file. Factor out of ...
7564 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7565 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7566 using CUDA_CALLS.
7567
7568 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7569
7570 Revert 'AsyncI/O patch committed'.
7571 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7572 Thomas Koenig <tkoenig@gcc.gnu.org>
7573
7574 PR fortran/25829
7575 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7576 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7577 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7578 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7579 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7580 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7581 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7582
7583 2018-07-30 Tom de Vries <tdevries@suse.de>
7584
7585 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7586 (nvptx_exec): Ensure worker and vector default dims don't exceed
7587 targ_fn->max_threads_per_block.
7588
7589 2018-07-30 Tom de Vries <tdevries@suse.de>
7590
7591 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7592 (nvptx_open_device): Init default_dims for device.
7593 (nvptx_exec): Use default_dims from device.
7594
7595 2018-07-26 Jakub Jelinek <jakub@redhat.com>
7596
7597 PR testsuite/86660
7598 * testsuite/libgomp.c++/for-15.C (results): Include it in
7599 omp declare target region.
7600 (main): Use map (always, tofrom: results) instead of
7601 map (tofrom: results).
7602
7603 PR middle-end/86660
7604 * testsuite/libgomp.c/pr86660.c: New test.
7605
7606 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7607 Tom de Vries <tdevries@suse.de>
7608
7609 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7610 sufficient resources to launch a kernel, and give a hint on how to fix
7611 it.
7612
7613 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7614 Tom de Vries <tdevries@suse.de>
7615
7616 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7617 max_threads_per_block and max_threads_per_multiprocessor fields.
7618 (nvptx_open_device): Initialize new fields.
7619 (nvptx_exec): Use num_sms, and new fields.
7620
7621 2018-07-26 Tom de Vries <tdevries@suse.de>
7622
7623 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7624 to correct locations. Remove xfail.
7625
7626 2018-07-26 Tom de Vries <tdevries@suse.de>
7627
7628 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7629 acc_wait. Move acc_async_test calls to correct locations. Remove
7630 xfail.
7631
7632 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7633 Thomas Koenig <tkoenig@gcc.gnu.org>
7634
7635 PR fortran/25829
7636 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7637 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7638 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7639 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7640 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7641 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7642 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7643
7644 2018-07-17 Jakub Jelinek <jakub@redhat.com>
7645
7646 PR middle-end/86542
7647 * testsuite/libgomp.c++/pr86542.C: New test.
7648
7649 PR middle-end/86539
7650 * testsuite/libgomp.c++/pr86539.C: New test.
7651
7652 2018-07-11 Jakub Jelinek <jakub@redhat.com>
7653
7654 PR c++/86443
7655 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7656 (results): Make sure the variable is not inside declare target region.
7657 (qux): Remove unused function.
7658
7659 2018-07-10 Jakub Jelinek <jakub@redhat.com>
7660
7661 PR c++/86443
7662 * testsuite/libgomp.c++/for-15.C: New test.
7663
7664 2018-06-26 Jakub Jelinek <jakub@redhat.com>
7665
7666 PR c++/86291
7667 * testsuite/libgomp.c++/pr86291.C: New test.
7668
7669 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
7670
7671 * libgomp.texi (Top): Move www.openmp.org to https.
7672 (Enabling OpenMP): Ditto.
7673 (omp_get_active_level): Ditto.
7674 (omp_get_ancestor_thread_num): Ditto.
7675 (omp_get_cancellation): Ditto.
7676 (omp_get_default_device): Ditto.
7677 (omp_get_dynamic): Ditto.
7678 (omp_get_level): Ditto.
7679 (omp_get_max_active_levels): Ditto.
7680 (omp_get_max_task_priority): Ditto.
7681 (omp_get_max_threads): Ditto.
7682 (omp_get_nested): Ditto.
7683 (omp_get_num_devices): Ditto.
7684 (omp_get_num_procs): Ditto.
7685 (omp_get_num_teams): Ditto.
7686 (omp_get_num_threads): Ditto.
7687 (omp_get_proc_bind): Ditto.
7688 (omp_get_schedule): Ditto.
7689 (omp_get_team_num): Ditto.
7690 (omp_get_team_size): Ditto.
7691 (omp_get_thread_limit): Ditto.
7692 (omp_get_thread_num): Ditto.
7693 (omp_in_parallel): Ditto.
7694 (omp_in_final): Ditto.
7695 (omp_is_initial_device): Ditto.
7696 (omp_set_default_device): Ditto.
7697 (omp_set_dynamic): Ditto.
7698 (omp_set_max_active_levels): Ditto.
7699 (omp_set_nested): Ditto.
7700 (omp_set_num_threads): Ditto.
7701 (omp_set_schedule): Ditto.
7702 (omp_init_lock): Ditto.
7703 (omp_set_lock): Ditto.
7704 (omp_test_lock): Ditto.
7705 (omp_unset_lock): Ditto.
7706 (omp_destroy_lock): Ditto.
7707 (omp_init_nest_lock): Ditto.
7708 (omp_set_nest_lock): Ditto.
7709 (omp_test_nest_lock): Ditto.
7710 (omp_unset_nest_lock): Ditto.
7711 (omp_destroy_nest_lock): Ditto.
7712 (omp_get_wtick): Ditto.
7713 (omp_get_wtime): Ditto.
7714 (OMP_CANCELLATION): Ditto.
7715 (OMP_DISPLAY_ENV): Ditto.
7716 (OMP_DEFAULT_DEVICE): Ditto.
7717 (OMP_DYNAMIC): Ditto.
7718 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7719 (OMP_MAX_TASK_PRIORITY): Ditto.
7720 (OMP_NESTED): Ditto.
7721 (OMP_NUM_THREADS): Ditto.
7722 (OMP_PROC_BIND): Ditto.
7723 (OMP_PLACES): Ditto.
7724 (OMP_STACKSIZE): Ditto.
7725 (OMP_SCHEDULE): Ditto.
7726 (OMP_THREAD_LIMIT): Ditto.
7727 (OMP_WAIT_POLICY): Ditto.
7728
7729 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
7730 James Norris <jnorris@codesourcery.com>
7731 Julian Brown <julian@codesourcery.com>
7732 Thomas Schwinge <thomas@codesourcery.com>
7733 Tom de Vries <tom@codesourcery.com>
7734
7735 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7736 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7737 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7738 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7739 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7740 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7741 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7742 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7743 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7744 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7745 Likewise.
7746 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7747 Likewise.
7748 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7749 Likewise.
7750 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7751 Likewise.
7752 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7753 Likewise.
7754 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7755 Likewise.
7756 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7757 Likewise.
7758 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7759 Likewise.
7760 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7761 Likewise.
7762 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7763 Likewise.
7764 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7765 Likewise.
7766 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7767 Likewise.
7768 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7769 Likewise.
7770 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7771 Likewise.
7772 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7773 Likewise.
7774 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7775 Likewise.
7776 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7777 Likewise.
7778 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7779 Likewise.
7780 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7781 Likewise.
7782 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7783 Likewise.
7784 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7785 Likewise.
7786 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7787 Likewise.
7788 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7789 Likewise.
7790 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7791 Likewise.
7792 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7793 Likewise.
7794 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7795 Likewise.
7796 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7797 Likewise.
7798 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7799 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7800 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7801 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7802 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7803 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7804 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7805 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7806 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7807 Likewise.
7808 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7809 Likewise.
7810 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7811 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7812 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7813 Likewise.
7814 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7815 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7816 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7817 Likewise.
7818 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7819 Likewise.
7820 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7821 Likewise.
7822 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7823 Likewise.
7824 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7825 Likewise.
7826 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7827 Likewise.
7828 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7829 Likewise.
7830 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7831 Likewise.
7832 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7833 Likewise.
7834 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7835 Likewise.
7836 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7837 Likewise.
7838 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7839 Likewise.
7840 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7841 Likewise.
7842 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7843 Likewise.
7844 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7845 Likewise.
7846 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7847 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7848 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7849 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7850 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7851 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7852 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7853
7854 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
7855 Thomas Schwinge <thomas@codesourcery.com>
7856 Cesar Philippidis <cesar@codesourcery.com>
7857
7858 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7859 (gomp_acc_remove_pointer): Update declaration.
7860 (gomp_acc_declare_allocate): Declare.
7861 (gomp_remove_var): Declare.
7862 * libgomp.map (OACC_2.5): Define.
7863 * oacc-mem.c (acc_map_data): Update refcount.
7864 (acc_unmap_data): Likewise.
7865 (present_create_copy): Likewise.
7866 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7867 (acc_copyin): Likewise.
7868 (FLAG_FINALIZE): Define.
7869 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7870 (acc_delete_finalize): New function.
7871 (acc_delete_finalize_async): New function.
7872 (acc_copyout_finalize): New function.
7873 (acc_copyout_finalize_async): New function.
7874 (gomp_acc_insert_pointer): Update refcounts.
7875 (gomp_acc_remove_pointer): Return if data is not present on the
7876 accelerator.
7877 * oacc-parallel.c (find_pset): Rename to find_pointer.
7878 (find_pointer): Add support for GOMP_MAP_POINTER.
7879 (handle_ftn_pointers): New function.
7880 (GOACC_parallel_keyed): Update refcounts of variables.
7881 (GOACC_enter_exit_data): Add support for finalized data mappings.
7882 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7883 of fortran arrays.
7884 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7885 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7886 for GOMP_MAP_FORCE_FROM.
7887 * openacc.f90 (module openacc_internal): Add
7888 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7889 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7890 acc_copyout_finalize and acc_delete_finalize.
7891 (acc_copyout_finalize_32_h): New subroutine.
7892 (acc_copyout_finalize_64_h): New subroutine.
7893 (acc_copyout_finalize_array_h): New subroutine.
7894 (acc_delete_finalize_32_h): New subroutine.
7895 (acc_delete_finalize_64_h): New subroutine.
7896 (acc_delete_finalize_array_h): New subroutine.
7897 * openacc.h (acc_copyout_finalize): Declare.
7898 (acc_copyout_finalize_async): Declare.
7899 (acc_delete_finalize): Declare.
7900 (acc_delete_finalize_async): Declare.
7901 * openacc_lib.h (acc_copyout_finalize): New interface.
7902 (acc_delete_finalize): New interface.
7903 * target.c (gomp_map_vars): Update dynamic_refcount.
7904 (gomp_remove_var): New function.
7905 (gomp_unmap_vars): Use it.
7906 (gomp_unload_image_from_device): Likewise.
7907 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7908 case to utilize OpenACC 2.5 data clause semantics.
7909 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7910 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7911 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7912 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7913 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7914 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7915 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7916 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7917 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7918 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7919 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7920 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7921 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7922 utilize OpenACC 2.5 data clause semantics.
7923 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7924 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7925 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7926 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7927 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7928 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7929 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7930 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7931 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7932
7933 2018-05-21 Janus Weil <janus@gcc.gnu.org>
7934
7935 PR fortran/85841
7936 PR testsuite/85865
7937 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7938 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7939 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7940 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7941 * testsuite/libgomp.fortran/task2.f90: Ditto.
7942 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7943 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7944 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7945 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7946 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7947 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7948 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7949 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7950 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7951
7952 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
7953
7954 PR c++/85782
7955 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7956
7957 2018-05-09 Tom de Vries <tom@codesourcery.com>
7958
7959 PR libgomp/82901
7960 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7961 to GOACC_enter_exit_data.
7962
7963 2018-05-09 Tom de Vries <tom@codesourcery.com>
7964
7965 PR libgomp/83792
7966 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7967 (async_synchronous_p): New function.
7968 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7969 async_valid_p.
7970 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7971 async_valid_stream_id_p.
7972 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7973 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7974
7975 2018-05-07 Tom de Vries <tom@codesourcery.com>
7976
7977 PR testsuite/85677
7978 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7979 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7980
7981 2018-05-03 Tom de Vries <tom@codesourcery.com>
7982
7983 PR testsuite/85106
7984 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7985 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7986 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7987 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7988
7989 2018-05-02 Tom de Vries <tom@codesourcery.com>
7990
7991 PR libgomp/85411
7992 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7993 GOMP_OPENACC_DIM ...
7994 * env.c (parse_gomp_openacc_dim): ... here. New function.
7995 (initialize_env): Call parse_gomp_openacc_dim.
7996 (goacc_default_dims): Define.
7997 * libgomp.h (goacc_default_dims): Declare.
7998 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7999 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
8000 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
8001 GOMP_PLUGIN_acc_default_dim.
8002 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
8003 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
8004
8005 2018-05-02 Tom de Vries <tom@codesourcery.com>
8006
8007 PR testsuite/83791
8008 * testsuite/libgomp.c++/udr-9.C: Update.
8009 * testsuite/libgomp.c++/atomic-16.C: Remove.
8010 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
8011 * testsuite/libgomp.c++/loop-13.C: Remove.
8012 * testsuite/libgomp.c++/loop-14.C: Remove.
8013 * testsuite/libgomp.c++/loop-15.C: Remove.
8014 * testsuite/libgomp.c++/monotonic-1.C: Remove.
8015 * testsuite/libgomp.c++/monotonic-2.C: Remove.
8016 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
8017 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
8018 * testsuite/libgomp.c++/ordered-1.C: Remove.
8019 * testsuite/libgomp.c++/pr45784.C: Remove.
8020 * testsuite/libgomp.c++/pr64824.C: Remove.
8021 * testsuite/libgomp.c++/pr64868.C: Remove.
8022 * testsuite/libgomp.c++/pr66199-1.C: Remove.
8023 * testsuite/libgomp.c++/pr66199-2.C: Remove.
8024 * testsuite/libgomp.c++/pr66199-3.C: Remove.
8025 * testsuite/libgomp.c++/pr66199-4.C: Remove.
8026 * testsuite/libgomp.c++/pr66199-5.C: Remove.
8027 * testsuite/libgomp.c++/pr66199-6.C: Remove.
8028 * testsuite/libgomp.c++/pr66199-7.C: Remove.
8029 * testsuite/libgomp.c++/pr66199-8.C: Remove.
8030 * testsuite/libgomp.c++/pr66199-9.C: Remove.
8031 * testsuite/libgomp.c++/pr69389.C: Remove.
8032 * testsuite/libgomp.c++/simd10.C: Remove.
8033 * testsuite/libgomp.c++/simd11.C: Remove.
8034 * testsuite/libgomp.c++/simd12.C: Remove.
8035 * testsuite/libgomp.c++/simd13.C: Remove.
8036 * testsuite/libgomp.c++/target-1.C: Remove.
8037 * testsuite/libgomp.c++/target-3.C: Remove.
8038 * testsuite/libgomp.c++/target-4.C: Remove.
8039 * testsuite/libgomp.c++/target-5.C: Remove.
8040 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
8041 * testsuite/libgomp.c++/taskloop-1.C: Remove.
8042 * testsuite/libgomp.c++/taskloop-2.C: Remove.
8043 * testsuite/libgomp.c++/taskloop-3.C: Remove.
8044 * testsuite/libgomp.c++/taskloop-4.C: Remove.
8045 * testsuite/libgomp.c++/udr-9.C: Remove.
8046 * testsuite/libgomp.c++/for-10.C: Remove.
8047 * testsuite/libgomp.c++/for-11.C: Remove.
8048 * testsuite/libgomp.c++/for-12.C: Remove.
8049 * testsuite/libgomp.c++/for-13.C: Remove.
8050 * testsuite/libgomp.c++/for-14.C: Remove.
8051 * testsuite/libgomp.c++/for-9.C: Remove.
8052 * testsuite/libgomp.c/atomic-18.c: Move ...
8053 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
8054 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
8055 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
8056 * testsuite/libgomp.c/loop-13.c: Move ...
8057 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
8058 * testsuite/libgomp.c/loop-14.c: Move ...
8059 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
8060 * testsuite/libgomp.c/loop-15.c: Remove.
8061 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
8062 * testsuite/libgomp.c/monotonic-1.c: Move ...
8063 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
8064 * testsuite/libgomp.c/monotonic-2.c: Move ...
8065 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
8066 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
8067 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
8068 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
8069 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
8070 * testsuite/libgomp.c/ordered-4.c: Move ...
8071 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
8072 * testsuite/libgomp.c/pr45784.c: Move ...
8073 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
8074 * testsuite/libgomp.c/pr64824.c: Move ...
8075 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
8076 * testsuite/libgomp.c/pr64868.c: Move ...
8077 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
8078 * testsuite/libgomp.c/pr66199-1.c: Move ...
8079 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
8080 * testsuite/libgomp.c/pr66199-2.c: Move ...
8081 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
8082 * testsuite/libgomp.c/pr66199-3.c: Move ...
8083 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
8084 * testsuite/libgomp.c/pr66199-4.c: Move ...
8085 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
8086 * testsuite/libgomp.c/pr66199-5.c: Move ...
8087 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
8088 * testsuite/libgomp.c/pr66199-6.c: Move ...
8089 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
8090 * testsuite/libgomp.c/pr66199-7.c: Move ...
8091 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
8092 * testsuite/libgomp.c/pr66199-8.c: Move ...
8093 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
8094 * testsuite/libgomp.c/pr66199-9.c: Move ...
8095 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
8096 * testsuite/libgomp.c/pr69389.c: Move ...
8097 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
8098 * testsuite/libgomp.c/simd-14.c: Move ...
8099 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
8100 * testsuite/libgomp.c/simd-15.c: Move ...
8101 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
8102 * testsuite/libgomp.c/simd-16.c: Move ...
8103 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
8104 * testsuite/libgomp.c/simd-17.c: Move ...
8105 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
8106 * testsuite/libgomp.c/target-1.c: Move ...
8107 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
8108 * testsuite/libgomp.c/target-10.c: Move ...
8109 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
8110 * testsuite/libgomp.c/target-13.c: Move ...
8111 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
8112 * testsuite/libgomp.c/target-2.c: Move ...
8113 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
8114 * testsuite/libgomp.c/taskgroup-1.c: Move ...
8115 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
8116 * testsuite/libgomp.c/taskloop-1.c: Move ...
8117 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
8118 * testsuite/libgomp.c/taskloop-2.c: Move ...
8119 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
8120 * testsuite/libgomp.c/taskloop-3.c: Move ...
8121 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
8122 * testsuite/libgomp.c/taskloop-4.c: Move ...
8123 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
8124 * testsuite/libgomp.c/udr-1.c: Move ...
8125 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
8126 * testsuite/libgomp.c/for-1.c: Move ...
8127 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
8128 * testsuite/libgomp.c/for-1.h: Move ...
8129 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
8130 * testsuite/libgomp.c/for-2.c: Move ...
8131 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
8132 * testsuite/libgomp.c/for-2.h: Move ...
8133 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
8134 * testsuite/libgomp.c/for-3.c: Move ...
8135 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
8136 * testsuite/libgomp.c/for-4.c: Move ...
8137 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
8138 * testsuite/libgomp.c/for-5.c: Move ...
8139 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
8140 * testsuite/libgomp.c/for-6.c: Move ...
8141 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
8142
8143 2018-05-02 Tom de Vries <tom@codesourcery.com>
8144
8145 PR libgomp/82428
8146 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
8147 __builtin_goacc_parlevel_{id,size}.
8148 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
8149 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
8150 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
8151 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
8152 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
8153 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
8154 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
8155 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
8156 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
8157 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
8158 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
8159 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
8160 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
8161 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
8162 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
8163 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
8164 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
8165 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
8166 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
8167 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
8168 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
8169 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
8170 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
8171
8172 2018-05-02 Tom de Vries <tom@codesourcery.com>
8173
8174 PR testsuite/85106
8175 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8176
8177 2018-05-02 Tom de Vries <tom@codesourcery.com>
8178
8179 PR testsuite/85106
8180 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8181
8182 2018-04-29 Julian Brown <julian@codesourcery.com>
8183 Tom de Vries <tom@codesourcery.com>
8184
8185 PR testsuite/85527
8186 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8187 arbitrary order for iterations of atomic subtract check.
8188
8189 2018-04-28 Tom de Vries <tom@codesourcery.com>
8190
8191 PR testsuite/85527
8192 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8193 atomic capture results obtained in parallel loop to an array, instead of
8194 to a scalar.
8195
8196 2018-04-26 Tom de Vries <tom@codesourcery.com>
8197
8198 PR libgomp/84020
8199 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8200 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8201 (process_GOMP_NVPTX_JIT): New function.
8202 (link_ptx): Use process_GOMP_NVPTX_JIT.
8203
8204 2018-04-26 Richard Biener <rguenther@suse.de>
8205 Tom de Vries <tom@codesourcery.com>
8206
8207 PR lto/85422
8208 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8209
8210 2018-04-26 Tom de Vries <tom@codesourcery.com>
8211
8212 PR target/85519
8213 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8214 recursion depth from 25 to 23.
8215 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8216
8217 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
8218
8219 * configure: Regenerated.
8220
8221 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
8222 Tom de Vries <tom@codesourcery.com>
8223
8224 PR target/85445
8225 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8226
8227 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
8228
8229 PR libgomp/85463
8230 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8231 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8232 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8233 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8234 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8235 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8236
8237 PR libfortran/85166
8238 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8239 abort".
8240 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8241
8242 2018-04-19 Jakub Jelinek <jakub@redhat.com>
8243
8244 * configure: Regenerated.
8245
8246 2018-04-18 David Malcolm <dmalcolm@redhat.com>
8247
8248 PR jit/85384
8249 * configure: Regenerate.
8250
8251 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8252 Tom de Vries <tom@codesourcery.com>
8253
8254 PR middle-end/84955
8255 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8256 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8257
8258 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8259
8260 PR fortran/83064
8261 PR testsuite/85346
8262 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8263 test from gfortran.dg to here.
8264
8265 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8266
8267 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8268 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8269
8270 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8271
8272 PR middle-end/84955
8273 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8274 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8275
8276 2018-04-05 Tom de Vries <tom@codesourcery.com>
8277
8278 PR target/85204
8279 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8280
8281 2018-03-26 Tom de Vries <tom@codesourcery.com>
8282
8283 PR tree-optimization/85063
8284 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8285 * testsuite/libgomp.c/switch-conversion.c: New test.
8286 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8287 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8288
8289 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8290
8291 PR fortran/84381
8292 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8293 call abort by STOP n.
8294 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8295 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8296 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8297 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8298 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8299 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8300 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8301 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8302 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8303 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8304 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8305 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8306 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8307 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8308 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8309 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8310 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8311 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8312 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8313 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8314 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8315 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8316 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8317 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8318 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8319 * testsuite/libgomp.fortran/character1.f90: Likewise.
8320 * testsuite/libgomp.fortran/character2.f90: Likewise.
8321 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8322 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8323 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8324 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8325 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8326 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8327 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8328 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8329 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8330 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8331 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8332 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8333 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8334 * testsuite/libgomp.fortran/do1.f90: Likewise.
8335 * testsuite/libgomp.fortran/do2.f90: Likewise.
8336 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8337 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8338 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8339 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8340 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8341 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8342 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8343 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8344 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8345 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8346 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8347 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8348 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8349 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8350 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8351 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8352 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8353 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8354 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8355 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8356 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8357 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8358 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8359 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8360 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8361 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8362 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8363 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8364 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8365 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8366 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8367 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8368 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8369 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8370 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8371 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8372 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8373 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8374 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8375 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8376 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8377 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8378 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8379 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8380 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8381 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8382 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8383 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8384 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8385 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8386 * testsuite/libgomp.fortran/lib2.f: Likewise.
8387 * testsuite/libgomp.fortran/lib3.f: Likewise.
8388 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8389 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8390 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8391 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8392 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8393 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8394 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8395 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8396 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8397 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8398 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8399 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8400 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8401 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8402 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8403 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8404 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8405 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8406 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8407 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8408 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8409 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8410 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8411 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8412 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8413 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8414 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8415 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8416 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8417 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8418 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8419 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8420 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8421 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8422 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8423 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8424 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8425 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8426 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8427 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8428 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8429 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8430 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8431 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8432 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8433 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8434 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8435 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8436 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8437 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8438 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8439 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8440 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8441 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8442 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8443 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8444 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8445 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8446 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8447 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8448 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8449 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8450 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8451 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8452 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8453 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8454 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8455 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8456 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8457 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8458 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8459 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8460 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8461 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8462 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8463 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8464 * testsuite/libgomp.fortran/stack.f90: Likewise.
8465 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8466 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8467 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8468 * testsuite/libgomp.fortran/target1.f90: Likewise.
8469 * testsuite/libgomp.fortran/target2.f90: Likewise.
8470 * testsuite/libgomp.fortran/target3.f90: Likewise.
8471 * testsuite/libgomp.fortran/target4.f90: Likewise.
8472 * testsuite/libgomp.fortran/target5.f90: Likewise.
8473 * testsuite/libgomp.fortran/target6.f90: Likewise.
8474 * testsuite/libgomp.fortran/target7.f90: Likewise.
8475 * testsuite/libgomp.fortran/target8.f90: Likewise.
8476 * testsuite/libgomp.fortran/task1.f90: Likewise.
8477 * testsuite/libgomp.fortran/task2.f90: Likewise.
8478 * testsuite/libgomp.fortran/task3.f90: Likewise.
8479 * testsuite/libgomp.fortran/task4.f90: Likewise.
8480 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8481 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8482 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8483 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8484 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8485 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8486 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8487 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8488 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8489 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8490 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8491 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8492 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8493 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8494 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8495 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8496 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8497 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8498 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8499 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8500 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8501 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8502 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8503 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8504 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8505 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8506 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8507 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8508 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8509 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8510 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8511 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8512 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8513 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8514 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8515 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8516 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8517 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8518 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8519 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8520 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8521 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8522 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8523 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8524 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8525 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8526 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8527 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8528 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8529 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8530 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8531 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8532 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8533 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8534 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8535 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8536 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8537 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8538 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8539 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8540 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8541 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8542 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8543 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8544 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8545 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8546 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8547 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8548 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8549 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8550 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8551 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8552 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8553 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8554 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8555 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8556 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8557 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8558 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8559 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8560 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8561 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8562 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8563 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8564 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8565 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8566 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8567 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8568 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8569 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8570 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8571 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8572 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8573 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8574 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8575 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8576 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8577 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8578 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8579 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8580 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8581 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8582 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8583 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8584 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8585 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8586 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8587 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8588 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8589 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8590 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8591 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8592 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8593 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8594 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8595 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8596 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8597 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8598 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8599 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8600 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8601 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8602 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8603 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8604 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8605 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8606
8607 2018-03-20 Richard Biener <rguenther@suse.de>
8608
8609 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8610 parallelizable loop.
8611
8612 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8613
8614 PR target/84148
8615 * configure: Regenerate.
8616
8617 2018-02-16 Jakub Jelinek <jakub@redhat.com>
8618
8619 PR fortran/84418
8620 * libgomp.fortran/pr84418-1.f90: New test.
8621 * libgomp.fortran/pr84418-2.f90: New test.
8622
8623 2018-02-14 Jakub Jelinek <jakub@redhat.com>
8624
8625 PR fortran/84313
8626 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8627 -std=f2003 -fall-intrinsics into dg-additional-options.
8628
8629 2018-02-08 Martin Jambor <mjambor@suse.cz>
8630
8631 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8632 clonable.
8633
8634 2018-02-08 Martin Jambor <mjambor@suse.cz>
8635
8636 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8637
8638 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8639
8640 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8641 [__cplusplus]: Declare extern "C".
8642
8643 2018-02-07 Tom de Vries <tom@codesourcery.com>
8644
8645 PR libgomp/84217
8646 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8647
8648 2018-01-29 Christoph Spiel <cspiel@freenet.de>
8649 Jakub Jelinek <jakub@redhat.com>
8650
8651 PR libgomp/84096
8652 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8653 instead of omp_lock_t.
8654
8655 2018-01-25 Tom de Vries <tom@codesourcery.com>
8656
8657 PR target/84028
8658 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8659
8660 2018-01-24 Tom de Vries <tom@codesourcery.com>
8661
8662 PR target/83589
8663 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8664
8665 2018-01-24 Tom de Vries <tom@codesourcery.com>
8666
8667 PR target/81352
8668 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8669
8670 2018-01-19 Tom de Vries <tom@codesourcery.com>
8671 Cesar Philippidis <cesar@codesourcery.com>
8672
8673 PR target/83920
8674 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8675 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8676
8677 2018-01-03 Jakub Jelinek <jakub@redhat.com>
8678
8679 Update copyright years.
8680
8681 * libgomp.texi: Bump @copying's copyright year.
8682
8683 2017-12-30 Tom de Vries <tom@codesourcery.com>
8684
8685 PR libgomp/83046
8686 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8687 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8688
8689 2017-12-27 Tom de Vries <tom@codesourcery.com>
8690
8691 PR c++/83046
8692 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8693 (test_nonstatic): Fix return type to workaround PR83046.
8694
8695 2017-12-05 Jakub Jelinek <jakub@redhat.com>
8696
8697 PR testsuite/83281
8698 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8699 j suffix instead of i.
8700 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8701 Likewise.
8702
8703 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
8704
8705 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8706 call to acc_wait (1).
8707
8708 2017-11-24 Jakub Jelinek <jakub@redhat.com>
8709
8710 PR fortran/81304
8711 * testsuite/libgomp.fortran/pr81304.f90: New test.
8712
8713 2017-11-23 Jakub Jelinek <jakub@redhat.com>
8714
8715 PR fortran/81841
8716 * libgomp.fortran/pr81841.f90: New test.
8717
8718 2017-11-22 Jakub Jelinek <jakub@redhat.com>
8719
8720 PR libgomp/83106
8721 * target.c (gomp_target_init): Compute lengths just once and
8722 use them in both malloc size and subsequent copying.
8723
8724 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8725
8726 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8727 * acinclude.m4: Add cet.m4.
8728 * configure: Regenerate.
8729 * Makefile.in: Likewise.
8730 * testsuite/Makefile.in: Likewise.
8731
8732 2017-11-15 Tom de Vries <tom@codesourcery.com>
8733
8734 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8735 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8736 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8737 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8738 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8739 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8740
8741 2017-11-14 Tom de Vries <tom@codesourcery.com>
8742
8743 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8744 non-nvidia devices.
8745
8746 2017-11-07 Jakub Jelinek <jakub@redhat.com>
8747
8748 PR c++/82835
8749 * testsuite/libgomp.c++/pr82835.C: New test.
8750
8751 2017-11-06 Martin Liska <mliska@suse.cz>
8752
8753 * testsuite/libgomp.c++/loop-2.C: Return a value
8754 for functions with non-void return type, or change type to void,
8755 or add -Wno-return-type for test.
8756 * testsuite/libgomp.c++/loop-4.C: Likewise.
8757 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8758 * testsuite/libgomp.c++/shared-1.C: Likewise.
8759 * testsuite/libgomp.c++/single-1.C: Likewise.
8760 * testsuite/libgomp.c++/single-2.C: Likewise.
8761
8762 2017-10-31 Tom de Vries <tom@codesourcery.com>
8763
8764 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8765 "do {} while (false)".
8766 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8767 after HSA_DEBUG call.
8768
8769 2017-10-28 Jakub Jelinek <jakub@redhat.com>
8770
8771 * target.c (struct gomp_coalesce_buf): New type.
8772 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8773 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8774 (gomp_copy_host2dev): Add CBUF argument, if copying into
8775 the cached ranges, memcpy into buffer instead of copying
8776 into device.
8777 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8778 Add CBUF argument, pass it through to other calls.
8779 (gomp_map_vars): Aggregate copies from host to device if small enough
8780 and with small enough gaps in between into memcpy into a buffer and
8781 fewer host to device copies from the buffer.
8782 (gomp_update): Adjust gomp_copy_host2dev caller.
8783
8784 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
8785
8786 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8787 run" directive.
8788 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8789 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8790 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8791 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8792
8793 2017-10-16 Tom de Vries <tom@codesourcery.com>
8794
8795 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8796 openacc_nvidia_accel_selected.
8797 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8798 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8799 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8800 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8801 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8802 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8803 openacc_nvidia_accel_selected. Skip for shared memory device.
8804 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8805 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8806
8807 2017-10-09 Martin Jambor <mjambor@suse.cz>
8808
8809 PR hsa/82416
8810 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8811
8812 2017-10-07 Tom de Vries <tom@codesourcery.com>
8813
8814 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8815 Remove acc_device_nvidia references.
8816 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8817 Same.
8818
8819 2017-10-05 Tom de Vries <tom@codesourcery.com>
8820
8821 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8822 vector_length(32) clause from acc parallel directive.
8823 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8824
8825 2017-10-04 Tom de Vries <tom@codesourcery.com>
8826
8827 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8828 (main): Reduce sum of arr elements. Assert that hres is exactly
8829 representable in 32-bit floating point.
8830 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8831 (main): Reduce sum of arr elements. Assert that hres and hmres are
8832 exactly representable in 32-bit floating point.
8833 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8834
8835 2017-09-28 Tom de Vries <tom@codesourcery.com>
8836
8837 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8838 setting.
8839 * testsuite/libgomp.c++/pr69393.C: Same.
8840 * testsuite/libgomp.c++/taskloop-1.C: Same.
8841 * testsuite/libgomp.c++/taskloop-3.C: Same.
8842 * testsuite/libgomp.c++/taskloop-4.C: Same.
8843 * testsuite/libgomp.c/for-4.c: Same.
8844 * testsuite/libgomp.c/pr66199-3.c: Same.
8845 * testsuite/libgomp.c/pr66199-4.c: Same.
8846 * testsuite/libgomp.c/pr66199-6.c: Same.
8847 * testsuite/libgomp.c/taskloop-1.c: Same.
8848 * testsuite/libgomp.c/taskloop-3.c: Same.
8849 * testsuite/libgomp.c/taskloop-4.c: Same.
8850 * testsuite/libgomp.fortran/aligned1.f03: Same.
8851 * testsuite/libgomp.fortran/condinc1.f: Same.
8852 * testsuite/libgomp.fortran/condinc3.f90: Same.
8853 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8854 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8855 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8856 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8857 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8858 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8859 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8860 * testsuite/libgomp.fortran/recursion1.f90: Same.
8861 * testsuite/libgomp.fortran/target2.f90: Same.
8862 * testsuite/libgomp.fortran/target5.f90: Same.
8863 * testsuite/libgomp.fortran/task3.f90: Same.
8864
8865 2017-09-28 Tom de Vries <tom@codesourcery.com>
8866
8867 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8868 vector_length(32) clause from acc parallel directive.
8869 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8870
8871 2017-09-27 Tom de Vries <tom@codesourcery.com>
8872
8873 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8874 Remove acc_device_nvidia references.
8875
8876 2017-09-16 Tom de Vries <tom@codesourcery.com>
8877
8878 PR c/81875
8879 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8880
8881 2017-09-14 Tom de Vries <tom@codesourcery.com>
8882
8883 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8884 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8885 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8886 * testsuite/libgomp.c/c.exp: Include test-cases from
8887 libgomp.c-c++-common.
8888 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8889 files.
8890
8891 2017-09-14 Jakub Jelinek <jakub@redhat.com>
8892
8893 PR c++/81314
8894 * testsuite/libgomp.c++/pr81314.C: New test.
8895
8896 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
8897
8898 * libgomp.texi (Top): www.openacc.org now uses https.
8899 (Enabling OpenACC): Ditto.
8900 (acc_get_num_devices): Ditto.
8901 (acc_set_device_type): Ditto.
8902 (acc_get_device_type): Ditto.
8903 (acc_set_device_num): Ditto.
8904 (acc_get_device_num): Ditto.
8905 (acc_async_test): Ditto.
8906 (acc_async_test_all): Ditto.
8907 (acc_wait): Ditto.
8908 (acc_wait_all): Ditto.
8909 (acc_wait_all_async): Ditto.
8910 (acc_wait_async): Ditto.
8911 (acc_init): Ditto.
8912 (acc_shutdown): Ditto.
8913 (acc_on_device): Ditto.
8914 (acc_malloc): Ditto.
8915 (acc_free): Ditto.
8916 (acc_copyin): Ditto.
8917 (acc_present_or_copyin): Ditto.
8918 (acc_create): Ditto.
8919 (acc_present_or_create): Ditto.
8920 (acc_copyout): Ditto.
8921 (acc_delete): Ditto.
8922 (acc_update_device): Ditto.
8923 (acc_update_self): Ditto.
8924 (acc_map_data): Ditto.
8925 (acc_unmap_data): Ditto.
8926 (acc_deviceptr): Ditto.
8927 (acc_hostptr): Ditto.
8928 (acc_is_present): Ditto.
8929 (acc_memcpy_to_device): Ditto.
8930 (acc_memcpy_from_device): Ditto.
8931 (acc_get_current_cuda_device): Ditto.
8932 (acc_get_current_cuda_context): Ditto.
8933 (acc_get_cuda_stream): Ditto.
8934 (acc_set_cuda_stream): Ditto.
8935 (ACC_DEVICE_TYPE): Ditto.
8936 (ACC_DEVICE_NUM): Ditto.
8937 (OpenACC Library Interoperability): Ditto.
8938
8939 2017-08-09 Jakub Jelinek <jakub@redhat.com>
8940
8941 PR c/81687
8942 * testsuite/libgomp.c/pr81687-1.c: New test.
8943 * testsuite/libgomp.c/pr81687-2.c: New test.
8944
8945 2017-08-07 Jakub Jelinek <jakub@redhat.com>
8946
8947 PR c/69389
8948 * testsuite/libgomp.c/pr69389.c: New test.
8949 * testsuite/libgomp.c++/pr69389.C: New test.
8950
8951 2017-08-07 Tom de Vries <tom@codesourcery.com>
8952
8953 PR middle-end/78266
8954 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8955 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8956
8957 2017-07-27 Jakub Jelinek <jakub@redhat.com>
8958
8959 PR c/45784
8960 * testsuite/libgomp.c/pr45784.c: New test.
8961 * testsuite/libgomp.c++/pr45784.C: New test.
8962
8963 2017-07-19 Tom de Vries <tom@codesourcery.com>
8964
8965 * testsuite/libgomp.oacc-c/vec.c: New test.
8966
8967 2017-07-03 Tom de Vries <tom@codesourcery.com>
8968
8969 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8970
8971 2017-06-27 Tom de Vries <tom@codesourcery.com>
8972
8973 * plugin/plugin-nvptx.c (notify_var): New function.
8974 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8975
8976 2017-06-27 Tom de Vries <tom@codesourcery.com>
8977
8978 * env.c (parse_unsigned_long_1): Factor out of ...
8979 (parse_unsigned_long): ... here.
8980 (parse_int_1): Factor out of ...
8981 (parse_int): ... here.
8982 (parse_int_secure): New function.
8983 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8984 * secure_getenv.h: Factor out of ...
8985 * plugin/plugin-hsa.c: ... here.
8986 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8987
8988 2017-06-21 Jakub Jelinek <jakub@redhat.com>
8989
8990 PR c++/81130
8991 * testsuite/libgomp.c++/pr81130.C: New test.
8992
8993 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8994
8995 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8996 default args.
8997 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8998 dg-xfail-run-if default args.
8999
9000 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
9001
9002 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
9003 * testsuite/libgomp.c/pr39591-3.c: Likewise.
9004
9005 2017-05-30 Jakub Jelinek <jakub@redhat.com>
9006
9007 PR libgomp/80822
9008 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
9009 (gomp_affinity_init_level): Use it. Always analyze the core and thread
9010 sibling lists, depending on level just pick up what CPUs to put
9011 together into a place vs. whether add multiple ordered places.
9012
9013 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
9014
9015 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
9016 * libgomp.map (OACC_2.0.1): Add these.
9017 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
9018 for "acc_wait", and "acc_wait_all", respectively.
9019 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
9020 for "acc_wait", and "acc_wait_all", respectively.
9021 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
9022 * libgomp.texi (acc_wait, acc_wait_all): Update.
9023 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
9024 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
9025 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
9026
9027 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
9028 acc_present_or_copyin and acc_present_or_create procedures,
9029 respectively.
9030 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
9031 generally different variants of OpenACC Runtime Library functions.
9032 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9033
9034 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
9035 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9036
9037 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
9038 of preprocessor definitions.
9039 * libgomp.h (strong_alias): Guard by "#ifdef
9040 HAVE_ATTRIBUTE_ALIAS".
9041 * oacc-mem.c: Provide "acc_pcreate" as alias for
9042 "acc_present_or_create", and "acc_pcopyin" as alias for
9043 "acc_present_or_copyin".
9044 * libgomp.map: New version "OACC_2.0.1".
9045 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
9046 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
9047 its content into...
9048 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
9049 Extend testing.
9050
9051 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
9052 when disabling nvptx offloading.
9053
9054 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
9055
9056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
9057 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9058 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
9059
9060 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
9061 * testsuite/lib/libgomp.exp
9062 (check_effective_target_openacc_nvidia_accel_configured): New
9063 proc.
9064 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
9065 (check_effective_target_c++): New procs.
9066 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
9067 (check_effective_target_c++): Likewise.
9068
9069 2017-05-22 Jakub Jelinek <jakub@redhat.com>
9070
9071 PR middle-end/80809
9072 * testsuite/libgomp.c/pr80809-2.c: New test.
9073 * testsuite/libgomp.c/pr80809-3.c: New test.
9074
9075 PR middle-end/80809
9076 * testsuite/libgomp.c/pr80809-1.c: New test.
9077
9078 PR middle-end/80853
9079 * testsuite/libgomp.c/pr80853.c: New test.
9080
9081 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
9082
9083 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
9084 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
9085 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9086 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9087 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
9088
9089 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
9090 Debug output for failure.
9091
9092 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9093
9094 * testsuite/lib/libgomp.exp: Load scanlang.exp.
9095
9096 2017-04-27 Jakub Jelinek <jakub@redhat.com>
9097
9098 PR bootstrap/80531
9099 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
9100 bootstrap compare failures.
9101
9102 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
9103
9104 * testsuite/libgomp.c/target-36.c: New testcase.
9105
9106 2017-04-13 Jakub Jelinek <jakub@redhat.com>
9107
9108 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
9109 instead of char.
9110
9111 2017-04-11 Jakub Jelinek <jakub@redhat.com>
9112
9113 PR libgomp/80394
9114 * testsuite/libgomp.c/pr80394.c: New test.
9115
9116 2017-04-04 Jakub Jelinek <jakub@redhat.com>
9117
9118 PR libgomp/79876
9119 * config/posix/thread-stacksize.h: New file.
9120 * config/darwin/thread-stacksize.h: New file.
9121 * config/nvptx/thread-stacksize.h: New file.
9122 * env.c: Include thread-stacksize.h.
9123 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
9124 instead of 0. Call pthread_attr_setstacksize even if
9125 GOMP_DEFAULT_STACKSIZE is non-zero.
9126
9127 2017-03-30 Jakub Jelinek <jakub@redhat.com>
9128
9129 * env.c (initialize_env): Initialize stacksize to 0.
9130
9131 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
9132
9133 PR c++/80029
9134 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
9135
9136 2017-03-08 Jakub Jelinek <jakub@redhat.com>
9137
9138 PR c/79940
9139 * testsuite/libgomp.c/pr79940.c: New test.
9140
9141 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9142
9143 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
9144 targets.
9145 Add __float128 options.
9146
9147 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
9148
9149 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
9150 hppa*-*-* dg-skip-if directive.
9151
9152 2017-02-09 Jakub Jelinek <jakub@redhat.com>
9153
9154 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
9155 dg-skip-if directive into a comment.
9156
9157 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
9158 Chung-Lin Tang <cltang@codesourcery.com>
9159
9160 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
9161 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
9162 add additional case.
9163 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
9164 "openacc_nvidia_accel_selected".
9165 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
9166 Add num_workers(8) clause.
9167
9168 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
9169
9170 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
9171 hppa*-*-*.
9172 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
9173 include complex.h on hppa*-*-hpux*.
9174 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9175
9176 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
9177
9178 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
9179
9180 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9181 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9182 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9183 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9184 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9185 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9186 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9187 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9188 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9189 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9190
9191 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
9192
9193 * libgomp-plugin.h: #include <stdbool.h>.
9194 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9195 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9196 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9197 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9198 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9199 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9200 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9201 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9202 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9203 (GOMP_OFFLOAD_openacc_async_test)
9204 (GOMP_OFFLOAD_openacc_async_test_all)
9205 (GOMP_OFFLOAD_openacc_async_wait)
9206 (GOMP_OFFLOAD_openacc_async_wait_async)
9207 (GOMP_OFFLOAD_openacc_async_wait_all)
9208 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9209 (GOMP_OFFLOAD_openacc_async_set_async)
9210 (GOMP_OFFLOAD_openacc_create_thread_data)
9211 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9212 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9213 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9214 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9215 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9216 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9217 these.
9218 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9219 (GOMP_OFFLOAD_unload_image): Fix argument types.
9220
9221 2017-01-26 Jakub Jelinek <jakub@redhat.com>
9222
9223 * testsuite/lib/libgomp.exp
9224 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9225 check_compile invocation. Fix up removal of executable. Drop
9226 bogus "2>&1" argument.
9227
9228 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9229 directive.
9230
9231 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
9232 Martin Jambor <mjambor@suse.cz>
9233
9234 * plugin/hsa.h: Moved to top level include.
9235 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9236
9237 2017-01-21 Jakub Jelinek <jakub@redhat.com>
9238
9239 PR other/79046
9240 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9241 of cat to get version from BASE-VER file.
9242 * testsuite/Makefile.in: Regenerated.
9243
9244 2017-01-19 Jakub Jelinek <jakub@redhat.com>
9245
9246 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9247 for _WIN64.
9248
9249 2017-01-17 Jakub Jelinek <jakub@redhat.com>
9250
9251 * plugin/hsa.h: Add GCC runtime library exception.
9252 * plugin/hsa_ext_finalize.h: Likewise.
9253
9254 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9255 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9256 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9257 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9258 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9259 library to link ptx plugin against.
9260 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9261 (CUDA_CALLS): Define.
9262 (cuda_lib, cuda_lib_inited): New variables.
9263 (init_cuda_lib): New function.
9264 (CUDA_CALL_PREFIX): Define.
9265 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9266 (CUDA_CALL): Use FN instead of (FN).
9267 (CUDA_CALL_NOCHECK): Define.
9268 (cuda_error, fini_streams_for_device, select_stream_for_async,
9269 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9270 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9271 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9272 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9273 CUDA_CALL_NOCHECK.
9274 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9275 CUDA_CALL_NOCHECK.
9276 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9277 Use CUDA_CALL_NOCHECK.
9278 * plugin/cuda/cuda.h: New file.
9279 * config.h.in: Regenerated.
9280 * configure: Regenerated.
9281
9282 PR other/79046
9283 * configure.ac: Add GCC_BASE_VER.
9284 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9285 get version from BASE-VER file.
9286 * testsuite/Makefile.in: Regenerated.
9287 * configure: Regenerated.
9288 * Makefile.in: Regenerated.
9289
9290 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9291
9292 PR libgomp/60670
9293 * Makefile.am: Make fincludedir multilib-aware.
9294 * Makefile.in: Regenerate.
9295
9296 2017-01-01 Jakub Jelinek <jakub@redhat.com>
9297
9298 Update copyright years.
9299
9300 * libgomp.texi: Bump @copying's copyright year.
9301
9302 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9303
9304 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9305 pthread_spinlock_t instead of gomp_mutex_t lock.
9306 (gomp_get_thread_pool): Likewise.
9307 (gomp_release_thread_pool): Likewise.
9308 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9309 Likewise.
9310
9311 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9312
9313 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9314 thread pool in case nthreads == 1.
9315
9316 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9317
9318 * config/nvptx/env.c: Delete.
9319 * icv.c: Move definitions of ICV variables back ...
9320 * env.c: ...here. Do not compile environment-related functionality if
9321 LIBGOMP_OFFLOADED_ONLY is set.
9322
9323 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9324
9325 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9326 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9327 * configure: Regenerate.
9328 * config.h.in: Likewise.
9329
9330 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9331
9332 * Makefile.in: Regenerate with automake-1.11.6.
9333 * aclocal.m4: Likewise.
9334 * configure: Likewise.
9335 * testsuite/Makefile.in: Likewise.
9336
9337 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
9338
9339 * config/nvptx/critical.c: Delete to use generic implementation.
9340
9341 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9342
9343 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9344 ../../affinity.c as fallback.
9345 * config/nvptx/affinity.c: Delete to use fallback implementation.
9346
9347 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
9348 Jakub Jelinek <jakub@redhat.com>
9349 Dmitry Melnik <dm@ispras.ru>
9350
9351 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9352 * Makefile.in. Regenerate.
9353 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9354 (LIBGOMP_USE_PTHREADS): ...here; new define.
9355 * configure: Regenerate.
9356 * config.h.in: Likewise.
9357 * config/posix/affinity.c: Move to...
9358 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9359 interface by LIBGOMP_USE_PTHREADS.
9360 * critical.c: Split out GOMP_atomic_{start,end} into...
9361 * atomic.c: ...here (new file).
9362 * env.c: Split out ICV definitions into...
9363 * icv.c: ...here (new file) and...
9364 * icv-device.c: ...here. New file.
9365 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9366 (gomp_destroy_lock_30): Ditto.
9367 (gomp_set_lock_30): Ditto.
9368 (gomp_unset_lock_30): Ditto.
9369 (gomp_test_lock_30): Ditto.
9370 (gomp_init_nest_lock_30): Ditto.
9371 (gomp_destroy_nest_lock_30): Ditto.
9372 (gomp_set_nest_lock_30): Ditto.
9373 (gomp_unset_nest_lock_30): Ditto.
9374 (gomp_test_nest_lock_30): Ditto.
9375 * lock.c: New.
9376 * config/nvptx/lock.c: New.
9377 * config/nvptx/bar.c: New.
9378 * config/nvptx/bar.h: New.
9379 * config/nvptx/doacross.h: New.
9380 * config/nvptx/error.c: New.
9381 * config/nvptx/icv-device.c: New.
9382 * config/nvptx/mutex.h: New.
9383 * config/nvptx/pool.h: New.
9384 * config/nvptx/proc.c: New.
9385 * config/nvptx/ptrlock.h: New.
9386 * config/nvptx/sem.h: New.
9387 * config/nvptx/simple-bar.h: New.
9388 * config/nvptx/target.c: New.
9389 * config/nvptx/task.c: New.
9390 * config/nvptx/team.c: New.
9391 * config/nvptx/time.c: New.
9392 * config/posix/simple-bar.h: New.
9393 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9394 (gomp_num_teams_var): Declare.
9395 (struct gomp_thread_pool): Change threads_dock member to
9396 gomp_simple_barrier_t.
9397 [__nvptx__] (gomp_thread): New implementation.
9398 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9399 (gomp_thread_destructor): Ditto.
9400 (gomp_init_thread_affinity): Ditto.
9401 * team.c: Guard uses of Pthreads-specific interfaces by
9402 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9403 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9404 * config/nvptx/alloc.c: Delete.
9405 * config/nvptx/barrier.c: Ditto.
9406 * config/nvptx/fortran.c: Ditto.
9407 * config/nvptx/iter.c: Ditto.
9408 * config/nvptx/iter_ull.c: Ditto.
9409 * config/nvptx/loop.c: Ditto.
9410 * config/nvptx/loop_ull.c: Ditto.
9411 * config/nvptx/ordered.c: Ditto.
9412 * config/nvptx/parallel.c: Ditto.
9413 * config/nvptx/priority_queue.c: Ditto.
9414 * config/nvptx/sections.c: Ditto.
9415 * config/nvptx/single.c: Ditto.
9416 * config/nvptx/splay-tree.c: Ditto.
9417 * config/nvptx/work.c: Ditto.
9418 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9419 -foffload=-lgfortran in addition to -lgfortran.
9420 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9421 * plugin/plugin-nvptx.c: Include <limits.h>.
9422 (struct targ_fn_descriptor): Add new fields.
9423 (struct ptx_device): Ditto. Set them...
9424 (nvptx_open_device): ...here.
9425 (nvptx_adjust_launch_bounds): New.
9426 (nvptx_host2dev): Allow NULL 'nvthd'.
9427 (nvptx_dev2host): Ditto.
9428 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9429 (link_ptx): Adjust log sizes.
9430 (nvptx_host2dev): Allow NULL 'nvthd'.
9431 (nvptx_dev2host): Ditto.
9432 (nvptx_set_clocktick): New. Use it...
9433 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9434 fields.
9435 (GOMP_OFFLOAD_dev2dev): New.
9436 (nvptx_adjust_launch_bounds): New.
9437 (nvptx_stacks_size): New.
9438 (nvptx_stacks_alloc): New.
9439 (nvptx_stacks_free): New.
9440 (GOMP_OFFLOAD_run): New.
9441 (GOMP_OFFLOAD_async_run): New (stub).
9442
9443 2016-11-23 Martin Jambor <mjambor@suse.cz>
9444
9445 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9446 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9447 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9448
9449 2016-11-23 Martin Liska <mliska@suse.cz>
9450 Martin Jambor <mjambor@suse.cz>
9451
9452 * plugin/hsa.h: New file.
9453 * plugin/hsa_ext_finalize.h: New file.
9454 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9455 header file unistd.h, and functions secure_getenv, __secure_getenv,
9456 getuid, geteuid, getgid and getegid.
9457 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9458 -D_GNU_SOURCE.
9459 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9460 Handle various cases of secure_getenv presence, add an implementation
9461 when we can test effective UID and GID.
9462 (struct hsa_runtime_fn_info): New structure.
9463 (hsa_runtime_fn_info hsa_fns): New variable.
9464 (hsa_runtime_lib): Likewise.
9465 (support_cpu_devices): Likewise.
9466 (init_enviroment_variables): Load newly introduced ENV
9467 variables.
9468 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9469 (hsa_fatal): Likewise.
9470 (DLSYM_FN): New macro.
9471 (init_hsa_runtime_functions): New function.
9472 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9473 structure. Depending on environment, also allow CPU devices.
9474 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9475 (get_kernarg_memory_region): Likewise.
9476 (GOMP_OFFLOAD_init_device): Likewise.
9477 (destroy_hsa_program): Likewise.
9478 (init_basic_kernel_info): New function.
9479 (GOMP_OFFLOAD_load_image): Use it.
9480 (create_and_finalize_hsa_program): Call hsa run-time functions via
9481 hsa_fns structure.
9482 (create_single_kernel_dispatch): Likewise.
9483 (release_kernel_dispatch): Likewise.
9484 (init_single_kernel): Likewise.
9485 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9486 (get_group_size): New function.
9487 (run_kernel): Likewise.
9488 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9489 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9490 structure.
9491 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9492 * testsuite/libgomp-test-support.exp.in: Likewise.
9493 * Makefile.in: Regenerated.
9494 * aclocal.m4: Likewise.
9495 * config.h.in: Likewise.
9496 * configure: Likewise.
9497 * testsuite/Makefile.in: Likewise.
9498
9499 2016-11-15 Martin Jambor <mjambor@suse.cz>
9500 Alexander Monakov <amonakov@ispras.ru>
9501
9502 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9503 mapping clauses to target constructs.
9504 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9505
9506 2016-11-15 Matthias Klose <doko@ubuntu.com>
9507
9508 * configure: Regenerate.
9509
9510 2016-11-10 Jakub Jelinek <jakub@redhat.com>
9511
9512 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9513 * omp_lib.h.in (openmp_version): Likewise.
9514 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9515 of 201307.
9516 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9517
9518 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9519 (fib_wrapper): Add map(from: x) clause.
9520 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9521 (e_53_2): Likewise.
9522 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9523 (accum): Add map(tmp) clause.
9524 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9525 (accum): Add map(tofrom: tmp) clause.
9526 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9527 (gramSchmidt): Likewise.
9528 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9529 map(tofrom: sum) clause.
9530 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9531 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9532 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9533 only allowed on the loop iterator.
9534 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9535 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9536 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9537 * testsuite/libgomp.fortran/doacross1.f90: New test.
9538 * testsuite/libgomp.fortran/doacross3.f90: New test.
9539 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9540 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9541 * testsuite/libgomp.fortran/doacross2.f90: New test.
9542 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9543 #pragma omp atomic read.
9544 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9545 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9546
9547 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9548 Nathan Sidwell <nathan@acm.org>
9549
9550 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9551 to determine default geometry.
9552 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9553 dimension.
9554
9555 2016-11-01 Jakub Jelinek <jakub@redhat.com>
9556
9557 * hashtab.h: Use standard GPLv3 with runtime exception
9558 boilerplate.
9559
9560 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
9561
9562 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9563 size when allocating new thread.
9564
9565 2016-09-14 Marek Polacek <polacek@redhat.com>
9566
9567 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9568
9569 2016-08-19 Jakub Jelinek <jakub@redhat.com>
9570
9571 PR fortran/71014
9572 * testsuite/libgomp.fortran/pr71014.f90: New test.
9573
9574 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9575
9576 PR middle-end/70895
9577 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9578 firstprivate clauses.
9579 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9580 copy clauses.
9581 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9582 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9583 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9584 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9585 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9586 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9587 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9588 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9589 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9590 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9591 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9592 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9593
9594 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9595
9596 PR fortran/70598
9597 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9598
9599 2016-08-08 Jakub Jelinek <jakub@redhat.com>
9600
9601 PR c++/58706
9602 * testsuite/libgomp.c++/pr58706.C: New test.
9603
9604 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
9605
9606 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9607 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9608 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9609 Likewise.
9610 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9611 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9612 Likewise.
9613 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9614
9615 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9616 test, and don't hardcode -O0.
9617
9618 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
9619
9620 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9621
9622 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
9623
9624 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9625 test.
9626
9627 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
9628
9629 PR middle-end/71734
9630 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9631 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9632
9633 2016-07-01 Jakub Jelinek <jakub@redhat.com>
9634
9635 PR fortran/71717
9636 * testsuite/libgomp.fortran/associate3.f90: New test.
9637
9638 2016-06-17 Jakub Jelinek <jakub@redhat.com>
9639
9640 * testsuite/libgomp.c++/target-21.C: New test.
9641
9642 2016-06-16 Jakub Jelinek <jakub@redhat.com>
9643
9644 * testsuite/libgomp.c++/target-20.C: New test.
9645
9646 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9647 Cesar Philippidis <cesar@codesourcery.com>
9648
9649 PR middle-end/71373
9650 * libgomp.oacc-c/nested-function-1.c: New file.
9651 * libgomp.oacc-c/nested-function-2.c: Likewise.
9652 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9653 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9654 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9655
9656 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9657
9658 PR c/71381
9659 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9660 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9661 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9662
9663 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
9664
9665 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9666 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9667
9668 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
9669
9670 PR c/70688
9671 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9672
9673 2016-05-26 Jakub Jelinek <jakub@redhat.com>
9674
9675 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9676 instead of invalid schedule(static, 0).
9677 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9678
9679 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9680
9681 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9682 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9683 parameter, use to set async stream around call to gomp_unmap_vars,
9684 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9685 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9686 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9687 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9688 (event_add): Add int parameter, initialize 'val' field when
9689 adding new ptx_event struct.
9690 (nvptx_evec): Adjust event_add() call arguments.
9691 (nvptx_host2dev): Likewise.
9692 (nvptx_dev2host): Likewise.
9693 (nvptx_wait_async): Likewise.
9694 (nvptx_wait_all_async): Likewise.
9695 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9696 pass to event_add() call.
9697 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9698 parameter.
9699 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9700 call openacc.register_async_cleanup_func() hook.
9701 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9702 * target.c (gomp_copy_from_async): Delete function.
9703 (gomp_map_vars): Remove async_refcount.
9704 (gomp_unmap_vars): Likewise.
9705 (gomp_load_image_to_device): Likewise.
9706 (omp_target_associate_ptr): Likewise.
9707 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9708 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9709 (gomp_copy_from_async): Remove.
9710
9711 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9712
9713 * target.c (gomp_device_copy): New function.
9714 (gomp_copy_host2dev): Likewise.
9715 (gomp_copy_dev2host): Likewise.
9716 (gomp_free_device_memory): Likewise.
9717 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9718 (gomp_map_pointer): Likewise.
9719 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9720 NULL value from alloc_func plugin hook.
9721 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9722 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9723 (gomp_unmap_vars): Likewise.
9724 (gomp_update): Adjust to call gomp_copy_dev2host and
9725 gomp_copy_host2dev functions.
9726 (gomp_unload_image_from_device): Handle false value from
9727 unload_image_func plugin hook.
9728 (gomp_init_device): Handle false value from init_device_func
9729 plugin hook.
9730 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9731 (omp_target_free): Adjust to call gomp_free_device_memory.
9732 (omp_target_memcpy): Handle return values from host2dev_func,
9733 dev2host_func, and dev2dev_func plugin hooks.
9734 (omp_target_memcpy_rect_worker): Likewise.
9735 (gomp_target_fini): Handle false value from fini_device_func
9736 plugin hook.
9737 * libgomp.h (struct gomp_device_descr): Adjust return type of
9738 init_device_func, fini_device_func, unload_image_func, free_func,
9739 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9740 * oacc-init.c (acc_shutdown_1): Handle false value from
9741 fini_device_func plugin hook.
9742 * oacc-host.c (host_init_device): Change return type to bool.
9743 (host_fini_device): Likewise.
9744 (host_unload_image): Likewise.
9745 (host_free): Likewise.
9746 (host_dev2host): Likewise.
9747 (host_host2dev): Likewise.
9748 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9749 (acc_memcpy_to_device): Likewise.
9750 (acc_memcpy_from_device): Likewise.
9751 (delete_copyout): Add libfnname parameter, handle free_func
9752 hook fatal error case.
9753 (acc_delete): Adjust delete_copyout call.
9754 (acc_copyout): Likewise.
9755 (update_dev_host): Move gomp_mutex_unlock to after
9756 host2dev/dev2host hook calls.
9757
9758 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9759 to 'hsa_error_msg', for clarity.
9760 (hsa_fatal): Likewise.
9761 (hsa_error): New function.
9762 (init_hsa_context): Change return type to bool, adjust to return
9763 false on error.
9764 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9765 return value.
9766 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9767 return false on error.
9768 (get_agent_info): Adjust to return NULL on error.
9769 (destroy_hsa_program): Change return type to bool, adjust to
9770 return false on error.
9771 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9772 (destroy_module): Change return type to bool, adjust to
9773 return false on error.
9774 (GOMP_OFFLOAD_unload_image): Likewise.
9775 (GOMP_OFFLOAD_fini_device): Likewise.
9776 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9777 (GOMP_OFFLOAD_free): Change to return false when called.
9778 (GOMP_OFFLOAD_dev2host): Likewise.
9779 (GOMP_OFFLOAD_host2dev): Likewise.
9780 (GOMP_OFFLOAD_dev2dev): Likewise.
9781
9782 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9783 (CUDA_CALL): Likewise.
9784 (CUDA_CALL_ASSERT): Likewise.
9785 (map_init): Change return type to bool, use CUDA_CALL* macros.
9786 (map_fini): Likewise.
9787 (init_streams_for_device): Change return type to bool, adjust
9788 call to map_init.
9789 (fini_streams_for_device): Change return type to bool, adjust
9790 call to map_fini.
9791 (select_stream_for_async): Release stream_lock before calls to
9792 GOMP_PLUGIN_fatal, adjust call to map_init.
9793 (nvptx_init): Use CUDA_CALL* macros.
9794 (nvptx_attach_host_thread_to_device): Change return type to bool,
9795 use CUDA_CALL* macros.
9796 (nvptx_open_device): Use CUDA_CALL* macros.
9797 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9798 macros.
9799 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9800 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9801 (nvptx_exec): Use CUDA_CALL* macros.
9802 (nvptx_alloc): Use CUDA_CALL* macros.
9803 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9804 (nvptx_host2dev): Likewise.
9805 (nvptx_dev2host): Likewise.
9806 (nvptx_wait): Use CUDA_CALL* macros.
9807 (nvptx_wait_async): Likewise.
9808 (nvptx_wait_all): Likewise.
9809 (nvptx_wait_all_async): Likewise.
9810 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9811 use CUDA_CALL* macros, adjust call to map_fini.
9812 (GOMP_OFFLOAD_init_device): Change return type to bool,
9813 adjust code accordingly.
9814 (GOMP_OFFLOAD_fini_device): Likewise.
9815 (GOMP_OFFLOAD_load_image): Adjust calls to
9816 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9817 use CUDA_CALL* macros.
9818 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9819 return code.
9820 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9821 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9822 handle error return.
9823 (GOMP_OFFLOAD_dev2host): Likewise.
9824 (GOMP_OFFLOAD_host2dev): Likewise.
9825 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9826 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9827
9828 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
9829
9830 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9831 (acc_free): Likewise.
9832 (acc_memcpy_to_device): Likewise.
9833 (acc_memcpy_from_device): Likewise.
9834 (acc_deviceptr): Likewise.
9835 (acc_hostptr): Likewise.
9836 (acc_is_present): Likewise.
9837 (acc_map_data): Likewise.
9838 (acc_unmap_data): Likewise.
9839 (present_create_copy): Likewise.
9840 (delete_copyout): Likewise.
9841 (update_dev_host): Likewise.
9842 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9843 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9844 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9845 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9846 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9847 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9848 it only runs on nvptx targets.
9849 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9852 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9853 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9854 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9855 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9856 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9858 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9859 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9860 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9861 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9862 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9863 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9864 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9865 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9866 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9867 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9868 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9869 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9870 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9871 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9872
9873 2016-05-23 Martin Jambor <mjambor@suse.cz>
9874
9875 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9876
9877 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
9878
9879 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9880 to gomp_init_targets_once.
9881 (acc_set_device_type): Remove !cached_base_dev condition on call to
9882 gomp_init_targets_once, move call to before acc_device_lock acquire,
9883 to avoid deadlock.
9884 (acc_get_device_num): Remove !cached_base_dev condition on call to
9885 gomp_init_targets_once.
9886 (acc_set_device_num): Likewise.
9887
9888 2016-05-16 Martin Jambor <mjambor@suse.cz>
9889
9890 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9891
9892 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
9893
9894 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9895 expected partitioning.
9896
9897 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
9898
9899 PR middle-end/70626
9900 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9901 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9902 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9903
9904 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
9905
9906 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9907 non-fatal.
9908
9909 2016-04-19 Jakub Jelinek <jakub@redhat.com>
9910
9911 PR middle-end/70680
9912 * testsuite/libgomp.c/pr70680-1.c: New test.
9913 * testsuite/libgomp.c/pr70680-2.c: New test.
9914
9915 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9916
9917 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9918 pass parameter variables to subroutines.
9919
9920 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9921
9922 PR middle-end/70643
9923 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9924
9925 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
9926
9927 PR testsuite/68242
9928 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9929 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9930
9931 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
9932
9933 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9934 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9935 GOACC_declare prototype.
9936
9937 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9938 Merge this file, and...
9939 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9940 ... this file, and...
9941 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9942 ... this file, and...
9943 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9944 ... this file, and...
9945 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9946 ... this file, and...
9947 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9948 ... this file, and...
9949 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9950 ... this file, and...
9951 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9952 ... this file, and...
9953 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9954 ... this file, and...
9955 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9956 ... this file, and...
9957 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9958 ... this file, and...
9959 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9960 ... this file, and...
9961 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9962 ... this file into...
9963 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9964 file.
9965
9966 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9967 Make failure observable.
9968
9969 2016-04-12 Jakub Jelinek <jakub@redhat.com>
9970
9971 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9972 field.
9973 * target.c (gomp_target_fallback_firstprivate,
9974 gomp_target_unshare_firstprivate): Removed.
9975 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9976 before waiting for dependencies.
9977 (gomp_target_task_fn): Don't copy firstprivate vars here.
9978 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9979 firstprivate_copies here.
9980 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9981 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9982 explicit/implicit firstprivate.
9983
9984 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
9985
9986 PR lto/70289
9987 PR ipa/70348
9988 PR tree-optimization/70373
9989 PR middle-end/70533
9990 PR middle-end/70534
9991 PR middle-end/70535
9992 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9993 test.
9994 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9995 test.
9996 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9997 test.
9998 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9999 test.
10000 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
10001 test.
10002 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
10003 test.
10004 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
10005 test.
10006 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
10007 test.
10008 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
10009 test.
10010 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
10011 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
10012 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
10013 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
10014 test.
10015 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
10016 test.
10017 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
10018 test.
10019 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
10020 test.
10021 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
10022 coverage.
10023 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10024 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
10025 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
10026 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
10027 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
10028 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
10029 coverage.
10030 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10031 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10032 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10033 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10034 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
10035 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
10036 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
10037 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
10038 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
10039 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10040 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10041 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10042 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10043 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10044 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
10045
10046 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
10047 James Norris <jnorris@codesourcery.com>
10048 Nathan Sidwell <nathan@codesourcery.com>
10049 Julian Brown <julian@codesourcery.com>
10050 Cesar Philippidis <cesar@codesourcery.com>
10051 Chung-Lin Tang <cltang@codesourcery.com>
10052 Tom de Vries <tom@codesourcery.com>
10053
10054 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
10055 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
10056 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
10057 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
10058 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10059 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10060 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10061 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10062 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
10063 XFAIL.
10064 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
10065 Incorporate...
10066 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
10067 file.
10068 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
10069 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
10070 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
10071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
10072 Likewise.
10073 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
10074 Likewise.
10075 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
10076 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
10077 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
10078 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
10079 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10080 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10081 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10082 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10083 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10084 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
10085 Likewise.
10086 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
10087 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10088 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
10089 file...
10090 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
10091 file into...
10092 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
10093 file. Update.
10094 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
10095 file.
10096 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
10097 Likewise.
10098 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
10099 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
10100 ... this new file. Update.
10101 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
10102 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
10103 ... this new file. Update.
10104 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
10105 file. Incorporate...
10106 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
10107 file, and...
10108 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
10109 file, and...
10110 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
10111 file.
10112 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
10113
10114 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
10115
10116 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
10117 set-torture-options.
10118
10119 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
10120
10121 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
10122 gcc-dg-runtest.
10123 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10124 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
10125 -fno-builtin-acc_on_device instead of -O0.
10126 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
10127 -O0.
10128 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10129 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
10130 Likewise.
10131 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10132 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10133 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10134 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10135 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10136 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10137 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10138 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10139 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10140 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10141 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10142 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10143 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10144 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10145 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10146 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10147 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10148 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
10149 Don't specify -O2.
10150 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
10151 Likewise.
10152 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
10153 Likewise.
10154
10155 2016-03-24 Martin Liska <mliska@suse.cz>
10156
10157 * plugin/plugin-hsa.c (packet_store_release): New function
10158 that is taken from the HSA runtime manual.
10159 (GOMP_OFFLOAD_run): Use the function.
10160
10161 2016-03-23 Jakub Jelinek <jakub@redhat.com>
10162
10163 PR c++/70376
10164 * testsuite/libgomp.c++/pr70376.C: New test.
10165
10166 2016-03-23 Tom de Vries <tom@codesourcery.com>
10167
10168 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
10169 initialization of lresult and lvresult.
10170 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
10171
10172 2016-03-23 James Norris <jnorris@codesourcery.com>
10173 Daichi Fukuoka <dc-fukuoka@sgi.com>
10174
10175 PR libgomp/69414
10176 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
10177 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
10178 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10179 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
10180
10181 2016-03-23 Martin Liska <mliska@suse.cz>
10182
10183 PR hsa/70337
10184 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10185 argument just in case a dispatched kernel uses that argument.
10186
10187 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
10188
10189 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10190 -ftree-parallelize-loops/-fopenacc changes.
10191 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10192 Likewise.
10193 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10194 Likewise.
10195 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10196 Likewise.
10197 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10198 Likewise.
10199 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10200 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10201
10202 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
10203
10204 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10205 always_ld_library_path the path to libgcc_s.
10206
10207 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
10208
10209 PR testsuite/70009
10210 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10211
10212 2016-03-09 Tom de Vries <tom@codesourcery.com>
10213
10214 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10215 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10216 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10217 Same.
10218 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10219 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10220 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10221 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10222
10223 2016-03-07 Martin Jambor <mjambor@suse.cz>
10224
10225 * testsuite/lib/libgomp.exp
10226 (check_effective_target_hsa_offloading_selected_nocache): New.
10227 (check_effective_target_hsa_offloading_selected): Likewise.
10228 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10229 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10230 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10231 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10232 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10233 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10234 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10235 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10236 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10237 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10238 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10239 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10240 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10241 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10242 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10243 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10244 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10245
10246 2016-03-07 Martin Jambor <mjambor@suse.cz>
10247
10248 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10249 non-shared memory accelerators.
10250 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10251 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10252 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10253 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10254 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10255 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10256 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10257 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10258 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10259
10260 2016-03-07 Martin Jambor <mjambor@suse.cz>
10261
10262 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10263 ALWAYS_CFLAGS.
10264
10265 2016-03-02 Jakub Jelinek <jakub@redhat.com>
10266
10267 PR libgomp/69555
10268 * testsuite/libgomp.c++/pr69555-1.C: New test.
10269 * testsuite/libgomp.c++/pr69555-2.C: New test.
10270
10271 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10272 Martin Jambor <mjambor@suse.cz>
10273
10274 * testsuite/lib/libgomp.exp
10275 (check_effective_target_offload_device_shared_as): New proc.
10276 * testsuite/libgomp.c++/declare_target-1.C: New test.
10277
10278 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10279
10280 PR driver/68463
10281 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10282
10283 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10284
10285 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10286 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10287 dims.
10288 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10289 -ftree-parallelize-loops/-fopenacc changes.
10290 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10291 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10292 Likewise.
10293 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10294 Likewise.
10295 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10296 Likewise.
10297 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10298 Likewise.
10299 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10300 Likewise.
10301 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10302 Likewise.
10303 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10304 Likewise.
10305 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10306 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10307 Likewise.
10308 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10309 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10310 Likewise.
10311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10312 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10313 Likewise.
10314
10315 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10316
10317 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10318
10319 2016-02-19 Jakub Jelinek <jakub@redhat.com>
10320
10321 PR driver/69805
10322 * testsuite/libgomp.c/pr69805.c: New test.
10323
10324 2016-02-16 Tom de Vries <tom@codesourcery.com>
10325
10326 PR lto/67709
10327 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10328
10329 2016-02-09 Tom de Vries <tom@codesourcery.com>
10330
10331 PR tree-optimization/69599
10332 * testsuite/libgomp.c/omp-nested-3.c: New test.
10333 * testsuite/libgomp.c/pr46032-2.c: New test.
10334 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10335 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10336
10337 2016-02-09 Tom de Vries <tom@codesourcery.com>
10338
10339 PR lto/69707
10340 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10341
10342 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10343
10344 * testsuite/libgomp.c/target-31.c: Fix testcase.
10345
10346 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10347
10348 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10349 clause.
10350 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10351 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10352 reduction and map clauses.
10353 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10354
10355 2016-02-02 James Norris <jnorris@codesourcery.com>
10356
10357 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10358
10359 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10360
10361 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10362 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10363
10364 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10365 cases.
10366
10367 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10368 variables.
10369 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10370 (hsa_kmt_lib): Set variables.
10371 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10372 always_ld_library_path.
10373 * Makefile.in: Regenerate.
10374 * configure: Likewise.
10375 * testsuite/Makefile.in: Likewise.
10376
10377 * plugin/configfrag.ac (offload_additional_options)
10378 (offload_additional_lib_paths): Don't amend for hsa offloading.
10379 * configure: Regenerate.
10380
10381 * plugin/configfrag.ac: Don't configure for offloading target if
10382 we don't build the corresponding plugin.
10383 * configure: Regenerate.
10384
10385 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10386
10387 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10388 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10389
10390 2016-01-26 Tom de Vries <tom@codesourcery.com>
10391
10392 PR tree-optimization/69110
10393 * testsuite/libgomp.c/pr69110.c: New test.
10394
10395 2016-01-25 Richard Biener <rguenther@suse.de>
10396
10397 PR lto/69393
10398 * testsuite/libgomp.c++/pr69393.C: New testcase.
10399
10400 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10401
10402 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10403 function wasn't mapped to the device with non-shared memory.
10404
10405 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10406
10407 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10408
10409 2016-01-19 Martin Jambor <mjambor@suse.cz>
10410 Martin Liska <mliska@suse.cz>
10411
10412 * plugin/Makefrag.am: Add HSA plugin requirements.
10413 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10414 (HSA_RUNTIME_LIB): Likewise.
10415 (HSA_RUNTIME_CPPFLAGS): Likewise.
10416 (HSA_RUNTIME_INCLUDE): New substitution.
10417 (HSA_RUNTIME_LIB): Likewise.
10418 (HSA_RUNTIME_LDFLAGS): Likewise.
10419 (hsa-runtime): New configure option.
10420 (hsa-runtime-include): Likewise.
10421 (hsa-runtime-lib): Likewise.
10422 (PLUGIN_HSA): New substitution variable.
10423 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10424 configure options.
10425 (PLUGIN_HSA_CPPFLAGS): Likewise.
10426 (PLUGIN_HSA_LDFLAGS): Likewise.
10427 (PLUGIN_HSA_LIBS): Likewise.
10428 Check that we have access to HSA run-time.
10429 * libgomp-plugin.h (offload_target_type): New element
10430 OFFLOAD_TARGET_TYPE_HSA.
10431 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10432 args.
10433 (bool gomp_create_target_task): Updated.
10434 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10435 new field can_run_func.
10436 * libgomp_g.h (GOMP_target_ext): Update prototype.
10437 * oacc-host.c (host_run): Added a new parameter args.
10438 * target.c (calculate_firstprivate_requirements): New function.
10439 (copy_firstprivate_data): Likewise.
10440 (gomp_target_fallback_firstprivate): Use them.
10441 (gomp_target_unshare_firstprivate): New function.
10442 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10443 devices.
10444 (GOMP_target): Do host fallback for all shared memory devices. Do not
10445 pass any args to plugins.
10446 (GOMP_target_ext): Introduce device-specific argument parameter args.
10447 Allow host fallback if device shares memory. Do not remap data if
10448 device has shared memory.
10449 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10450 like host fallback for mappings.
10451 (GOMP_target_data): Treat shared memory devices like host fallback.
10452 (GOMP_target_data_ext): Likewise.
10453 (GOMP_target_update): Likewise.
10454 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10455 gomp_create_target_task.
10456 (GOMP_target_enter_exit_data): Likewise.
10457 (omp_target_alloc): Treat shared memory devices like host fallback.
10458 (omp_target_free): Likewise.
10459 (omp_target_is_present): Likewise.
10460 (omp_target_memcpy): Likewise.
10461 (omp_target_memcpy_rect): Likewise.
10462 (omp_target_associate_ptr): Likewise.
10463 (gomp_load_plugin_for_device): Also load can_run.
10464 * task.c (GOMP_PLUGIN_target_task_completion): Free
10465 firstprivate_copies.
10466 (gomp_create_target_task): Accept new argument args and store it to
10467 ttask.
10468 * plugin/plugin-hsa.c: New file.
10469
10470 2016-01-18 Tom de Vries <tom@codesourcery.com>
10471
10472 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10473 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10474 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10475 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10476 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10477 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10478 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10479 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10480 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10481 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10482 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10483 Same.
10484 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10485 Same.
10486 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10487 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10488 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10489 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10490 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10491 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10492 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10493 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10494 Same.
10495 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10496
10497 2016-01-15 Jakub Jelinek <jakub@redhat.com>
10498
10499 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10500
10501 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10502
10503 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10504
10505 2016-01-12 James Norris <jnorris@codesourcery.com>
10506
10507 * libgomp.texi: Updates for OpenACC.
10508
10509 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
10510
10511 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10512
10513 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10514
10515 PR fortran/66680
10516 * testsuite/libgomp.fortran/pr66680.f90: New test.
10517
10518 2016-01-07 Jakub Jelinek <jakub@redhat.com>
10519
10520 PR middle-end/68960
10521 * testsuite/libgomp.c/pr68960.c: New test.
10522
10523 2016-01-06 Nathan Sidwell <nathan@acm.org>
10524
10525 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10526 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10527
10528 2016-01-04 Jakub Jelinek <jakub@redhat.com>
10529
10530 Update copyright years.
10531
10532 * libgomp.texi: Bump @copying's copyright year.
10533
10534 2015-12-31 Nathan Sidwell <nathan@acm.org>
10535
10536 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10537 dg-additional-options syntax.
10538 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10539 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10540 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10541 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10542 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10543 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10544 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10545 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10546 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10547 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10548 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10549 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10550 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10551 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10552 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10553 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10554 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10555 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10556
10557 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10558
10559 * libgomp.h (REFCOUNT_LINK): Define.
10560 (struct splay_tree_key_s): Add link_key.
10561 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10562 Replace target address of the pointer with target address of newly
10563 mapped object in the splay tree. Set link pointer on target to the
10564 device address of the mapped object.
10565 (gomp_unmap_vars): Restore target address of the pointer in the splay
10566 tree for REFCOUNT_LINK objects after unmapping.
10567 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10568 declare target link" objects.
10569 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10570 "omp declare target link" objects, which were mapped for the image.
10571 (gomp_exit_data): Restore target address of the pointer in the splay
10572 tree for REFCOUNT_LINK objects after unmapping.
10573 * testsuite/libgomp.c/target-link-1.c: New file.
10574
10575 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
10576
10577 * libgomp.h (gomp_device_state): New enum.
10578 (struct gomp_device_descr): Replace is_initialized with state.
10579 (gomp_fini_device): Remove declaration.
10580 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10581 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10582 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10583 (acc_set_device_type): Use state instead of is_initialized.
10584 (acc_set_device_num): Likewise.
10585 * target.c (resolve_device): Use state instead of is_initialized.
10586 Do not initialize finalized device.
10587 (gomp_map_vars): Do nothing if device is finalized.
10588 (gomp_unmap_vars): Likewise.
10589 (gomp_update): Likewise.
10590 (GOMP_offload_register_ver): Use state instead of is_initialized.
10591 (GOMP_offload_unregister_ver): Likewise.
10592 (gomp_init_device): Likewise.
10593 (gomp_unload_device): Likewise.
10594 (gomp_fini_device): Remove.
10595 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10596 (GOMP_target): Go to host fallback if device is finalized.
10597 (GOMP_target_ext): Likewise.
10598 (gomp_exit_data): Do nothing if device is finalized.
10599 (gomp_target_task_fn): Go to host fallback if device is finalized.
10600 (gomp_target_fini): New static function.
10601 (gomp_target_init): Use state instead of is_initialized.
10602 Call gomp_target_fini at exit.
10603
10604 2015-12-09 Tom de Vries <tom@codesourcery.com>
10605
10606 PR tree-optimization/68716
10607 * testsuite/libgomp.c/omp-nested-2.c: New test.
10608
10609 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
10610
10611 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10612 target openacc_nvidia_accel_selected.
10613 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10614 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10615 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10616 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10617
10618 2015-12-01 Julian Brown <julian@codesourcery.com>
10619 James Norris <James_Norris@mentor.com>
10620
10621 * oacc-parallel.c (GOACC_host_data): New function.
10622 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10623 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10624 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10625 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10626 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10627 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10628 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10629
10630 2015-11-30 James Norris <jnorris@codesourcery.com>
10631 Cesar Philippidis <cesar@codesourcery.com>
10632
10633 libgomp/
10634 * libgomp.oacc-fortran/routine-5.f90: New test.
10635 * libgomp.oacc-fortran/routine-7.f90: New test.
10636 * libgomp.oacc-fortran/routine-9.f90: New test.
10637
10638 2015-11-30 Tom de Vries <tom@codesourcery.com>
10639
10640 PR tree-optimization/46032
10641 * testsuite/libgomp.c/pr46032.c: New test.
10642
10643 2015-11-27 Jakub Jelinek <jakub@redhat.com>
10644
10645 PR libgomp/68579
10646 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10647 (gomp_create_target_task): Call it before freeing
10648 GOMP_TARGET_TASK_DATA tasks.
10649
10650 PR c/63326
10651 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10652 in between case label and OpenMP standalone directives.
10653 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10654
10655 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
10656
10657 * configure: Regenerate.
10658
10659 2015-11-26 Jakub Jelinek <jakub@redhat.com>
10660
10661 * testsuite/libgomp.c/target-35.c: New test.
10662
10663 2015-11-22 James Norris <jnorris@codesourcery.com>
10664 Cesar Philippidis <cesar@codesourcery.com>
10665
10666 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10667 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10668 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10669 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10670 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10671
10672 2015-11-20 Jakub Jelinek <jakub@redhat.com>
10673
10674 PR middle-end/68221
10675 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10676 * testsuite/libgomp.c/reduction-12.c: Likewise.
10677 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10678 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10679
10680 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
10681
10682 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10683 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10684 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10685 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10686 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10687 and fix.
10688 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10689 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10690
10691 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
10692
10693 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10694 worker & gang cases.
10695 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10696
10697 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
10698
10699 * config/nvptx/priority_queue.c: New file.
10700
10701 2015-11-14 Jakub Jelinek <jakub@redhat.com>
10702
10703 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10704 sections.
10705
10706 2015-11-14 Jakub Jelinek <jakub@redhat.com>
10707 Aldy Hernandez <aldyh@redhat.com>
10708 Ilya Verbin <ilya.verbin@intel.com>
10709
10710 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10711 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10712 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10713 iterators or IV by chunk size.
10714 * parallel.c (gomp_resolve_num_threads): Don't assume that
10715 if thr->ts.team is non-NULL, then pool must be non-NULL.
10716 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10717 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10718 GOMP_PLUGIN_target_task_completion.
10719 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10720 * Makefile.in: Regenerate.
10721 * libgomp.h: Shuffle prototypes and forward definitions around so
10722 priority queues can be defined.
10723 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10724 (enum gomp_target_task_state): New enum.
10725 (struct gomp_target_task): Add state, tgt, task and team fields.
10726 (gomp_create_target_task): Change return type to bool, add
10727 state argument.
10728 (gomp_target_task_fn): Change return type to bool.
10729 (struct gomp_device_descr): Add async_run_func.
10730 (struct gomp_task): Remove children, next_child, prev_child,
10731 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10732 Add pnode field.
10733 (struct gomp_taskgroup): Remove children.
10734 Add taskgroup_queue.
10735 (struct gomp_team): Change task_queue type to a priority queue.
10736 (splay_compare): Define inline.
10737 (priority_queue_offset): New.
10738 (priority_node_to_task): New.
10739 (task_to_priority_node): New.
10740 * oacc-mem.c: Do not include splay-tree.h.
10741 * priority_queue.c: New file.
10742 * priority_queue.h: New file.
10743 * splay-tree.c: Do not include splay-tree.h.
10744 (splay_tree_foreach_internal): New.
10745 (splay_tree_foreach): New.
10746 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10747 (splay_tree_callback): Define typedef.
10748 * target.c (splay_compare): Move to libgomp.h.
10749 (GOMP_target): Don't adjust *thr in any way around running offloaded
10750 task.
10751 (GOMP_target_ext): Likewise. Handle target nowait.
10752 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10753 return value from gomp_create_target_task, if false, fallthrough
10754 as if no dependencies exist.
10755 (gomp_target_task_fn): Change return type to bool, return true
10756 if the task should have another part scheduled later. Handle
10757 target nowait.
10758 (gomp_load_plugin_for_device): Initialize async_run.
10759 * task.c (gomp_init_task): Initialize children_queue.
10760 (gomp_clear_parent_in_list): New.
10761 (gomp_clear_parent_in_tree): New.
10762 (gomp_clear_parent): Handle priorities.
10763 (GOMP_task): Likewise.
10764 (priority_queue_move_task_first,
10765 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10766 New functions.
10767 (gomp_create_target_task): Use priority queues. Change return type
10768 to bool, add state argument, return false if for async
10769 {{enter,exit} data,update} constructs no dependencies need to be
10770 waited for, handle target nowait. Set task->fn to NULL instead of
10771 gomp_target_task_fn.
10772 (verify_children_queue): Remove.
10773 (priority_list_upgrade_task): New.
10774 (priority_queue_upgrade_task): New.
10775 (verify_task_queue): Remove.
10776 (priority_list_downgrade_task): New.
10777 (priority_queue_downgrade_task): New.
10778 (gomp_task_run_pre): Use priority queues.
10779 Abstract code out to priority_queue_downgrade_task.
10780 (gomp_task_run_post_handle_dependers): Use priority queues.
10781 (gomp_task_run_post_remove_parent): Likewise.
10782 (gomp_task_run_post_remove_taskgroup): Likewise.
10783 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10784 tasks specially.
10785 (GOMP_taskwait): Likewise.
10786 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10787 priority-queue_upgrade_task.
10788 (GOMP_taskgroup_start): Use priority queues.
10789 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10790 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10791 barrier.
10792 * taskloop.c (GOMP_taskloop): Handle priorities.
10793 * team.c (gomp_new_team): Call priority_queue_init.
10794 (free_team): Call priority_queue_free.
10795 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10796 team created for target nowait in implicit parallel region.
10797 (gomp_team_start): For nested check, test thr->ts.level instead of
10798 thr->ts.team != NULL.
10799 * testsuite/libgomp.c/doacross-3.c: New test.
10800 * testsuite/libgomp.c/ordered-5.c: New test.
10801 * testsuite/libgomp.c/priority.c: New test.
10802 * testsuite/libgomp.c/target-31.c: New test.
10803 * testsuite/libgomp.c/target-32.c: New test.
10804 * testsuite/libgomp.c/target-33.c: New test.
10805 * testsuite/libgomp.c/target-34.c: New test.
10806
10807 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10808
10809 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10810
10811 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10812 loop is sequential.
10813
10814 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10815
10816 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10817 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10818
10819 2015-11-12 James Norris <jnorris@codesourcery.com>
10820 Joseph Myers <joseph@codesourcery.com>
10821
10822 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10823 * oacc-parallel.c (GOACC_declare): New function.
10824 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10825 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10826 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10827 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10828 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10829
10830 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
10831
10832 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10833
10834 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
10835
10836 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10837 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10838
10839 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10840
10841 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10842 inadvertent commit.
10843
10844 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10845
10846 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10847 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10848 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10849 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10850 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10851
10852 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
10853
10854 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10855 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10856
10857 2015-11-05 Jakub Jelinek <jakub@redhat.com>
10858 Ilya Verbin <ilya.verbin@intel.com>
10859
10860 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10861 GOMP_loop_nonmonotonic_dynamic_start,
10862 GOMP_loop_nonmonotonic_guided_next,
10863 GOMP_loop_nonmonotonic_guided_start,
10864 GOMP_loop_ull_nonmonotonic_dynamic_next,
10865 GOMP_loop_ull_nonmonotonic_dynamic_start,
10866 GOMP_loop_ull_nonmonotonic_guided_next,
10867 GOMP_loop_ull_nonmonotonic_guided_start,
10868 GOMP_parallel_loop_nonmonotonic_dynamic,
10869 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10870 (GOMP_target_41): Renamed to ...
10871 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10872 arguments.
10873 (GOMP_target_data_41): Renamed to ...
10874 (GOMP_target_data_ext): ... this.
10875 (GOMP_target_update_41): Renamed to ...
10876 (GOMP_target_update_ext): ... this.
10877 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10878 GOMP_target_data_ext and GOMP_target_update_ext instead of
10879 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10880 Export GOMP_loop_nonmonotonic_dynamic_next,
10881 GOMP_loop_nonmonotonic_dynamic_start,
10882 GOMP_loop_nonmonotonic_guided_next,
10883 GOMP_loop_nonmonotonic_guided_start,
10884 GOMP_loop_ull_nonmonotonic_dynamic_next,
10885 GOMP_loop_ull_nonmonotonic_dynamic_start,
10886 GOMP_loop_ull_nonmonotonic_guided_next,
10887 GOMP_loop_ull_nonmonotonic_guided_start,
10888 GOMP_parallel_loop_nonmonotonic_dynamic and
10889 GOMP_parallel_loop_nonmonotonic_guided.
10890 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10891 GOMP_parallel_loop_nonmonotonic_guided,
10892 GOMP_loop_nonmonotonic_dynamic_start,
10893 GOMP_loop_nonmonotonic_guided_start,
10894 GOMP_loop_nonmonotonic_dynamic_next,
10895 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10896 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10897 GOMP_loop_ull_nonmonotonic_guided_start,
10898 GOMP_loop_ull_nonmonotonic_dynamic_next,
10899 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10900 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10901 functions.
10902 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10903 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10904 Use gomp_map_val function.
10905 (gomp_target_fallback_firstprivate): New static function.
10906 (GOMP_target_41): Renamed to ...
10907 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10908 arguments. Move firstprivate fallback handling into a new
10909 function.
10910 (GOMP_target_data_41): Renamed to ...
10911 (GOMP_target_data_ext): ... this.
10912 (GOMP_target_update_41): Renamed to ...
10913 (GOMP_target_update_ext): ... this.
10914 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10915 gomp_map_0len_lookup instead of gomp_map_lookup.
10916 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10917 gomp_map_lookup.
10918 * testsuite/libgomp.c/target-28.c: Likewise.
10919 * testsuite/libgomp.c/monotonic-1.c: New test.
10920 * testsuite/libgomp.c/monotonic-2.c: New test.
10921 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10922 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10923 * testsuite/libgomp.c/pr66199-5.c: New test.
10924 * testsuite/libgomp.c/pr66199-6.c: New test.
10925 * testsuite/libgomp.c/pr66199-7.c: New test.
10926 * testsuite/libgomp.c/pr66199-8.c: New test.
10927 * testsuite/libgomp.c/pr66199-9.c: New test.
10928 * testsuite/libgomp.c/reduction-11.c: New test.
10929 * testsuite/libgomp.c/reduction-12.c: New test.
10930 * testsuite/libgomp.c/reduction-13.c: New test.
10931 * testsuite/libgomp.c/reduction-14.c: New test.
10932 * testsuite/libgomp.c/reduction-15.c: New test.
10933 * testsuite/libgomp.c/target-12.c (main): Adjust for
10934 omp_target_is_present change for one-past-last element.
10935 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10936 the same var is both mapped and privatized.
10937 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10938 handling of zero-length array sections.
10939 * testsuite/libgomp.c/target-28.c: New test.
10940 * testsuite/libgomp.c/target-29.c: New test.
10941 * testsuite/libgomp.c/target-30.c: New test.
10942 * testsuite/libgomp.c/target-teams-1.c: New test.
10943 * testsuite/libgomp.c++/member-6.C: New test.
10944 * testsuite/libgomp.c++/member-7.C: New test.
10945 * testsuite/libgomp.c++/monotonic-1.C: New test.
10946 * testsuite/libgomp.c++/monotonic-2.C: New test.
10947 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10948 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10949 * testsuite/libgomp.c++/pr66199-3.C: New test.
10950 * testsuite/libgomp.c++/pr66199-4.C: New test.
10951 * testsuite/libgomp.c++/pr66199-5.C: New test.
10952 * testsuite/libgomp.c++/pr66199-6.C: New test.
10953 * testsuite/libgomp.c++/pr66199-7.C: New test.
10954 * testsuite/libgomp.c++/pr66199-8.C: New test.
10955 * testsuite/libgomp.c++/pr66199-9.C: New test.
10956 * testsuite/libgomp.c++/reduction-11.C: New test.
10957 * testsuite/libgomp.c++/reduction-12.C: New test.
10958 * testsuite/libgomp.c++/target-13.C: New test.
10959 * testsuite/libgomp.c++/target-14.C: New test.
10960 * testsuite/libgomp.c++/target-15.C: New test.
10961 * testsuite/libgomp.c++/target-16.C: New test.
10962 * testsuite/libgomp.c++/target-17.C: New test.
10963 * testsuite/libgomp.c++/target-18.C: New test.
10964 * testsuite/libgomp.c++/target-19.C: New test.
10965
10966 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10967
10968 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10969 and reduction copy.
10970 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10971 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10972 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10973 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10974 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10975 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10976 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10977 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10978 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10979 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10980 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10981 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10982 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10983 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10984
10985 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10986
10987 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10988 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10989 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10990 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10991 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10992 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10993 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10994 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10995
10996 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
10997
10998 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10999 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
11000 (GOMP_OFFLOAD_openacc_parallel): Likewise.
11001 * oacc-host.c (host_openacc_exec): Likewise.
11002 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
11003
11004 2015-11-03 Julian Brown <julian@codesourcery.com>
11005 Thomas Schwinge <thomas@codesourcery.com>
11006
11007 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
11008 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11009 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
11010 Likewise.
11011 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
11012 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
11013
11014 2015-11-03 James Norris <jnorris@codesourcery.com>
11015
11016 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
11017 file.
11018 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
11019 Likewise.
11020 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
11021 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
11022 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11023 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
11024 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11025
11026 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
11027
11028 * openacc.h (enum acc_device_t): Reformat. Ensure layout
11029 compatibility.
11030 (enum acc_async_t): Reformat.
11031 (acc_on_device): Declare compatible with builtin and provide C++
11032 wrapper.
11033 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
11034
11035 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
11036 Cesar Philippidis <cesar@codesourcery.com>
11037
11038 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
11039 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
11040 ... this. Add a description of the test at the top of the file.
11041 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
11042 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
11043 ... this. Add a description of the test at the top of the file.
11044
11045 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
11046
11047 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
11048 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
11049 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
11050 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
11051 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
11052 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
11053
11054 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
11055
11056 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
11057 dimensions.
11058
11059 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
11060
11061 PR testsuite/68063
11062 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
11063
11064 2015-10-27 James Norris <jnorris@codesourcery.com>
11065
11066 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
11067 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
11068
11069 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
11070
11071 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
11072 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11073
11074 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
11075 acc_device_nvidia usage.
11076 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11077 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11078 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11079
11080 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
11081 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
11082
11083 PR libgomp/66518
11084 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
11085
11086 PR libgomp/65437
11087 PR libgomp/66518
11088 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
11089 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
11090
11091 2015-10-23 Tom de Vries <tom@codesourcery.com>
11092
11093 PR testsuite/68063
11094 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
11095
11096 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
11097
11098 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
11099 vector_length.
11100 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11101
11102 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
11103 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
11104
11105 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
11106 to 0 when mapnum is 0.
11107
11108 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
11109
11110 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
11111 Cast to int from int32_t.
11112
11113 2015-10-13 Jakub Jelinek <jakub@redhat.com>
11114 Aldy Hernandez <aldyh@redhat.com>
11115 Ilya Verbin <ilya.verbin@intel.com>
11116
11117 * config/linux/affinity.c (omp_get_place_num_procs,
11118 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11119 * config/linux/doacross.h: New file.
11120 * config/posix/affinity.c (omp_get_place_num_procs,
11121 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11122 * config/posix/doacross.h: New file.
11123 * env.c: Include gomp-constants.h.
11124 (struct gomp_task_icv): Rename run_sched_modifier to
11125 run_sched_chunk_size.
11126 (gomp_max_task_priority_var): New variable.
11127 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
11128 (handle_omp_display_env): Change _OPENMP value from 201307 to
11129 201511. Print OMP_MAX_TASK_PRIORITY.
11130 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
11131 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
11132 chunk_size and run_sched_modifier to run_sched_chunk_size.
11133 (omp_get_max_task_priority, omp_get_initial_device,
11134 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
11135 omp_get_partition_place_nums): New functions.
11136 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
11137 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
11138 to chunk_size.
11139 (omp_get_num_places_, omp_get_place_num_procs_,
11140 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
11141 omp_get_place_proc_ids_8_, omp_get_place_num_,
11142 omp_get_partition_num_places_, omp_get_partition_place_nums_,
11143 omp_get_partition_place_nums_8_, omp_get_initial_device_,
11144 omp_get_max_task_priority_): New functions.
11145 * libgomp_g.h (GOMP_loop_doacross_static_start,
11146 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
11147 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
11148 GOMP_loop_ull_doacross_dynamic_start,
11149 GOMP_loop_ull_doacross_guided_start,
11150 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
11151 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
11152 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
11153 GOMP_target_data_41, GOMP_target_update_41,
11154 GOMP_target_enter_exit_data): New prototypes.
11155 (GOMP_task): Add prototype argument.
11156 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
11157 (struct gomp_doacross_work_share): New type.
11158 (struct gomp_work_share): Add doacross field.
11159 (struct gomp_task_icv): Rename run_sched_modifier to
11160 run_sched_chunk_size.
11161 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
11162 GOMP_TASK_UNDEFERRED. Add comments.
11163 (struct gomp_task_depend_entry): Add comments.
11164 (struct gomp_task): Likewise.
11165 (struct gomp_taskgroup): Likewise.
11166 (struct gomp_target_task): New type.
11167 (struct gomp_team): Add comment.
11168 (gomp_get_place_proc_ids_8, gomp_doacross_init,
11169 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
11170 gomp_create_target_task, gomp_target_task_fn): New prototypes.
11171 (struct target_var_desc): New type.
11172 (struct target_mem_desc): Adjust comment. Use struct
11173 target_var_desc instead of splay_tree_key for list.
11174 (REFCOUNT_INFINITY): Define.
11175 (struct splay_tree_key_s): Remove copy_from field.
11176 (struct gomp_device_descr): Add dev2dev_func field.
11177 (enum gomp_map_vars_kind): New enum.
11178 (gomp_map_vars): Add one argument.
11179 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
11180 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11181 omp_get_place_num_procs, omp_get_place_num_procs_,
11182 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11183 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11184 omp_get_place_num_, omp_get_partition_num_places,
11185 omp_get_partition_num_places_, omp_get_partition_place_nums,
11186 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11187 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11188 omp_target_free, omp_target_is_present, omp_target_memcpy,
11189 omp_target_memcpy_rect, omp_target_associate_ptr and
11190 omp_target_disassociate_ptr.
11191 (GOMP_4.0.2): Renamed to ...
11192 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11193 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11194 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11195 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11196 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11197 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11198 GOMP_loop_ull_doacross_guided_start,
11199 GOMP_loop_ull_doacross_runtime_start,
11200 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11201 GOMP_doacross_ull_wait.
11202 * libgomp.texi: Document omp_get_max_task_priority.
11203 Rename modifier argument to chunk_size for omp_set_schedule and
11204 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11205 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11206 to run_sched_chunk_size renaming.
11207 (GOMP_loop_ordered_runtime_start): Likewise.
11208 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11209 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11210 GOMP_parallel_loop_runtime_start): New functions.
11211 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11212 to run_sched_chunk_size renaming.
11213 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11214 GOMP_loop_doacross_guided_start): New functions or aliases.
11215 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11216 run_sched_modifier to run_sched_chunk_size renaming.
11217 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11218 (gomp_loop_ull_doacross_static_start,
11219 gomp_loop_ull_doacross_dynamic_start,
11220 gomp_loop_ull_doacross_guided_start,
11221 GOMP_loop_ull_doacross_runtime_start): New functions.
11222 (GOMP_loop_ull_doacross_static_start,
11223 GOMP_loop_ull_doacross_dynamic_start,
11224 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11225 * oacc-mem.c (acc_map_data, present_create_copy,
11226 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11227 to gomp_map_vars.
11228 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11229 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11230 instead of false to gomp_map_vars.
11231 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11232 * omp.h.in (omp_lock_hint_t): New type.
11233 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11234 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11235 omp_get_place_num, omp_get_partition_num_places,
11236 omp_get_partition_place_nums, omp_get_initial_device,
11237 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11238 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11239 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11240 prototypes.
11241 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11242 (omp_lock_hint_none, omp_lock_hint_uncontended,
11243 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11244 omp_lock_hint_speculative): New parameters.
11245 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11246 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11247 omp_get_place_num, omp_get_partition_num_places,
11248 omp_get_partition_place_nums, omp_get_initial_device,
11249 omp_get_max_task_priority): New interfaces.
11250 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11251 to chunk_size.
11252 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11253 (omp_lock_hint_none, omp_lock_hint_uncontended,
11254 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11255 omp_lock_hint_speculative): New parameters.
11256 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11257 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11258 omp_get_place_num, omp_get_partition_num_places,
11259 omp_get_partition_place_nums, omp_get_initial_device,
11260 omp_get_max_task_priority): New functions and subroutines.
11261 * ordered.c: Include stdarg.h and string.h.
11262 (MAX_COLLAPSED_BITS): Define.
11263 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11264 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11265 GOMP_doacross_ull_wait): New functions.
11266 * target.c: Include errno.h.
11267 (resolve_device): If device is not initialized, call
11268 gomp_init_device on it.
11269 (gomp_map_lookup): New function.
11270 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11271 Don't bump refcount if REFCOUNT_INFINITY. Handle
11272 GOMP_MAP_ALWAYS_TO_P.
11273 (get_kind): Rename is_openacc argument to short_mapkind.
11274 (gomp_map_pointer): Use gomp_map_lookup.
11275 (gomp_map_fields_existing): New function.
11276 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11277 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11278 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11279 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11280 Adjust for tgt->list changed type and copy_from living in there.
11281 (gomp_copy_from_async): Adjust for tgt->list changed type and
11282 copy_from living in there.
11283 (gomp_unmap_vars): Likewise.
11284 (gomp_update): Likewise. Rename is_openacc argument to
11285 short_mapkind. Don't fail if object is not mapped.
11286 (gomp_load_image_to_device): Initialize refcount to
11287 REFCOUNT_INFINITY.
11288 (gomp_target_fallback): New function.
11289 (gomp_get_target_fn_addr): Likewise.
11290 (GOMP_target): Adjust gomp_map_vars caller, use
11291 gomp_get_target_fn_addr and gomp_target_fallback.
11292 (GOMP_target_41): New function.
11293 (gomp_target_data_fallback): New function.
11294 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11295 (GOMP_target_data_41): New function.
11296 (GOMP_target_update): Adjust gomp_update caller.
11297 (GOMP_target_update_41): New function.
11298 (gomp_exit_data, GOMP_target_enter_exit_data,
11299 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11300 omp_target_is_present, omp_target_memcpy,
11301 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11302 omp_target_associate_ptr, omp_target_disassociate_ptr,
11303 gomp_load_plugin_for_device): New functions.
11304 * task.c: Include gomp-constants.h. Include taskloop.c
11305 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11306 (gomp_task_handle_depend): New function.
11307 (GOMP_task): Use it. Add priority argument. Use
11308 gomp-constant.h constants instead of hardcoded numbers.
11309 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11310 (gomp_create_target_task): New function.
11311 (verify_children_queue, verify_taskgroup_queue,
11312 verify_task_queue): New functions.
11313 (gomp_task_run_pre): Call verify_*_queue functions.
11314 If an upcoming tied task is about to leave the sibling or
11315 taskgroup queues in an invalid state, adjust appropriately.
11316 Remove taskgroup argument. Add comments.
11317 (gomp_task_run_post_handle_dependers): Add comments.
11318 (gomp_task_run_post_remove_parent): Likewise.
11319 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11320 (GOMP_taskwait): Likewise. Add comments.
11321 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11322 problem such that the first non parent_depends_on task does not
11323 end up at the end of the children queue.
11324 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11325 GOMP_TASK_UNDEFERRED.
11326 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11327 * taskloop.c: New file.
11328 * testsuite/lib/libgomp.exp
11329 (check_effective_target_offload_device_nonshared_as): New proc.
11330 * testsuite/libgomp.c/affinity-2.c: New test.
11331 * testsuite/libgomp.c/doacross-1.c: New test.
11332 * testsuite/libgomp.c/doacross-2.c: New test.
11333 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11334 Add map clause to target.
11335 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11336 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11337 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11338 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11339 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11340 Likewise.
11341 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11342 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11343 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11344 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11345 not defined. Use those where needed.
11346 * testsuite/libgomp.c/for-4.c: New test.
11347 * testsuite/libgomp.c/for-5.c: New test.
11348 * testsuite/libgomp.c/for-6.c: New test.
11349 * testsuite/libgomp.c/linear-1.c: New test.
11350 * testsuite/libgomp.c/ordered-4.c: New test.
11351 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11352 only allowed on the loop iterator.
11353 * testsuite/libgomp.c/pr66199-3.c: New test.
11354 * testsuite/libgomp.c/pr66199-4.c: New test.
11355 * testsuite/libgomp.c/reduction-7.c: New test.
11356 * testsuite/libgomp.c/reduction-8.c: New test.
11357 * testsuite/libgomp.c/reduction-9.c: New test.
11358 * testsuite/libgomp.c/reduction-10.c: New test.
11359 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11360 map(tofrom:s).
11361 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11362 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11363 * testsuite/libgomp.c/target-11.c: New test.
11364 * testsuite/libgomp.c/target-12.c: New test.
11365 * testsuite/libgomp.c/target-13.c: New test.
11366 * testsuite/libgomp.c/target-14.c: New test.
11367 * testsuite/libgomp.c/target-15.c: New test.
11368 * testsuite/libgomp.c/target-16.c: New test.
11369 * testsuite/libgomp.c/target-17.c: New test.
11370 * testsuite/libgomp.c/target-18.c: New test.
11371 * testsuite/libgomp.c/target-19.c: New test.
11372 * testsuite/libgomp.c/target-20.c: New test.
11373 * testsuite/libgomp.c/target-21.c: New test.
11374 * testsuite/libgomp.c/target-22.c: New test.
11375 * testsuite/libgomp.c/target-23.c: New test.
11376 * testsuite/libgomp.c/target-24.c: New test.
11377 * testsuite/libgomp.c/target-25.c: New test.
11378 * testsuite/libgomp.c/target-26.c: New test.
11379 * testsuite/libgomp.c/target-27.c: New test.
11380 * testsuite/libgomp.c/taskloop-1.c: New test.
11381 * testsuite/libgomp.c/taskloop-2.c: New test.
11382 * testsuite/libgomp.c/taskloop-3.c: New test.
11383 * testsuite/libgomp.c/taskloop-4.c: New test.
11384 * testsuite/libgomp.c++/ctor-13.C: New test.
11385 * testsuite/libgomp.c++/doacross-1.C: New test.
11386 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11387 Replace offload_device with offload_device_nonshared_as.
11388 * testsuite/libgomp.c++/for-12.C: New test.
11389 * testsuite/libgomp.c++/for-13.C: New test.
11390 * testsuite/libgomp.c++/for-14.C: New test.
11391 * testsuite/libgomp.c++/linear-1.C: New test.
11392 * testsuite/libgomp.c++/member-1.C: New test.
11393 * testsuite/libgomp.c++/member-2.C: New test.
11394 * testsuite/libgomp.c++/member-3.C: New test.
11395 * testsuite/libgomp.c++/member-4.C: New test.
11396 * testsuite/libgomp.c++/member-5.C: New test.
11397 * testsuite/libgomp.c++/ordered-1.C: New test.
11398 * testsuite/libgomp.c++/reduction-5.C: New test.
11399 * testsuite/libgomp.c++/reduction-6.C: New test.
11400 * testsuite/libgomp.c++/reduction-7.C: New test.
11401 * testsuite/libgomp.c++/reduction-8.C: New test.
11402 * testsuite/libgomp.c++/reduction-9.C: New test.
11403 * testsuite/libgomp.c++/reduction-10.C: New test.
11404 * testsuite/libgomp.c++/reference-1.C: New test.
11405 * testsuite/libgomp.c++/simd14.C: New test.
11406 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11407 * testsuite/libgomp.c++/target-5.C: New test.
11408 * testsuite/libgomp.c++/target-6.C: New test.
11409 * testsuite/libgomp.c++/target-7.C: New test.
11410 * testsuite/libgomp.c++/target-8.C: New test.
11411 * testsuite/libgomp.c++/target-9.C: New test.
11412 * testsuite/libgomp.c++/target-10.C: New test.
11413 * testsuite/libgomp.c++/target-11.C: New test.
11414 * testsuite/libgomp.c++/target-12.C: New test.
11415 * testsuite/libgomp.c++/taskloop-1.C: New test.
11416 * testsuite/libgomp.c++/taskloop-2.C: New test.
11417 * testsuite/libgomp.c++/taskloop-3.C: New test.
11418 * testsuite/libgomp.c++/taskloop-4.C: New test.
11419 * testsuite/libgomp.c++/taskloop-5.C: New test.
11420 * testsuite/libgomp.c++/taskloop-6.C: New test.
11421 * testsuite/libgomp.c++/taskloop-7.C: New test.
11422 * testsuite/libgomp.c++/taskloop-8.C: New test.
11423 * testsuite/libgomp.c++/taskloop-9.C: New test.
11424 * testsuite/libgomp.fortran/affinity1.f90: New test.
11425 * testsuite/libgomp.fortran/affinity2.f90: New test.
11426
11427 2015-10-13 Tom de Vries <tom@codesourcery.com>
11428
11429 PR tree-optimization/67476
11430 * testsuite/libgomp.c/autopar-3.c: New test.
11431 * testsuite/libgomp.c/autopar-4.c: New test.
11432 * testsuite/libgomp.c/autopar-5.c: New test.
11433 * testsuite/libgomp.c/autopar-6.c: New test.
11434 * testsuite/libgomp.c/autopar-7.c: New test.
11435 * testsuite/libgomp.c/autopar-8.c: New test.
11436
11437 2015-10-12 James Norris <jnorris@codesourcery.com>
11438
11439 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11440 initializer.
11441
11442 2015-10-09 David Malcolm <dmalcolm@redhat.com>
11443
11444 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11445 using load_gcc_lib.
11446
11447 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11448
11449 * oacc-ptx.h: Remove file, moving its content into...
11450 * config/nvptx/fortran.c: ... here...
11451 * config/nvptx/oacc-init.c: ..., here...
11452 * config/nvptx/oacc-parallel.c: ..., and here.
11453 * config/nvptx/openacc.f90: New file.
11454 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11455 (link_ptx): Don't link in predefined bits of PTX code.
11456
11457 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11458 Bernd Schmidt <bernds@codesourcery.com>
11459
11460 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11461 (struct targ_ptx_obj): New.
11462 (nvptx_tdata): Move earlier, change data format.
11463 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11464 objects.
11465 (GOMP_OFFLOAD_load_image): Adjust.
11466
11467 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11468
11469 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11470 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11471 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11472 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11473 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11474 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11475 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11476 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11477 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11478 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11479 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11480 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11481 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11482 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11483 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11484 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11485 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11486 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11487 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11488 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11489 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11490 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11491 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11492 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11493 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11494 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11495 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11496 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11497 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11498 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11499 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11500 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11501 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11502 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11503 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11504 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11505 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11506 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11507 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11508 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11509 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11510 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11511 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11512 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11513 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11514 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11515 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11516 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11517 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11518 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11519 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11520 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11521 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11522 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11523 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11524 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11525 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11526 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11527 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11528 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11529 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11530 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11531 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11532
11533 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11534
11535 * oacc-init.c (acc_on_device): Force optimization level.
11536
11537 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11538
11539 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11540 (cuda_errlist): Delete.
11541 (cuda_error): Reimplement.
11542
11543 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11544
11545 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11546 array.
11547 * libgomp.map (GOACC_parallel_keyed): New.
11548 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11549 all callers.
11550 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11551 and take keyed varargs list. Adjust call to exec_func.
11552 (GOACC_parallel): Force host fallback.
11553 * libgomp_g.h (GOACC_parallel): Remove.
11554 (GOACC_parallel_keyed): Declare.
11555 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11556 (struct targ_gn_descriptor): Replace name field with launch field.
11557 (nvptx_exec): Lose separate geometry args, take array. Process
11558 dynamic dimensions and adjust.
11559 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11560 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11561 data.
11562 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11563 passing.
11564 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11565 passing.
11566
11567 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11568
11569 PR libgomp/67141
11570 * oacc-int.h (goacc_host_init): Add declaration.
11571 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11572 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11573
11574 2015-09-08 Aditya Kumar <hiraditya@msn.com>
11575 Sebastian Pop <s.pop@samsung.com>
11576
11577 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11578 match o/p.
11579 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11580 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11581 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11582 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11583 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11584
11585 2015-09-03 Jakub Jelinek <jakub@redhat.com>
11586
11587 * configure.tgt: Add missing ;; in between nvptx and rtems
11588 snippets.
11589
11590 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11591
11592 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11593 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11594 (gomp_thread_pool_reservoir): Add priority member.
11595 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11596 priority.
11597 (parse_thread_pools): Likewise.
11598 * team.c (gomp_team_start): Call configuration provided
11599 gomp_adjust_thread_attr(). Destroy thread attributes if
11600 necessary.
11601 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11602
11603 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11604
11605 * config/posix/pool.h: New.
11606 * config/rtems/pool.h: Likewise.
11607 * config/rtems/proc.c: Likewise.
11608 * libgomp.h (gomp_thread_destructor): Declare.
11609 * team.c: Include configuration provided "pool.h".
11610 (gomp_get_thread_pool): Define in configuration.
11611 (gomp_team_end): Call configuration defined
11612 gomp_release_thread_pool().
11613
11614 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11615
11616 * config/rtems/bar.c: New.
11617 * config/rtems/bar.h: Likewise.
11618 * config/rtems/mutex.c: Likewise.
11619 * config/rtems/mutex.h: Likewise.
11620 * config/rtems/sem.c: Likewise.
11621 * config/rtems/sem.h: Likewise.
11622 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11623 <sys/lock.h> header file.
11624 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11625 supported by Newlib.
11626 * configure: Regenerate.
11627
11628 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11629
11630 * team.c (gomp_new_thread_pool): Delete and move content to ...
11631 (gomp_get_thread_pool): ... new function. Allocate and
11632 initialize thread pool on demand.
11633 (get_last_team): Use gomp_get_thread_pool().
11634 (gomp_team_start): Delete thread pool initialization.
11635
11636 2015-09-03 Tom de Vries <tom@codesourcery.com>
11637
11638 PR tree-optimization/65637
11639 * testsuite/libgomp.c/autopar-2.c: New test.
11640
11641 2015-08-29 Tom de Vries <tom@codesourcery.com>
11642
11643 PR tree-optimization/46193
11644 * testsuite/libgomp.c/pr46193.c: New test.
11645
11646 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
11647
11648 libgomp/
11649 * libgomp.map: Add 4.0.2 version.
11650 * target.c (offload_image_descr): Add version field.
11651 (gomp_load_image_to_device): Add version argument. Adjust plugin
11652 call. Improve load mismatch diagnostic.
11653 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11654 call.
11655 (GOMP_offload_regster): Make stub function, move bulk to ...
11656 (GOMP_offload_register_ver): ... here. Process version argument.
11657 (GOMP_offload_unregister): Make stub function, move bulk to ...
11658 (GOMP_offload_unregister_ver): ... here. Process version argument.
11659 (gomp_init_device): Process version field.
11660 (gomp_unload_device): Process version field.
11661 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11662 macros. Check plugin version.
11663 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11664 loader and unloader types.
11665 * oacc-host.c: Include gomp-constants.h.
11666 (host_version): New.
11667 (host_load_image, host_unload_image): Adjust.
11668 (host_dispatch): Add host_version.
11669 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11670 (GOMP_OFFLOAD_version): New.
11671 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11672 (GOMP_OFFLOAD_unload_image): Likewise.
11673 * plugin/plugin-host.c: Include gomp-constants.h.
11674 (GOMP_OFFLOAD_version): New.
11675 (GOMP_OFFLOAD_load_image): Add version arg.
11676 (GOMP_OFFLOAD_unload_image): Likewise.
11677
11678 2015-08-24 Tom de Vries <tom@codesourcery.com>
11679
11680 PR tree-optimization/65468
11681 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11682
11683 2015-08-24 Tom de Vries <tom@codesourcery.com>
11684
11685 PR tree-optimization/65468
11686 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11687
11688 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
11689
11690 PR libgomp/66761
11691 PR libgomp/67303
11692 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11693 (gomp_iter_guided_next): Idem.
11694 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11695 (gomp_iter_ull_guided_next): Idem.
11696 * config/linux/wait.h (do_spin): Idem.
11697
11698 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11699
11700 * libgomp-plugin.h (enum offload_target_type): Remove
11701 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11702 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11703 * openacc.h (enum acc_device_t): Likewise.
11704 * openacc_lib.h: Likewise.
11705 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11706 (acc_on_device): Just use __builtin_acc_on_device.
11707 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11708 of acc_on_device builtin.
11709 * plugin/plugin-host.h: Remove file.
11710 * plugin/plugin-host.c: Likewise, but salvage some content into...
11711 * oacc-host.c: ... this file.
11712 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11713 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11714 * Makefile.in: Regenerate.
11715 * configure: Likewise.
11716 * testsuite/lib/libgomp.exp
11717 (check_effective_target_openacc_host_nonshm_selected): Remove.
11718 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11719 ACC_DEVICE_TYPE=host_nonshm.
11720 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11721 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11722 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11723 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11724 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11725 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11726
11727 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11728 Jakub Jelinek <jakub@redhat.com>
11729
11730 * config/nvptx/affinity.c: New file.
11731 * config/nvptx/alloc.c: Likewise.
11732 * config/nvptx/bar.c: Likewise.
11733 * config/nvptx/barrier.c: Likewise.
11734 * config/nvptx/critical.c: Likewise.
11735 * config/nvptx/env.c: Likewise.
11736 * config/nvptx/error.c: Likewise.
11737 * config/nvptx/fortran.c: Likewise.
11738 * config/nvptx/iter.c: Likewise.
11739 * config/nvptx/iter_ull.c: Likewise.
11740 * config/nvptx/libgomp-plugin.c: Likewise.
11741 * config/nvptx/lock.c: Likewise.
11742 * config/nvptx/loop.c: Likewise.
11743 * config/nvptx/loop_ull.c: Likewise.
11744 * config/nvptx/mutex.c: Likewise.
11745 * config/nvptx/oacc-async.c: Likewise.
11746 * config/nvptx/oacc-cuda.c: Likewise.
11747 * config/nvptx/oacc-host.c: Likewise.
11748 * config/nvptx/oacc-init.c: Likewise.
11749 * config/nvptx/oacc-mem.c: Likewise.
11750 * config/nvptx/oacc-parallel.c: Likewise.
11751 * config/nvptx/oacc-plugin.c: Likewise.
11752 * config/nvptx/omp-lock.h: Likewise.
11753 * config/nvptx/ordered.c: Likewise.
11754 * config/nvptx/parallel.c: Likewise.
11755 * config/nvptx/proc.c: Likewise.
11756 * config/nvptx/ptrlock.c: Likewise.
11757 * config/nvptx/sections.c: Likewise.
11758 * config/nvptx/sem.c: Likewise.
11759 * config/nvptx/single.c: Likewise.
11760 * config/nvptx/splay-tree.c: Likewise.
11761 * config/nvptx/target.c: Likewise.
11762 * config/nvptx/task.c: Likewise.
11763 * config/nvptx/team.c: Likewise.
11764 * config/nvptx/time.c: Likewise.
11765 * config/nvptx/work.c: Likewise.
11766 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11767 * configure: Regenerate.
11768 * configure.tgt (config_path): Set to "nvptx" for target
11769 nvptx*-*-*.
11770
11771 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11772
11773 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11774
11775 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
11776
11777 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11778 (cuda_errlist): Constify.
11779 (errmsg): Move into ...
11780 (cuda_error): ... here. Make smaller.
11781 (_XSTR, _STR): Delete.
11782 (cuda_synames): Delete.
11783 (verify_device_library): Delete.
11784 (nvptx_init): Don't call it.
11785
11786 2015-07-28 Tom de Vries <tom@codesourcery.com>
11787
11788 * testsuite/libgomp.c/uns-outer-4.c: New test.
11789
11790 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
11791
11792 * testsuite/libgomp.c/pr66714.c: New test.
11793
11794 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
11795
11796 PR libgomp/66950
11797 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11798 (fib_ref): New function.
11799 (fib): Correct corner cases in the recursion.
11800 (main): Replace the non-simd loop with fib_ref call.
11801 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11802 subroutine.
11803 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11804 for the last array element value. Replace the non-simd loop with
11805 fib_ref call. Remove redundant b_ref array. Remove the comparison
11806 of the last array element with according Fibonacci sequence element.
11807 (fib): Correct corner cases in the recursion.
11808
11809 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
11810
11811 * target.c (gomp_offload_image_to_device): Rename to ...
11812 (gomp_load_image_to_device): ... here.
11813 (GOMP_offload_register): Adjust call.
11814 (gomp_init_device): Likewise.
11815 (gomp_unload_image_from_device): New. Broken out of ...
11816 (GOMP_offload_unregister): ... here. Call it.
11817 (gomp_unload_device): New.
11818 * libgomp.h (gomp_unload_device): Declare.
11819 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11820 mem maps.
11821
11822 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
11823
11824 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11825 wait=-specific if.
11826 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11827 !=0 condition.
11828 (goacc_waits): Move !num_waits handling to ...
11829 (GOACC_wait): ... here, the only caller that might have zero waits.
11830
11831 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11832 (struct ptx_image_data): Move earlier, add fns field.
11833 (struct ptx_device): Add images and image_lock fields.
11834 (ptx_images, ptx_image_lock): Delete.
11835 (nvptx_open_device): Initialize images and image_lock fields.
11836 (nvptx_close_device): Destroy image_lock.
11837 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11838 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11839 fields.
11840
11841 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
11842
11843 * target.c (GOMP_offload_register): Use int for device type arg.
11844 (GOMP_offload_unregister): Likewise.
11845
11846 * target.c (struct_offload_image_descr): Constify host_table.
11847 (gomp_offload_image_to_device): Likewise.
11848 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11849
11850 * libgomp.h (gomp_device_descr): Constify target data arguments.
11851 * target.c (struct offload_image_descr): Constify target_data.
11852 (gomp_offload_image_to_device): Likewise.
11853 (GOMP_offload_register): Likewise.
11854 (GOMP_offload_unregister): Likewise.
11855 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11856 GOMP_OFFLOAD_unload_image): Constify target data.
11857 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11858 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11859
11860 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
11861
11862 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11863 Workaround driver library const error.
11864 (struct nvptx_tdata, nvptx_tdata_t): New.
11865 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11866 type.
11867
11868 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
11869
11870 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11871 of EPS parameter from integer to real.
11872 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11873 type of EPS parameter from integer to real.
11874
11875 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
11876
11877 * team.c (get_last_team): New.
11878 (gomp_new_team): Recycle last non-nested team if possible.
11879 (gomp_team_end): Move team work share list free lock destruction
11880 to ...
11881 (free_team): ... here.
11882
11883 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
11884
11885 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11886 and ref from int to double. Replaced their comparison with
11887 an inequality of their difference and EPS.
11888 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11889 comparison of pri and a reference number with an inequality of their
11890 difference and EPS.
11891 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11892 the comparison of sum and sum_ref with an inequality of their
11893 difference and EPS.
11894 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11895 the comparison of pri and a reference number with an inequality of
11896 their difference and EPS.
11897
11898 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
11899
11900 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11901 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11902 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11903 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11904 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11905 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11906 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11907 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11908 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11909 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11910 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11911 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11912 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11913 variables.
11914 (vec_mult): Likewise. Add #pragma omp taskwait.
11915 (main): Adjust caller.
11916 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11917 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11918 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11919 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11920 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11921 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11922 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11923 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11924 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11925 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11926 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11927 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11928 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11929 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11930 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11931 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11932 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11933 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11934 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11935 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11936 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11937 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11938 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11939 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11940 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11941 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11942 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11943 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11944 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11945 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11946 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11947 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11948 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11949 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11950 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11951 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11952 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11953 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11954 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11955 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11956 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11957 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11958 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11959 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11960 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11961 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11962 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11963 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11964 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11965 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11966 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11967 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11968 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11969 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11970 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11971 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11972 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11973 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11974 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11975 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11976 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11977 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11978 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11979 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11980 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11981 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11982 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11983 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11984 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11985 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11986 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11987 (vec_mult): Add !$omp taskwait.
11988 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11989 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11990 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11991 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11992 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11993 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11994 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11995 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11996 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11997 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11998 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11999 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
12000 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
12001 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
12002 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
12003 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
12004 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
12005 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
12006 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
12007 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
12008 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
12009 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
12010 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
12011 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
12012 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
12013 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
12014 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
12015 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
12016 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
12017 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
12018 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
12019 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
12020 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
12021 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
12022 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
12023 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
12024 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
12025 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
12026 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
12027 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
12028 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
12029 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
12030 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
12031 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
12032 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
12033 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
12034 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
12035 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
12036 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
12037 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
12038 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
12039 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
12040 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
12041 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
12042 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
12043 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
12044 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
12045 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
12046 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
12047 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
12048 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
12049 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
12050 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
12051 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
12052 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
12053 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
12054 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
12055
12056 2015-07-10 Tom de Vries <tom@codesourcery.com>
12057
12058 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
12059 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
12060
12061 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
12062
12063 PR libgomp/65099
12064 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
12065 in a 64-bit configuration.
12066 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
12067 offloading testing if no such device is available.
12068 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12069 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12070
12071 2015-07-08 Tom de Vries <tom@codesourcery.com>
12072
12073 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
12074 second call to f.
12075 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12076
12077 2015-07-07 Tom de Vries <tom@codesourcery.com>
12078
12079 PR tree-optimization/66642
12080 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
12081 iteration count case.
12082 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
12083 function, factor out of ...
12084 (main): ... here. Test low iteration count case.
12085
12086 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
12087
12088 * libgomp.h (gomp_thread_pool): Comment last_team field.
12089
12090 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
12091
12092 * testsuite/libgomp.c++/pr66702-1.C: Require
12093 vect_simd_clones effective target.
12094 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
12095
12096 2015-06-30 Tom de Vries <tom@codesourcery.com>
12097
12098 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12099 already set. Use DEFAULT_CFLAGS in dg-runtest.
12100 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
12101 "-O2".
12102
12103 2015-06-30 Tom de Vries <tom@codesourcery.com>
12104
12105 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12106 already set. Use DEFAULT_CFLAGS in dg-runtest.
12107 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
12108 * testsuite/libgomp.c++/pr64824.C: Same.
12109 * testsuite/libgomp.c++/pr64868.C: Same.
12110 * testsuite/libgomp.c++/pr66199-1.C: Same.
12111 * testsuite/libgomp.c++/pr66199-2.C: Same.
12112 * testsuite/libgomp.c++/target-2.C: Same.
12113 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
12114 -std=<standard> option.
12115 * testsuite/libgomp.c++/udr-11.C: Same.
12116 * testsuite/libgomp.c++/udr-12.C: Same.
12117 * testsuite/libgomp.c++/udr-13.C: Same.
12118 * testsuite/libgomp.c++/udr-14.C: Same.
12119 * testsuite/libgomp.c++/udr-15.C: Same.
12120 * testsuite/libgomp.c++/udr-16.C: Same.
12121 * testsuite/libgomp.c++/udr-17.C: Same.
12122 * testsuite/libgomp.c++/udr-18.C: Same.
12123 * testsuite/libgomp.c++/udr-19.C: Same.
12124 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
12125 * testsuite/libgomp.c++/simd-1.C: Same.
12126 * testsuite/libgomp.c++/simd-2.C: Same.
12127 * testsuite/libgomp.c++/simd-3.C: Same.
12128 * testsuite/libgomp.c++/simd-4.C: Same.
12129 * testsuite/libgomp.c++/simd-5.C: Same.
12130 * testsuite/libgomp.c++/simd-6.C: Same.
12131 * testsuite/libgomp.c++/simd-7.C: Same.
12132 * testsuite/libgomp.c++/simd-8.C: Same.
12133 * testsuite/libgomp.c++/simd-9.C: Same.
12134 * testsuite/libgomp.c++/simd10.C: Same.
12135 * testsuite/libgomp.c++/simd11.C: Same.
12136 * testsuite/libgomp.c++/simd12.C: Same.
12137 * testsuite/libgomp.c++/simd13.C: Same.
12138
12139 2015-06-30 Jakub Jelinek <jakub@redhat.com>
12140
12141 PR middle-end/66702
12142 * testsuite/libgomp.c++/pr66702-1.C: New test.
12143 * testsuite/libgomp.c++/pr66702-2.C: New test.
12144
12145 2015-06-30 Tom de Vries <tom@codesourcery.com>
12146
12147 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
12148 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
12149 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
12150 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
12151
12152 2015-06-30 Tom de Vries <tom@codesourcery.com>
12153
12154 PR tree-optimization/66652
12155 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
12156 using restrict pointers.
12157 (main): Add arguments to calls to f.
12158 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12159
12160 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
12161
12162 * configure.ac: Fix check for header <sys/sysctl.h>.
12163 * configure: Regenerate.
12164 * config.h.in: Likewise.
12165
12166 2015-06-23 Tom de Vries <tom@codesourcery.com>
12167
12168 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12169 abort.
12170 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12171
12172 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
12173
12174 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12175 acc_device_nvidia.
12176
12177 PR libgomp/66518
12178 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12179 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12180
12181 2015-06-15 Tom de Vries <tom@codesourcery.com>
12182
12183 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12184 dg-additional-options for any remaining options.
12185 * testsuite/libgomp.c/atomic-2.c: Same.
12186 * testsuite/libgomp.c/atomic-4.c: Same.
12187 * testsuite/libgomp.c/atomic-5.c: Same.
12188 * testsuite/libgomp.c/atomic-6.c: Same.
12189 * testsuite/libgomp.c/autopar-1.c: Same.
12190 * testsuite/libgomp.c/copyin-1.c: Same.
12191 * testsuite/libgomp.c/copyin-2.c: Same.
12192 * testsuite/libgomp.c/copyin-3.c: Same.
12193 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12194 * testsuite/libgomp.c/nestedfn-5.c: Same.
12195 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12196 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12197 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12198 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12199 * testsuite/libgomp.c/pr32362-1.c: Same.
12200 * testsuite/libgomp.c/pr32362-2.c: Same.
12201 * testsuite/libgomp.c/pr32362-3.c: Same.
12202 * testsuite/libgomp.c/pr39591-1.c: Same.
12203 * testsuite/libgomp.c/pr39591-2.c: Same.
12204 * testsuite/libgomp.c/pr39591-3.c: Same.
12205 * testsuite/libgomp.c/pr58392.c: Same.
12206 * testsuite/libgomp.c/pr58756.c: Same.
12207 * testsuite/libgomp.c/simd-1.c: Same.
12208 * testsuite/libgomp.c/simd-10.c: Same.
12209 * testsuite/libgomp.c/simd-11.c: Same.
12210 * testsuite/libgomp.c/simd-12.c: Same.
12211 * testsuite/libgomp.c/simd-13.c: Same.
12212 * testsuite/libgomp.c/simd-14.c: Same.
12213 * testsuite/libgomp.c/simd-15.c: Same.
12214 * testsuite/libgomp.c/simd-2.c: Same.
12215 * testsuite/libgomp.c/simd-3.c: Same.
12216 * testsuite/libgomp.c/simd-4.c: Same.
12217 * testsuite/libgomp.c/simd-5.c: Same.
12218 * testsuite/libgomp.c/simd-6.c: Same.
12219 * testsuite/libgomp.c/simd-7.c: Same.
12220 * testsuite/libgomp.c/simd-8.c: Same.
12221 * testsuite/libgomp.c/simd-9.c: Same.
12222
12223 2015-06-15 Tom de Vries <tom@codesourcery.com>
12224
12225 * testsuite/libgomp.c/pr35625.c: Fix typo.
12226
12227 2015-06-15 Tom de Vries <tom@codesourcery.com>
12228
12229 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12230 in dg-options.
12231 * testsuite/libgomp.c/atomic-3.c: Same.
12232 * testsuite/libgomp.c/debug-1.c: Same.
12233 * testsuite/libgomp.c/nqueens-1.c: Same.
12234 * testsuite/libgomp.c/pr26171.c: Same.
12235 * testsuite/libgomp.c/pr48591.c: Same.
12236 * testsuite/libgomp.c/pr64824.c: Same.
12237 * testsuite/libgomp.c/pr64868.c: Same.
12238 * testsuite/libgomp.c/pr66133.c: Same.
12239 * testsuite/libgomp.c/pr66199-1.c: Same.
12240 * testsuite/libgomp.c/pr66199-2.c: Same.
12241 * testsuite/libgomp.c/target-8.c: Same.
12242
12243 2015-06-15 Tom de Vries <tom@codesourcery.com>
12244
12245 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12246 -std={gnu99,c99}.
12247 * testsuite/libgomp.c/for-1.c: Same.
12248 * testsuite/libgomp.c/for-2.c: Same.
12249 * testsuite/libgomp.c/for-3.c: Same.
12250 * testsuite/libgomp.c/pr35625.c: Same.
12251 * testsuite/libgomp.c/pr39154.c: Same.
12252 * testsuite/libgomp.c/simd-16.c: Same.
12253 * testsuite/libgomp.c/simd-17.c: Same.
12254
12255 2015-06-13 Tom de Vries <tom@codesourcery.com>
12256
12257 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12258
12259 2015-06-13 Tom de Vries <tom@codesourcery.com>
12260
12261 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12262 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12263 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12264 (N): Define.
12265 (main): Use N instead of hardcoded constants.
12266
12267 2015-06-05 Tom de Vries <tom@codesourcery.com>
12268
12269 merge from gomp4 branch:
12270 2015-05-28 Tom de Vries <tom@codesourcery.com>
12271
12272 PR tree-optimization/65443
12273 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12274 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12275 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12276
12277 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12278
12279 * testsuite/libgomp.graphite/bounds.c: Adjust for
12280 cleanup-tree-dump removal.
12281 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12282 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12283 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12284 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12285 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12286 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12287 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12288 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12289 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12290 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12291
12292 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
12293
12294 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12295 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12296 (futex_wake) [!__x86_64__]: Ditto.
12297
12298 2015-05-28 Julian Brown <julian@codesourcery.com>
12299
12300 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12301 function comment. Only call gomp_fatal if new argument is true.
12302 (acc_dev_num_out_of_range): New function.
12303 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12304 acc_dev_num_out_of_range as appropriate.
12305 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12306 (acc_get_device_num, acc_set_device_num): Update calls to
12307 resolve_device.
12308 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12309 output.
12310
12311 2015-05-28 Julian Brown <julian@codesourcery.com>
12312
12313 PR libgomp/65742
12314 * oacc-init.c (plugin/plugin-host.h): Include.
12315 (acc_on_device): Check whether we're in an offloaded region for
12316 host_nonshm
12317 plugin. Don't use __builtin_acc_on_device.
12318 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12319 nonshm_exec flag in thread-local data.
12320 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12321 data for host_nonshm plugin.
12322 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12323 for host_nonshm plugin.
12324 * plugin/plugin-host.h: New.
12325
12326 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12327
12328 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12329
12330 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12331
12332 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12333 Declare as int.
12334 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12335 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12336 Declare as int.
12337
12338 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12339
12340 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12341
12342 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12343
12344 * target.c (gomp_map_pointer): New function abstracting out
12345 GOMP_MAP_POINTER handling.
12346 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12347 gomp_map_pointer().
12348
12349 2015-05-19 Jakub Jelinek <jakub@redhat.com>
12350
12351 PR middle-end/66199
12352 * testsuite/libgomp.c/pr66199-1.c: New test.
12353 * testsuite/libgomp.c/pr66199-2.c: New test.
12354 * testsuite/libgomp.c++/pr66199-1.C: New test.
12355 * testsuite/libgomp.c++/pr66199-2.C: New test.
12356 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12357 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12358
12359 2015-05-19 Julian Brown <julian@codesourcery.com>
12360
12361 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12362 on cuInit failure.
12363
12364 2015-05-13 Jakub Jelinek <jakub@redhat.com>
12365
12366 PR middle-end/66133
12367 * testsuite/libgomp.c/pr66133.c: New test.
12368
12369 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12370
12371 * Makefile.in: Regenerated with automake-1.11.6.
12372 * aclocal.m4: Likewise.
12373 * config.h.in: Likewise.
12374 * configure: Likewise.
12375 * testsuite/Makefile.in: Likewise.
12376
12377 2015-05-08 Jason Merrill <jason@redhat.com>
12378
12379 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12380 _Complex.
12381
12382 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12383
12384 2015-05-06 Julian Brown <julian@codesourcery.com>
12385
12386 * oacc-init.c (acc_device_lock): Add explanatory comment.
12387 (resolve_device): Add comment about locking requirement.
12388 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12389 gomp_init_device and gomp_fini_device calls.
12390 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12391 (acc_get_device_num, acc_set_device_num): Add locking around
12392 resolve_device and gomp_init_device calls.
12393
12394 2015-05-06 Julian Brown <julian@codesourcery.com>
12395
12396 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12397 goacc_thread_lock on error paths.
12398 * oacc-mem.c (lookup_host): Remove locking from function. Note
12399 locking requirement for caller in function comment.
12400 (lookup_dev): Likewise.
12401 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12402 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12403 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12404 Add locking.
12405
12406 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12407
12408 PR testsuite/65205
12409 PR libgomp/65993
12410 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12411 don't expect "0x" prefix for "%p" format specifier, don't expect
12412 "(nil)" for NULL pointer.
12413 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12414 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12415 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12416 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12417 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12418 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12419 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12420 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12421 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12422 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12423 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12424 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12425 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12426 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12427 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12428 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12429 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12430 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12431 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12432 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12433 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12434 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12435 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12436 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12437 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12438 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12439 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12440 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12441 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12442 accurately specify what we're looking for.
12443 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12444 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12445 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12446 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12447 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12448
12449 2015-04-30 James Norris <jnorris@codesourcery.com>
12450
12451 PR testsuite/65205
12452 * testsuite/lib/libgomp.exp
12453 (check_effective_target_openacc_host_selected)
12454 (check_effective_target_openacc_host_nonshm_selected): New
12455 procedures.
12456 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12457 dg-shouldfail.
12458 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12459 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12460 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12461 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12462 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12463 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12464 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12465 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12466 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12467 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12468 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12469 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12470 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12471 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12472 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12473 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12474 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12475 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12476 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12477 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12478 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12479 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12480 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12481 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12482 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12483 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12484 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12485 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12486 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12487 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12488 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12489 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12490 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12491 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12492 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12493 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12494 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12495 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12496 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12497 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12498 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12499 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12500 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12501
12502 2015-04-08 Julian Brown <julian@codesourcery.com>
12503
12504 * libgomp.h (target_mem_desc: Remove mem_map field.
12505 (acc_dispatch_t): Remove open_device_func, close_device_func,
12506 get_device_num_func, set_device_num_func, target_data members.
12507 Change create_thread_data_func argument to device number instead of
12508 generic pointer.
12509 * oacc-async.c (assert.h): Include.
12510 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12511 (acc_wait_all, acc_wait_all_async): Use current host thread's
12512 active device, not base_dev.
12513 * oacc-cuda.c (acc_get_current_cuda_device)
12514 (acc_get_current_cuda_context, acc_get_cuda_stream)
12515 (acc_set_cuda_stream): Likewise.
12516 * oacc-host.c (host_dispatch): Don't set open_device_func,
12517 close_device_func, get_device_num_func or set_device_num_func.
12518 * oacc-init.c (base_dev, init_key): Remove.
12519 (cached_base_dev): New.
12520 (name_of_acc_device_t): New.
12521 (acc_init_1): Initialise default-numbered device, not zeroth.
12522 (acc_shutdown_1): Close all devices of a given type.
12523 (goacc_destroy_thread): Don't use base_dev.
12524 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12525 (goacc_attach_host_thread_to_device): New.
12526 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12527 (acc_get_num_devices): Don't use base_dev.
12528 (acc_set_device_type): Reimplement.
12529 (acc_get_device_type): Don't use base_dev.
12530 (acc_get_device_num): Tweak logic.
12531 (acc_set_device_num): Likewise.
12532 (acc_on_device): Use acc_get_device_type.
12533 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12534 (goacc_lazy_initialize): Reimplement with acc_init and
12535 goacc_attach_host_thread_to_device.
12536 * oacc-int.h (goacc_thread): Add base_dev field.
12537 (base_dev): Remove extern declaration.
12538 (goacc_attach_host_thread_to_device): Add prototype.
12539 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12540 base_dev.
12541 (acc_free): Likewise.
12542 (acc_memcpy_to_device): Likewise.
12543 (acc_memcpy_from_device): Likewise.
12544 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12545 goacc_lazy_initialize (throughout).
12546 (GOACC_parallel): Use tgt_offset to locate target functions.
12547 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12548 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12549 (gomp_load_plugin_for_device): Remove open_device, close_device,
12550 get_device_num, set_device_num openacc hook initialisation. Don't set
12551 openacc.target_data.
12552 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12553 (GOMP_OFFLOAD_openacc_close_device)
12554 (GOMP_OFFLOAD_openacc_get_device_num)
12555 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12556 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12557 to int.
12558 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12559 (instantiated_devices, ptx_dev_lock): New.
12560 (struct ptx_image_data): New.
12561 (ptx_devices, ptx_images, ptx_image_lock): New.
12562 (fini_streams_for_device): Reorder cuStreamDestroy call.
12563 (nvptx_get_num_devices): Remove forward declaration.
12564 (nvptx_init): Change return type to bool.
12565 (nvptx_fini): Remove.
12566 (nvptx_attach_host_thread_to_device): New.
12567 (nvptx_open_device): Return struct ptx_device* instead of void*.
12568 (nvptx_close_device): Change argument type to struct ptx_device*,
12569 return type to void.
12570 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12571 (kernel_target_data, kernel_host_table): Remove static globals.
12572 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12573 (GOMP_OFFLOAD_init_device): Reimplement.
12574 (GOMP_OFFLOAD_fini_device): Likewise.
12575 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12576 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12577 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12578 (GOMP_OFFLOAD_openacc_open_device)
12579 (GOMP_OFFLOAD_openacc_close_device)
12580 (GOMP_OFFLOAD_openacc_set_device_num)
12581 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12582 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12583 (device number).
12584
12585 testsuite/
12586 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12587
12588 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
12589
12590 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12591 * libgomp.h (struct gomp_memory_mapping): Remove.
12592 (struct target_mem_desc): Change type of mem_map from
12593 gomp_memory_mapping * to splay_tree_s *.
12594 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12595 Add load_image_func, unload_image_func.
12596 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12597 Remove offload_regions_registered.
12598 (gomp_init_tables): Remove.
12599 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12600 to splay_tree_s *.
12601 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12602 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12603 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12604 offload_regions_registered.
12605 Initialize load_image_func, unload_image_func, mem_map.root.
12606 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12607 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12608 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12609 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12610 gomp_memory_mapping *. Use dev's lock and splay_tree.
12611 (lookup_dev): Use dev's lock.
12612 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12613 (acc_is_present): Likewise.
12614 (acc_map_data): Likewise.
12615 (acc_unmap_data): Likewise. Use dev's lock.
12616 (present_create_copy): Likewise.
12617 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12618 (update_dev_host): Likewise.
12619 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12620 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12621 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12622 (GOMP_OFFLOAD_get_table): Remove
12623 (GOMP_OFFLOAD_load_image): New function.
12624 (GOMP_OFFLOAD_unload_image): New function.
12625 * target.c (register_lock): New mutex for offload image registration.
12626 (num_devices): Do not guard with PLUGIN_SUPPORT.
12627 (gomp_realloc_unlock): New static function.
12628 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12629 before gomp_fatal.
12630 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12631 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12632 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12633 mem_map's.
12634 (gomp_unmap_vars): Likewise.
12635 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12636 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12637 (gomp_offload_image_to_device): New static function.
12638 (GOMP_offload_register): Add mutex lock.
12639 Call gomp_offload_image_to_device for all initialized devices.
12640 Replace gomp_realloc with gomp_realloc_unlock.
12641 (GOMP_offload_unregister): New function.
12642 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12643 get_table_func from the plugin with calls to init_device_func and
12644 gomp_offload_image_to_device.
12645 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12646 to splay_tree_s *.
12647 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12648 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12649 (GOMP_target_data): Do not call gomp_init_tables.
12650 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12651 (gomp_load_plugin_for_device): Replace register_image and get_table
12652 with load_image and unload_image in DLSYM ().
12653 (gomp_register_images_for_device): Remove function.
12654 (gomp_target_init): Do not initialize current_device.mem_map.*,
12655 current_device.offload_regions_registered.
12656 Remove call to gomp_register_images_for_device.
12657 Do not free offload_images and num_offload_images.
12658
12659 2015-03-30 Jakub Jelinek <jakub@redhat.com>
12660
12661 PR fortran/65597
12662 * testsuite/libgomp.fortran/pr65597.f90: New test.
12663
12664 2015-03-27 Tom de Vries <tom@codesourcery.com>
12665
12666 PR testsuite/65594
12667 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12668 (init, check): New function.
12669 (foo): Change return type to void.
12670 (main): Call init and check.
12671
12672 2015-03-27 Tom de Vries <tom@codesourcery.com>
12673
12674 PR testsuite/65594
12675 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12676 (foo): Use M for non-inner loops to scale down test-case.
12677
12678 2015-03-25 Kai Tietz <ktietz@redhat.com>
12679
12680 PR libgomp/64972
12681 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12682 (GOACC_data_start): Likewise.
12683 * target.c (gomp_map_vars): Likewise.
12684
12685 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
12686
12687 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12688 hppa*-*-hpux*.
12689
12690 2015-03-19 Jakub Jelinek <jakub@redhat.com>
12691
12692 * testsuite/libgomp.c/target-10.c: New test.
12693 * testsuite/libgomp.c++/target-4.C: New test.
12694
12695 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
12696
12697 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12698 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12699
12700 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
12701
12702 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12703 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12704 (pthread.h): Check for this header file.
12705 * configure: Regenerate.
12706
12707 2015-02-25 Tom de Vries <tom@codesourcery.com>
12708
12709 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12710 (check_reduction_op, check_reduction_macro, max, min):
12711 Declare.
12712 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12713 function.
12714 (main): Use new functions.
12715
12716 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
12717
12718 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12719 char * for variables holding dlerror return values.
12720 (DLSYM_OPT): Ditto.
12721
12722 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12723
12724 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12725
12726 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12727 Cesar Philippidis <cesar@codesourcery.com>
12728
12729 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12730 GOACC_ctaid, and GOACC_nctaid routines.
12731
12732 2015-02-11 Jakub Jelinek <jakub@redhat.com>
12733
12734 PR c/64824
12735 * testsuite/libgomp.c/atomic-18.c: New test.
12736 * testsuite/libgomp.c++/atomic-16.C: New test.
12737
12738 2015-02-04 Jakub Jelinek <jakub@redhat.com>
12739
12740 PR c/64824
12741 PR c/64868
12742 * testsuite/libgomp.c/pr64824.c: New test.
12743 * testsuite/libgomp.c/pr64868.c: New test.
12744 * testsuite/libgomp.c++/pr64824.C: New test.
12745 * testsuite/libgomp.c++/pr64868.C: New test.
12746
12747 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
12748
12749 PR libgomp/64635
12750 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12751 Link with -lpthread.
12752 * config/aix/plugin-suffix.h: Delete.
12753
12754 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
12755
12756 PR libgomp/64635
12757 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12758 (*-*-darwin*): Use config_path "bsd darwin posix".
12759 (*-*-hpux*): Use config_path "hpux posix".
12760 * target.c: Add include of plugin-suffix.h and use
12761 SONAME_SUFFIX macro.
12762 * config/aix/plugin-suffix.h: New file.
12763 * config/darwin/plugin-suffix.h: New file.
12764 * config/hpux/plugin-suffix.h: New file.
12765 * config/posix/plugin-suffix.h: New file.
12766
12767 2015-01-23 Jakub Jelinek <jakub@redhat.com>
12768
12769 PR middle-end/64734
12770 * libgomp.c/pr64734.c: New test.
12771
12772 2015-01-23 Tom de Vries <tom@codesourcery.com>
12773
12774 PR libgomp/64672
12775 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12776
12777 2015-01-23 Tom de Vries <tom@codesourcery.com>
12778
12779 PR libgomp/64707
12780 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12781 dg-options.
12782
12783 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
12784
12785 PR libgomp/64625
12786 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12787 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12788 formal parameter. Update all users.
12789 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12790 Document unused formal parameter.
12791
12792 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
12793
12794 * oacc-parallel.c: Don't include <alloca.h>.
12795 (GOACC_parallel): Use gomp_alloca instead of alloca.
12796
12797 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
12798
12799 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12800
12801 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
12802 James Norris <jnorris@codesourcery.com>
12803 Tom de Vries <tom@codesourcery.com>
12804 Julian Brown <julian@codesourcery.com>
12805 Cesar Philippidis <cesar@codesourcery.com>
12806 Nathan Sidwell <nathan@codesourcery.com>
12807 Tobias Burnus <burnus@net-b.de>
12808
12809 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12810 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12811 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12812 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12813 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12814 Include $(top_srcdir)/plugin/Makefrag.am.
12815 (nodist_libsubinclude_HEADERS): Add openacc.h.
12816 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12817 openacc.f90, openacc.mod, openacc_kinds.mod.
12818 (omp_lib.mod): Generalize into...
12819 (%.mod): ... this new rule.
12820 (openacc_kinds.mod, openacc.mod): New rules.
12821 * plugin/configfrag.ac: New file.
12822 * configure.ac: Move plugin/offloading support into it. Include
12823 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12824 * plugin/Makefrag.am: New file.
12825 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12826 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12827 export.
12828 (libgomp-test-support.exp): New rule.
12829 (all-local): Depend on it.
12830 * Makefile.in: Regenerate.
12831 * testsuite/Makefile.in: Regenerate.
12832 * config.h.in: Likewise.
12833 * configure: Likewise.
12834 * configure.tgt: Harden shell syntax.
12835 * env.c: Include "oacc-int.h".
12836 (parse_acc_device_type): New function.
12837 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12838 variables.
12839 (initialize_env): Initialize those. Call
12840 goacc_runtime_initialize.
12841 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12842 (gomp_fatal): Call gomp_vfatal.
12843 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12844 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12845 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12846 (splay_tree_node, splay_tree, splay_tree_key)
12847 (struct target_mem_desc, struct splay_tree_key_s)
12848 (struct gomp_memory_mapping, struct acc_dispatch_t)
12849 (struct gomp_device_descr, gomp_acc_insert_pointer)
12850 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12851 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12852 (gomp_free_memmap, gomp_fini_device): New declarations.
12853 (gomp_vdebug, gomp_debug): New macros.
12854 Include "splay-tree.h".
12855 * libgomp.map (OACC_2.0): New symbol version. Use for
12856 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12857 acc_set_device_type_h_, acc_get_device_type,
12858 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12859 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12860 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12861 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12862 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12863 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12864 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12865 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12866 acc_copyin_array_h_, acc_present_or_copyin,
12867 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12868 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12869 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12870 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12871 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12872 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12873 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12874 acc_update_device, acc_update_device_32_h_,
12875 acc_update_device_64_h_, acc_update_device_array_h_,
12876 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12877 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12878 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12879 acc_is_present_64_h_, acc_is_present_array_h_,
12880 acc_memcpy_to_device, acc_memcpy_from_device,
12881 acc_get_current_cuda_device, acc_get_current_cuda_context,
12882 acc_get_cuda_stream, acc_set_cuda_stream.
12883 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12884 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12885 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12886 GOACC_get_num_threads.
12887 (GOMP_PLUGIN_1.0): New symbol version. Use for
12888 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12889 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12890 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12891 GOMP_PLUGIN_acc_thread.
12892 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12893 environment variable.
12894 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12895 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12896 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12897 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12898 (splay_tree_remove): New declarations.
12899 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12900 (splay_tree_remove, splay_tree_lookup): Move into...
12901 * splay-tree.c: ... this new file.
12902 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12903 (splay_tree_node, splay_tree, splay_tree_key)
12904 (struct target_mem_desc, struct splay_tree_key_s)
12905 (struct gomp_device_descr): Don't declare.
12906 (num_devices_openmp): New variable.
12907 (gomp_get_num_devices ): Use it.
12908 (gomp_init_targets_once): New function.
12909 (gomp_get_num_devices ): Use it.
12910 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12911 (gomp_fini_device, gomp_register_image_for_device): New functions.
12912 (gomp_map_vars): Add devaddrs parameter.
12913 (gomp_update): Add mm parameter.
12914 (gomp_init_device): Move most of it into...
12915 (gomp_init_tables): ... this new function.
12916 (gomp_register_images_for_device): Remove function.
12917 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12918 Make them hidden instead of static.
12919 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12920 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12921 (GOMP_target_end_data, GOMP_target_update)
12922 (gomp_load_plugin_for_device, gomp_target_init): Update for
12923 OpenACC changes.
12924 * oacc-async.c: New file.
12925 * oacc-cuda.c: Likewise.
12926 * oacc-host.c: Likewise.
12927 * oacc-init.c: Likewise.
12928 * oacc-int.h: Likewise.
12929 * oacc-mem.c: Likewise.
12930 * oacc-parallel.c: Likewise.
12931 * oacc-plugin.c: Likewise.
12932 * oacc-plugin.h: Likewise.
12933 * oacc-ptx.h: Likewise.
12934 * openacc.f90: Likewise.
12935 * openacc.h: Likewise.
12936 * openacc_lib.h: Likewise.
12937 * plugin/plugin-host.c: Likewise.
12938 * plugin/plugin-nvptx.c: Likewise.
12939 * libgomp-plugin.c: Likewise.
12940 * libgomp-plugin.h: Likewise.
12941 * libgomp_target.h: Remove file after merging content into the
12942 former file. Update all users.
12943 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12944 (offload_targets_s, offload_targets_s_openacc): New variables.
12945 (check_effective_target_openacc_nvidia_accel_present)
12946 (check_effective_target_openacc_nvidia_accel_selected): New
12947 procedures.
12948 (libgomp_init): Update for OpenACC changes.
12949 * testsuite/libgomp-test-support.exp.in: New file.
12950 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12951 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12952 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12953 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12954 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12955 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12956 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12957 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12958 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12959 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12960 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12961 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12962 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12963 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12964 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12965 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12966 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12967 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12968 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12969 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12970 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12971 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12972 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12973 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12974 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12975 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12976 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12977 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12978 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12979 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12980 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12981 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12982 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12983 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12984 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12985 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12986 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12987 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12988 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12989 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12990 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12991 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12992 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12993 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12994 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12995 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12996 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12997 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12998 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12999 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13000 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13001 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13002 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13003 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13004 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13005 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13006 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13007 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13008 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13009 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
13010 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
13011 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
13012 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13013 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13014 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13015 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
13016 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
13017 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13018 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13019 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13020 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
13021 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13022 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13023 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13024 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
13025 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
13026 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13027 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13028 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
13029 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
13030 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
13031 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
13032 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13033 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13034 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13035 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
13036 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
13037 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13038 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13039 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
13040 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
13041 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
13042 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
13043 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13044 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13045 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13046 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13047 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
13048 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13049 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13050 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
13051 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
13052 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
13053 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13054 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
13055 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
13056 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
13057 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
13058 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
13059 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13060 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
13061 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
13062 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13063 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
13064 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
13065 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
13066 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
13067 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
13068 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
13069 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
13070 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
13071 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
13072 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13073 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
13074 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
13075 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
13076 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
13077 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
13078 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
13079 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
13080 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
13081 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
13082 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13083 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
13084 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13085 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13086 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13087 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13088 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13089 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
13090 Likewise.
13091 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
13092 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
13093 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
13094 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13095 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
13096 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13097 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
13098 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
13099 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
13100 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
13101 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13102 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13103 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13104 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
13105 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
13106 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
13107 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
13108 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
13109 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
13110 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
13111 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
13112 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
13113 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
13114 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
13115 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
13116 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
13117 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13118 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13119 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13120 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13121 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13122 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13123 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13124 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13125 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
13126 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
13127 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
13128 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
13129 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
13130 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
13131 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
13132 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
13133 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
13134 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
13135 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
13136 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
13137 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
13138 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
13139 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
13140 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13141 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13142 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13143 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13144 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13145 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
13146 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
13147 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
13148 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
13149 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
13150 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
13151
13152 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
13153 Julian Brown <julian@codesourcery.com>
13154 David Malcolm <dmalcolm@redhat.com>
13155
13156 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
13157 to "GNU Offloading and Multi Processing Runtime Library". Change
13158 all users.
13159 * configure: Regenerate.
13160 * libgomp.texi: Update.
13161
13162 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
13163
13164 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
13165 "$tgt_dir/lib32".
13166 * configure: Regenerate.
13167
13168 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13169 "intelmic" in $offload_targets.
13170
13171 2015-01-05 Jakub Jelinek <jakub@redhat.com>
13172
13173 Update copyright years.
13174
13175 * libgomp.texi: Bump @copying's copyright year.
13176
13177 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13178
13179 * testsuite/lib/libgomp.exp: Load target-utils.exp.
13180 Move load of target-supports.exp earlier.
13181
13182 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
13183
13184 * testsuite/libgomp.c/target-9.c: New test.
13185
13186 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
13187
13188 * config.h.in: Regenerate.
13189 * configure: Regenerate.
13190 * configure.ac: Add GCC_CHECK_EMUTLS.
13191 * libgomp.h: Add check for USE_EMUTLS: this case
13192 is equal to HAVE_TLS.
13193 * team.c: Likewise.
13194
13195 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
13196
13197 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13198
13199 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
13200 Ilya Verbin <ilya.verbin@intel.com>
13201
13202 * testsuite/libgomp.c/target-critical-1.c: New test.
13203
13204 2014-11-26 Jakub Jelinek <jakub@redhat.com>
13205
13206 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
13207 to dg-options unless expensive testing is on.
13208 (TESTITERS): Define to N if not defined.
13209 (main): Use TESTITERS instead of N.
13210 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13211 dg-additional-options depending on whether expensive testing is on.
13212 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13213 Decrease N to 100000 and CHUNKSZ to 10000.
13214
13215 2014-11-24 Jakub Jelinek <jakub@redhat.com>
13216
13217 PR fortran/63938
13218 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13219 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
13220
13221 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
13222
13223 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13224
13225 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
13226
13227 PR bootstrap/63784
13228 * configure: Regenerated.
13229
13230 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
13231
13232 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13233 vect_simd_clones effective target.
13234 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13235
13236 2014-11-14 Jakub Jelinek <jakub@redhat.com>
13237
13238 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13239 of 32 as block_size.
13240 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13241 instead of 32 as block_size.
13242
13243 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13244 Ilya Verbin <ilya.verbin@intel.com>
13245
13246 * Makefile.in: Regenerate.
13247 * configure: Regenerate.
13248 * configure.ac: Set up offload_additional_options,
13249 offload_additional_lib_paths and offload_targets.
13250 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13251 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13252 * testsuite/Makefile.in: Regenerate.
13253 * testsuite/lib/libgomp.exp (libgomp_init): Append
13254 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13255 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13256 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13257
13258 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13259 Ilya Verbin <ilya.verbin@intel.com>
13260 Kirill Yukhin <kirill.yukhin@intel.com>
13261 Ilya Tocar <ilya.tocar@intel.com>
13262
13263 * testsuite/lib/libgomp.exp
13264 (check_effective_target_offload_device): New.
13265 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13266 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13267 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13268 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13269 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13270 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13271 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13272 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13273 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13274 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13275 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13276 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13277 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13278 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13279 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13280 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13281 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13282 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13283 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13284 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13285 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13286 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13287 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13288 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13289 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13290 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13291 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13292 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13293 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13294 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13295 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13296 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13297 * testsuite/libgomp.c/target-7.c: Fix test.
13298 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13299 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13300 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13301 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13302 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13303 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13304 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13305 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13306 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13307 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13308 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13309 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13310 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13311 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13312 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13313 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13314 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13315 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13316 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13317 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13318 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13319 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13320 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13321 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13322 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13323 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13324 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13325 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13326 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13327 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13328 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13329
13330 2014-11-13 Jakub Jelinek <jakub@redhat.com>
13331 Ilya Verbin <ilya.verbin@intel.com>
13332 Thomas Schwinge <thomas@codesourcery.com>
13333 Andrey Turetskiy <andrey.turetskiy@intel.com>
13334
13335 * libgomp.map (GOMP_4.0.1): New symbol version.
13336 Add GOMP_offload_register.
13337 * libgomp_target.h: New file.
13338 * splay-tree.h: New file.
13339 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13340 (gomp_target_init): New forward declaration.
13341 (gomp_is_initialized): New static variable.
13342 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13343 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13344 New structures.
13345 (offload_images, num_offload_images, devices, num_devices): New static
13346 variables.
13347 (splay_compare): New static function.
13348 (struct gomp_device_descr): New structure.
13349 (gomp_get_num_devices): Call gomp_target_init.
13350 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13351 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13352 (GOMP_offload_register): New function.
13353 (GOMP_target): Arrange for host callback to be performed in a separate
13354 initial thread and contention group, inheriting ICVs from
13355 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13356 Add device initialization and lookup for target function in splay tree.
13357 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13358 (GOMP_target_end_data): Call gomp_unmap_vars.
13359 (GOMP_target_update): Add device initialization and call gomp_update.
13360 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13361 (gomp_target_init): New static functions.
13362
13363 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13364 Thomas Schwinge <thomas@codesourcery.com>
13365 Ilya Verbin <ilya.verbin@intel.com>
13366 Andrey Turetskiy <andrey.turetskiy@intel.com>
13367
13368 * config.h.in: Regenerate.
13369 * configure: Regenerate.
13370 * configure.ac: Check for libdl, required for plugin support.
13371 (PLUGIN_SUPPORT): Define if plugins are supported.
13372 (enable_offload_targets): Support Intel MIC targets.
13373 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13374
13375 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13376
13377 PR target/63610
13378 * configure: Regenerate.
13379
13380 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13381
13382 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13383
13384 2014-10-06 Marek Polacek <polacek@redhat.com>
13385
13386 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13387 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13388 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13389 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13390
13391 2014-10-06 Marek Polacek <polacek@redhat.com>
13392
13393 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13394 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13395 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13396 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13397 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13398 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13399 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13400 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13401 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13402 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13403 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13404 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13405 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13406 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13407 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13408 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13409 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13410 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13411 declarations.
13412
13413 2014-10-03 Jakub Jelinek <jakub@redhat.com>
13414
13415 PR libgomp/61200
13416 * testsuite/libgomp.c/pr61200.c: New test.
13417
13418 2014-09-18 Jakub Jelinek <jakub@redhat.com>
13419
13420 PR c++/63248
13421 * testsuite/libgomp.c++/pr63248.C: New test.
13422
13423 2014-08-04 Jakub Jelinek <jakub@redhat.com>
13424
13425 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13426 is not zero, but taskgroup->children is NULL and there are
13427 any task->children, schedule those instead of waiting.
13428 * testsuite/libgomp.c/depend-6.c: New test.
13429 * testsuite/libgomp.c/depend-7.c: New test.
13430 * testsuite/libgomp.c/depend-8.c: New test.
13431 * testsuite/libgomp.c/depend-9.c: New test.
13432 * testsuite/libgomp.c/depend-10.c: New test.
13433
13434 2014-08-01 Jakub Jelinek <jakub@redhat.com>
13435
13436 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13437 (struct gomp_taskwait): New type.
13438 (struct gomp_task): Add taskwait and parent_depends_on, remove
13439 in_taskwait and taskwait_sem fields.
13440 (gomp_finish_task): Don't destroy taskwait_sem.
13441 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13442 taskwait and parent_depends_on.
13443 (GOMP_task): For if (0) tasks with depend clause that depend on
13444 earlier tasks don't defer them, instead call
13445 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13446 Initialize redundant_out field, for redundant out entries just
13447 move them at the end of linked list instead of removing them
13448 completely, and set redundant_out flag instead of redundant.
13449 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13450 that task.
13451 (gomp_task_run_post_handle_dependers): If parent is in
13452 gomp_task_maybe_wait_for_dependencies and newly runnable task
13453 is not parent_depends_on, queue it in parent->children linked
13454 list after all runnable tasks with parent_depends_on set.
13455 Adjust for addition of taskwait indirection.
13456 (gomp_task_run_post_remove_parent): If parent is in
13457 gomp_task_maybe_wait_for_dependencies and task to be removed
13458 is parent_depends_on, decrement n_depend and if needed awake
13459 parent. Adjust for addition of taskwait indirection.
13460 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13461 (gomp_task_maybe_wait_for_dependencies): New function.
13462 * testsuite/libgomp.c/depend-5.c: New test.
13463
13464 2014-07-13 Tobias Burnus <burnus@net-b.de>
13465
13466 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13467 with TS 18508/Fortran 2015.
13468
13469 2014-07-06 Marek Polacek <polacek@redhat.com>
13470
13471 PR c/6940
13472 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13473
13474 2014-07-03 Jakub Jelinek <jakub@redhat.com>
13475
13476 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13477 matches regex $lang_source_re, add $lang_include_flags to options.
13478 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13479 * testsuite/libgomp.c++/c++.exp: Likewise.
13480 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13481 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13482 ALWAYS_CFLAGS.
13483 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13484
13485 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13486
13487 * testsuite/libgomp.fortran/fortran.exp: Explain
13488 gfortran-dg-runtest usage.
13489
13490 2014-06-25 Jakub Jelinek <jakub@redhat.com>
13491
13492 * testsuite/libgomp.fortran/simd5.f90: New test.
13493 * testsuite/libgomp.fortran/simd6.f90: New test.
13494 * testsuite/libgomp.fortran/simd7.f90: New test.
13495
13496 2014-06-24 Jakub Jelinek <jakub@redhat.com>
13497
13498 * testsuite/libgomp.c/for-2.c: Define SC to static for
13499 #pragma omp for simd testing.
13500 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13501 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13502 SC macro.
13503 * testsuite/libgomp.c/simd-14.c: New test.
13504 * testsuite/libgomp.c/simd-15.c: New test.
13505 * testsuite/libgomp.c/simd-16.c: New test.
13506 * testsuite/libgomp.c/simd-17.c: New test.
13507 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13508 #pragma omp for simd testing.
13509 * testsuite/libgomp.c++/simd10.C: New test.
13510 * testsuite/libgomp.c++/simd11.C: New test.
13511 * testsuite/libgomp.c++/simd12.C: New test.
13512 * testsuite/libgomp.c++/simd13.C: New test.
13513
13514 * testsuite/libgomp.fortran/aligned1.f03: New test.
13515 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13516 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13517 tasks with !$omp parallel !$omp single.
13518 * testsuite/libgomp.fortran/target8.f90: New test.
13519 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13520 not to use trim in the combiner, instead call elemental function.
13521 (fn): New elemental function.
13522 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13523 Make elemental.
13524 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13525 omp_in): Likewise.
13526 * testsuite/libgomp.fortran/udr12.f90: New test.
13527 * testsuite/libgomp.fortran/udr13.f90: New test.
13528 * testsuite/libgomp.fortran/udr14.f90: New test.
13529 * testsuite/libgomp.fortran/udr15.f90: New test.
13530
13531 2014-06-18 Jakub Jelinek <jakub@redhat.com>
13532
13533 * omp_lib.f90.in (openmp_version): Set to 201307.
13534 * omp_lib.h.in (openmp_version): Likewise.
13535 * testsuite/libgomp.c/target-8.c: New test.
13536 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13537 and inbranch clauses.
13538 * testsuite/libgomp.fortran/depend-3.f90: New test.
13539 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13540 openmp_version.
13541 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13542 * testsuite/libgomp.fortran/target1.f90: New test.
13543 * testsuite/libgomp.fortran/target2.f90: New test.
13544 * testsuite/libgomp.fortran/target3.f90: New test.
13545 * testsuite/libgomp.fortran/target4.f90: New test.
13546 * testsuite/libgomp.fortran/target5.f90: New test.
13547 * testsuite/libgomp.fortran/target6.f90: New test.
13548 * testsuite/libgomp.fortran/target7.f90: New test.
13549
13550 2014-06-10 Jakub Jelinek <jakub@redhat.com>
13551
13552 PR fortran/60928
13553 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13554 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13555 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13556 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13557 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13558 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13559 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13560 * testsuite/libgomp.fortran/associate1.f90: New test.
13561 * testsuite/libgomp.fortran/associate2.f90: New test.
13562 * testsuite/libgomp.fortran/procptr1.f90: New test.
13563
13564 2014-06-06 Jakub Jelinek <jakub@redhat.com>
13565
13566 * testsuite/libgomp.fortran/simd1.f90: New test.
13567 * testsuite/libgomp.fortran/udr1.f90: New test.
13568 * testsuite/libgomp.fortran/udr2.f90: New test.
13569 * testsuite/libgomp.fortran/udr3.f90: New test.
13570 * testsuite/libgomp.fortran/udr4.f90: New test.
13571 * testsuite/libgomp.fortran/udr5.f90: New test.
13572 * testsuite/libgomp.fortran/udr6.f90: New test.
13573 * testsuite/libgomp.fortran/udr7.f90: New test.
13574 * testsuite/libgomp.fortran/udr8.f90: New test.
13575 * testsuite/libgomp.fortran/udr9.f90: New test.
13576 * testsuite/libgomp.fortran/udr10.f90: New test.
13577 * testsuite/libgomp.fortran/udr11.f90: New test.
13578
13579 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
13580
13581 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13582 vect_simd_clones effective target.
13583 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13584
13585 2014-05-21 Jakub Jelinek <jakub@redhat.com>
13586
13587 PR middle-end/61252
13588 * testsuite/libgomp.c++/simd-9.C: New test.
13589
13590 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
13591
13592 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13593 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13594 texts according to their @menu entry positions.
13595
13596 2014-05-11 Jakub Jelinek <jakub@redhat.com>
13597
13598 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13599 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13600 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13601 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13602 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13603 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13604 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13605 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13606 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13607 * testsuite/libgomp.fortran/depend-1.f90: New test.
13608 * testsuite/libgomp.fortran/depend-2.f90: New test.
13609 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13610 * testsuite/libgomp.fortran/simd1.f90: New test.
13611 * testsuite/libgomp.fortran/simd2.f90: New test.
13612 * testsuite/libgomp.fortran/simd3.f90: New test.
13613 * testsuite/libgomp.fortran/simd4.f90: New test.
13614 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13615
13616 2014-05-02 Jakub Jelinek <jakub@redhat.com>
13617
13618 * testsuite/libgomp.c/simd-10.c: New test.
13619 * testsuite/libgomp.c/simd-11.c: New test.
13620 * testsuite/libgomp.c/simd-12.c: New test.
13621 * testsuite/libgomp.c/simd-13.c: New test.
13622
13623 2014-04-24 Jakub Jelinek <jakub@redhat.com>
13624
13625 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13626 atomic type clauses in any order and optional comma in between.
13627 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13628 * testsuite/libgomp.c/atomic-17.c: Likewise.
13629
13630 * testsuite/libgomp.c/simd-7.c: New test.
13631 * testsuite/libgomp.c/simd-8.c: New test.
13632 * testsuite/libgomp.c/simd-9.c: New test.
13633 * testsuite/libgomp.c/loop-16.c: New test.
13634
13635 2014-04-02 Richard Henderson <rth@redhat.com>
13636
13637 * config/linux/futex.h (futex_wait): Get error value from errno.
13638 (futex_wake): Likewise.
13639
13640 2014-03-25 Jakub Jelinek <jakub@redhat.com>
13641
13642 PR c++/60331
13643 * testsuite/libgomp.c++/udr-11.C: New test.
13644 * testsuite/libgomp.c++/udr-12.C: New test.
13645 * testsuite/libgomp.c++/udr-13.C: New test.
13646 * testsuite/libgomp.c++/udr-14.C: New test.
13647 * testsuite/libgomp.c++/udr-15.C: New test.
13648 * testsuite/libgomp.c++/udr-16.C: New test.
13649 * testsuite/libgomp.c++/udr-17.C: New test.
13650 * testsuite/libgomp.c++/udr-18.C: New test.
13651 * testsuite/libgomp.c++/udr-19.C: New test.
13652
13653 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13654
13655 Update copyright years
13656
13657 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13658
13659 * hashtab.h: Use the standard form for the copyright notice.
13660
13661 2014-01-02 Tobias Burnus <burnus@net-b.de>
13662
13663 * libgomp.texi: Bump @copying's copyright year.
13664
13665 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
13666
13667 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13668 alloca () with __builtin_alloca ().
13669 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13670 * testsuite/libgomp.c/lock-3.c: Likewise.
13671 * testsuite/libgomp.c/pr48591.c: Likewise.
13672
13673 2013-12-17 Jakub Jelinek <jakub@redhat.com>
13674
13675 PR testsuite/59534
13676 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13677 comparisons.
13678
13679 2013-12-16 Jakub Jelinek <jakub@redhat.com>
13680
13681 PR libgomp/58756
13682 * testsuite/libgomp.c/pr58756.c: New test.
13683
13684 2013-12-12 Jakub Jelinek <jakub@redhat.com>
13685
13686 PR libgomp/59467
13687 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13688 !$omp parallel.
13689
13690 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
13691
13692 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13693 ALWAYS_CFLAGS.
13694 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13695 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13696 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13697 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13698 Likewise.
13699
13700 * libgomp_g.h: Include <stddef.h> for size_t.
13701
13702 * libgomp.spec.in: Update comment about libgomp's dependencies.
13703 * configure.ac: Likewise.
13704 * configure: Regenerate.
13705
13706 2013-10-16 Tobias Burnus <burnus@net-b.de>
13707
13708 * libgomp.texi: (Runtime Library Routines): Update references for
13709 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13710 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13711 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13712 (Environment Variables): Update references for OpenMP 4.0. Add
13713 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13714 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13715 order.
13716
13717 2013-10-14 Jakub Jelinek <jakub@redhat.com>
13718
13719 * env.c (parse_bind_var): Initialize value to avoid
13720 (false positive) warning.
13721
13722 2013-10-12 Jakub Jelinek <jakub@redhat.com>
13723
13724 PR libgomp/58691
13725 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13726 to check variable.
13727 (gomp_init_num_threads): Move i variable declaration into
13728 #ifdef CPU_ALLOC_SIZE block.
13729 * config/linux/affinity.c (gomp_affinity_init_level): Test
13730 gomp_places_list_len == 0 rather than gomp_places_list == 0
13731 when checking for topology reading error.
13732 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13733 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13734 gomp_places_list, only parse env var and always return false.
13735 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13736 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13737 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13738 and either of these variables were parsed correctly into a places
13739 list.
13740
13741 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13742 Jakub Jelinek <jakub@redhat.com>
13743
13744 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13745 of 5 loopfn matches.
13746 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13747 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13748 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13749 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13750 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13751 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13752 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13753 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13754
13755 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13756
13757 * Makefile.am (omp_lib.mod): Streamline rule.
13758 * Makefile.in: Regenerate.
13759
13760 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13761 exceptions.
13762
13763 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13764 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13765 * testsuite/libgomp.fortran/lib2.f: Likewise.
13766 * testsuite/libgomp.fortran/lib3.f: Likewise.
13767
13768 * configure.ac: Typo fix.
13769 * configure: Regenerate.
13770
13771 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13772 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13773
13774 * omp.h.in: Don't touch the user's namespace.
13775
13776 2013-10-11 Jakub Jelinek <jakub@redhat.com>
13777 Tobias Burnus <burnus@net-b.de>
13778 Richard Henderson <rth@redhat.com>
13779
13780 * target.c: New file.
13781 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13782 * Makefile.in: Regenerated.
13783 * libgomp_g.h (GOMP_task): Add depend argument.
13784 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13785 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13786 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13787 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13788 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13789 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13790 GOMP_taskgroup_start, GOMP_taskgroup_end,
13791 GOMP_parallel_sections): New prototypes.
13792 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13793 (omp_is_initial_device_): New function.
13794 (ULP, STR1, STR2, ialias_redirect): Removed.
13795 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13796 omp_set_default_device_8_, omp_get_default_device_,
13797 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13798 functions.
13799 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13800 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13801 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13802 @@GOMP_4.0.
13803 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13804 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13805 omp_set_default_device, omp_set_default_device_,
13806 omp_set_default_device_8_, omp_get_default_device,
13807 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13808 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13809 omp_get_team_num_): Export @@OMP_4.0.
13810 * team.c (struct gomp_thread_start_data): Add place field.
13811 (gomp_thread_start): Clear thr->thread_pool and
13812 thr->task before returning. Use gomp_team_barrier_wait_final
13813 instead of gomp_team_barrier_wait. Initialize thr->place.
13814 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13815 team_cancelled and task_queued_count fields.
13816 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13817 before calling pthread_exit.
13818 (gomp_free_thread): No longer static. Use
13819 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13820 (gomp_team_start): Add flags argument. Set
13821 thr->thread_pool->threads_busy to nthreads immediately after creating
13822 new pool. Use gomp_managed_threads_lock instead of
13823 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13824 (gomp_team_end): Use gomp_managed_threads_lock instead of
13825 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13826 of gomp_team_barrier_wait. If team->team_cancelled, call
13827 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13828 rather than thr->ts.work_share.
13829 (initialize_team): Don't call gomp_sem_init here.
13830 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13831 caller.
13832 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13833 * env.c (gomp_global_icv): Add default_device_var, target_data and
13834 bind_var initializers.
13835 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13836 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13837 gomp_places_list_len): New variables.
13838 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13839 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13840 sized places.
13841 (gomp_cancel_var): New global variable.
13842 (parse_int): New function.
13843 (handle_omp_display_env): New function.
13844 (initialize_env): Use it. Initialize default_device_var.
13845 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13846 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13847 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13848 been successfully parsed (and call gomp_init_affinity in that case).
13849 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13850 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13851 omp_get_team_num, omp_is_initial_device): New functions.
13852 * libgomp.h: Include stdlib.h.
13853 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13854 Define.
13855 (struct target_mem_desc): Forward declare.
13856 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13857 and thread_limit_var fields.
13858 (gomp_get_num_devices): New prototype.
13859 (gomp_cancel_var): New extern decl.
13860 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13861 team_cancelled and task_queued_count fields. Add comments about
13862 task_{,queued_,running_}count.
13863 (gomp_cancel_kind): New enum.
13864 (gomp_work_share_end_cancel): New prototype.
13865 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13866 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13867 and depend fields.
13868 (struct gomp_taskgroup): New type.
13869 (struct gomp_task_depend_entry,
13870 struct gomp_dependers_vec): New types.
13871 (gomp_finish_task): Free depend_hash if non-NULL.
13872 (struct gomp_team_state): Add place_partition_off
13873 and place_partition_len fields.
13874 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13875 gomp_places_list_len): New extern decls.
13876 (struct gomp_thread): Add place field.
13877 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13878 (gomp_init_thread_affinity): Add place argument.
13879 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13880 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13881 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13882 gomp_affinity_init_level, gomp_affinity_print_place): New
13883 prototypes.
13884 (gomp_team_start): Add flags argument.
13885 (gomp_thread_limit_var, gomp_remaining_threads_count,
13886 gomp_remaining_threads_lock): Remove.
13887 (gomp_managed_threads_lock): New variable.
13888 (struct gomp_thread_pool): Add threads_busy field.
13889 (gomp_free_thread): New prototype.
13890 * task.c: Include hashtab.h.
13891 (hash_entry_type): New typedef.
13892 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13893 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13894 copy_ctors_done and taskgroup fields.
13895 (GOMP_task): Add depend argument, handle depend clauses. If
13896 gomp_team_barrier_cancelled or if it's taskgroup has been
13897 cancelled, don't queue or start new tasks. Set copy_ctors_done
13898 field if needed. Initialize taskgroup field. If copy_ctors_done
13899 and already cancelled, don't discard the task. If taskgroup is
13900 non-NULL, enqueue the task into taskgroup queue. Increment
13901 num_children field in taskgroup. Increment task_queued_count.
13902 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13903 gomp_task_run_post_remove_taskgroup): New inline functions.
13904 (gomp_task_run_post_handle_depend_hash,
13905 gomp_task_run_post_handle_dependers,
13906 gomp_task_run_post_handle_depend): New functions.
13907 (GOMP_taskwait): Use them. If more than one new tasks
13908 have been queued, wake other threads if needed.
13909 (gomp_barrier_handle_tasks): Likewise. If
13910 gomp_team_barrier_cancelled, don't start any new tasks, just free
13911 all tasks.
13912 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13913 * omp_lib.f90.in
13914 (omp_proc_bind_kind, omp_proc_bind_false,
13915 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13916 omp_proc_bind_spread): New params.
13917 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13918 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13919 omp_get_team_num, omp_is_initial_device): New interfaces.
13920 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13921 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13922 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13923 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13924 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13925 useless use omp_lib_kinds.
13926 * omp.h.in (omp_proc_bind_t): New typedef.
13927 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13928 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13929 omp_get_team_num, omp_is_initial_device): New prototypes.
13930 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13931 through to gomp_team_start.
13932 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13933 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13934 Adjust gomp_parallel_loop_start callers.
13935 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13936 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13937 GOMP_loop_end_cancel): New functions.
13938 (GOMP_parallel_end): Add ialias_redirect.
13939 * hashtab.h: New file.
13940 * libgomp.texi (Environment Variables): Minor cleanup,
13941 update section refs to OpenMP 4.0rc2.
13942 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13943 environment variables.
13944 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13945 team->work_shares_to_free to thr->ts.work_share before calling
13946 free_work_share.
13947 (gomp_work_share_end_cancel): New function.
13948 * config/linux/proc.c: Include errno.h.
13949 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13950 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13951 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13952 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13953 gomp_cpuset_size is sizeof (cpu_set_t).
13954 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13955 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13956 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13957 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13958 contain any logical CPUs.
13959 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13960 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13961 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13962 pthread_getaffinity_np. Check gomp_places_list instead of
13963 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13964 * config/linux/bar.c (gomp_barrier_wait_end,
13965 gomp_barrier_wait_last): Use BAR_* defines.
13966 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13967 from state where needed. Set work_share_cancelled to 0 on last
13968 thread.
13969 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13970 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13971 functions.
13972 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13973 Add cpusetsize argument.
13974 (gomp_cpuset_size, gomp_cpusetp): Declare.
13975 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13976 (affinity_counter): Remove.
13977 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13978 if CPU_ALLOC_SIZE isn't defined.
13979 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13980 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13981 bind current thread to the first place.
13982 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13983 pthread_setaffinity_np to gomp_places_list[place].
13984 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13985 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13986 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13987 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13988 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13989 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13990 (gomp_barrier_t): Add awaited_final field.
13991 (gomp_barrier_init): Initialize awaited_final field.
13992 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13993 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13994 prototypes.
13995 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13996 defines.
13997 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13998 gomp_team_barrier_cancelled): New inline functions.
13999 (gomp_barrier_last_thread,
14000 gomp_team_barrier_set_task_pending,
14001 gomp_team_barrier_clear_task_pending,
14002 gomp_team_barrier_set_waiting_for_tasks,
14003 gomp_team_barrier_waiting_for_tasks,
14004 gomp_team_barrier_done): Use BAR_* defines.
14005 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
14006 (gomp_barrier_wait_end): Use BAR_* defines.
14007 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
14008 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
14009 Use BAR_* defines.
14010 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
14011 gomp_team_barrier_cancel): New functions.
14012 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
14013 argument.
14014 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14015 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14016 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14017 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
14018 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14019 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14020 (gomp_barrier_t): Add cancellable field.
14021 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
14022 gomp_team_barrier_cancel): New prototypes.
14023 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
14024 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
14025 gomp_team_barrier_cancelled): New inline functions.
14026 (gomp_barrier_wait_start, gomp_barrier_last_thread,
14027 gomp_team_barrier_set_task_pending,
14028 gomp_team_barrier_clear_task_pending,
14029 gomp_team_barrier_set_waiting_for_tasks,
14030 gomp_team_barrier_waiting_for_tasks,
14031 gomp_team_barrier_done): Use BAR_* defines.
14032 * barrier.c (GOMP_barrier_cancel): New function.
14033 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
14034 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14035 omp_proc_bind_spread): New params.
14036 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14037 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14038 omp_get_team_num, omp_is_initial_device): New externals.
14039 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
14040 New functions.
14041 (gomp_resolve_num_threads): Adjust for thread_limit now being in
14042 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14043 infinity. If not nested, just return minimum of max_num_threads
14044 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
14045 to the returned value. Otherwise, don't update atomically
14046 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
14047 (GOMP_parallel_end): Adjust for thread_limit now being in
14048 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14049 infinity. Adjust threads_busy in the pool rather than
14050 gomp_remaining_threads_count. Remember team->nthreads and call
14051 gomp_team_end before adjusting threads_busy, if not nested
14052 afterwards, just set it to 1 non-atomically. Add ialias.
14053 (GOMP_parallel_start): Adjust gomp_team_start caller.
14054 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
14055 * testsuite/libgomp.c/affinity-1.c: New test.
14056 * testsuite/libgomp.c/atomic-15.c: New test.
14057 * testsuite/libgomp.c/atomic-16.c: New test.
14058 * testsuite/libgomp.c/atomic-17.c: New test.
14059 * testsuite/libgomp.c/cancel-for-1.c: New test.
14060 * testsuite/libgomp.c/cancel-for-2.c: New test.
14061 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
14062 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
14063 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
14064 * testsuite/libgomp.c/cancel-sections-1.c: New test.
14065 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
14066 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
14067 * testsuite/libgomp.c/depend-1.c: New test.
14068 * testsuite/libgomp.c/depend-2.c: New test.
14069 * testsuite/libgomp.c/depend-3.c: New test.
14070 * testsuite/libgomp.c/depend-4.c: New test.
14071 * testsuite/libgomp.c/for-1.c: New test.
14072 * testsuite/libgomp.c/for-1.h: New file.
14073 * testsuite/libgomp.c/for-2.c: New test.
14074 * testsuite/libgomp.c/for-2.h: New file.
14075 * testsuite/libgomp.c/for-3.c: New test.
14076 * testsuite/libgomp.c/pr58392.c: New test.
14077 * testsuite/libgomp.c/simd-1.c: New test.
14078 * testsuite/libgomp.c/simd-2.c: New test.
14079 * testsuite/libgomp.c/simd-3.c: New test.
14080 * testsuite/libgomp.c/simd-4.c: New test.
14081 * testsuite/libgomp.c/simd-5.c: New test.
14082 * testsuite/libgomp.c/simd-6.c: New test.
14083 * testsuite/libgomp.c/target-1.c: New test.
14084 * testsuite/libgomp.c/target-2.c: New test.
14085 * testsuite/libgomp.c/target-3.c: New test.
14086 * testsuite/libgomp.c/target-4.c: New test.
14087 * testsuite/libgomp.c/target-5.c: New test.
14088 * testsuite/libgomp.c/target-6.c: New test.
14089 * testsuite/libgomp.c/target-7.c: New test.
14090 * testsuite/libgomp.c/taskgroup-1.c: New test.
14091 * testsuite/libgomp.c/thread-limit-1.c: New test.
14092 * testsuite/libgomp.c/thread-limit-2.c: New test.
14093 * testsuite/libgomp.c/thread-limit-3.c: New test.
14094 * testsuite/libgomp.c/udr-1.c: New test.
14095 * testsuite/libgomp.c/udr-2.c: New test.
14096 * testsuite/libgomp.c/udr-3.c: New test.
14097 * testsuite/libgomp.c++/affinity-1.C: New test.
14098 * testsuite/libgomp.c++/atomic-10.C: New test.
14099 * testsuite/libgomp.c++/atomic-11.C: New test.
14100 * testsuite/libgomp.c++/atomic-12.C: New test.
14101 * testsuite/libgomp.c++/atomic-13.C: New test.
14102 * testsuite/libgomp.c++/atomic-14.C: New test.
14103 * testsuite/libgomp.c++/atomic-15.C: New test.
14104 * testsuite/libgomp.c++/cancel-for-1.C: New test.
14105 * testsuite/libgomp.c++/cancel-for-2.C: New test.
14106 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
14107 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
14108 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
14109 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
14110 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
14111 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
14112 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
14113 * testsuite/libgomp.c++/cancel-test.h: New file.
14114 * testsuite/libgomp.c++/for-9.C: New test.
14115 * testsuite/libgomp.c++/for-10.C: New test.
14116 * testsuite/libgomp.c++/for-11.C: New test.
14117 * testsuite/libgomp.c++/simd-1.C: New test.
14118 * testsuite/libgomp.c++/simd-2.C: New test.
14119 * testsuite/libgomp.c++/simd-3.C: New test.
14120 * testsuite/libgomp.c++/simd-4.C: New test.
14121 * testsuite/libgomp.c++/simd-5.C: New test.
14122 * testsuite/libgomp.c++/simd-6.C: New test.
14123 * testsuite/libgomp.c++/simd-7.C: New test.
14124 * testsuite/libgomp.c++/simd-8.C: New test.
14125 * testsuite/libgomp.c++/target-1.C: New test.
14126 * testsuite/libgomp.c++/target-2.C: New test.
14127 * testsuite/libgomp.c++/target-2-aux.cc: New file.
14128 * testsuite/libgomp.c++/target-3.C: New test.
14129 * testsuite/libgomp.c++/taskgroup-1.C: New test.
14130 * testsuite/libgomp.c++/udr-1.C: New test.
14131 * testsuite/libgomp.c++/udr-2.C: New test.
14132 * testsuite/libgomp.c++/udr-3.C: New test.
14133 * testsuite/libgomp.c++/udr-4.C: New test.
14134 * testsuite/libgomp.c++/udr-5.C: New test.
14135 * testsuite/libgomp.c++/udr-6.C: New test.
14136 * testsuite/libgomp.c++/udr-7.C: New test.
14137 * testsuite/libgomp.c++/udr-8.C: New test.
14138 * testsuite/libgomp.c++/udr-9.C: New test.
14139
14140 2013-09-20 Jakub Jelinek <jakub@redhat.com>
14141
14142 PR testsuite/57605
14143 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
14144 ALWAYS_CFLAGS.
14145
14146 2013-09-20 Alan Modra <amodra@gmail.com>
14147
14148 * configure: Regenerate.
14149
14150 2013-09-19 Jakub Jelinek <jakub@redhat.com>
14151
14152 * testsuite/libgomp.c/sections-2.c: New test.
14153
14154 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
14155
14156 * testsuite/libgomp.fortran/strassen.f90:
14157 Add dg-skip-if aarch64_tiny.
14158
14159 2013-06-20 Iain Sandoe <iain@codesourcery.com>
14160 Cesar Philippidis <cesar@codesourcery.com>
14161
14162 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
14163 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
14164 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
14165 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14166 * testsuite/libgomp.graphite/graphite.exp: Likewise.
14167 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
14168 Use dg-runtest rather than gfortran-dg-runtest.
14169
14170 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
14171
14172 * testsuite/libgomp.c/icv-2.c: Extend current handling of
14173 Linux-based x86 systems to cover all GNU systems.
14174 * testsuite/libgomp.c/lock-3.c: Likewise.
14175 * testsuite/libgomp.c/pr48591.c: Likewise.
14176
14177 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
14178
14179 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14180 GNU/Hurd, as done for Linux-based systems.
14181
14182 * config/posix/ptrlock.h: Fix comment.
14183
14184 2013-05-27 Tobias Burnus <burnus@net-b.de>
14185
14186 PR fortran/57423
14187 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14188 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14189 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14190 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14191 omp_destroy_nest_lock): Correct arguments to match the one in
14192 the OpenMP spec.
14193 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14194 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14195 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14196 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14197
14198 2013-05-16 Jakub Jelinek <jakub@redhat.com>
14199
14200 * testsuite/libgomp.c/loop-13.c: New test.
14201 * testsuite/libgomp.c/loop-14.c: New test.
14202 * testsuite/libgomp.c/loop-15.c: New test.
14203 * testsuite/libgomp.c++/loop-13.C: New test.
14204 * testsuite/libgomp.c++/loop-14.C: New test.
14205 * testsuite/libgomp.c++/loop-15.C: New test.
14206
14207 2013-02-06 Jakub Jelinek <jakub@redhat.com>
14208
14209 PR middle-end/56217
14210 * testsuite/libgomp.c++/pr56217.C: New test.
14211
14212 2013-02-01 Alan Modra <amodra@gmail.com>
14213
14214 * task.c (GOMP_task, GOMP_taskwait): Comment.
14215
14216 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
14217 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
14218
14219 PR libgomp/55561
14220 * config/linux/wait.h (do_spin): Use atomic load for addr.
14221 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14222 for intptr and ptrlock.
14223 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14224 for ptrlock.
14225
14226 2013-01-22 Alan Modra <amodra@gmail.com>
14227
14228 PR libgomp/51376
14229 PR libgomp/56073
14230 * task.c (GOMP_task): Revert 2011-12-09 change.
14231 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14232 barrier to read task->children..
14233 (gomp_barrier_handle_tasks): ..and matching atomic store with
14234 release barrier here when setting parent->children to NULL.
14235
14236 2013-01-16 Jakub Jelinek <jakub@redhat.com>
14237 Tobias Burnus <burnus@net-b.de>
14238
14239 PR driver/55884
14240 * testsuite/libgomp.fortran/fortran.exp: Use
14241 -fintrinsic-modules-path= instead of
14242 -fintrinsic-modules-path.
14243
14244 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14245
14246 Update copyright years.
14247
14248 2012-12-19 Tobias Burnus <burnus@net-b.de>
14249
14250 * testsuite/libgomp.fortran/fortran.exp: Set
14251 -fintrinsic-modules-path.
14252
14253 2012-12-19 Tobias Burnus <burnus@net-b.de>
14254
14255 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14256 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14257
14258 2012-11-21 Jakub Jelinek <jakub@redhat.com>
14259
14260 PR libgomp/55411
14261 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14262 if pool had any threads_used.
14263
14264 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14265
14266 * testsuite/libgomp.c++/pr24455.C: Use
14267 -Wl,-undefined,dynamic_lookup on darwin.
14268
14269 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
14270
14271 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14272
14273 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14274
14275 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14276
14277 2012-10-23 Ian Bolton <ian.bolton@arm.com>
14278 Jim MacArthur <jim.macarthur@arm.com>
14279 Marcus Shawcroft <marcus.shawcroft@arm.com>
14280 Nigel Stephens <nigel.stephens@arm.com>
14281 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14282 Richard Earnshaw <rearnsha@arm.com>
14283 Sofiane Naci <sofiane.naci@arm.com>
14284 Stephen Thomas <stephen.thomas@arm.com>
14285 Tejas Belagod <tejas.belagod@arm.com>
14286 Yufeng Zhang <yufeng.zhang@arm.com>
14287
14288 * configure.tgt: Add AArch64.
14289
14290 2012-10-04 Jason Merrill <jason@redhat.com>
14291
14292 * testsuite/libgomp.c++/tls-init1.C: New.
14293
14294 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
14295
14296 * configure: Regenerated.
14297
14298 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14299
14300 * config/linux/mips/futex.h (sys_futex0): Change to static
14301 function with noinline, nomips16 attributes under MIPS16. Adjust
14302 asm statement to place 'li v0,SYS_futex' immediately before
14303 syscall insn.
14304
14305 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14306
14307 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14308 conflict with index.html on case-insensitive file systems.
14309
14310 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
14311
14312 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14313 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14314
14315 2012-07-02 Richard Guenther <rguenther@suse.de>
14316 Michael Matz <matz@suse.de>
14317 Tobias Grosser <tobias@grosser.es>
14318 Sebastian Pop <sebpop@gmail.com>
14319
14320 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14321 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14322 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14323 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14324
14325 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14326
14327 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14328
14329 2012-06-22 Richard Guenther <rguenther@suse.de>
14330
14331 Merge from graphite branch
14332 2012-01-13 Tobias Grosser <tobias@grosser.es>
14333
14334 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14335 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14336
14337 2012-06-07 Jakub Jelinek <jakub@redhat.com>
14338
14339 PR middle-end/53580
14340 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14341 use GOMP_barrier () call instead.
14342 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14343 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14344 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14345 call GOMP_barrier instead.
14346 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14347
14348 2012-06-06 Jakub Jelinek <jakub@redhat.com>
14349
14350 PR libgomp/52993
14351 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14352 argument to memset call.
14353
14354 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14355
14356 * configure: Regenerated.
14357
14358 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14359
14360 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14361
14362 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14363
14364 PR bootstrap/52812
14365 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14366
14367 2012-03-22 Jakub Jelinek <jakub@redhat.com>
14368
14369 PR middle-end/52547
14370 * testsuite/libgomp.c/pr52547.c: New test.
14371
14372 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14373
14374 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14375
14376 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14377
14378 * configure.tgt (mips-sgi-irix6*): Remove.
14379
14380 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14381
14382 * configure.tgt (alpha*-dec-osf*): Remove.
14383
14384 * config/osf/sem.h: Remove.
14385 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14386
14387 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14388
14389 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14390
14391 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14392
14393 PR libstdc++/52188
14394 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14395 Remove ENABLE_SYMVERS_SOL2.
14396 * configure: Regenerate.
14397 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14398 (PREPROCESS): New variable.
14399 (libgomp.ver): New target.
14400 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14401 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14402 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14403 Use libgomp.ver.
14404 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14405 * Makefile.in: Regenerate.
14406
14407 2012-02-14 Walter Lee <walt@tilera.com>
14408
14409 * configure.tgt: Handle tilegx and tilepro.
14410 * config/linux/tile/futex.h: New file.
14411
14412 2012-02-08 Richard Guenther <rguenther@suse.de>
14413
14414 PR tree-optimization/46886
14415 * testsuite/libgomp.c/pr46886.c: New testcase.
14416
14417 2012-01-25 Matthias Klose <doko@ubuntu.com>
14418
14419 * config/linux/arm: Remove empty directory.
14420 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14421
14422 2011-12-09 Alan Modra <amodra@gmail.com>
14423
14424 PR libgomp/51376
14425 * task.c (GOMP_taskwait): Don't access task->children outside of
14426 task_lock mutex region.
14427 (GOMP_task): Likewise.
14428
14429 2011-12-06 Jakub Jelinek <jakub@redhat.com>
14430
14431 PR libgomp/51132
14432 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14433 to file scope.
14434 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14435 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14436 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14437 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14438 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14439
14440 2011-12-02 Alan Modra <amodra@gmail.com>
14441
14442 * config/linux/affinity.c: Use atomic rather than sync builtin.
14443 * config/linux/lock.c: Likewise.
14444 * config/linux/ptrlock.h: Likewise.
14445 * config/linux/ptrlock.c: Likewise.
14446 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14447 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14448 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14449 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14450 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14451 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14452 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14453 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14454 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14455 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14456
14457 2011-11-30 Alan Modra <amodra@gmail.com>
14458
14459 PR libgomp/51298
14460 * config/linux/bar.h: Use atomic rather than sync builtins.
14461 * config/linux/bar.c: Likewise. Add missing acquire
14462 synchronisation on generation field.
14463 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14464 double unlock.
14465
14466 2011-11-30 Alan Modra <amodra@gmail.com>
14467
14468 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14469 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14470 * config/linux/mutex.h: Use atomic rather than sync builtins.
14471 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14472 * config/linux/omp-lock.h: Comment fix.
14473 * config/linux/arm/mutex.h: Delete.
14474 * config/linux/powerpc/mutex.h: Delete.
14475 * config/linux/ia64/mutex.h: Delete.
14476 * config/linux/mips/mutex.h: Delete.
14477
14478 2011-11-30 Alan Modra <amodra@gmail.com>
14479
14480 PR libgomp/51249
14481 * config/linux/sem.h: Rewrite.
14482 * config/linux/sem.c: Rewrite.
14483
14484 2011-11-28 Richard Henderson <rth@redhat.com>
14485
14486 * libgomp.h (enum memmodel): New.
14487
14488 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
14489
14490 * configure: Regenerate.
14491
14492 2011-10-10 Matthias Klose <doko@ubuntu.com>
14493
14494 * config/posix95: Remove empty directory.
14495
14496 2011-08-26 Jakub Jelinek <jakub@redhat.com>
14497
14498 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14499
14500 2011-08-19 Jakub Jelinek <jakub@redhat.com>
14501
14502 PR fortran/49792
14503 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14504 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14505
14506 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14507
14508 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14509
14510 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14511
14512 PR libgomp/49965
14513 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14514
14515 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
14516
14517 * config/linux/proc.h: New.
14518 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14519 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14520 (gomp_init_num_threads): Update call to cpuset_popcount.
14521 (get_num_procs): Ditto.
14522 * config/linux/affinity.c (gomp_init_affinity): Call
14523 gomp_cpuset_popcount.
14524
14525 2011-08-02 Jakub Jelinek <jakub@redhat.com>
14526
14527 PR fortran/42041
14528 PR fortran/46752
14529 * omp.h.in (omp_in_final): New prototype.
14530 * omp_lib.f90.in (omp_in_final): New interface.
14531 (omp_integer_kind, omp_logical_kind): Remove
14532 and replace all its uses in the module with 4.
14533 (openmp_version): Change to 201107.
14534 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14535 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14536 kind for the parameters.
14537 (omp_in_final): New external.
14538 (openmp_version): Change to 201107.
14539 * task.c (omp_in_final): New function.
14540 (gomp_init_task): Initialize final_task.
14541 (GOMP_task): Remove unused attribute from flags. Handle final
14542 tasks.
14543 (GOMP_taskyield): New function.
14544 (omp_in_final): Return true if if (false) or final (true) task
14545 or descendant of final (true).
14546 * fortran.c (omp_in_final_): New function.
14547 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14548 (GOMP_3.0): Export GOMP_taskyield.
14549 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14550 variables.
14551 (parse_unsigned_long_list): New function.
14552 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14553 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14554 even if parse_affinity returned false.
14555 * config/linux/affinity.c (gomp_init_affinity): Handle
14556 gomp_cpu_affinity_len == 0.
14557 * libgomp_g.h (GOMP_taskyield): New prototype.
14558 * libgomp.h (struct gomp_task): Add final_task field.
14559 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14560 * team.c (gomp_team_start): Override new task's nthreads_var icv
14561 if list form OMP_NUM_THREADS has been used and it has value for
14562 the new nesting level.
14563
14564 * testsuite/libgomp.c/atomic-11.c: New test.
14565 * testsuite/libgomp.c/atomic-12.c: New test.
14566 * testsuite/libgomp.c/atomic-13.c: New test.
14567 * testsuite/libgomp.c/atomic-14.c: New test.
14568 * testsuite/libgomp.c/reduction-6.c: New test.
14569 * testsuite/libgomp.c/task-5.c: New test.
14570 * testsuite/libgomp.c++/atomic-2.C: New test.
14571 * testsuite/libgomp.c++/atomic-3.C: New test.
14572 * testsuite/libgomp.c++/atomic-4.C: New test.
14573 * testsuite/libgomp.c++/atomic-5.C: New test.
14574 * testsuite/libgomp.c++/atomic-6.C: New test.
14575 * testsuite/libgomp.c++/atomic-7.C: New test.
14576 * testsuite/libgomp.c++/atomic-8.C: New test.
14577 * testsuite/libgomp.c++/atomic-9.C: New test.
14578 * testsuite/libgomp.c++/task-8.C: New test.
14579 * testsuite/libgomp.c++/reduction-4.C: New test.
14580 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14581 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14582 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14583 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14584 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14585 * testsuite/libgomp.fortran/pointer1.f90: New test.
14586 * testsuite/libgomp.fortran/pointer2.f90: New test.
14587 * testsuite/libgomp.fortran/task4.f90: New test.
14588
14589 2011-08-02 Tobias Burnus <burnus@net-b.de>
14590
14591 * libgomp.texi: Update OpenMP spec references to 3.1.
14592 (omp_in_final,OMP_PROC_BIND): New sections.
14593 (OMP_NUM_THREADS): Document that the value can be now a list.
14594 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14595
14596 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14597
14598 * config/linux/x86/futex.h: Check __x86_64__ instead of
14599 __LP64__.
14600
14601 2011-07-29 Jakub Jelinek <jakub@redhat.com>
14602
14603 PR middle-end/49897
14604 PR middle-end/49898
14605 * testsuite/libgomp.c/pr49897-1.c: New test.
14606 * testsuite/libgomp.c/pr49897-2.c: New test.
14607 * testsuite/libgomp.c/pr49898-1.c: New test.
14608 * testsuite/libgomp.c/pr49898-2.c: New test.
14609
14610 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
14611
14612 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14613 for ia32 instead of ilp32.
14614
14615 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14616 * testsuite/libgomp.c/atomic-6.c: Likewise.
14617
14618 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
14619
14620 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14621 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14622
14623 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14624
14625 PR libgomp/45351
14626 * config/osf/sem.h: New file.
14627 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14628
14629 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14630
14631 PR target/49541
14632 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14633 ldflags.
14634
14635 2011-07-15 Jakub Jelinek <jakub@redhat.com>
14636
14637 * config/linux/wait.h (do_spin): New inline, largely copied
14638 from do_wait, just don't do futex_wait here, instead return true if
14639 it should be done.
14640 (do_wait): Implement using do_spin.
14641 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14642 to prototype.
14643 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14644 __sync_bool_compare_and_swap, pass the oldval to
14645 gomp_mutex_lock_slow.
14646 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14647 If all mutex contenders are just spinning and not sleeping, don't
14648 change state to 2 unnecessarily. Optimize the loop when state has
14649 already become 2 to use just one atomic operation per loop instead
14650 of two.
14651 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14652 to prototype.
14653 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14654 __sync_bool_compare_and_swap, pass the oldval to
14655 gomp_mutex_lock_slow.
14656
14657 2011-06-22 Jakub Jelinek <jakub@redhat.com>
14658
14659 PR libgomp/49490
14660 * iter.c (gomp_iter_static_next): For chunk size 0
14661 only use n ceil/ nthreads size for the first
14662 n % nthreads threads in the team instead of
14663 all threads except for the last few ones which
14664 get less work or none at all.
14665 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14666 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14667 chunk argument, set run_sched_modifier to 0 for static
14668 resp. 1 for other kinds. If chunk argument is 0
14669 and not static, set value to 1.
14670
14671 2011-05-19 Jakub Jelinek <jakub@redhat.com>
14672
14673 PR c++/49043
14674 * testsuite/libgomp.c++/pr49043.C: New test.
14675
14676 PR c++/48869
14677 * testsuite/libgomp.c++/pr48869.C: New test.
14678
14679 2011-05-06 Jakub Jelinek <jakub@redhat.com>
14680
14681 PR fortran/48894
14682 * fortran.c: Include limits.h.
14683 (TO_INT): Define.
14684 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14685 *set.
14686 (omp_set_num_threads_8_, omp_set_schedule_8_,
14687 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14688 omp_get_team_size_8_): Use TO_INT macro.
14689 * testsuite/libgomp.fortran/pr48894.f90: New test.
14690
14691 2011-04-13 Jakub Jelinek <jakub@redhat.com>
14692
14693 PR middle-end/48591
14694 * testsuite/libgomp.c/pr48591.c: New test.
14695
14696 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14697
14698 PR bootstrap/48135
14699 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14700 * configure: Regenerate.
14701
14702 2011-02-27 Jakub Jelinek <jakub@redhat.com>
14703
14704 PR fortran/47886
14705 * testsuite/libgomp.fortran/task3.f90: New test.
14706
14707 2011-02-24 Tobias Burnus <burnus@net-b.de>
14708
14709 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14710
14711 2011-02-23 Jakub Jelinek <jakub@redhat.com>
14712
14713 PR libgomp/47854
14714 * libgomp.texi (omp_get_wtime): Don't say time in the past
14715 must be Unix Epoch.
14716
14717 2011-02-18 Jakub Jelinek <jakub@redhat.com>
14718
14719 PR libgomp/47804
14720 * testsuite/libgomp.fortran/fortran.exp: Check for both
14721 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14722 but $blddir != "", still append ${blddir}/${lang_library_path}
14723 to ld_library_path.
14724
14725 2011-02-16 Tobias Burnus <burnus@net-b.de>
14726
14727 PR libgomp/47758
14728 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14729 of libquadmath.a before adding its libpath to ldflags.
14730
14731 2011-02-14 Jakub Jelinek <jakub@redhat.com>
14732
14733 PR libgomp/47731
14734 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14735 to FUTEX_WAIT futex syscall.
14736 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14737
14738 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14739
14740 * configure: Regenerate.
14741
14742 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
14743
14744 PR libstdc++/36104
14745 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14746
14747 2011-01-16 Gerald Pfeifer
14748
14749 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14750
14751 2010-12-14 Jakub Jelinek <jakub@redhat.com>
14752
14753 PR fortran/46874
14754 * libgomp.fortran/allocatable6.f90: New test.
14755
14756 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14757
14758 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14759 * configure: Regenerate.
14760
14761 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
14762
14763 PR target/40125
14764 PR lto/46695
14765 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14766 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14767 * aclocal.m4: Regenerate.
14768 * configure: Regenerate.
14769 * Makefile.in: Regenerate.
14770 * testsuite/Makefile.in: Regenerate.
14771
14772 2010-12-02 Jakub Jelinek <jakub@redhat.com>
14773
14774 PR fortran/46753
14775 * libgomp.fortran/pr46753.f90: New test.
14776
14777 PR libgomp/43706
14778 * env.c (initialize_env): Default to spin count 300000
14779 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14780 is specified.
14781
14782 PR libgomp/45240
14783 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14784 at the end if sync builtins aren't supported.
14785
14786 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14787
14788 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14789
14790 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14791
14792 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14793
14794 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
14795
14796 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14797
14798 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14799 Tobias Burnus <burnus@net-b.de>
14800
14801 PR fortran/32049
14802 * configure.ac:
14803 * configure: Regenerate.
14804
14805 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14806
14807 * config/linux/futex.h: New.
14808 * config/linux/arm/mutex.h: New.
14809 * configure.tgt (arm*-*-linux*): Add config path.
14810
14811 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
14812
14813 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14814
14815 2010-09-23 Tobias Burnus <burnus@net-b.de>
14816
14817 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14818 Change Fortran datatype to LOGICAL.
14819 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14820 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14821
14822 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14823
14824 * configure: Regenerate.
14825
14826 2010-07-26 Jakub Jelinek <jakub@redhat.com>
14827
14828 * libgomp.texi: Add function keyword to a couple of Fortran
14829 interfaces, use integer instead of int for Fortran.
14830
14831 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
14832
14833 * libgomp.texi: Fix spelling and pasto problems throughout.
14834 Adjust prototypes to match code.
14835
14836 2010-07-24 Tobias Burnus <burnus@net-b.de>
14837
14838 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14839 silence -fwhole-file warning.
14840
14841 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14842
14843 * configure.tgt (*-*-solaris2.[56]*): Removed.
14844
14845 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14846
14847 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14848 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14849 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14850 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14851 targetting solaris2*.
14852 * configure: Regenerate.
14853 * config.h.in: Regenerate.
14854
14855 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14856 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14857 Add libgomp_version_dep.
14858 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14859 versioning.
14860 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14861 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14862 * Makefile.in: Regenerate.
14863
14864 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14865 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14866 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14867 to common block, protected by
14868 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14869
14870 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
14871
14872 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14873
14874 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
14875
14876 PR bootstrap/43170
14877 * configure: Regenerate.
14878
14879 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14880
14881 PR other/43620
14882 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14883 * configure: Regenerate.
14884 * Makefile.in: Regenerate.
14885 * testsuite/Makefile.in: Regenerate.
14886
14887 2010-04-26 Jakub Jelinek <jakub@redhat.com>
14888
14889 PR c/43893
14890 * testsuite/libgomp.c/pr43893.c: New test.
14891 * testsuite/libgomp.c++/pr43893.C: New test.
14892
14893 2010-04-21 Jakub Jelinek <jakub@redhat.com>
14894
14895 PR middle-end/43570
14896 * testsuite/libgomp.fortran/vla8.f90: New test.
14897
14898 2010-04-20 Jakub Jelinek <jakub@redhat.com>
14899
14900 PR libgomp/43706
14901 * config/linux/affinity.c (gomp_init_affinity): Decrease
14902 gomp_available_cpus if affinity mask confines the process to fewer
14903 CPUs.
14904 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14905 non-NULL, just return gomp_available_cpus.
14906
14907 PR libgomp/43569
14908 * sections.c (gomp_sections_init): Initialize ws->mode.
14909
14910 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
14911
14912 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14913 not unused bar variable.
14914 * configure: Regenerate.
14915
14916 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14917
14918 * Makefile.in: Regenerate.
14919 * aclocal.m4: Regenerate.
14920 * testsuite/Makefile.in: Regenerate.
14921
14922 2010-03-22 Jakub Jelinek <jakub@redhat.com>
14923
14924 PR libgomp/42942
14925 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14926 (initialize_env): Adjust callers.
14927 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14928 when the argument is 0.
14929
14930 * testsuite/libgomp.c/pr42942.c: New test.
14931
14932 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
14933
14934 PR middle-end/42644
14935 PR middle-end/42130
14936 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14937 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14938
14939 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14940
14941 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14942 * testsuite/libgomp.c++/task-6.C: Likewise.
14943
14944 2010-01-28 Steve Ellcey <sje@cup.hp.com>
14945
14946 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14947
14948 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
14949
14950 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14951 * configure: Regenerate.
14952
14953 2010-01-26 Jakub Jelinek <jakub@redhat.com>
14954
14955 PR fortran/42866
14956 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14957
14958 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
14959
14960 * configure.ac: Test for executability of GFORTRAN.
14961 * configure: Regenerate.
14962
14963 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14964
14965 * configure: Regenerate.
14966
14967 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
14968
14969 PR libgomp/42602
14970 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14971
14972 2010-01-03 Richard Guenther <rguenther@suse.de>
14973
14974 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14975
14976 2009-12-23 Sebastian Pop <sebpop@gmail.com>
14977
14978 * testsuite/libgomp.graphite/pr4118.c: New.
14979
14980 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14981
14982 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14983 for darwin, protect the test with require-effective-target tls_runtime.
14984 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14985
14986 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14987
14988 PR target/41605
14989 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14990 link spec %s substitutions for static libraries.
14991
14992 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
14993
14994 PR testsuite/42135
14995 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14996
14997 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14998
14999 * Makefile.in: Regenerate.
15000 * configure: Regenerate.
15001 * testsuite/Makefile.in: Regenerate.
15002
15003 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
15004
15005 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
15006 settings for LC_ALL and LANG.
15007
15008 2009-11-25 Jakub Jelinek <jakub@redhat.com>
15009
15010 PR fortran/42162
15011 * testsuite/libgomp.fortran/pr42162.f90: New test.
15012
15013 2009-11-13 Jakub Jelinek <jakub@redhat.com>
15014
15015 PR middle-end/42029
15016 * testsuite/libgomp.c/pr42029.c: New test.
15017
15018 2009-10-26 Jakub Jelinek <jakub@redhat.com>
15019
15020 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
15021 *s. Accept ld version without text in ()s.
15022 * configure: Regenerated.
15023
15024 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
15025
15026 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
15027
15028 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15029
15030 PR libgomp/41418
15031 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
15032 or a hyphen (happens with fortran language disabled).
15033 * configure: Regenerate.
15034
15035 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15036
15037 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
15038 use sed script portable to Solaris /bin/sed for extracting ld
15039 version.
15040 * configure: Regenerate.
15041
15042 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
15043
15044 * testsuite/libgomp.graphite/bounds.c: New test.
15045
15046 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15047
15048 * Makefile.am (libgomp_la_LINK): New.
15049 * Makefile.in: Regenerate.
15050
15051 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15052
15053 * configure.ac (AC_PREREQ): Bump to 2.64.
15054
15055 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15056
15057 * Makefile.am (install-html, install-pdf): Remove.
15058 * Makefile.in: Regenerate.
15059
15060 * Makefile.in: Regenerate.
15061 * aclocal.m4: Regenerate.
15062 * config.h.in: Regenerate.
15063 * configure: Regenerate.
15064 * testsuite/Makefile.in: Regenerate.
15065
15066 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15067
15068 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
15069 * Makefile.in: Regenerate.
15070
15071 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
15072
15073 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
15074 * Makefile.in: Regenerate.
15075
15076 2009-08-19 Tobias Burnus <burnus@net-b.de>
15077
15078 PR fortran/41102
15079 omp_lib.h.in: Fix -std=f95 errors.
15080
15081 2009-08-14 David Edelsohn <edelsohn@gnu.org>
15082
15083 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
15084 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
15085 * testsuite/libgomp.graphite/graphite.exp: New.
15086
15087 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
15088
15089 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
15090 only build.
15091
15092 2009-08-04 David Daney <ddaney@caviumnetworks.com>
15093
15094 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
15095 needed memory barrier semantics.
15096 * config/linux/mips/mutex.h: New file.
15097
15098 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15099
15100 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
15101
15102 2009-07-16 Joseph Myers <joseph@codesourcery.com>
15103
15104 * configure: Regenerate.
15105
15106 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
15107
15108 PR testsuite/40699
15109 PR testsuite/40707
15110 PR testsuite/40709
15111 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
15112 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
15113 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
15114
15115 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
15116
15117 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
15118 options when choosing a multilib.
15119
15120 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
15121
15122 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
15123 ld_library_path. Use add_path. Add just find_libgcc_s to
15124 ld_library_path, not every libgcc multilib directory.
15125 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
15126 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
15127 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
15128 Use add_path.
15129 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
15130
15131 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
15132
15133 * Makefile.am (LTLDFLAGS): Define.
15134 (LINK): Define.
15135 * Makefile.in: Regenerate.
15136
15137 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
15138
15139 PR fortran/39718
15140 * testsuite/libgomp.fortran/fortran.exp: Don't link with
15141 libgfortranbegin, check existence of libgfortran.a instead of
15142 libgfortranbegin.a.
15143
15144 2009-05-20 Jakub Jelinek <jakub@redhat.com>
15145
15146 PR libgomp/40174
15147 * team.c (gomp_thread_start): Destroy thr->release semaphore.
15148 (gomp_free_pool_helper): Likewise.
15149
15150 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
15151 Jakub Jelinek <jakub@redhat.com>
15152
15153 PR fortran/35423
15154 * testsuite/libgomp.fortran/workshare2.f90: New test.
15155
15156 2009-04-09 Nick Clifton <nickc@redhat.com>
15157
15158 * iter.c: Change copyright header to refer to version 3 of the
15159 GNU General Public License with version 3.1 of the GCC Runtime
15160 Library Exception and to point readers at the COPYING3 and
15161 COPYING3.RUNTIME files and the FSF's license web page.
15162 * alloc.c: Likewise.
15163 * barrier.c: Likewise.
15164 * config/bsd/proc.c: Likewise.
15165 * config/linux/affinity.c: Likewise.
15166 * config/linux/alpha/futex.h: Likewise.
15167 * config/linux/bar.c: Likewise.
15168 * config/linux/bar.h: Likewise.
15169 * config/linux/ia64/futex.h: Likewise.
15170 * config/linux/ia64/mutex.h: Likewise.
15171 * config/linux/lock.c: Likewise.
15172 * config/linux/mips/futex.h: Likewise.
15173 * config/linux/mutex.c: Likewise.
15174 * config/linux/mutex.h: Likewise.
15175 * config/linux/powerpc/futex.h: Likewise.
15176 * config/linux/proc.c: Likewise.
15177 * config/linux/ptrlock.c: Likewise.
15178 * config/linux/ptrlock.h: Likewise.
15179 * config/linux/s390/futex.h: Likewise.
15180 * config/linux/sem.c: Likewise.
15181 * config/linux/sem.h: Likewise.
15182 * config/linux/sparc/futex.h: Likewise.
15183 * config/linux/wait.h: Likewise.
15184 * config/linux/x86/futex.h: Likewise.
15185 * config/mingw32/proc.c: Likewise.
15186 * config/mingw32/time.c: Likewise.
15187 * config/posix/affinity.c: Likewise.
15188 * config/posix/bar.c: Likewise.
15189 * config/posix/bar.h: Likewise.
15190 * config/posix/lock.c: Likewise.
15191 * config/posix/mutex.h: Likewise.
15192 * config/posix/proc.c: Likewise.
15193 * config/posix/ptrlock.h: Likewise.
15194 * config/posix/sem.c: Likewise.
15195 * config/posix/sem.h: Likewise.
15196 * config/posix/time.c: Likewise.
15197 * config/posix95/lock.c: Likewise.
15198 * critical.c: Likewise.
15199 * env.c: Likewise.
15200 * error.c: Likewise.
15201 * fortran.c: Likewise.
15202 * iter_ull.c: Likewise.
15203 * libgomp.h: Likewise.
15204 * libgomp_f.h.in: Likewise.
15205 * libgomp_g.h: Likewise.
15206 * loop.c: Likewise.
15207 * loop_ull.c: Likewise.
15208 * omp.h.in: Likewise.
15209 * omp_lib.f90.in: Likewise.
15210 * omp_lib.h.in: Likewise.
15211 * ordered.c: Likewise.
15212 * parallel.c: Likewise.
15213 * sections.c: Likewise.
15214 * single.c: Likewise.
15215 * task.c: Likewise.
15216 * team.c: Likewise.
15217 * work.c: Likewise.
15218
15219 2009-04-09 Jakub Jelinek <jakub@redhat.com>
15220
15221 * testsuite/config/default.exp: Change copyright header to refer to
15222 version 3 of the GNU General Public License and to point readers
15223 at the COPYING3 file and the FSF's license web page.
15224
15225 2009-04-08 Jakub Jelinek <jakub@redhat.com>
15226
15227 PR middle-end/39573
15228 * libgomp.c++/pr39573.C: New test.
15229
15230 2009-04-01 Jakub Jelinek <jakub@redhat.com>
15231
15232 PR other/39591
15233 * testsuite/libgomp.c/pr39591-1.c: New test.
15234 * testsuite/libgomp.c/pr39591-2.c: New test.
15235 * testsuite/libgomp.c/pr39591-3.c: New test.
15236
15237 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
15238
15239 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15240 * testsuite/libgomp.c/atomic-6.c: Ditto.
15241
15242 2009-03-23 Jakub Jelinek <jakub@redhat.com>
15243
15244 PR c/39495
15245 * testsuite/libgomp.c/loop-12.c: New test.
15246 * testsuite/libgomp.c/loop-11.c: New test.
15247 * testsuite/libgomp.c++/loop-11.C: New test.
15248 * testsuite/libgomp.c++/loop-12.C: New test.
15249 * testsuite/libgomp.c++/for-8.C: New test.
15250
15251 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15252
15253 * configure: Regenerate.
15254
15255 2009-02-11 Jakub Jelinek <jakub@redhat.com>
15256
15257 PR middle-end/39154
15258 * testsuite/libgomp.c/pr39154.c: New test.
15259
15260 2009-01-30 Ian Lance Taylor <iant@google.com>
15261
15262 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15263 libgomp_ld_is_gold. Get gold version number.
15264 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15265 * configure: Rebuild.
15266
15267 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15268
15269 * testsuite/lib/libgomp.exp: Add -B option for targets that
15270 use libgfortran.a%s in their specs.
15271
15272 2009-01-07 Jakub Jelinek <jakub@redhat.com>
15273
15274 PR libgomp/38086
15275 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15276 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15277 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15278 * configure: Regenerated.
15279 * config.h.in: Likewise.
15280
15281 2008-12-28 Jakub Jelinek <jakub@redhat.com>
15282
15283 PR c++/38650
15284 * testsuite/libgomp.c/pr38650.c: New test.
15285 * testsuite/libgomp.c++/pr38650.C: New test.
15286
15287 2008-12-27 Jakub Jelinek <jakub@redhat.com>
15288
15289 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15290
15291 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
15292
15293 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15294
15295 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15296
15297 * configure: Regenerate.
15298
15299 2008-12-08 Jakub Jelinek <jakub@redhat.com>
15300
15301 PR middle-end/36802
15302 * testsuite/libgomp.c/pr36802-1.c: New test.
15303 * testsuite/libgomp.c/pr36802-2.c: New test.
15304 * testsuite/libgomp.c/pr36802-3.c: New test.
15305
15306 2008-12-01 Janis Johnson <janis187@us.ibm.com>
15307
15308 PR libgomp/38270
15309 * config/linux/powerpc/mutex.h: New.
15310
15311 2008-12-01 Jakub Jelinek <jakub@redhat.com>
15312
15313 PR c++/38257
15314 * testsuite/libgomp.c++/for-7.C: New test.
15315
15316 PR c++/38348
15317 * testsuite/libgomp.c++/for-6.C: New test.
15318
15319 2008-11-26 Janis Johnson <janis187@us.ibm.com>
15320
15321 PR testsuite/28870
15322 * testsuite/lib/libgomp.exp: Include new timeout library files.
15323 (libgomp_target_compile): Set timeout value from new proc.
15324
15325 2008-11-13 Steve Ellcey <sje@cup.hp.com>
15326
15327 PR libgomp/37938
15328 * config/linux/ia64/mutex.h: New.
15329
15330 2008-11-04 Tobias Burnus <burnus@net-b.de>
15331
15332 PR libgomp/37935
15333 * libgomp.texi (Runtime library routines, environment variables):
15334 Update for OpenMP version 3.0.
15335
15336 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15337 Steve Ellcey <sje@cup.hp.com>
15338
15339 * configure: Regenerate for new libtool.
15340 * Makefile.in: Ditto.
15341 * testsuite/Makefile.in: Ditto.
15342
15343 2008-09-19 Jakub Jelinek <jakub@redhat.com>
15344 Andreas Tobler <a.tobler@schweiz.org>
15345
15346 * config/bsd/proc.c: New file.
15347 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15348 * configure.ac: Check for header <sys/sysctl.h>
15349 * configure: Regenerate.
15350 * config.h.in: Likewise.
15351
15352 2008-09-05 Janis Johnson <janis187@us.ibm.com>
15353
15354 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15355
15356 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15357
15358 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15359 * Makefile.in: Regenerated.
15360 * testsuite/Makefile.in: Regenerated.
15361
15362 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
15363
15364 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15365 depend on blddir if blddir exists.
15366 (libgomp_target_compile): Likewise.
15367 * testsuite/libgomp.c++/c++.exp: Likewise.
15368 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15369
15370 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15371
15372 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15373 Do not list GPL as Invariant Section.
15374
15375 2008-07-28 Ilie Garbacea <ilie@mips.com>
15376 Chao-ying Fu <fu@mips.com>
15377
15378 * configure.tgt: Enable futex for MIPS.
15379 * config/linux/mips/futex.h: New file.
15380
15381 2008-07-16 Jakub Jelinek <jakub@redhat.com>
15382
15383 * team.c (gomp_team_end): Free team immediately if it has
15384 just one thread.
15385
15386 2008-07-08 David Edelsohn <edelsohn@gnu.org>
15387
15388 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15389 * testsuite/libgomp.fortran/fortran.exp: Same.
15390 * testsuite/libgomp.c/c.exp: Same.
15391 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15392 directory to library path first.
15393
15394 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15395
15396 * env.c (parse_stacksize): Add cast to avoid warning.
15397 (parse_spincount): Likewise.
15398
15399 2008-06-27 Jakub Jelinek <jakub@redhat.com>
15400
15401 * testsuite/libgomp.c/loop-10.c: New test.
15402 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15403 * libgomp.c++/loop-6.C (main): Likewise.
15404
15405 PR debug/36617
15406 * testsuite/libgomp.c/debug-1.c: New test.
15407
15408 2008-06-19 Jakub Jelinek <jakub@redhat.com>
15409
15410 * testsuite/libgomp.c/nqueens-1.c: New test.
15411
15412 PR c++/36523
15413 * testsuite/libgomp.c++/task-7.C: New function.
15414
15415 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15416
15417 * configure: Regenerate.
15418
15419 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15420
15421 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15422 mutex when HAVE_SYNC_BUILTINS isn't defined.
15423
15424 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15425
15426 * libgomp.texi (omp_test_lock): Fix typo.
15427
15428 2008-06-12 Tobias Burnus <burnus@net-b.de>
15429
15430 * omp_lib.f90.in: Add "implicit none".
15431
15432 2008-06-12 Jakub Jelinek <jakub@redhat.com>
15433
15434 PR middle-end/36506
15435 * testsuite/libgomp.c/reduction-5.c: New test.
15436
15437 2008-06-11 Jakub Jelinek <jakub@redhat.com>
15438
15439 * libgomp.h (struct gomp_task): Add in_tied_task field.
15440 * task.c (gomp_init_task): Initialize it.
15441 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15442 unconditionally. Don't call gomp_team_barrier_wake if
15443 current task is implicit or if(0) from implicit and number of
15444 running tasks is equal to nthreads - 1.
15445
15446 PR libgomp/36471
15447 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15448 omp_get_team_size_8): Fix pastos.
15449
15450 PR libgomp/36469
15451 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15452 * configure: Regenerated.
15453 * config.h.in: Regenerated.
15454 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15455 defined.
15456
15457 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15458
15459 PR bootstrap/36452
15460 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15461 (GOMP_loop_ull_dynamic_start): Likewise.
15462 (GOMP_loop_ull_guided_start): Likewise.
15463 (GOMP_loop_ull_ordered_static_start): Likewise.
15464 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15465 (GOMP_loop_ull_ordered_guided_start): Likewise.
15466
15467 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15468 Richard Henderson <rth@redhat.com>
15469 Ulrich Drepper <drepper@redhat.com>
15470 Jakob Blomer <jakob.blomer@ira.uka.de>
15471
15472 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15473 Substitute also OMP_*LOCK_25*.
15474 * configure: Regenerated.
15475 * config.h.in: Regenerated.
15476 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15477 ptrlock.c and task.c.
15478 * Makefile.in: Regenerated.
15479 * testsuite/Makefile.in: Regenerated.
15480 * task.c: New file.
15481 * loop_ull.c: New file.
15482 * iter_ull.c: New file.
15483 * libgomp.h: Include ptrlock.h.
15484 (enum gomp_task_kind): New type.
15485 (struct gomp_team): Add task_lock, task_queue, task_count,
15486 task_running_count, single_count fields. Add
15487 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15488 Remove work_share_lock, generation_mask,
15489 oldest_live_gen, num_live_gen and init_work_shares fields, add
15490 work work_share_list_alloc, work_share_list_free and work_share_chunk
15491 fields. Change work_shares from pointer to pointers into an array.
15492 Change ordered_release field into gomp_sem_t ** from flexible array
15493 member. Add implicit_task and initial_work_shares fields.
15494 Move close to the end of the struct.
15495 (struct gomp_team_state): Add single_count, last_work_share,
15496 active_level and level fields, remove work_share_generation.
15497 (gomp_barrier_handle_tasks): New prototype.
15498 (gomp_finish_task): New inline function.
15499 (struct gomp_work_share): Move chunk_size, end, incr into
15500 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15501 next_ll fields. Reshuffle fields. Add next_alloc,
15502 next_ws, next_free and inline_ordered_team_ids fields, change
15503 ordered_team_ids into pointer from flexible array member.
15504 Add mode field. Put lock and next into a different cache line
15505 from most of the write-once fields.
15506 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15507 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15508 gomp_iter_ull_guided_next): New prototypes.
15509 (gomp_new_icv): New prototype.
15510 (struct gomp_thread): Add thread_pool and task fields.
15511 (struct gomp_thread_pool): New type.
15512 (gomp_new_team): New prototype.
15513 (gomp_team_start): Change type of last argument.
15514 (gomp_new_work_share): Removed.
15515 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15516 (gomp_work_share_init_done): New static inline.
15517 (gomp_throttled_spin_count_var, gomp_available_cpus,
15518 gomp_managed_threads): New extern decls.
15519 (gomp_init_task): New prototype.
15520 (gomp_spin_count_var): New extern var decl.
15521 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15522 or no alias support, or if not PIC.
15523 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15524 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15525 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15526 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15527 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15528 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15529 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15530 gomp_test_nest_lock_25): New prototypes.
15531 (omp_lock_symver, strong_alias): Define.
15532 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15533 decls.
15534 (gomp_end_task): New.
15535 (struct gomp_task_icv, gomp_global_icv): New.
15536 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15537 (struct gomp_task): New.
15538 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15539 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15540 (gomp_icv): New.
15541 (gomp_schedule_type): Reorder enum to match
15542 omp_sched_t.
15543 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15544 fields.
15545 (gomp_thread_start): Add gomp_team_barrier_wait call.
15546 For non-nested case remove clearing of docked thread thr fields.
15547 Use pool fields instead of global gomp_* variables. Use
15548 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15549 Create tasks for each member thread.
15550 (free_team): Only destroy team barrier, task_lock here and free it.
15551 (gomp_free_thread): Free last_team if non-NULL.
15552 (gomp_team_end): Call gomp_team_barrier_wait instead of
15553 gomp_barrier_wait. For nested case call one extra
15554 gomp_barrier_wait. Move here some destruction from free_team.
15555 Call free_team on pool->last_team if any, rather than freeing
15556 current team. Destroy work_share_list_free_lock ifndef
15557 HAVE_SYNC_BUILTINS.
15558 (gomp_new_icv): New function.
15559 (gomp_threads, gomp_threads_size, gomp_threads_used,
15560 gomp_threads_dock): Removed.
15561 (gomp_thread_destructor): New variable.
15562 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15563 functions.
15564 (gomp_team_start): Create new pool if current thread doesn't have
15565 one. Use pool fields instead of global gomp_* variables.
15566 Initialize thread_pool field for new threads. Clear single_count.
15567 Change last argument from ws to team, don't create
15568 new team, set ts.work_share to &team->work_shares[0] and clear
15569 ts.last_work_share. Don't clear ts.work_share_generation.
15570 If number of threads changed, adjust atomically gomp_managed_threads.
15571 Use gomp_init_task instead of gomp_new_task,
15572 set thr->task to the corresponding implicit_task array entry.
15573 Create tasks for each member thread. Initialize ts.level.
15574 (initialize_team): Call pthread_key_create on
15575 gomp_thread_destructor.
15576 (team_destructor): New function.
15577 (new_team): Removed.
15578 (gomp_new_team): New function.
15579 (free_team): Free gomp_work_share blocks chained through next_alloc,
15580 instead of freeing work_shares and destroying work_share_lock.
15581 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15582 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15583 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15584 of gomp_barrier_wait.
15585 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15586 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15587 if gomp_work_share_start returned true. Don't unlock ws->lock.
15588 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15589 of gomp_barrier_wait.
15590 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15591 gomp_work_share_init_done if gomp_work_share_start returned true.
15592 Don't unlock ws->lock.
15593 * work.c: Include stddef.h.
15594 (free_work_share): Use work_share_list_free_lock instead
15595 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15596 Call gomp_fini_work_share and then either free ws if orphaned, or
15597 put it into work_share_list_free list of the current team.
15598 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15599 functions.
15600 (gomp_work_share_start, gomp_work_share_end,
15601 gomp_work_share_end_nowait): Rewritten.
15602 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15603 (openmp_version): Set to 200805.
15604 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15605 omp_sched_guided, omp_sched_auto): New parameters.
15606 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15607 omp_set_max_active_levels, omp_get_max_active_levels,
15608 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15609 omp_get_active_level): New interfaces.
15610 * omp_lib.h.in (openmp_version): Set to 200805.
15611 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15612 omp_sched_guided, omp_sched_auto): New parameters.
15613 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15614 omp_set_max_active_levels, omp_get_max_active_levels,
15615 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15616 omp_get_active_level): New externals.
15617 * loop.c: Include limits.h.
15618 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15619 GFS_AUTO.
15620 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15621 Likewise. Use gomp_icv.
15622 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15623 ts.static_trip here.
15624 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15625 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15626 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15627 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15628 don't unlock ws->lock, otherwise lock it.
15629 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15630 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15631 (gomp_parallel_loop_start): Call gomp_new_team instead of
15632 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15633 Adjust gomp_team_start caller. Pass 0 as second argument to
15634 gomp_resolve_num_threads.
15635 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15636 If adding ws->chunk_size nthreads + 1 times after end won't
15637 overflow, set ws->mode to 1.
15638 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15639 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15640 GOMP_loop_ull_ordered_static_start,
15641 GOMP_loop_ull_ordered_dynamic_start,
15642 GOMP_loop_ull_ordered_guided_start,
15643 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15644 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15645 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15646 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15647 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15648 prototypes.
15649 * libgomp.map: Export lock routines also @@OMP_2.0.
15650 (GOMP_loop_ordered_dynamic_first,
15651 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15652 GOMP_loop_ordered_static_first): Remove.
15653 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15654 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15655 GOMP_loop_ull_ordered_dynamic_next,
15656 GOMP_loop_ull_ordered_dynamic_start,
15657 GOMP_loop_ull_ordered_guided_next,
15658 GOMP_loop_ull_ordered_guided_start,
15659 GOMP_loop_ull_ordered_runtime_next,
15660 GOMP_loop_ull_ordered_runtime_start,
15661 GOMP_loop_ull_ordered_static_next,
15662 GOMP_loop_ull_ordered_static_start,
15663 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15664 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15665 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15666 (omp_set_schedule, omp_get_schedule,
15667 omp_get_thread_limit, omp_set_max_active_levels,
15668 omp_get_max_active_levels, omp_get_level,
15669 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15670 omp_set_schedule_, omp_set_schedule_8_,
15671 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15672 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15673 omp_get_max_active_levels_, omp_get_level_,
15674 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15675 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15676 New exports @@OMP_3.0.
15677 * omp.h.in (omp_sched_t): New type.
15678 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15679 omp_set_max_active_levels, omp_get_max_active_levels,
15680 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15681 omp_get_active_level): New prototypes.
15682 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15683 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15684 gomp_thread_limit_var, gomp_remaining_threads_count,
15685 gomp_remaining_threads_lock): New variables.
15686 (parse_spincount): New function.
15687 (initialize_env): Call gomp_init_num_threads unconditionally.
15688 Initialize gomp_available_cpus. Call parse_spincount,
15689 initialize gomp_{,throttled_}spin_count_var
15690 depending on presence and value of OMP_WAIT_POLICY and
15691 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15692 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15693 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15694 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15695 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15696 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15697 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15698 (gomp_global_icv): New.
15699 (parse_schedule): Use it. Parse "auto".
15700 (omp_set_num_threads): Use gomp_icv.
15701 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15702 Likewise.
15703 (omp_get_max_threads): Move from parallel.c.
15704 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15705 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15706 add ialias.
15707 (parse_stacksize, parse_wait_policy): New functions.
15708 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15709 both wrappers for compatibility and new locks.
15710 (omp_set_schedule, omp_get_schedule,
15711 omp_get_thread_limit, omp_set_max_active_levels,
15712 omp_get_max_active_levels, omp_get_level,
15713 omp_get_ancestor_thread_num, omp_get_team_size,
15714 omp_get_active_level): New ialias_redirect.
15715 (omp_set_schedule_, omp_set_schedule_8_,
15716 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15717 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15718 omp_get_max_active_levels_, omp_get_level_,
15719 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15720 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15721 New functions.
15722 * parallel.c: Include limits.h.
15723 (gomp_resolve_num_threads): Add count argument. Rewritten.
15724 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15725 argument to gomp_team_start. Pass 0 as second argument to
15726 gomp_resolve_num_threads.
15727 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15728 if gomp_thread_limit_var != ULONG_MAX.
15729 (omp_in_parallel): Implement using ts.active_level.
15730 (omp_get_max_threads): Move to env.c.
15731 (omp_get_level, omp_get_ancestor_thread_num,
15732 omp_get_team_size, omp_get_active_level): New functions,
15733 add ialias.
15734 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15735 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15736 gomp_iter_dynamic_next instead of the _locked variant and don't take
15737 lock around it, otherwise acquire it before calling
15738 gomp_iter_dynamic_next_locked.
15739 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15740 gomp_iter_dynamic_next instead of the _locked variant and don't take
15741 lock around it.
15742 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15743 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15744 Adjust gomp_team_start caller. Pass count as second argument to
15745 gomp_resolve_num_threads, don't adjust num_threads after the call.
15746 Use gomp_icv.
15747 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15748 ws->chunk_size by incr.
15749 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15750 code.
15751 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15752 types.
15753 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15754 (omp_check_defines): Check even the compat defines.
15755 * config/linux/ptrlock.c: New file.
15756 * config/linux/ptrlock.h: New file.
15757 * config/linux/wait.h: New file.
15758 * config/posix/ptrlock.c: New file.
15759 * config/posix/ptrlock.h: New file.
15760 * config/linux/bar.h (gomp_team_barrier_wait,
15761 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15762 (gomp_team_barrier_set_task_pending,
15763 gomp_team_barrier_clear_task_pending,
15764 gomp_team_barrier_set_waiting_for_tasks,
15765 gomp_team_barrier_waiting_for_tasks,
15766 gomp_team_barrier_done): New inlines.
15767 (gomp_barrier_t): Rewritten.
15768 (gomp_barrier_state_t): New typedef.
15769 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15770 gomp_barrier_wait_start): Rewritten.
15771 (gomp_barrier_wait_end): Change second argument to
15772 gomp_barrier_state_t.
15773 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15774 inlines.
15775 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15776 futex.h.
15777 (gomp_barrier_wait_end): Rewritten.
15778 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15779 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15780 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15781 (gomp_barrier_state_t): New typedef.
15782 (gomp_team_barrier_wait,
15783 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15784 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15785 into the return value. Return gomp_barrier_state_t.
15786 (gomp_team_barrier_set_task_pending,
15787 gomp_team_barrier_clear_task_pending,
15788 gomp_team_barrier_set_waiting_for_tasks,
15789 gomp_team_barrier_waiting_for_tasks,
15790 gomp_team_barrier_done): New inlines.
15791 (gomp_barrier_wait_end): Change second argument to
15792 gomp_barrier_state_t.
15793 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15794 inlines.
15795 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15796 (gomp_barrier_wait_end): Change second argument to
15797 gomp_barrier_state_t.
15798 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15799 gomp_team_barrier_wake): New functions.
15800 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15801 futex.h.
15802 (gomp_futex_wake, gomp_futex_wait): New variables.
15803 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15804 * config/linux/lock.c: Rewrite to make locks task owned,
15805 for backwards compatibility provide the old entrypoints
15806 if symbol versioning. Include wait.h instead of libgomp.h and
15807 futex.h.
15808 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15809 * config/posix95/lock.c: Rewrite to make locks task owned,
15810 for backwards compatibility provide the old entrypoints
15811 if symbol versioning.
15812 * config/posix/lock.c: Rewrite to make locks task owned,
15813 for backwards compatibility provide the old entrypoints
15814 if symbol versioning.
15815 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15816 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15817 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15818 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15819 (sys_futex0): Return error code.
15820 (futex_wake, futex_wait): If ENOSYS was returned, clear
15821 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15822 (cpu_relax, atomic_write_barrier): New static inlines.
15823 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15824 (futex_wake, futex_wait): If ENOSYS was returned, clear
15825 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15826 (cpu_relax, atomic_write_barrier): New static inlines.
15827 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15828 (sys_futex0): Return error code.
15829 (futex_wake, futex_wait): If ENOSYS was returned, clear
15830 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15831 (cpu_relax, atomic_write_barrier): New static inlines.
15832 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15833 (sys_futex0): Return error code.
15834 (futex_wake, futex_wait): If ENOSYS was returned, clear
15835 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15836 (cpu_relax, atomic_write_barrier): New static inlines.
15837 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15838 (sys_futex0): Return error code.
15839 (futex_wake, futex_wait): If ENOSYS was returned, clear
15840 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15841 (cpu_relax, atomic_write_barrier): New static inlines.
15842 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15843 (sys_futex0): Return error code.
15844 (futex_wake, futex_wait): If ENOSYS was returned, clear
15845 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15846 (cpu_relax, atomic_write_barrier): New static inlines.
15847 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15848 futex.h.
15849 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15850 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15851 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15852 types.
15853 (omp_nest_lock_t): Change owner into void *, add lock field.
15854 * config/posix95/omp-lock.h: Include semaphore.h.
15855 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15856 (omp_lock_t): Use sem_t instead of mutex if semaphores
15857 aren't broken.
15858 (omp_nest_lock_t): Likewise. Change owner to void *.
15859 * config/posix/omp-lock.h: Include semaphore.h.
15860 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15861 (omp_lock_t): Use sem_t instead of mutex if semaphores
15862 aren't broken.
15863 (omp_nest_lock_t): Likewise. Add owner field.
15864
15865 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15866
15867 * testsuite/libgomp.c/collapse-1.c: New test.
15868 * testsuite/libgomp.c/collapse-2.c: New test.
15869 * testsuite/libgomp.c/collapse-3.c: New test.
15870 * testsuite/libgomp.c/icv-1.c: New test.
15871 * testsuite/libgomp.c/icv-2.c: New test.
15872 * testsuite/libgomp.c/lib-2.c: New test.
15873 * testsuite/libgomp.c/lock-1.c: New test.
15874 * testsuite/libgomp.c/lock-2.c: New test.
15875 * testsuite/libgomp.c/lock-3.c: New test.
15876 * testsuite/libgomp.c/loop-4.c: New test.
15877 * testsuite/libgomp.c/loop-5.c: New test.
15878 * testsuite/libgomp.c/loop-6.c: New test.
15879 * testsuite/libgomp.c/loop-7.c: New test.
15880 * testsuite/libgomp.c/loop-8.c: New test.
15881 * testsuite/libgomp.c/loop-9.c: New test.
15882 * testsuite/libgomp.c/nested-3.c: New test.
15883 * testsuite/libgomp.c/nestedfn-6.c: New test.
15884 * testsuite/libgomp.c/sort-1.c: New test.
15885 * testsuite/libgomp.c/task-1.c: New test.
15886 * testsuite/libgomp.c/task-2.c: New test.
15887 * testsuite/libgomp.c/task-3.c: New test.
15888 * testsuite/libgomp.c/task-4.c: New test.
15889 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15890 to C++ testsuite default compiler options.
15891 * testsuite/libgomp.c++/collapse-1.C: New test.
15892 * testsuite/libgomp.c++/collapse-2.C: New test.
15893 * testsuite/libgomp.c++/ctor-10.C: New test.
15894 * testsuite/libgomp.c++/for-1.C: New test.
15895 * testsuite/libgomp.c++/for-2.C: New test.
15896 * testsuite/libgomp.c++/for-3.C: New test.
15897 * testsuite/libgomp.c++/for-4.C: New test.
15898 * testsuite/libgomp.c++/for-5.C: New test.
15899 * testsuite/libgomp.c++/loop-8.C: New test.
15900 * testsuite/libgomp.c++/loop-9.C: New test.
15901 * testsuite/libgomp.c++/loop-10.C: New test.
15902 * testsuite/libgomp.c++/task-1.C: New test.
15903 * testsuite/libgomp.c++/task-2.C: New test.
15904 * testsuite/libgomp.c++/task-3.C: New test.
15905 * testsuite/libgomp.c++/task-4.C: New test.
15906 * testsuite/libgomp.c++/task-5.C: New test.
15907 * testsuite/libgomp.c++/task-6.C: New test.
15908 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15909 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15910 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15911 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15912 * testsuite/libgomp.fortran/collapse1.f90: New test.
15913 * testsuite/libgomp.fortran/collapse2.f90: New test.
15914 * testsuite/libgomp.fortran/collapse3.f90: New test.
15915 * testsuite/libgomp.fortran/collapse4.f90: New test.
15916 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15917 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15918 * testsuite/libgomp.fortran/lib4.f90: New test.
15919 * testsuite/libgomp.fortran/lock-1.f90: New test.
15920 * testsuite/libgomp.fortran/lock-2.f90: New test.
15921 * testsuite/libgomp.fortran/nested1.f90: New test.
15922 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15923 * testsuite/libgomp.fortran/strassen.f90: New test.
15924 * testsuite/libgomp.fortran/tabs1.f90: New test.
15925 * testsuite/libgomp.fortran/tabs2.f: New test.
15926 * testsuite/libgomp.fortran/task1.f90: New test.
15927 * testsuite/libgomp.fortran/task2.f90: New test.
15928 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15929 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15930 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15931 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15932 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15933
15934 2008-05-23 Jakub Jelinek <jakub@redhat.com>
15935
15936 PR c++/36308
15937 * testsuite/libgomp.c++/ctor-11.C: New test.
15938 * testsuite/libgomp.c++/ctor-12.C: New test.
15939
15940 2008-05-15 Janis Johnson <janis187@us.ibm.com>
15941
15942 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15943
15944 2008-05-07 Jakub Jelinek <jakub@redhat.com>
15945
15946 PR middle-end/36106
15947 * testsuite/libgomp.c/atomic-5.c: New test.
15948 * testsuite/libgomp.c/atomic-6.c: New test.
15949 * testsuite/libgomp.c/autopar-1.c: New test.
15950
15951 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15952
15953 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15954 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15955 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15956 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15957 * configure: Regenerate.
15958 * Makefile.in, testsuite/Makefile.in: Likewise.
15959
15960 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
15961
15962 PR bootstrap/35457
15963 * aclocal.m4: Regenerate.
15964 * configure: Regenerate.
15965
15966 2008-03-18 Jakub Jelinek <jakub@redhat.com>
15967
15968 PR middle-end/35611
15969 * testsuite/libgomp.c/atomic-4.c: New test.
15970
15971 PR libgomp/35625
15972 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15973 (gomp_iter_guided_next): Likewise.
15974 * testsuite/libgomp.c/pr35625.c: New test.
15975
15976 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15977
15978 * aclocal.m4: Regenerate.
15979 * configure: Likewise.
15980 * Makefile.in: Likewise.
15981 * testsuite/Makefile.in: Likewise.
15982
15983 2008-03-13 Jakub Jelinek <jakub@redhat.com>
15984
15985 PR middle-end/35185
15986 * testsuite/libgomp.c++/pr35185.C: New test.
15987
15988 2008-03-12 Jakub Jelinek <jakub@redhat.com>
15989
15990 PR middle-end/35549
15991 * testsuite/libgomp.c/pr35549.c: New test.
15992
15993 2008-03-06 Jakub Jelinek <jakub@redhat.com>
15994
15995 * testsuite/libgomp.c/atomic-3.c: New test.
15996
15997 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15998
15999 PR fortran/33197
16000 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
16001 .F08 file suffixes.
16002
16003 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
16004
16005 PR libgomp/33131
16006 * configure.ac: Add ACX_HEADER_STRING.
16007 * env.c: Include strings.h.
16008 * aclocal.m4: Regenerate.
16009 * config.h.in: Regenerate.
16010 * configure: Regenerate.
16011 * Makefile.in: Regenerate.
16012 * testsuite/Makefile.in: Regenerate.
16013
16014 2008-02-15 Jakub Jelinek <jakub@redhat.com>
16015
16016 PR middle-end/35196
16017 * testsuite/libgomp.c/pr35196.c: New test.
16018
16019 PR middle-end/35130
16020 * testsuite/libgomp.fortran/pr35130.f90: New test.
16021 * testsuite/libgomp.c/pr35130.c: New test.
16022
16023 2008-01-25 Jakub Jelinek <jakub@redhat.com>
16024
16025 PR middle-end/33880
16026 * testsuite/libgomp.c/pr33880.c: New test.
16027 * testsuite/libgomp.fortran/pr33880.f90: New test.
16028
16029 2008-01-24 David Edelsohn <edelsohn@gnu.org>
16030
16031 * configure: Regenerate.
16032
16033 2008-01-08 Jakub Jelinek <jakub@redhat.com>
16034
16035 * configure.ac: Move futex checking into ../config/futex.m4.
16036 * configure: Rebuilt.
16037 * aclocal.m4: Rebuilt.
16038 * Makefile.in: Rebuilt.
16039
16040 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
16041 2007-10-15 ../config/tls.m4 change.
16042
16043 2007-12-19 Jakub Jelinek <jakub@redhat.com>
16044
16045 PR c++/34513
16046 * testsuite/libgomp.c/pr34513.c: New test.
16047 * testsuite/libgomp.c++/pr34513.C: New test.
16048
16049 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
16050
16051 PR target/32765
16052 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
16053
16054 2007-12-04 Jakub Jelinek <jakub@redhat.com>
16055
16056 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
16057
16058 2007-12-03 Jakub Jelinek <jakub@redhat.com>
16059
16060 * testsuite/libgomp.c/private-1.c: New test.
16061
16062 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
16063 Paolo Bonzini <bonzini@gnu.org>
16064
16065 * Makefile.am: Use space as vpath separator. Use 'vpath %'
16066 instead of 'VPATH ='.
16067 * Makefile.in: Regenerate.
16068
16069 2007-11-23 Matthias Klose <doko@ubuntu.com>
16070
16071 * configure.ac: Adjust makeinfo version check.
16072 * configure: Regenerate.
16073
16074 2007-11-10 Jakub Jelinek <jakub@redhat.com>
16075
16076 PR fortran/34020
16077 * testsuite/libgomp.fortran/pr34020.f90: New test.
16078
16079 2007-11-06 Jakub Jelinek <jakub@redhat.com>
16080
16081 PR c++/33894
16082 * testsuite/libgomp.c++/atomic-1.C: New test.
16083
16084 2007-10-25 Jakub Jelinek <jakub@redhat.com>
16085
16086 PR libgomp/33275
16087 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
16088 Make x and y integers rather than (implicit) reals. Add private (j)
16089 clause to the last omp parallel.
16090
16091 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
16092
16093 * configure: Regenerate following changes to ../config/tls.m4.
16094
16095 2007-09-28 Jakub Jelinek <jakub@redhat.com>
16096
16097 * testsuite/libgomp.fortran/stack.f90: New test.
16098
16099 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
16100
16101 * config/mingw32/proc.c: New file.
16102
16103 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
16104
16105 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
16106 (main): Use __get_cpuid to get i386 target fetaures.
16107 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
16108 (main): Use __get_cpuid to get x86_64 target fetaures.
16109
16110 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
16111
16112 PR target/32765
16113 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
16114 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
16115
16116 2007-07-12 Jakub Jelinek <jakub@redhat.com>
16117
16118 PR fortran/32550
16119 * testsuite/libgomp.fortran/pr32550.f90: New test.
16120 * testsuite/libgomp.fortran/crayptr2.f90: New test.
16121
16122 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
16123
16124 * aclocal.m4: Regenerated.
16125
16126 2007-07-05 Tobias Burnus <burnus@net-b.de>
16127
16128 PR fortran/32359
16129 * testsuite/libgomp.fortran/pr32359.f90: New.
16130
16131 2007-07-02 Jakub Jelinek <jakub@redhat.com>
16132
16133 PR libgomp/32468
16134 * sections.c (GOMP_parallel_sections_start): Only decrease
16135 number of threads to COUNT if dyn_var is true.
16136 * testsuite/libgomp.c/pr32468.c: New test.
16137
16138 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16139
16140 PR libgomp/26308
16141 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
16142
16143 2007-06-21 Jakub Jelinek <jakub@redhat.com>
16144
16145 PR middle-end/32362
16146 * testsuite/libgomp.c/pr32362-1.c: New test.
16147 * testsuite/libgomp.c/pr32362-2.c: New test.
16148 * testsuite/libgomp.c/pr32362-3.c: New test.
16149
16150 2007-06-07 Jakub Jelinek <jakub@redhat.com>
16151
16152 * team.c (gomp_team_start): Fix setting up thread_attr
16153 stack size.
16154
16155 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
16156
16157 * configure: Regenerate.
16158
16159 2007-05-23 Steve Ellcey <sje@cup.hp.com>
16160
16161 * Makefile.in: Regenerate.
16162 * configure: Regenerate.
16163 * aclocal.m4: Regenerate.
16164 * testsuite/Makefile.in: Regenerate.
16165
16166 2007-05-04 Jakub Jelinek <jakub@redhat.com>
16167
16168 * config/linux/proc.c: New file.
16169
16170 PR libgomp/28482
16171 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16172
16173 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
16174
16175 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16176
16177 2007-04-16 Matthias Klose <doko@debian.org>
16178
16179 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
16180 flags if not building with -m64.
16181 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16182 flag for i?86-*-* targets, if current target matches -m64.
16183
16184 2007-04-14 Steve Ellcey <sje@cup.hp.com>
16185
16186 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16187 * Makefile.in: Regenerate.
16188
16189 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16190
16191 PR testsuite/31369
16192 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16193 ld_library_path.
16194 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16195
16196 2007-04-04 Jakub Jelinek <jakub@redhat.com>
16197
16198 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16199 decls.
16200 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16201 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16202 (parse_affinity): New function.
16203 (initialize_env): Call it and gomp_init_affinity.
16204 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16205 create new pthread_attr_t and call gomp_init_thread_affinity
16206 on it for each thread before passing the attribute to pthread_create.
16207 * config/linux/affinity.c: New file.
16208 * config/posix/affinity.c: New file.
16209 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16210 * configure: Rebuilt.
16211 * config.h.in: Rebuilt.
16212 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16213 * Makefile.in: Rebuilt.
16214
16215 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
16216
16217 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16218 *-*-darwin*.
16219 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16220 and use it if found.
16221
16222 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
16223
16224 * testsuite/config/default.exp: New file.
16225 * testsuite/lib/libgomp.exp: New file.
16226 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16227 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16228 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16229 (libgomp_load): Remove.
16230 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16231 always_ld_library_path, not ld_library_path. Set additional_flags
16232 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16233 (target_compile): Do not call libgomp_init. Append lang_library_path
16234 and lang_link_flags to options.
16235 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16236 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16237 here.
16238 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16239 always_ld_library_path. Set LD_LIBRARY_PATH here.
16240 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16241 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16242 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16243 CX8 flag.
16244 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16245 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16246 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16247 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16248 * testsuite/libgomp.c/atomic-10.c: Ditto.
16249
16250 2007-03-21 Jakub Jelinek <jakub@redhat.com>
16251
16252 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16253 dg-final cleanup-modules line.
16254 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16255 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16256 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16257 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16258 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16259 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16260 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16261
16262 2007-03-18 Andreas Schwab <schwab@suse.de>
16263
16264 * acinclude.m4: Adjust regular expression for ld version
16265 extraction.
16266 * configure: Regenerate.
16267
16268 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16269
16270 * Makefile.am: Add install-pdf target as copied from
16271 automake v1.10 rules.
16272 * Makefile.in: Regenerate
16273
16274 2007-02-07 Jakub Jelinek <jakub@redhat.com>
16275
16276 PR libgomp/28486
16277 * configure: Regenerate.
16278
16279 PR c++/30703
16280 * testsuite/libgomp.c++/pr30703.C: New test.
16281
16282 2007-02-02 Jakub Jelinek <jakub@redhat.com>
16283
16284 Revert:
16285 2006-07-05 Eric Christopher <echristo@apple.com>
16286 * configure.ac: Depend addition of -pthread on host OS.
16287 * configure: Regenerate.
16288
16289 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16290
16291 * libgomp.texi: Fix spacing after abbreviations.
16292
16293 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
16294
16295 PR libgomp/30546
16296 * configure.ac: Add check for makeinfo
16297 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16298 if an appropriate version of makeinfo is found.
16299 * aclocal.m4: Regenerated.
16300 * configure: Regenerated.
16301 * Makefile.in: Regenerated.
16302 * testsuite/Makefile.in: Regenerated.
16303
16304 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
16305
16306 PR libgomp/30540
16307 * libgomp.texi: More about implementation-dependent settings.
16308
16309 2007-01-26 Tobias Burnus <burnus@net-b.de>
16310
16311 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16312
16313 2007-01-24 Jakub Jelinek <jakub@redhat.com>
16314
16315 PR middle-end/30494
16316 * testsuite/libgomp.c/pr30494.c: New test.
16317
16318 2007-01-15 Tom Tromey <tromey@redhat.com>
16319
16320 * configure: Rebuilt.
16321 * configure.ac: Fixed comment.
16322
16323 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
16324
16325 * libgomp.texi: Document implementation specific default values of
16326 environment variables.
16327
16328 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
16329
16330 PR libgomp/28209
16331 * libgomp.texi: New file.
16332 * configure.ac: Add --enable-generated-files-in-srcdir option.
16333 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16334 files to srcdir.
16335 * Makefile.in: Regenerated.
16336 * config.h.in: Regenerated.
16337 * testsuite/Makefile.in: Regenerated.
16338 * NOTES: Removed.
16339
16340 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
16341
16342 PR libgomp/29949
16343 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16344
16345 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16346
16347 * configure: Regenerate.
16348
16349 2006-12-04 Jakub Jelinek <jakub@redhat.com>
16350
16351 PR libgomp/29947
16352 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16353 start if there shouldn't be any loop iterations.
16354 (gomp_loop_ordered_static_start): Remove start == end test.
16355 * testsuite/libgomp.c/pr29947-1.c: New test.
16356 * testsuite/libgomp.c/pr29947-2.c: New test.
16357
16358 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16359
16360 * configure.tgt: Force initial-exec TLS model on Linux only.
16361
16362 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16363
16364 * configure: Regenerated.
16365
16366 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
16367
16368 * env.c (parse_schedule): Reject out of range values.
16369 (parse_unsigned_long): Reject out of range, negative or zero values.
16370
16371 2006-10-29 Jakub Jelinek <jakub@redhat.com>
16372
16373 PR fortran/29629
16374 * testsuite/libgomp.fortran/pr29629.f90: New test.
16375
16376 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16377
16378 PR libgomp/29494
16379 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16380 * config/posix95: New directory.
16381 * config/posix95/omp-lock.h: New file.
16382 * config/posix95/lock.c: Likewise.
16383
16384 2006-10-14 Geoffrey Keating <geoffk@apple.com>
16385
16386 * aclocal.m4: Regenerate.
16387 * configure: Regenerate.
16388
16389 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16390
16391 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16392 '<' to '<='.
16393
16394 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16395
16396 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16397 test.
16398 * configure: Regenerate.
16399 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16400
16401 2006-09-26 Jakub Jelinek <jakub@redhat.com>
16402
16403 PR middle-end/25261
16404 PR middle-end/28790
16405 * testsuite/libgomp.c/nestedfn-4.c: New test.
16406 * testsuite/libgomp.c/nestedfn-5.c: New test.
16407 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16408
16409 PR fortran/29097
16410 * testsuite/libgomp.fortran/condinc1.f: New test.
16411 * testsuite/libgomp.fortran/condinc2.f: New test.
16412 * testsuite/libgomp.fortran/condinc3.f90: New test.
16413 * testsuite/libgomp.fortran/condinc4.f90: New test.
16414 * testsuite/libgomp.fortran/condinc1.inc: New file.
16415
16416 2006-09-18 Tom Tromey <tromey@redhat.com>
16417
16418 * configure: Rebuilt.
16419
16420 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16421
16422 PR c/28768
16423 PR preprocessor/14634
16424 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16425 to AC_DEFINE.
16426 * configure: Regenerate.
16427
16428 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16429
16430 * testsuite/libgomp.fortran/reduction3.f90: Change
16431 -2147483648 to -huge(i)-1 to avoid overflow.
16432 * testsuite/libgomp.fortran/reduction4.f90: Change
16433 Z'ffffffff' to not(0) to avoid overflow.
16434
16435 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16436
16437 PR libgomp/25938
16438 * Makefile.am (libsubincludedir): New.
16439 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16440 * Makefile.in: Regenerate.
16441
16442 2006-08-17 Jakub Jelinek <jakub@redhat.com>
16443
16444 PR libgomp/28725
16445 * env.c: Include ctype.h.
16446 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16447 leading and/or trailing whitespace and compare strings case
16448 insensitively.
16449
16450 2006-07-16 Jakub Jelinek <jakub@redhat.com>
16451
16452 PR fortran/28390
16453 * testsuite/libgomp.fortran/pr28390.f: New test.
16454
16455 2006-07-05 Eric Christopher <echristo@apple.com>
16456
16457 * configure.ac: Depend addition of -pthread on host OS.
16458 * configure: Regenerate.
16459
16460 2006-06-21 Jakub Jelinek <jakub@redhat.com>
16461
16462 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16463 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16464 defined.
16465
16466 2006-06-20 Jakub Jelinek <jakub@redhat.com>
16467
16468 PR libgomp/26175
16469 PR libgomp/26477
16470 * configure.ac: If neither --enable-linux-futex nor
16471 --disable-linux-futex is passed, determine the default by checking
16472 for compiling and/or running against NPTL. With --enable-linux-futex,
16473 check if SYS_gettid and SYS_futex are defined.
16474 * configure: Rebuilt.
16475
16476 2006-06-14 Richard Henderson <rth@redhat.com>
16477
16478 PR libgomp/28008
16479 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16480 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16481
16482 2006-06-09 Richard Henderson <rth@redhat.com>
16483
16484 * env.c (gomp_nthreads_var): Change to unsigned long.
16485 (gomp_run_sched_chunk): Likewise.
16486 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16487 (initialize_env): Initialize gomp_thread_attr.
16488 * libgomp.h (gomp_nthreads_var): Update decl.
16489 (gomp_run_sched_chunk): Likewise.
16490 (gomp_thread_attr): Declare.
16491 * team.c (gomp_thread_attr): Export.
16492 (initialize_team): Don't initialize it.
16493
16494 2006-06-09 Jakub Jelinek <jakub@redhat.com>
16495
16496 PR fortran/27916
16497 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16498 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16499
16500 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16501
16502 * config/mingw32/time.c: New file.
16503 * configure.tgt: Use it.
16504
16505 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16506
16507 * Makefile.am: Add install-html target. Add install-html to .PHONY
16508 * Makefile.in: Regenerate.
16509
16510 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16511
16512 PR libgomp/27612
16513 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16514 * testsuite/libgomp.c/critical-1.c: Likewise.
16515 * testsuite/libgomp.c/loop-1.c: Likewise.
16516 * testsuite/libgomp.c/loop-2.c: Likewise.
16517 * testsuite/libgomp.c/single-1.c: Likewise.
16518 * testsuite/libgomp.c/ordered-1.c: Likewise.
16519 * testsuite/libgomp.c/ordered-2.c: Likewise.
16520
16521 2006-05-15 Jakub Jelinek <jakub@redhat.com>
16522
16523 PR middle-end/27416
16524 * libgomp.fortran/pr27416-1.f90: New test.
16525
16526 2006-05-03 Jakub Jelinek <jakub@redhat.com>
16527
16528 PR fortran/27395
16529 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16530 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16531
16532 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16533
16534 PR c++/26943
16535 * testsuite/libgomp.c/pr26943-1.c: New test.
16536 * testsuite/libgomp.c/pr26943-2.c: New test.
16537 * testsuite/libgomp.c/pr26943-3.c: New test.
16538 * testsuite/libgomp.c/pr26943-4.c: New test.
16539 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16540 * testsuite/libgomp.c++/pr26943.C: New test.
16541
16542 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16543
16544 PR middle-end/27337
16545 * testsuite/libgomp.c++/pr27337.C: New test.
16546
16547 2006-04-26 Jakub Jelinek <jakub@redhat.com>
16548
16549 PR c/26171
16550 * testsuite/libgomp.c/pr26171.c: New test.
16551
16552 2006-04-25 Richard Henderson <rth@redhat.com>
16553
16554 PR libgomp/25865
16555 * configure.ac: Use GCC_CHECK_TLS.
16556 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16557 * Makefile.in, aclocal.m4, configure: Regenerate.
16558
16559 2006-04-10 Matthias Klose <doko@debian.org>
16560
16561 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16562 directory names containing underscores.
16563
16564 2006-03-21 Jakub Jelinek <jakub@redhat.com>
16565
16566 PR c++/26691
16567 * testsuite/libgomp.c++/pr26691.C: New test.
16568
16569 2006-03-13 Jakub Jelinek <jakub@redhat.com>
16570
16571 * testsuite/libgomp.fortran/retval2.f90: New test.
16572
16573 2006-03-09 Diego Novillo <dnovillo@redhat.com>
16574
16575 * testsuite/libgomp.c++: New directory.
16576
16577 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
16578
16579 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16580 * config/posix/sem.c: Implement the above.
16581
16582 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
16583
16584 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16585 define HAVE_BROKEN_POSIX_SEMAPHORES.
16586 * configure: Rebuilt.
16587 * config.h.in: Rebuilt.
16588
16589 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16590
16591 PR bootstrap/26161
16592 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16593 for the other pthread check.
16594 * configure: Regenerate.
16595 * config.h.in: Regenerate.
16596
16597 2006-02-15 Jakub Jelinek <jakub@redhat.com>
16598
16599 PR libgomp/25938
16600 PR libgomp/25984
16601 * Makefile.am (fincludedir): New variable.
16602 (nodist_include_HEADERS): Remove Fortran files.
16603 (nodist_finclude_HEADERS): New variable.
16604 * Makefile.in: Regenerated.
16605
16606 2006-02-13 Jakub Jelinek <jakub@redhat.com>
16607
16608 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16609 Remove tests for returning assumed character length arrays.
16610
16611 2006-02-12 Roger Sayle <roger@eyesopen.com>
16612 John David Anglin <dave@hiauly1.hia.nrc.ca>
16613
16614 PR libgomp/25936
16615 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16616
16617 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
16618
16619 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16620
16621 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
16622
16623 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16624 part of LD_LIBRARY_PATH manually.
16625
16626 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
16627
16628 PR libgomp/25852
16629 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16630 libgomp_init.
16631
16632 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
16633
16634 PR libgomp/25884
16635 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16636 * configure.ac (PERL): Don't set.
16637 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16638 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16639 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16640 * omp.h.in: Wrap the new configure substitutions with @ characters.
16641 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16642 * aclocal.m4, configure, Makefile.in: Regenerate.
16643 * mkomp_h.pl: Delete.
16644
16645 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
16646
16647 PR libgomp/25259
16648 * configure.ac: Use GCC_HEADER_STDINT.
16649 * libgomp.h: Include gstdint.h.
16650 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16651 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16652
16653 2006-01-24 Richard Henderson <rth@redhat.com>
16654
16655 PR libgomp/25942
16656 * configure.ac: Add AM_MAINTAINER_MODE.
16657 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16658
16659 2006-01-24 Diego Novillo <dnovillo@redhat.com>
16660
16661 * Makefile.in: Regenerate.
16662 * testsuite/Makefile.in: Regenerate.
16663 * aclocal.m4: Regenerate.
16664
16665 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
16666
16667 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16668 Solaris.
16669 * configure.ac: Add check for loadavg.h.
16670 (link_gomp): Adjust comment.
16671 * configure: Regenerate.
16672 * config.h.in: Regenerate.
16673
16674 2006-01-21 Steve Ellcey <sje@cup.hp.com>
16675
16676 PR libgomp/25877
16677 * configure.ac: Remove check for alloca.h.
16678 * configure: Regenerate.
16679 * config.h.in: Regenerate.
16680 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16681 * team.c: Remove use of alloca.h.
16682 Call gomp_alloca instead of alloca.
16683
16684 2006-01-20 Steve Ellcey <sje@cup.hp.com>
16685
16686 PR libgomp/25877
16687 * team.c: Add include of alloca.h.
16688 * configure.ac: Add check for alloca.h.
16689 * configure: Regenerate.
16690 * config.h.in: Regenerate.
16691
16692 2006-01-17 Jakub Jelinek <jakub@redhat.com>
16693
16694 PR fortran/25219
16695 * testsuite/libgomp.fortran/pr25219.f90: New test.
16696
16697 2005-12-05 Uros Bizjak <uros@kss-loka.si>
16698
16699 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16700 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16701 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16702 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16703 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16704 testsuite/libgomp.fortran/threadprivate1.f90,
16705 testsuite/libgomp.fortran/threadprivate2.f90,
16706 testsuite/libgomp.fortran/threadprivate3.f90,
16707 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16708 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16709 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16710 effective-target to TLS runtime.
16711
16712 * testsuite/libgomp.fortran/pr25162.f: Require
16713 effective-target TLS runtime.
16714
16715 2005-12-01 Jakub Jelinek <jakub@redhat.com>
16716
16717 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16718 * testsuite/libgomp.c/nestedfn-3.c: New test.
16719
16720 2005-11-30 Jakub Jelinek <jakub@redhat.com>
16721
16722 PR fortran/25162
16723 * testsuite/libgomp.fortran/pr25162.f: New test.
16724
16725 2005-11-28 Jakub Jelinek <jakub@redhat.com>
16726
16727 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16728 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16729
16730 2005-11-25 Jakub Jelinek <jakub@redhat.com>
16731
16732 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16733 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16734 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16735 single.c, team.c, work.c, config/linux/alpha/futex.h,
16736 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16737 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16738 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16739 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16740 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16741 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16742 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16743 FSF address.
16744
16745 2005-11-18 Jakub Jelinek <jakub@redhat.com>
16746
16747 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16748 to nodist_noinst_HEADERS.
16749 * Makefile.in: Rebuilt.
16750
16751 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16752 add integer count field.
16753 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16754 omp_nest_lock_t type change.
16755 (omp_init_nest_lock): Likewise. Initialize count to 0.
16756 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16757 Increment count.
16758 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16759 Decrement count.
16760 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16761 Increment count if successful and return the new nesting level.
16762 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16763 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16764 * testsuite/libgomp.c/lib-1.c: New test.
16765 * testsuite/libgomp.fortran/lib1.f90: New test.
16766 * testsuite/libgomp.fortran/lib2.f: New test.
16767 * testsuite/libgomp.fortran/lib3.f: New test.
16768
16769 2005-11-17 Richard Henderson <rth@redhat.com>
16770
16771 PR 24845
16772 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16773 * configure.ac (link_gomp): New. Substitute it.
16774 (AC_CONFIG_FILES): Add libgomp.spec.
16775 * libgomp.spec.in: New file.
16776 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16777 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16778
16779 2005-11-18 Jakub Jelinek <jakub@redhat.com>
16780
16781 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16782 reduction(-:var) behaving the same as reduction(+:var).
16783 * testsuite/libgomp.c/reduction-4.c: New test.
16784
16785 2005-11-15 Uros Bizjak <uros@kss-loka.si>
16786
16787 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16788 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16789 testsuite/libgomp.c/copyin-3.c,
16790 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16791 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16792 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16793 testsuite/libgomp.c++/pr24455.C,
16794 testsuite/libgomp.fortran/threadprivate1.f90,
16795 testsuite/libgomp.fortran/threadprivate2.f90,
16796 testsuite/libgomp.fortran/threadprivate3.f90,
16797 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16798 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16799 testsuite/libgomp.fortran/omp_parse3.f90: Require
16800 effective-target TLS.
16801
16802 2005-11-14 Diego Novillo <dnovillo@redhat.com>
16803
16804 * HEADER: Remove.
16805
16806 2005-11-13 Jakub Jelinek <jakub@redhat.com>
16807
16808 PR libgomp/24797
16809 * team.c (initialize_team): Pass NULL rather than free as
16810 pthread_key_create destructor. Initialize thread specific data
16811 pointer in initial thread to a static local variable rather than
16812 malloced memory.
16813
16814 2005-11-11 Uros Bizjak <uros@kss-loka.si>
16815
16816 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16817 its location to ld_library_path.
16818
16819 2005-11-10 Diego Novillo <dnovillo@redhat.com>
16820
16821 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16822
16823 2005-11-10 Diego Novillo <dnovillo@redhat.com>
16824
16825 * testsuite/libgomp.c: Rename from libgomp.dg.
16826
16827 2005-11-09 Diego Novillo <dnovillo@redhat.com>
16828
16829 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16830 threadprivate variable 'i'.
16831
16832 2005-11-09 Jakub Jelinek <jakub@redhat.com>
16833
16834 * config/linux/s390/futex.h: New file.
16835 * configure.tgt: Use it.
16836
16837 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16838 before the parallel.
16839
16840 2005-11-08 Jakub Jelinek <jakub@redhat.com>
16841
16842 PR c++/24734
16843 * testsuite/libgomp.c++/master-1.C: New test.
16844
16845 2005-11-07 Jakub Jelinek <jakub@redhat.com>
16846
16847 * testsuite/libgomp.dg/copyin-3.c: New test.
16848
16849 2005-11-07 Jakub Jelinek <jakub@redhat.com>
16850
16851 * testsuite/libgomp.fortran/retval1.f90: New test.
16852 * testsuite/libgomp.fortran/vla7.f90: New test.
16853
16854 2005-11-06 Jakub Jelinek <jakub@redhat.com>
16855
16856 * testsuite/libgomp.fortran/vla2.f90: New test.
16857 * testsuite/libgomp.fortran/vla3.f90: New test.
16858 * testsuite/libgomp.fortran/vla4.f90: New test.
16859 * testsuite/libgomp.fortran/vla5.f90: New test.
16860 * testsuite/libgomp.fortran/vla6.f90: New test.
16861
16862 2005-11-01 Jakub Jelinek <jakub@redhat.com>
16863
16864 * config/linux/sparc/futex.h: New file.
16865 * configure.tgt: Use it.
16866 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16867
16868 * critical.c: Include stdlib.h.
16869 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16870 ignoring return value.
16871 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16872 LIBGOMP_CHECK_SYNC_BUILTINS check.
16873 * configure: Rebuilt.
16874
16875 2005-10-31 Jakub Jelinek <jakub@redhat.com>
16876
16877 * testsuite/libgomp.fortran/vla1.f90: New test.
16878
16879 2005-10-31 Richard Henderson <rth@redhat.com>
16880
16881 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16882 setting 's' in different threads.
16883
16884 2005-10-31 Jakub Jelinek <jakub@redhat.com>
16885
16886 * libgomp.h (attribute_hidden, ialias): Define.
16887 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16888 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16889 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16890 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16891 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16892 omp_test_lock, omp_test_nest_lock): Likewise.
16893 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16894 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16895 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16896 omp_test_lock, omp_test_nest_lock): Likewise.
16897 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16898 omp_get_dynamic, omp_get_nested): Likewise.
16899 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16900 omp_get_thread_num, omp_in_parallel): Likewise.
16901 * fortran.c (ialias_redirect): Define.
16902 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16903 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16904 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16905 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16906 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16907 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16908 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16909 omp_get_wtime): Add ialias_redirect.
16910
16911 2005-10-30 Jakub Jelinek <jakub@redhat.com>
16912
16913 * fortran.c: Include stdlib.h.
16914
16915 2005-10-29 Jakub Jelinek <jakub@redhat.com>
16916
16917 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16918 * Makefile.in: Regenerated.
16919
16920 2005-10-28 Jakub Jelinek <jakub@redhat.com>
16921
16922 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16923 * libgomp_f.h.in (omp_check_defines): New function.
16924 * env.c: Include libgomp_f.h.
16925 (initialize_env): Call omp_check_defines.
16926
16927 * testsuite/libgomp.dg/copyin-2.c: New test.
16928 * testsuite/libgomp.c++/copyin-2.C: New test.
16929 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16930
16931 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16932 * testsuite/libgomp.fortran/sharing2.f90: New test.
16933
16934 * testsuite/libgomp.dg/copyin-1.c: New test.
16935 * testsuite/libgomp.c++/copyin-1.C: New test.
16936
16937 2005-10-26 Jakub Jelinek <jakub@redhat.com>
16938
16939 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16940
16941 * testsuite/libgomp.fortran/workshare1.f90: New test.
16942
16943 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16944 only test.
16945 * libgomp.fortran/sharing1.f90: New test.
16946
16947 2005-10-24 Jakub Jelinek <jakub@redhat.com>
16948
16949 PR c++/24502
16950 * testsuite/libgomp.c++/loop-7.C: New test.
16951
16952 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16953
16954 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16955 * testsuite/libgomp.fortran/reduction6.f90: New test.
16956 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16957
16958 2005-10-23 Richard Henderson <rth@redhat.com>
16959
16960 * testsuite/libgomp.c++/ctor-1.C: New.
16961 * testsuite/libgomp.c++/ctor-2.C: New.
16962 * testsuite/libgomp.c++/ctor-3.C: New.
16963 * testsuite/libgomp.c++/ctor-4.C: New.
16964 * testsuite/libgomp.c++/ctor-5.C: New.
16965 * testsuite/libgomp.c++/ctor-6.C: New.
16966 * testsuite/libgomp.c++/ctor-7.C: New.
16967 * testsuite/libgomp.c++/ctor-8.C: New.
16968 * testsuite/libgomp.c++/ctor-9.C: New.
16969
16970 2005-10-21 Diego Novillo <dnovillo@redhat.com>
16971
16972 PR 24455
16973 * testsuite/libgomp.c++/pr24455-1.C: New test.
16974 * testsuite/libgomp.c++/pr24455.C: New test.
16975 * testsuite/libgomp.dg/pr24455-1.c: New test.
16976 * testsuite/libgomp.dg/pr24455.c: New test.
16977
16978 2005-10-20 Richard Henderson <rth@redhat.com>
16979
16980 * testsuite/libgomp.c++/loop-6.C: New.
16981 * testsuite/libgomp.dg/loop-3.c: New.
16982
16983 2005-10-20 Jakub Jelinek <jakub@redhat.com>
16984
16985 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16986 explicitly private.
16987 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16988 explicitly shared.
16989
16990 2005-10-19 Diego Novillo <dnovillo@redhat.com>
16991
16992 * testsuite/libgomp.fortran/jacobi.f: New test.
16993
16994 2005-10-19 Richard Henderson <rth@redhat.com>
16995
16996 * configure.tgt (i?86-linux): Default to with_arch instead of
16997 CFLAGS. Add -mtune to match target_cpu.
16998 (x86_64-linux): Tune to i686.
16999
17000 * fortran.c (omp_test_nest_lock_): Fix typo.
17001
17002 2005-10-19 Jakub Jelinek <jakub@redhat.com>
17003
17004 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17005 gomp_ordered_sync): Do nothing if team->nthreads == 1.
17006 * testsuite/libgomp.dg/ordered-3.c: New test.
17007
17008 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
17009 Remove volatile keyword.
17010
17011 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
17012 in COMMON block to avoid warnings on 64-bit targets.
17013
17014 2005-10-18 Diego Novillo <dnovillo@redhat.com>
17015
17016 * testsuite/libgomp.dg/shared-3.c: New test.
17017
17018 2005-10-18 Jakub Jelinek <jakub@redhat.com>
17019
17020 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
17021 * testsuite/libgomp.fortran/reduction5.f90: New test.
17022
17023 2005-10-18 Jakub Jelinek <jakub@redhat.com>
17024
17025 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
17026 dg-options.
17027 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
17028 flush loop now that __sync_synchronize has proper memory barrier.
17029 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
17030 Add -ffixed-form to dg-options.
17031
17032 2005-10-17 Diego Novillo <dnovillo@redhat.com>
17033
17034 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
17035 from subdirectories.
17036 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
17037 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
17038 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
17039 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
17040 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
17041 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
17042 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
17043 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
17044 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
17045 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
17046 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
17047 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
17048 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
17049 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
17050 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
17051 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
17052 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
17053 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
17054 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
17055 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
17056 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
17057 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
17058 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
17059 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
17060 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
17061
17062 2005-10-17 Jakub Jelinek <jakub@redhat.com>
17063
17064 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
17065 lang_library_path exists. Use find instead of glob to gather tests.
17066 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
17067
17068 2005-10-17 Diego Novillo <dnovillo@redhat.com>
17069
17070 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
17071 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
17072 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
17073 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
17074 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
17075 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
17076 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
17077 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
17078 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
17079 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
17080 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
17081 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
17082 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
17083
17084 2005-10-15 Jakub Jelinek <jakub@redhat.com>
17085
17086 * testsuite/libgomp.dg/vla-1.c: New test.
17087
17088 * testsuite/libgomp.fortran/reference2.f90: New test.
17089
17090 * testsuite/libgomp.fortran/character2.f90: Remove explicit
17091 declaration of omp_get_thread_num.
17092 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
17093 use omp_lib.
17094
17095 * testsuite/libgomp.fortran/reduction1.f90: New test.
17096 * testsuite/libgomp.fortran/reduction2.f90: New test.
17097 * testsuite/libgomp.fortran/reduction3.f90: New test.
17098 * testsuite/libgomp.fortran/reduction4.f90: New test.
17099
17100 2005-10-13 Richard Henderson <rth@redhat.com>
17101
17102 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
17103 * Makefile.in: Regenerate.
17104 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
17105 * libgomp.h: Include bar.h.
17106 (struct gomp_barrier): Remove.
17107 (struct gomp_team): Add barrier. Replace master_barrier with
17108 master_release. Replace threads with ordered_release.
17109 (struct gomp_thread): Replace barrier with release.
17110 * ordered.c (gomp_ordered_first): Update for ordered_release change.
17111 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
17112 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
17113 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
17114 (GOMP_single_copy_end): Likewise.
17115 * team.c (gomp_threads_dock): New.
17116 (gomp_barrier_init, gomp_barrier_destroy): Remove.
17117 (gomp_thread_start): Use gomp_barrier_wait.
17118 (new_team, free_team): Update for gomp_team changes.
17119 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
17120 (gomp_team_end): Use gomp_barrier_wait.
17121 (initialize_team): Update for gomp_thread changes.
17122 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
17123 (gomp_work_share_end_nowait): Use atomic ops when available.
17124 * config/linux/bar.c, config/linux/bar.h: New files.
17125 * config/posix/bar.c, config/posix/bar.h: New files.
17126
17127 2005-10-13 Jakub Jelinek <jakub@redhat.com>
17128
17129 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
17130 * testsuite/libgomp.dg/single-2.c: New test.
17131
17132 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
17133 lang_link_flags): Unset, so that they aren't inherited from previously
17134 sourced *.exp.
17135
17136 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
17137
17138 2005-10-12 Richard Henderson <rth@redhat.com>
17139
17140 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
17141 (libgomp_init): Use lang_test_file, lang_library_path, and
17142 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
17143
17144 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
17145 (lang_test_file, lang_link_flags): New.
17146 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
17147
17148 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
17149 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
17150 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
17151 testsuite/libgomp.c++/parallel-1.C,
17152 testsuite/libgomp.c++/reduction-1.C,
17153 testsuite/libgomp.c++/reduction-2.C,
17154 testsuite/libgomp.c++/reduction-3.C,
17155 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
17156 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
17157 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
17158 New files, largely cribbed from the C testsuite.
17159
17160 2005-10-12 Jakub Jelinek <jakub@redhat.com>
17161
17162 * testsuite/libgomp.fortran/character1.f90: New test.
17163 * testsuite/libgomp.fortran/character2.f90: New test.
17164
17165 * testsuite/libgomp.dg/nested-1.c: New test.
17166 * testsuite/libgomp.dg/nested-2.c: New test.
17167 * testsuite/libgomp.fortran/do1.f90: New test.
17168 * testsuite/libgomp.fortran/do2.f90: New test.
17169
17170 * testsuite/libgomp.fortran/reference1.f90: New test.
17171
17172 2005-10-11 Jakub Jelinek <jakub@redhat.com>
17173
17174 * testsuite/libgomp.dg/reduction-1.c: New test.
17175 * testsuite/libgomp.dg/reduction-2.c: New test.
17176 * testsuite/libgomp.dg/reduction-3.c: New test.
17177
17178 2005-10-10 Jakub Jelinek <jakub@redhat.com>
17179
17180 * testsuite/libgomp.dg/atomic-1.c: New test.
17181 * testsuite/libgomp.dg/atomic-2.c: New test.
17182
17183 2005-10-09 Richard Henderson <rth@redhat.com>
17184
17185 * critical.c (atomic_lock): New.
17186 (initialize_critical): Initialize it.
17187 (GOMP_atomic_start, GOMP_atomic_end): New.
17188 * libgomp.map: Export them.
17189 * libgomp_g.h: Declare them.
17190
17191 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17192
17193 2005-10-02 Richard Henderson <rth@redhat.com>
17194
17195 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17196 to XCFLAGS instead of CFLAGS.
17197
17198 2005-09-30 Richard Henderson <rth@redhat.com>
17199
17200 * configure.ac: Determine whether -pthread or -lpthread is needed.
17201 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17202 * Makefile.in, configure: Rebuild.
17203
17204 2005-09-28 Richard Henderson <rth@redhat.com>
17205
17206 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17207 * testsuite/libgomp.dg/omp-single-3.c: New test.
17208
17209 2005-09-28 Diego Novillo <dnovillo@redhat.com>
17210
17211 * testsuite/libgomp.dg/omp-single-2.c: New test.
17212 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17213
17214 2005-09-27 Richard Henderson <rth@redhat.com>
17215
17216 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17217 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17218
17219 2005-09-27 Jakub Jelinek <jakub@redhat.com>
17220
17221 * testsuite/libgomp.dg/omp-loop03.c: New test.
17222
17223 2005-09-27 Diego Novillo <dnovillo@redhat.com>
17224
17225 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17226
17227 2005-09-27 Diego Novillo <dnovillo@redhat.com>
17228
17229 * testsuite/libgomp.dg/omp-single-1.c: New test.
17230 * testsuite/libgomp.dg/shared-1.c: Return 0.
17231 Add prototype for abort.
17232 * testsuite/libgomp.dg/shared-2.c: Likewise.
17233
17234 2005-09-26 Jakub Jelinek <jakub@redhat.com>
17235
17236 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17237 constructs.
17238
17239 2005-09-26 Diego Novillo <dnovillo@redhat.com>
17240
17241 * testsuite/libgomp.dg/shared-1.c: New test.
17242 * testsuite/libgomp.dg/shared-2.c: New test.
17243
17244 2005-09-24 Richard Henderson <rth@redhat.com>
17245
17246 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17247
17248 2005-09-24 Richard Henderson <rth@redhat.com>
17249
17250 * iter.c (gomp_iter_static_next): Round up when computing number
17251 of iterations. Don't bother distributing a remainder equally.
17252
17253 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17254 Don't call srand. Zero b before testing.
17255 (main): New.
17256
17257 2005-09-24 Jakub Jelinek <jakub@redhat.com>
17258
17259 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17260 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17261
17262 2005-09-23 Jakub Jelinek <jakub@redhat.com>
17263
17264 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17265 without !$omp end do, followed immediately by subroutine end.
17266
17267 2005-09-23 Diego Novillo <dnovillo@redhat.com>
17268
17269 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17270
17271 2005-09-22 Richard Henderson <rth@redhat.com>
17272
17273 * critical.c (GOMP_critical_name_start): Change argument to void**.
17274 Reuse the pointer space if the mutex fits.
17275 (GOMP_critical_name_end): Likewise.
17276 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17277 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17278 (GOMP_critical_name_end): Likewise.
17279 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17280 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17281
17282 2005-09-20 Richard Henderson <rth@redhat.com>
17283
17284 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17285 (create_lock_lock): New.
17286 (initialize_critical): Initialize it.
17287 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17288 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17289
17290 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17291
17292 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17293
17294 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17295
17296 * testsuite/libgomp.dg/omp-loop01.c: New test.
17297 * testsuite/libgomp.dg/omp-loop02.c: New test.
17298
17299 2005-09-20 Jakub Jelinek <jakub@redhat.com>
17300
17301 * configure.ac (AC_PROG_FC): Add.
17302 (USE_FORTRAN): New automake conditional.
17303 * configure: Rebuilt.
17304 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17305 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17306 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17307 Add rules to build them.
17308 * Makefile.in: Rebuilt.
17309 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17310 OMP_NEST_LOCK_KIND.
17311 * libgomp.map: Add Fortran wrappers.
17312 * libgomp_f.h.in: New file.
17313 * omp_lib.h.in: New file.
17314 * omp_lib.f90.in: New file.
17315 * fortran.c: New file.
17316 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17317 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17318 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17319 libgfortran has been built.
17320 * testsuite/libgomp.fortran/fortran.exp: New file.
17321 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17322 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17323 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17324 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17325 * testsuite/libgomp.fortran/omp_hello.f: New test.
17326 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17327 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17328 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17329 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17330 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17331 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17332 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17333 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17334
17335 2005-08-30 Richard Henderson <rth@redhat.com>
17336
17337 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17338 function for when aliases are not usable.
17339 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17340 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17341 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17342 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17343 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17344 GOMP_loop_ordered_guided_next): Likewise.
17345 * ordered.c (GOMP_ordered_start): Likewise.
17346
17347 2005-08-01 Diego Novillo <dnovillo@redhat.com>
17348
17349 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17350 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17351 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17352 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17353 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17354 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17355 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17356 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17357 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17358
17359 2005-07-07 Eric Christopher <echristo@redhat.com>
17360 Diego Novillo <dnovillo@redhat.com>
17361
17362 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17363 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17364 up code.
17365 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17366 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17367 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17368 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17369 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17370 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17371 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17372
17373 2005-06-13 Diego Novillo <dnovillo@redhat.com>
17374
17375 * TOPLEVEL.patch: Remove.
17376
17377 2005-05-16 Richard Henderson <rth@redhat.com>
17378
17379 * configure.ac: Test for clock_gettime.
17380 * config.h.in, configure: Rebuild.
17381 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17382 (omp_get_wtime): Use clock_gettime if available.
17383 (omp_get_wtick): Use clock_getres if available.
17384
17385 2005-05-11 Richard Henderson <rth@redhat.com>
17386
17387 * config/linux/ia64/futex.h: New file.
17388 * configure.tgt: Use it.
17389
17390 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17391
17392 2005-05-07 Richard Henderson <rth@redhat.com>
17393
17394 * config/linux/powerpc/futex.h: New file.
17395 * configure.tgt: Use it.
17396
17397 * config/linux/i486/futex.h: Merge ...
17398 * config/linux/x86_64/futex.h: ... into ...
17399 * config/linux/x86/futex.h: ... here.
17400 * configure.tgt: Update to match.
17401
17402 2005-05-06 Richard Henderson <rth@redhat.com>
17403
17404 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17405 * config/linux/i486/futex.h: Likewise.
17406 * config/linux/x86_64/futex.h: Likewise.
17407
17408 * config/linux/lock.c: New file.
17409 * config/linux/omp-lock.h: New file.
17410
17411 * critical.c, env.h: Don't include omp.h
17412 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17413 * config/posix/time.c: Likewise.
17414 * config/posix/omp-lock.h: New file.
17415 * libgomp.h: Include omp-lock.h and omp.h.
17416 * Makefile.am (nodist_include_HEADERS): New.
17417 (omp.h): New rule.
17418 * configure.ac (PERL): New.
17419 * mkomp_h.pl: New file.
17420 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17421 with templates.
17422 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17423
17424 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17425 build directory. Re-add -march=i486 hack.
17426
17427 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17428 (libgomp_link_flags): Remove.
17429 (libgomp_initialized): Remove.
17430 (libgomp_init): Don't protect from reinitialization. Copy code
17431 from libstdc++ for getting the multilib set correctly.
17432
17433 2005-05-05 Richard Henderson <rth@redhat.com>
17434
17435 * config/linux/alpha/futex.h: New file.
17436 * configure.tgt (alpha*-*-linux*): Use it.
17437
17438 * config/posix/mutex.c: New file.
17439 * config/posix/sem.c: Use libgomp.h.
17440
17441 * configure.tgt (x86_64-linux): Also test CC for -m32.
17442 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17443
17444 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17445 after $gccpath.
17446
17447 * Makefile.am (SUBDIRS): New.
17448 (libgomp_la_LDFLAGS): Add -lpthread.
17449 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17450 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17451
17452 * libgomp_g.h: New file.
17453 * libgomp.h: Split out all public declarations to libgomp_g.h.
17454 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17455 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17456 * config/linux/sem.h: Likewise.
17457 * config/posix/sem.h: Likewise.
17458
17459 * Makefile.am (AM_LDFLAGS): New.
17460 (libgomp_version_script): Split out from ...
17461 (libgomp_la_LDFLAGS): ... here.
17462 (libgomp_version_info): New.
17463 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17464 (LIBGOMP_ENABLE): New.
17465 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17466 (LIBGOMP_ENABLE_SYMVERS): New.
17467 * configure.ac (AC_INIT): Version 1.0.
17468 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17469 (enable-linux-futex): Likewise. Rename from enable-futex.
17470 (libtool_VERSION): New.
17471 (LIBGOMP_ENABLE_SYMVERS): Use it.
17472 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17473 * Makefile.in, aclocal.m4, configure: Rebuild.
17474
17475 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17476 (gomp_mutex_unlock_slow): Fix typo.
17477 * config/linux/sem.c: Similarly.
17478 (gomp_sem_post_slow): Fix typo.
17479 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17480 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17481 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17482
17483 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17484 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17485 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17486 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17487 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17488 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17489 LDFLAGS. Pull enable_futex check to top-level.
17490 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17491 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17492
17493 First attempt at real configury.
17494 * Makefile, config.h: Remove file.
17495 * Makefile.am, Makefile.in: New file.
17496 * acinclude.m4 aclocal.m4: New file.
17497 * configure.ac, configure.tgt, configure: New file.
17498
17499 * config/posix/lock.c: Rename from sys-lock.c.
17500 * config/posix/mutex.h: Rename from sys-mutex.h.
17501 * config/posix/sem.c: Rename from sys-sem.c.
17502 * config/posix/sem.h: Rename from sys-sem.h.
17503 * config/posix/proc.c: Rename from sys-proc.c.
17504 * config/posix/time.c: Rename from sys-proc.c.
17505
17506 * config/linux/mutex.c: New file.
17507 * config/linux/mutex.h: New file.
17508 * config/linux/sem.c: New file.
17509 * config/linux/sem.h: New file.
17510 * config/linux/i486/futex.h: New file.
17511 * config/linux/x86_64/futex.h: New file.
17512
17513 2005-05-04 Richard Henderson <rth@redhat.com>
17514
17515 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17516 * libgomp.h: Declare them.
17517 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17518 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17519
17520 2005-05-04 Richard Henderson <rth@redhat.com>
17521
17522 * libgomp-1 code drop
17523
17524 2005-05-04 Richard Henderson <rth@redhat.com>
17525
17526 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17527 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17528 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17529 (gomp_iter_static_next): Update.
17530 (gomp_ordered_static_next): Update.
17531 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17532 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17533 totally empty range.
17534 (gomp_loop_ordered_static_next): Refine test for calling
17535 gomp_ordered_static_next.
17536 * testsuite/ordered-1.c: Add case for more threads than iterations.
17537
17538 * iter.c (gomp_iter_runtime_next_locked): Remove.
17539 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17540 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17541 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17542 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17543 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17544 gomp_loop_ordered_guided_next): Downcase name, make static, add
17545 an external alias with the old name.
17546 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17547 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17548 switch and call one of the above static functions.
17549 * libgomp.h: Update.
17550
17551 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17552 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17553 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17554 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17555 GOMP_loop_ordered_guided_start): Update to match.
17556 * sections.c (GOMP_sections_start): Likewise.
17557 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17558
17559 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17560 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17561 Use bounds check instead of modulus.
17562 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17563 (gomp_ordered_last): Don't sync with ordered_owner here.
17564 (gomp_ordered_next): Likewise.
17565 (gomp_ordered_static_loop_next): Likewise.
17566 * loop.c, libgomp.h: Update to match.
17567
17568 * libgomp.h (GOMP_barrier): Declare.
17569
17570 * testsuite/barrier-1.c: New file.
17571 * testsuite/critical-1.c: New file.
17572 * testsuite/ordered-2.c: New file.
17573 * testsuite/ordered-1.c: New file.
17574 * testsuite/sections-1.c: New file.
17575 * testsuite/single-1.c: New file.
17576 * testsuite/Makefile (TESTS): Add them.
17577
17578 2005-05-04 Richard Henderson <rth@redhat.com>
17579
17580 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17581 * loop.c (GOMP_loop_static_start): If not the startup thread,
17582 acquire the mutex to wait for initialization complete.
17583 (GOMP_loop_ordered_static_start): Likewise.
17584 (GOMP_loop_ordered_runtime_start): Likewise.
17585 (GOMP_loop_ordered_static_first): Remove.
17586 (GOMP_loop_ordered_dynamic_first): Remove.
17587 (GOMP_loop_ordered_guided_first): Remove.
17588 (GOMP_loop_ordered_runtime_first): Remove.
17589 * ordered.c (gomp_ordered_loop_first): Post to own release when
17590 we're the first thread.
17591 (gomp_ordered_loop_last): Wait on release if not owner.
17592 (gomp_ordered_loop_next): Likewise.
17593 (gomp_ordered_static_loop_init): New.
17594 (gomp_ordered_static_loop_next): Use ordered_owner.
17595 (GOMP_ordered_start): Likewise.
17596 * work.c (gomp_new_work_share): Initialize ordered_owner.
17597
17598 2005-05-03 Richard Henderson <rth@redhat.com>
17599
17600 * Makefile (OPT): New.
17601 (CFLAGS): Use it.
17602
17603 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17604 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17605 * libgomp.h, libgomp.map, NOTES: Update to match.
17606
17607 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17608 Add initialized and thr members.
17609 (gomp_thread_start): Pause when initially spawned to wait for
17610 the whole team to be created.
17611 (gomp_team_start): Release team members at the end.
17612
17613 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17614 (f_foo_1): Use GOMP_loop_end.
17615 (f_foo_2): Use GOMP_loop_end_nowait.
17616
17617 * testsuite/loop-2.c: New file.
17618 * testsuite/Makefile (TESTS): Add it.
17619
17620 2005-05-03 Richard Henderson <rth@redhat.com>
17621
17622 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17623 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17624 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17625 initial work_share.
17626
17627 * testsuite/Makefile: New file.
17628 * testsuite/loop-1.c: New file.
17629
17630 2005-05-03 Richard Henderson <rth@redhat.com>
17631
17632 Initial implementation and checkin.
17633 \f
17634 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17635
17636 Copying and distribution of this file, with or without modification,
17637 are permitted in any medium without royalty provided the copyright
17638 notice and this notice are preserved.