]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
2
3 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
4 (OpenMP Context Selectors): Add missing comma.
5 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
6 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
7 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
8 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
9
10 2022-05-17 Jakub Jelinek <jakub@redhat.com>
11
12 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
13 comment for omp_display_env feature.
14
15 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
16
17 * libgomp.texi (Offload-Target Specifics): New chapter; add section
18 to document OpenMP context selectors.
19
20 2022-05-17 Jakub Jelinek <jakub@redhat.com>
21
22 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
23 from bool to unsigned char.
24 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
25 Ignore dependencies where
26 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
27 rather than just task->depend[i].is_in && ent->is_in. Remember
28 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
29 conditional.
30 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
31 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
32 rather than just elem.is_in && ent->is_in.
33 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
34 inoutset depend-kind.
35 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
36 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
37 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
38
39 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
40
41 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
42
43 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
44
45 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
46 * testsuite/libgomp.fortran/depend-5.f90: New test.
47 * testsuite/libgomp.fortran/depend-6.f90: New test.
48 * testsuite/libgomp.fortran/depend-7.f90: New test.
49
50 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
51
52 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
53 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
54 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
55
56 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
57
58 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
59
60 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
61
62 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
63
64 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
65
66 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
67 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
68 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
69 append '$(PLUGIN_NVPTX_LDFLAGS)'.
70 * Makefile.in: Regenerate.
71
72 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
73
74 * Makefile.am (libgomp_la_LIBADD): Initialize.
75 * plugin/configfrag.ac (DL_LIBS): New.
76 (PLUGIN_GCN_LIBS): Remove.
77 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
78 * plugin/Makefrag.am (libgomp_la_LIBADD)
79 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
80 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
81 * Makefile.in: Regenerate.
82 * config.h.in: Likewise.
83 * configure: Likewise.
84 * testsuite/Makefile.in: Likewise.
85
86 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
87
88 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
89 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
90 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
91 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
92 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
93 'PLUGIN_NVPTX_LINK_LIBCUDA'.
94 * Makefile.in: Regenerate.
95 * config.h.in: Likewise.
96 * configure: Likewise.
97
98 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
99
100 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
101 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
102 * Makefile.in: Regenerate.
103 * config.h.in: Likewise.
104 * configure: Likewise.
105 * testsuite/Makefile.in: Likewise.
106
107 2022-05-12 Jakub Jelinek <jakub@redhat.com>
108
109 * libgomp.h (struct gomp_task): Add depend_all_memory member.
110 * task.c (gomp_init_task): Initialize depend_all_memory.
111 (gomp_task_handle_depend): Handle omp_all_memory.
112 (gomp_task_run_post_handle_depend_hash): Clear
113 parent->depend_all_memory if equal to current task.
114 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
115 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
116 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
117 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
118
119 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
120
121 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
122 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
123 * Makefile.in: Regenerate.
124 * configure: Likewise.
125 * testsuite/Makefile.in: Likewise.
126
127 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
128
129 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
130 consider 'PLUGIN_GCN_CPPFLAGS'.
131 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
132 'PLUGIN_GCN_LDFLAGS'.
133 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
134 Remove.
135 * Makefile.in: Regenerate.
136 * configure: Likewise.
137 * testsuite/Makefile.in: Likewise.
138
139 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
140
141 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
142 (HSA_RUNTIME_LDFLAGS): Remove.
143 * configure: Regenerate.
144
145 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
146
147 * testsuite/lib/libgomp.exp (libgomp_init): Don't
148 'append always_ld_library_path ":$hsa_runtime_lib"'.
149 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
150
151 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
152
153 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
154 multi-device testing.
155
156 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
157
158 * libgomp.map: Added omp_target_is_accessible.
159 * libgomp.texi: Tagged omp_target_is_accessible as supported.
160 * omp.h.in: Added omp_target_is_accessible.
161 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
162 * omp_lib.h.in: Likewise.
163 * target.c (omp_target_is_accessible): Added implementation of
164 omp_target_is_accessible.
165 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
166 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
167
168 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
169
170 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
171
172 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
173
174 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
175
176 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
177
178 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
179
180 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
181
182 * libgomp.map: Added omp_get_mapped_ptr.
183 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
184 * omp.h.in: Added omp_get_mapped_ptr.
185 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
186 * omp_lib.h.in: Likewise.
187 * target.c (omp_get_mapped_ptr): Added implementation of
188 omp_get_mapped_ptr.
189 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
190 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
191 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
192 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
193 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
194 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
195 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
196 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
197
198 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
199
200 PR fortran/104717
201 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
202 privatization scanning. For GCN offloading compilation, raise
203 '-mgang-private-size'.
204
205 2022-04-26 Jakub Jelinek <jakub@redhat.com>
206
207 PR libgomp/105358
208 * work.c (gomp_init_work_share): Don't mask of adjustment for
209 dynamic long long realignment if struct gomp_work_share has smaller
210 alignof than long long.
211 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
212 struct gomp_work_share has smaller alignof than long long or if
213 sizeof (struct gomp_work_share) is smaller than
214 INLINE_ORDERED_TEAM_IDS_OFF.
215 * loop_ull.c (GOMP_loop_ull_start): Likewise.
216 * sections.c (GOMP_sections2_start): Likewise.
217
218 2022-04-25 Jakub Jelinek <jakub@redhat.com>
219 Thomas Schwinge <thomas@codesourcery.com>
220
221 PR fortran/104717
222 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
223
224 2022-04-13 Jakub Jelinek <jakub@redhat.com>
225
226 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
227
228 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
229
230 * plugin/cuda/cuda.h: Remove file.
231 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
232 "cuda/cuda.h" instead of <cuda.h>.
233 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
234 'PLUGIN_NVPTX_CPPFLAGS'.
235 * configure: Regenerate.
236
237 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
238
239 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
240
241 2022-04-04 Tom de Vries <tdevries@suse.de>
242
243 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
244 on_device_arch_nvptx instead of offload_target_nvptx.
245 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
246
247 2022-04-01 Tom de Vries <tdevries@suse.de>
248
249 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
250 and use REC_DEPTH.
251 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
252
253 2022-04-01 Tom de Vries <tdevries@suse.de>
254
255 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
256 num_workers check.
257
258 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
259 Lulu Cheng <chenglulu@loongson.cn>
260
261 * configure.tgt: Add LoongArch triplet.
262
263 2022-03-28 Tom de Vries <tdevries@suse.de>
264
265 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
266 instead of /libexec/.
267 * configure: Regenerate.
268
269 2022-03-25 Tom de Vries <tdevries@suse.de>
270
271 PR libgomp/105042
272 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
273 execution time.
274 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
275 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
276
277 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
278
279 PR middle-end/104285
280 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
281 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
282 * testsuite/libgomp.c++/target-same-name-2.C: New test.
283 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
284 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
285 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
286
287 2022-03-22 Tom de Vries <tdevries@suse.de>
288
289 PR target/104916
290 PR target/104783
291 * testsuite/libgomp.c/pr104783-2.c: New test.
292
293 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
294
295 PR fortran/103039
296 * testsuite/libgomp.fortran/associate4.f90: New test.
297
298 2022-03-18 Tom de Vries <tdevries@suse.de>
299
300 PR target/104952
301 * testsuite/libgomp.c/pr104952-1.c: New test.
302 * testsuite/libgomp.c/pr104952-2.c: New test.
303
304 2022-03-18 Jakub Jelinek <jakub@redhat.com>
305
306 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
307 variable next to pl variable.
308
309 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
310
311 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
312 Enhance.
313 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
314 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
315
316 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
317
318 PR middle-end/90115
319 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
320 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
321
322 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
323
324 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
325 omp_set_max_active_levels.
326 * testsuite/libgomp.fortran/icv-8.f90: New test.
327
328 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
329
330 PR testsuite/102841
331 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
332
333 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
334
335 * libgomp.texi: Fix typo.
336
337 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
338
339 PR middle-end/100280
340 PR middle-end/104892
341 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
342 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
343 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
344 Likewise.
345 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
346 Likewise.
347 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
348 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
349 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
350 Likewise.
351
352 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
353
354 PR middle-end/104892
355 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
356 to PR104892.
357 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
358 enable '--param=openacc-kernels=decompose' and adjust.
359 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
360 Likewise.
361 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
362 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
363 Likewise.
364
365 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
366
367 PR middle-end/90115
368 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
369 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
370 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
371 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
372
373 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
374
375 PR middle-end/100280
376 PR middle-end/104086
377 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
378 Merge this...
379 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
380 ..., and this...
381 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
382 this, and adjust.
383 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
384 Extend.
385
386 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
387
388 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
389 trait. Test last index in w and v array. Remove redundant
390 assignment to V(1). Move alignment checks at the end of
391 parallel region.
392
393 2022-03-10 Tom de Vries <tdevries@suse.de>
394
395 * testsuite/libgomp.c/pr104783.c: New test.
396
397 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
398
399 PR middle-end/90115
400 PR middle-end/102330
401 PR middle-end/104774
402 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
403 Enhance.
404 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
405 Adjust.
406 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
407 Likewise.
408 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
409 Likewise.
410 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
411 Likewise.
412 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
413 Likewise.
414 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
415 Likewise.
416 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
417 Likewise.
418 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
419 Likewise.
420 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
421 Likewise.
422 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
423 Likewise.
424 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
425 Likewise.
426 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
427 Likewise.
428 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
429 Likewise.
430 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
431 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
432 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
433
434 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
435
436 PR middle-end/90115
437 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
438 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
439 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
440 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
441
442 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
443
444 PR testsuite/104791
445 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
446 expected diagnostics.
447
448 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
449
450 PR middle-end/104784
451 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
452 Test with '--param=openacc-kernels=decompose'.
453 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
454 Likewise.
455 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
456 Likewise.
457 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
458 Likewise.
459 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
460 Likewise.
461 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
462 Likewise.
463 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
464 Likewise.
465 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
466 Likewise.
467 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
468 Likewise.
469 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
470 Likewise.
471 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
472 Likewise.
473 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
474 Likewise.
475 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
476 Likewise.
477 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
478 Likewise.
479 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
480 Likewise.
481 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
482 Likewise.
483 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
484 Likewise.
485 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
486 Likewise.
487 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
488 Likewise.
489 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
490 Likewise.
491 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
492 Likewise.
493 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
494 Likewise.
495 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
496 Likewise.
497 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
498 Likewise.
499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
500 Likewise.
501 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
502 Likewise.
503 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
504 Likewise.
505 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
506 Likewise.
507 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
508 Likewise.
509 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
510 Likewise.
511 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
512 Likewise.
513 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
514 Likewise.
515 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
516 Likewise.
517
518 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
519
520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
521 Test '-fopt-info-omp-all'.
522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
523 Likewise.
524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
525 Likewise.
526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
527 Likewise.
528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
529 Likewise.
530 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
531 Likewise.
532 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
533 Likewise.
534 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
535 Likewise.
536 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
537 Likewise.
538 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
539 Likewise.
540 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
541 Likewise.
542 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
543 Likewise.
544 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
545 Likewise.
546 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
547 Likewise.
548 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
549 Likewise.
550 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
551 Likewise.
552 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
553 Likewise.
554 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
555 Likewise.
556 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
557 Likewise.
558 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
559 Likewise.
560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
561 Likewise.
562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
563 Likewise.
564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
565 Likewise.
566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
567 Likewise.
568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
569 Likewise.
570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
571 Likewise.
572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
573 Likewise.
574 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
575 Likewise.
576 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
577 Likewise.
578 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
579 Likewise.
580 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
581 Likewise.
582 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
583 Likewise.
584 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
585 Likewise.
586
587 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
588
589 PR middle-end/100280
590 PR middle-end/104132
591 PR middle-end/104133
592 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
593 Extend.
594
595 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
596
597 PR middle-end/100280
598 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
599 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
600 Likewise.
601
602 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
603
604 PR middle-end/100280
605 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
606 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
607 Likewise.
608
609 2022-02-28 Tom de Vries <tdevries@suse.de>
610
611 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
612 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
613 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
614 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
615 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
616 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
617
618 2022-02-24 Tom de Vries <tdevries@suse.de>
619
620 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
621 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
622 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
623 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
624 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
625 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
626 * testsuite/libgomp.c/declare-variant-3.h: New header file.
627
628 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
629
630 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
631 gang-redundant execution.
632
633 2022-02-22 Tom de Vries <tdevries@suse.de>
634
635 PR target/99555
636 * config/nvptx/bar.c (generation_to_barrier): New function, copied
637 from config/rtems/bar.c.
638 (futex_wait, futex_wake): New function.
639 (do_spin, do_wait): New function, copied from config/linux/wait.h.
640 (gomp_barrier_wait_end, gomp_barrier_wait_last)
641 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
642 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
643 and replace with include of config/linux/bar.c.
644 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
645 (gomp_barrier_init): Init new fields.
646 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
647 workarounds.
648 * testsuite/libgomp.c/pr99555-1.c: Same.
649 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
650
651 2022-02-22 Tom de Vries <tdevries@suse.de>
652
653 PR testsuite/104146
654 * testsuite/libgomp.c++/pr96390.C: Add additional-option
655 -foffload=-Wa,--verify for nvptx.
656 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
657
658 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
659
660 * testsuite/libgomp.fortran/depend-4.f90: New test.
661
662 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
663
664 PR c++/102204
665 * testsuite/libgomp.c++/target-virtual-1.C: New test.
666
667 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
668
669 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
670 * target.c (copy_firstprivate_data): Copy only if host address is not
671 NULL.
672 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
673 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
674 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
675 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
676 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
677 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
678 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
679 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
680 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
681 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
682
683 2022-02-08 Jakub Jelinek <jakub@redhat.com>
684
685 PR libgomp/104385
686 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
687 clear task->parent.
688 * testsuite/libgomp.c/pr104385.c: New test.
689
690 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
691
692 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
693 STOP of previous commit.
694
695 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
696
697 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
698 from is_64bit_aligned_.
699 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
700 and use it, more implicit none, remove unused argument.
701
702 2022-02-03 David Seifert <soap@gentoo.org>
703 Jakub Jelinek <jakub@redhat.com>
704
705 * configure.ac: Support --disable-werror.
706 * configure: Regenerate.
707
708 2022-02-01 Tom de Vries <tdevries@suse.de>
709
710 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
711 PR83812 workaround.
712 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
713 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
714
715 2022-02-01 Tom de Vries <tdevries@suse.de>
716
717 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
718 num_workers for nvidia accelerator to fix libgomp error 'insufficient
719 resources'.
720 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
721 Same.
722 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
723
724 2022-02-01 Tom de Vries <tdevries@suse.de>
725
726 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
727 recursion depth.
728 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
729
730 2022-01-31 Martin Liska <mliska@suse.cz>
731
732 * acinclude.m4: Detect *_ld_is_mold and use it.
733 * configure: Regenerate.
734
735 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
736
737 * libgomp.texi (OpenMP 5.0): Update implementation status.
738
739 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
740
741 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
742 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
743 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
744 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
745 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
746 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
747 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
748 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
749 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
750 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
751 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
752 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
753 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
754 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
755 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
756
757 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
758
759 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
760 "static") to make the device num available in the offload image.
761
762 2022-01-19 Martin Liska <mliska@suse.cz>
763 Thomas Schwinge <thomas@codesourcery.com>
764
765 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
766 patterns.
767 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
768 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
769 Likewise.
770 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
771 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
772 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
773 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
774 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
775 Likewise.
776 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
777 Likewise.
778 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
779 Likewise.
780 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
781 Likewise.
782 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
783 Likewise.
784 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
785 Likewise.
786 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
787 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
788 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
789
790 2022-01-18 Martin Liska <mliska@suse.cz>
791
792 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
793 in dg-warning.
794 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
795 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
796 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
797 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
798 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
799 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
800 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
801 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
802 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
803 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
804 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
805 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
806 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
807 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
808 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
809
810 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
811
812 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
813 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
814 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
815
816 2022-01-17 Julian Brown <julian@codesourcery.com>
817 Thomas Schwinge <thomas@codesourcery.com>
818
819 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
820 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
821 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
822
823 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
824 Andrew Stubbs <ams@codesourcery.com>
825
826 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
827 the number of teams and threads if necessary.
828 (gcn_exec): Automatically set the number of gangs and workers if
829 necessary.
830
831 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
832
833 * testsuite/libgomp.fortran/allocate-1.c: New test.
834 * testsuite/libgomp.fortran/allocate-1.f90: New test.
835 * libgomp.texi: Remove string that says that allocate clause
836 support is for C/C++ only.
837
838 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
839
840 * testsuite/libgomp.c-c++-common/on_device_arch.h
841 (any_device_arch, any_device_arch_intel_mic): New.
842 * testsuite/lib/libgomp.exp
843 (check_effective_target_offload_device_any_intel_mic): New.
844 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
845 * testsuite/libgomp.fortran/target10.f90: Likewise.
846
847 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
848
849 PR tree-optimization/102192
850 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
851 '-Wuninitialized' diagnostics.
852
853 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
854
855 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
856 current '-Wuninitialized' diagnostics.
857 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
858 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
859 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
860 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
861 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
862 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
863 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
864 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
865 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
866 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
867 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
868 Likewise.
869
870 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
871
872 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
873 for 'offload_device_intel_mic'.
874
875 2022-01-13 Julian Brown <julian@codesourcery.com>
876 Thomas Schwinge <thomas@codesourcery.com>
877
878 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
879 offloading execution XFAIL.
880
881 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
882
883 PR middle-end/100280
884 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
885 Update.
886 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
887 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
888 Likewise.
889
890 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
891
892 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
893 Enhance.
894 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
895 Likewise.
896 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
900 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
901 Likewise.
902 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
903 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
904 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
905 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
906
907 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
908
909 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
910 * testsuite/libgomp.fortran/target10.f90: Likewise.
911
912 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
913
914 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
915 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
916 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
917
918 2022-01-03 Jakub Jelinek <jakub@redhat.com>
919
920 * libgomp.texi: Bump @copying's copyright year.
921
922 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
923
924 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
925 * testsuite/libgomp.fortran/atomic-19.f90: New test.
926
927 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
928
929 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
930 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
931 table, not individual symbols.
932
933 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
934
935 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
936 "target offload_device_nonshared_as"
937 * testsuite/libgomp.c++/target-this-3.C: Likewise.
938 * testsuite/libgomp.c++/target-this-4.C: Likewise.
939
940 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
941
942 * target.c (gomp_map_vars_existing): Make sure attached pointer is
943 not overwritten during cross-host/device copying.
944 (gomp_update): Likewise.
945 (gomp_exit_data): Likewise.
946 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
947 * testsuite/libgomp.c++/target-12.C: Likewise.
948 * testsuite/libgomp.c++/target-15.C: Likewise.
949 * testsuite/libgomp.c++/target-16.C: Likewise.
950 * testsuite/libgomp.c++/target-17.C: Likewise.
951 * testsuite/libgomp.c++/target-21.C: Likewise.
952 * testsuite/libgomp.c++/target-23.C: Likewise.
953 * testsuite/libgomp.c/target-23.c: Likewise.
954 * testsuite/libgomp.c/target-29.c: Likewise.
955 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
956
957 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
958
959 PR middle-end/92120
960 * libgomp.h (gomp_attach_pointer): Add bool parameter.
961 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
962 (goacc_enter_data_internal): Likewise.
963 * target.c (gomp_map_vars_existing): Update assert condition to
964 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
965 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
966 parameter, add support for mapping a pointer with NULL target.
967 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
968 parameter, add support for attaching a pointer with NULL target.
969 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
970 gomp_attach_pointer, add handling for
971 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
972 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
973 * testsuite/libgomp.c++/target-23.C: New testcase.
974 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
975 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
976 * testsuite/libgomp.c++/target-this-1.C: New testcase.
977 * testsuite/libgomp.c++/target-this-2.C: New testcase.
978 * testsuite/libgomp.c++/target-this-3.C: New testcase.
979 * testsuite/libgomp.c++/target-this-4.C: New testcase.
980 * testsuite/libgomp.c++/target-this-5.C: New testcase.
981
982 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
983
984 * libgomp.texi (OpenMP 5.1): Update status.
985
986 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
987
988 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
989
990 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
991
992 PR fortran/90030
993 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
994 * testsuite/libgomp.fortran/pr90030.f90: New test.
995
996 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
997 Thomas Schwinge <thomas@codesourcery.com>
998
999 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1000 temporary skip.
1001
1002 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1003 Thomas Schwinge <thomas@codesourcery.com>
1004
1005 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1006 skip.
1007
1008 2021-11-29 Richard Biener <rguenther@suse.de>
1009
1010 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1011 return.
1012
1013 2021-11-24 Jakub Jelinek <jakub@redhat.com>
1014
1015 PR middle-end/103384
1016 * testsuite/libgomp.c/declare-variant-2.c: New test.
1017
1018 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
1019
1020 * alloc.c (gomp_aligned_alloc): Fix typo.
1021
1022 2021-11-18 Jakub Jelinek <jakub@redhat.com>
1023
1024 PR libgomp/102838
1025 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1026 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1027 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1028 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1029 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1030 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1031 gomp_aligned_alloc instead of team_malloc.
1032
1033 2021-11-18 Jakub Jelinek <jakub@redhat.com>
1034
1035 PR libgomp/102838
1036 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1037 memalign over posix_memalign over aligned_alloc over fallback
1038 with malloc instead of aligned_alloc over _aligned_alloc over
1039 posix_memalign over memalign over fallback with malloc. For
1040 aligned_alloc, round up size up to multiple of al.
1041
1042 2021-11-16 Jakub Jelinek <jakub@redhat.com>
1043
1044 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1045 construct as implemented.
1046
1047 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
1048
1049 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1050
1051 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1052
1053 * task.c (gomp_create_target_task): Copy args array as well.
1054 * target.c (gomp_target_fallback): Add args argument.
1055 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1056 (GOMP_target): Adjust gomp_target_fallback caller.
1057 (GOMP_target_ext): Likewise.
1058 (gomp_target_task_fn): Likewise.
1059 * config/nvptx/team.c (gomp_nvptx_main): Set
1060 gomp_global_icv.thread_limit_var.
1061 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1062
1063 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1064
1065 * config/nvptx/team.c (__gomp_team_num): Define as
1066 __attribute__((shared)) var.
1067 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1068 * config/nvptx/target.c (__gomp_team_num): Declare as
1069 extern __attribute__((shared)) var.
1070 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1071 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1072 is bigger than num_blocks, use num_teams_lower teams and arrange for
1073 bumping of __gomp_team_num if !first and returning false once we run
1074 out of teams.
1075 * config/nvptx/teams.c (__gomp_team_num): Declare as
1076 extern __attribute__((shared)) var.
1077 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1078
1079 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1080
1081 * testsuite/libgomp.c/teams-5.c: New test.
1082
1083 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1084
1085 PR target/103201
1086 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1087 to ...
1088 * config/gcn/teams.c: ... here. New file.
1089
1090 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1091
1092 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1093 implicit map handling to allow a "superset" existing map as valid case.
1094 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1095 (get_implicit): New function to extract implicit status.
1096 (gomp_map_fields_existing): Adjust arguments in calls to
1097 gomp_map_vars_existing, and add uses of get_implicit.
1098 (gomp_map_vars_internal): Likewise.
1099 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1100
1101 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1102
1103 * libgomp_g.h (GOMP_teams4): Declare.
1104 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1105 * target.c (GOMP_teams4): New function.
1106 * config/nvptx/target.c (GOMP_teams): Remove.
1107 (GOMP_teams4): New function.
1108 * config/gcn/target.c (GOMP_teams): Remove.
1109 (GOMP_teams4): New function.
1110 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1111 teams instead of <= 2.
1112 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1113
1114 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
1115
1116 * testsuite/libgomp.fortran/teams-1.f90: New test.
1117
1118 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1119
1120 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1121 * team.c (struct gomp_thread_start_data): Likewise.
1122 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1123 (gomp_team_start): Initialize start_data->num_teams and
1124 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1125 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1126 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1127 instead of gomp_num_teams and gomp_team_num.
1128 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1129 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1130 * testsuite/libgomp.c/teams-4.c: New test.
1131
1132 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1133
1134 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1135
1136 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1137
1138 * env.c (parse_gomp_openacc_dim): Restore parsing.
1139
1140 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
1141
1142 PR middle-end/102972
1143 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1144 parallel construct.
1145 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1146 * testsuite/libgomp.c/target-3.c: Likewise.
1147 * testsuite/libgomp.c/target-5.c: Likewise.
1148 * testsuite/libgomp.c/target-6.c: Likewise.
1149 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1150 * testsuite/libgomp.c/teams-1.c: Likewise.
1151 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1152 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1153 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1154 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1155 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1156 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1157 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1158
1159 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
1160
1161 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1162 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1163
1164 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1165
1166 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1167 aren't implemented for Fortran yet.
1168
1169 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1170
1171 * testsuite/libgomp.c/loop-26.c: New test.
1172 * testsuite/libgomp.c/loop-27.c: New test.
1173
1174 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
1175
1176 PR testsuite/102910
1177 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1178 instead of #include <alloca.h> + alloca.
1179
1180 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1181
1182 * libgomp.texi (Support of strictly structured blocks in Fortran):
1183 Adjust to 'Y'.
1184 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1185
1186 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1187
1188 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1189 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1190
1191 2021-10-20 Jakub Jelinek <jakub@redhat.com>
1192
1193 PR libgomp/102838
1194 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1195 (struct gomp_work_share): Only use aligned(64) attribute if
1196 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1197 add padding before lock to ensure lock is at offset 64 bytes
1198 into the structure.
1199 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1200 New poor man's static assertions.
1201 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1202 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1203
1204 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
1205 Richard Biener <rguenther@suse.de>
1206
1207 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1208
1209 2021-10-18 Jakub Jelinek <jakub@redhat.com>
1210
1211 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1212 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1213
1214 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
1215
1216 PR fortran/102086
1217 PR fortran/92189
1218 PR fortran/92621
1219 PR fortran/101308
1220 PR fortran/101309
1221 PR fortran/101635
1222 PR fortran/92482
1223 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1224
1225 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1226
1227 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1228 type from char [50] to const char *.
1229 (places_array): Add a testcase for simplified syntax place followed
1230 by length or length and stride.
1231
1232 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1233
1234 * env.c (parse_one_place): Handle non-negative-number the same
1235 as { non-negative-number }. Reject even !number:1 and
1236 !number:1:stride or !place:1 or !place:1:stride instead of just
1237 length other than 1.
1238 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1239 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1240 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1241 as implemented.
1242 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1243 simplified syntax.
1244
1245 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1246
1247 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1248 clearly reject return value 0 as invalid handle the case where end
1249 pointer is the same as first argument as invalid.
1250 (parse_unsigned_long_1): Likewise.
1251 (parse_one_place): Likewise.
1252 (parse_places_var): Likewise.
1253 (parse_stacksize): Likewise.
1254 (parse_spincount): Likewise.
1255 (parse_affinity): Likewise.
1256 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1257 Make code valid C89.
1258 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1259 For strtoul calls which don't clearly reject return value 0 as
1260 invalid handle the case where end pointer is the same as first
1261 argument as invalid.
1262 (gomp_affinity_init_level_1): Likewise.
1263 (gomp_affinity_init_numa_domains): Likewise.
1264 * config/rtems/proc.c (parse_thread_pools): Likewise.
1265
1266 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1267
1268 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1269 after creating count places clean up and return immediately.
1270 * testsuite/libgomp.c/places-6.c: New test.
1271 * testsuite/libgomp.c/places-7.c: New test.
1272 * testsuite/libgomp.c/places-8.c: New test.
1273 * testsuite/libgomp.c/places-9.c: New test.
1274 * testsuite/libgomp.c/places-10.c: New test.
1275
1276 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1277
1278 * env.c (parse_places_var): Handle numa_domains as level 5.
1279 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1280 function.
1281 (gomp_affinity_init_level): Use it instead of
1282 gomp_affinity_init_level_1 for level == 5.
1283 * testsuite/libgomp.c/places-5.c: New test.
1284
1285 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1286
1287 * env.c (parse_places_var): Handle ll_caches as level 4.
1288 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1289 function.
1290 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1291 last level cache.
1292 (gomp_affinity_init_level): Likewise.
1293 * testsuite/libgomp.c/places-1.c: New test.
1294 * testsuite/libgomp.c/places-2.c: New test.
1295 * testsuite/libgomp.c/places-3.c: New test.
1296 * testsuite/libgomp.c/places-4.c: New test.
1297
1298 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1299
1300 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1301 directive.
1302
1303 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1304
1305 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1306
1307 2021-10-12 Julian Brown <julian@codesourcery.com>
1308
1309 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1310 error path.
1311
1312 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
1313
1314 * testsuite/libgomp.fortran/icv-3.f90: New.
1315 * testsuite/libgomp.fortran/icv-4.f90: New.
1316
1317 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1318
1319 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1320 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1321 OMP_TEAMS_THREAD_LIMIT): Document.
1322
1323 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1324
1325 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1326 to avoid makeinfo warnings.
1327
1328 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1329
1330 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1331 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1332
1333 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1334
1335 PR libgomp/102628
1336 PR libgomp/102668
1337 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1338 allocation sizes from 420 to 320 and from 768 to 568.
1339 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1340 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1341 for cr from 16 to 4.
1342
1343 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1344
1345 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1346 * testsuite/libgomp.c/scan-12.c: Likewise.
1347 * testsuite/libgomp.c/scan-13.c: Likewise.
1348 * testsuite/libgomp.c/scan-14.c: Likewise.
1349 * testsuite/libgomp.c/scan-15.c: Likewise.
1350 * testsuite/libgomp.c/scan-16.c: Likewise.
1351 * testsuite/libgomp.c/scan-17.c: Likewise.
1352 * testsuite/libgomp.c/scan-18.c: Likewise.
1353 * testsuite/libgomp.c/scan-19.c: Likewise.
1354 * testsuite/libgomp.c/scan-20.c: Likewise.
1355 * testsuite/libgomp.c/scan-21.c: Likewise.
1356 * testsuite/libgomp.c/scan-22.c: Likewise.
1357 * testsuite/libgomp.c++/scan-9.C: Likewise.
1358 * testsuite/libgomp.c++/scan-10.C: Likewise.
1359 * testsuite/libgomp.c++/scan-11.C: Likewise.
1360 * testsuite/libgomp.c++/scan-12.C: Likewise.
1361 * testsuite/libgomp.c++/scan-13.C: Likewise.
1362 * testsuite/libgomp.c++/scan-14.C: Likewise.
1363 * testsuite/libgomp.c++/scan-15.C: Likewise.
1364 * testsuite/libgomp.c++/scan-16.C: Likewise.
1365
1366 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
1367
1368 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1369
1370 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
1371
1372 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1373 omp_atv_serialized.
1374 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1375 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1376 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1377 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1378
1379 2021-10-11 Jakub Jelinek <jakub@redhat.com>
1380
1381 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1382 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1383 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1384 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1385 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1386 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1387 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1388 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1389 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1390 omp_set_teams_thread_limit{,_,_8_}.
1391 * icv.c (omp_set_num_teams, omp_get_max_teams,
1392 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1393 functions.
1394 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1395 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1396 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1397 vars.
1398 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1399 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1400 is not specified, use gomp_nteams_var.
1401 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1402 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1403 ialias_redirect.
1404 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1405 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1406 omp_get_teams_thread_limit_): New functions.
1407
1408 2021-10-09 liuhongt <hongtao.liu@intel.com>
1409
1410 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1411 * testsuite/libgomp.c++/scan-11.C: Ditto.
1412 * testsuite/libgomp.c++/scan-12.C: Ditto.
1413 * testsuite/libgomp.c++/scan-13.C: Ditto.
1414 * testsuite/libgomp.c++/scan-14.C: Ditto.
1415 * testsuite/libgomp.c++/scan-15.C: Ditto.
1416 * testsuite/libgomp.c++/scan-16.C: Ditto.
1417 * testsuite/libgomp.c++/scan-9.C: Ditto.
1418 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1419 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1420 * testsuite/libgomp.c/scan-11.c: Ditto.
1421 * testsuite/libgomp.c/scan-12.c: Ditto.
1422 * testsuite/libgomp.c/scan-13.c: Ditto.
1423 * testsuite/libgomp.c/scan-14.c: Ditto.
1424 * testsuite/libgomp.c/scan-15.c: Ditto.
1425 * testsuite/libgomp.c/scan-16.c: Ditto.
1426 * testsuite/libgomp.c/scan-17.c: Ditto.
1427 * testsuite/libgomp.c/scan-18.c: Ditto.
1428 * testsuite/libgomp.c/scan-19.c: Ditto.
1429 * testsuite/libgomp.c/scan-20.c: Ditto.
1430 * testsuite/libgomp.c/scan-21.c: Ditto.
1431 * testsuite/libgomp.c/scan-22.c: Ditto.
1432
1433 2021-10-09 Jakub Jelinek <jakub@redhat.com>
1434
1435 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1436 structured block sequences in C/C++. Mention support for
1437 unconstrained/reproducible modifiers on order clause.
1438 Mention partial (C/C++ only) support of extentensions to atomics
1439 construct. Mention partial (C/C++ on clause only) support of
1440 align/allocator modifiers on allocate clause.
1441
1442 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
1443
1444 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1445 based on libgomp.c-c++-common/order-reproducible-1.c.
1446 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1447 * testsuite/libgomp.fortran/my-usleep.c: New test.
1448
1449 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
1450
1451 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1452 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1453 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1454 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1455 based on libgomp.c-c++-common/alloc-9.c.
1456
1457 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1458
1459 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1460 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1461
1462 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1463
1464 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1465 ialias_redirect.
1466 * env.c (handle_omp_display_env): Use ialias_call.
1467 * icv-device.c: Move ialias right below each function.
1468 (omp_get_device_num): Use ialias_call.
1469 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1470 * icv.c (omp_get_active_level): Add ialias_redirect.
1471
1472 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1473
1474 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1475 __alloc_align__ (1) attribute.
1476 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1477
1478 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
1479
1480 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1481 for -fintrinsic-modules-path= warning of the C compiler.
1482 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1483 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1484
1485 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
1486
1487 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1488 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1489 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1490 omp_realloc): Add.
1491 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1492 omp_realloc): Add.
1493 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1494 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1495 * testsuite/libgomp.fortran/alloc-7.c: New test.
1496 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1497 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1498 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1499
1500 2021-09-30 Jakub Jelinek <jakub@redhat.com>
1501
1502 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1503 omp_realloc): New prototypes.
1504 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1505 attribute.
1506 * allocator.c: Include string.h.
1507 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1508 variable and use it instead of alignment so that when retrying the old
1509 alignment is used again. Don't retry if new alignment is the same
1510 as old alignment, unless allocator had pool size.
1511 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1512 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1513 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1514 omp_aligned_calloc and omp_realloc.
1515 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1516 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1517 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1518 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1519 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1520 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1521
1522 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
1523
1524 PR libgomp/96661
1525 * configure.ac: Only check for int-type = 2*size_t support when
1526 building with Fortran support.
1527 * configure: Regenerate.
1528
1529 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
1530
1531 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1532 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1533
1534 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
1535
1536 * team.c: Initialize start_data.
1537 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1538 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1539
1540 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
1541
1542 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1543 dg-message back to dg-note.
1544
1545 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
1546
1547 PR fortran/94070
1548 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1549 expected dg-note output.
1550
1551 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
1552
1553 PR fortran/55534
1554 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1555 r12-3722 by removing -Wno-missing-include-dirs.
1556 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1557
1558 2021-09-22 Jakub Jelinek <jakub@redhat.com>
1559
1560 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1561 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1562
1563 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
1564
1565 PR fortran/55534
1566 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1567 to ALWAYS_CFLAGS.
1568 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1569
1570 2021-09-18 Jakub Jelinek <jakub@redhat.com>
1571
1572 * testsuite/libgomp.c++/default-1.C: New test.
1573 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1574 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1575 to default clause in C and C++" as implemented.
1576
1577 2021-09-17 Julian Brown <julian@codesourcery.com>
1578
1579 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1580
1581 2021-09-17 Julian Brown <julian@codesourcery.com>
1582
1583 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1584
1585 2021-09-17 Jakub Jelinek <jakub@redhat.com>
1586
1587 * libgomp.texi (OpenMP 5.1): Spelling fix,
1588 declare variante -> declare variant.
1589
1590 2021-09-17 Jakub Jelinek <jakub@redhat.com>
1591
1592 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1593 Use /* */ comments instead of //.
1594 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1595 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1596 * testsuite/libgomp.c++/atomic-16.C: New test.
1597 * testsuite/libgomp.c++/atomic-17.C: New test.
1598
1599 2021-09-10 Jakub Jelinek <jakub@redhat.com>
1600
1601 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1602 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1603 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1604
1605 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
1606
1607 * libgomp.texi (OpenMP Implementation Status): Extend
1608 OpenMP 5.0 section.
1609 (OpenACC Profiling Interface): Fix typo.
1610
1611 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
1612
1613 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1614 not to 4.5; link to new section.
1615 (OpenMP Implementation Status): New.
1616
1617 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
1618
1619 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1620
1621 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
1622
1623 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1624 dg-output.
1625 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1626
1627 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1628 Jakub Jelinek <jakub@redhat.com>
1629
1630 * testsuite/libgomp.c/address-space-1.c: New file.
1631
1632 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1633
1634 * testsuite/lib/libgomp.exp
1635 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1636 (check_effective_target_offload_device_intel_mic): New 'proc'.
1637 * testsuite/libgomp.c-c++-common/on_device_arch.h
1638 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1639 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1640 'dg-xfail-run-if'.
1641 * testsuite/libgomp.fortran/target10.f90: Likewise.
1642
1643 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
1644
1645 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1646 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1647 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1648 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1649
1650 2021-08-23 Jakub Jelinek <jakub@redhat.com>
1651
1652 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1653 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1654 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1655
1656 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
1657
1658 * config/nvptx/error.c (fwrite, exit): Override, too.
1659 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1660 of offloading testing.
1661 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1662
1663 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
1664
1665 * testsuite/libgomp.fortran/error-1.f90: New test.
1666
1667 2021-08-20 Jakub Jelinek <jakub@redhat.com>
1668
1669 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1670 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1671 * error.c (GOMP_warning, GOMP_error): New functions.
1672 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1673
1674 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
1675
1676 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1677 omp_target_free. omp_target_is_present, omp_target_memcpy,
1678 omp_target_memcpy_rect, omp_target_associate_ptr,
1679 omp_target_disassociate_ptr): Add interface.
1680 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1681 omp_target_free. omp_target_is_present, omp_target_memcpy,
1682 omp_target_memcpy_rect, omp_target_associate_ptr,
1683 omp_target_disassociate_ptr): Add interface.
1684 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1685 interface block for omp_alloc + omp_free.
1686 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1687 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1688 * testsuite/libgomp.fortran/target-12.f90: New test.
1689
1690 2021-08-18 Jakub Jelinek <jakub@redhat.com>
1691
1692 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1693
1694 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
1695
1696 * testsuite/libgomp.fortran/scope-1.f90: New test.
1697 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1698
1699 2021-08-17 Jakub Jelinek <jakub@redhat.com>
1700
1701 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1702 * Makefile.in: Regenerated.
1703 * libgomp_g.h (GOMP_scope_start): Declare.
1704 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1705 * scope.c: New file.
1706 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1707 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1708
1709 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
1710
1711 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1712 '?:' issues.
1713
1714 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
1715
1716 * testsuite/libgomp.fortran/masked-1.f90: New test.
1717
1718 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
1719
1720 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1721
1722 2021-08-12 Jakub Jelinek <jakub@redhat.com>
1723
1724 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1725
1726 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
1727
1728 * env.c (parse_bind_var): Accept 'primary' as alias for
1729 'master'.
1730 (omp_display_env): Add TODO comment to
1731 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1732 * libgomp.texi: Change 'master thread' to 'primary thread'
1733 in line with OpenMP 5.1.
1734 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1735 omp_proc_bind_master is an alias of it.
1736 (OMP_PROC_BIND): Mention 'PRIMARY'.
1737 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1738 (omp_proc_bind_primary): Add.
1739 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1740 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1741 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1742 * omp_lib.h.in (omp_proc_bind_primary): Add.
1743 * testsuite/libgomp.c/affinity-1.c: Check that
1744 'primary' works and is identical to 'master'.
1745
1746 2021-08-09 Julian Brown <julian@codesourcery.com>
1747 Kwok Cheung Yeung <kcy@codesourcery.com>
1748 Thomas Schwinge <thomas@codesourcery.com>
1749
1750 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1751 16.
1752 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1753 [acc_device_radeon]: Update.
1754 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1755 [ACC_DEVICE_TYPE_radeon]: Likewise.
1756 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1757 [acc_device_radeon]: Likewise.
1758 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1759 [ACC_DEVICE_TYPE_radeon]: Likewise.
1760 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1761 'openacc_radeon_accel_selected' and '-O0'.
1762 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1763
1764 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
1765
1766 * icv-device.c (omp_get_device_num): New API function, host side.
1767 * fortran.c (omp_get_device_num_): New interface function.
1768 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1769 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1770 omp_get_device_num_.
1771 * libgomp.texi (omp_get_device_num): Add documentation for new API
1772 function.
1773 * omp.h.in (omp_get_device_num): Add declaration.
1774 * omp_lib.f90.in (omp_get_device_num): Likewise.
1775 * omp_lib.h.in (omp_get_device_num): Likewise.
1776 * target.c (gomp_load_image_to_device): If additional entry for device
1777 number exists at end of returned entries from 'load_image_func' hook,
1778 copy the assigned device number over to the device variable.
1779 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1780 (omp_get_device_num): New API function, device side.
1781 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1782 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1783 at end of returned 'target_table' entries.
1784 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1785 (omp_get_device_num): New API function, device side.
1786 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1787 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1788 at end of returned 'target_table' entries.
1789 * testsuite/lib/libgomp.exp
1790 (check_effective_target_offload_target_intelmic): New function for
1791 testing for intelmic offloading.
1792 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1793 * testsuite/libgomp.fortran/target10.f90: New test.
1794
1795 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
1796 Ulrich Drepper <drepper@redhat.com>
1797
1798 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1799 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1800
1801 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
1802 Julian Brown <julian@codesourcery.com>
1803 Kwok Cheung Yeung <kcy@codesourcery.com>
1804
1805 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1806 's%oaccdevlow%oaccloops%g'.
1807 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1808 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1809 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1810 Likewise.
1811 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1812 Likewise.
1813 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1814 Likewise.
1815 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1816 Likewise.
1817 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1818 Likewise.
1819 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1820 Likewise.
1821 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1822 Likewise.
1823 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1824 Likewise.
1825 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1826
1827 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
1828
1829 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1830 threader.
1831 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1832
1833 2021-07-27 Ulrich Drepper <drepper@gmail.com>
1834
1835 * env.c (wait_policy, stacksize): New static variables,
1836 move out of handle_omp_display_env.
1837 (omp_display_env): New function. The meat of the old
1838 handle_omp_display_env function.
1839 (handle_omp_display_env): Change to not take parameters
1840 and instead use the global variables. Only perform
1841 parsing, defer to omp_display_env for the implementation.
1842 (initialize_env): Remove local variables wait_policy and
1843 stacksize. Don't pass parameters to handle_omp_display_env.
1844 * fortran.c: Add ialias_redirect for omp_display_env.
1845 (omp_display_env_, omp_display_env_8_): New functions.
1846 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1847 omp_display_env_, and omp_display_env_8_.
1848 * omp.h.in: Declare omp_display_env.
1849 * omp_lib.f90.in: Likewise.
1850 * omp_lib.h.in: Likewise.
1851
1852 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1853 Julian Brown <julian@codesourcery.com>
1854
1855 * target.c (gomp_coalesce_buf_add): Update comment.
1856 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1857 'aq && cbuf'.
1858 (gomp_map_vars_internal): Only 'if (!aq)', do
1859 'gomp_coalesce_buf_add'.
1860 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1861 XFAIL.
1862
1863 2021-07-27 Julian Brown <julian@codesourcery.com>
1864 Thomas Schwinge <thomas@codesourcery.com>
1865
1866 * libgomp.h (gomp_copy_host2dev): Update prototype.
1867 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1868 argument to gomp_copy_host2dev (false).
1869 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1870 (copy_data): Don't free src.
1871 (queue_push_copy): Remove free_src handling.
1872 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1873 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1874 snapshotting.
1875 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1876 queue_push_copy.
1877 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1878 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1879 data when true, and set up deferred freeing of temporary buffer.
1880 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1881 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1882 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1883 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1884 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1885 XFAIL.
1886
1887 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1888 Tom de Vries <tom@codesourcery.com>
1889
1890 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1891 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1892
1893 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1894
1895 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1896 sequencing of 'async' data copying vs. profiling events.
1897 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1898 Likewise.
1899
1900 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1901 Julian Brown <julian@codesourcery.com>
1902
1903 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1904 'async'/'wait' issue.
1905 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1906 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1907 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1908
1909 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1910 Joseph Myers <joseph@codesourcery.com>
1911 Cesar Philippidis <cesar@codesourcery.com>
1912
1913 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1914 file.
1915 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1916 Likewise.
1917 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1918 Likewise.
1919 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1920
1921 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
1922
1923 PR target/101484
1924 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1925 '-Wno-error=array-bounds'.
1926 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1927 * libgomp.h [__AMDGCN__]: Likewise.
1928
1929 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
1930
1931 PR target/101484
1932 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1933 * libgomp.h [__AMDGCN__]: Likewise.
1934
1935 2021-07-13 Jakub Jelinek <jakub@redhat.com>
1936 Florian Weimer <fweimer@redhat.com>
1937
1938 * config/linux/sem.h: Don't include limits.h.
1939 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1940 * config/linux/affinity.c: Include limits.h.
1941
1942 2021-07-01 Jakub Jelinek <jakub@redhat.com>
1943
1944 PR middle-end/94366
1945 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1946
1947 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
1948
1949 PR other/67300
1950 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1951 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1952 avoid disabling other offload targets.
1953 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1954 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1955 * testsuite/libgomp.c/target-44.c: Likewise.
1956
1957 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
1958
1959 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1960 target has shared memory and disable some scalar pointer/allocatable
1961 checks if not as firstprivate does not work.
1962
1963 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
1964
1965 PR testsuite/101114
1966 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1967 Add "target offload_device_nonshared_as" condition for enabling test.
1968
1969 2021-06-24 Jakub Jelinek <jakub@redhat.com>
1970
1971 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1972 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1973 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1974 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1975
1976 2021-06-23 Jakub Jelinek <jakub@redhat.com>
1977
1978 PR middle-end/101167
1979 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1980
1981 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
1982
1983 * hashtab.h (htab_clear): New function with initialization code
1984 factored out from...
1985 (htab_create): ...here, adjust to use htab_clear function.
1986 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1987 special refcount values, add comments.
1988 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1989 (REFCOUNT_LINK): Likewise.
1990 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1991 element siblings.
1992 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1993 sibling maps.
1994 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1995 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1996 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1997 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1998 (struct splay_tree_key_s): Add structelem_refcount and
1999 structelem_refcount_ptr fields into a union with dynamic_refcount.
2000 Add comments.
2001 (gomp_map_vars): Delete declaration.
2002 (gomp_map_vars_async): Likewise.
2003 (gomp_unmap_vars): Likewise.
2004 (gomp_unmap_vars_async): Likewise.
2005 (goacc_map_vars): New declaration.
2006 (goacc_unmap_vars): Likewise.
2007 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2008 (goacc_enter_datum): Likewise.
2009 (goacc_enter_data_internal): Likewise.
2010 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2011 and goacc_unmap_vars.
2012 (GOACC_data_start): Adjust to use goacc_map_vars.
2013 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2014 * target.c (hash_entry_type): New typedef.
2015 (htab_alloc): New function hook for hashtab.h.
2016 (htab_free): Likewise.
2017 (htab_hash): Likewise.
2018 (htab_eq): Likewise.
2019 (hashtab.h): Add file include.
2020 (gomp_increment_refcount): New function.
2021 (gomp_decrement_refcount): Likewise.
2022 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2023 gomp_increment_refcount.
2024 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2025 to gomp_map_vars_existing.
2026 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2027 variable to guard OpenMP specific paths, adjust calls to
2028 gomp_map_vars_existing, add structure element sibling splay_tree_key
2029 sequence creation code, adjust Fortran map case to avoid increment
2030 under OpenMP.
2031 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2032 local refcount_set if caller passed in NULL, adjust call to
2033 gomp_map_vars_internal.
2034 (gomp_map_vars_async): Adjust and rename into...
2035 (goacc_map_vars): ...this new function, adjust call to
2036 gomp_map_vars_internal.
2037 (gomp_remove_splay_tree_key): New function with code factored out from
2038 gomp_remove_var_internal.
2039 (gomp_remove_var_internal): Add code to handle removing multiple
2040 splay_tree_key sequence for structure elements, adjust code to use
2041 gomp_remove_splay_tree_key for splay-tree key removal.
2042 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2043 gomp_decrement_refcount.
2044 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2045 local refcount_set if caller passed in NULL, adjust call to
2046 gomp_unmap_vars_internal.
2047 (gomp_unmap_vars_async): Adjust and rename into...
2048 (goacc_unmap_vars): ...this new function, adjust call to
2049 gomp_unmap_vars_internal.
2050 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2051 gomp_unmap_vars.
2052 (GOMP_target_ext): Likewise.
2053 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2054 (GOMP_target_data): Likewise.
2055 (GOMP_target_data_ext): Likewise.
2056 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2057 (gomp_exit_data): Add refcount_set parameter, adjust to use
2058 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2059 after main loop.
2060 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2061 gomp_map_vars and gomp_exit_data.
2062 (gomp_target_task_fn): Likewise.
2063 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2064 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2065 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2066 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2067 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2068 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2069
2070 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
2071
2072 PR fortran/92568
2073 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2074
2075 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2076 Thomas Schwinge <thomas@codesourcery.com>
2077
2078 * libgomp.map (GOACC_2.0.2): New symbol version.
2079 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2080 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2081
2082 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2083 Andrew Stubbs <ams@codesourcery.com>
2084
2085 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2086 extracted from...
2087 (GOACC_enter_exit_data): ... here.
2088 (GOACC_declare): Use it.
2089
2090 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2091
2092 * oacc-parallel.c (GOACC_declare): Move...
2093 * oacc-mem.c: ... here.
2094 * libgomp_g.h: Adjust.
2095
2096 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2097 Thomas Schwinge <thomas@codesourcery.com>
2098
2099 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2100 handling.
2101
2102 2021-06-10 Jakub Jelinek <jakub@redhat.com>
2103
2104 PR tree-optimization/100981
2105 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2106 dsdotr and dsdoti to 0.
2107
2108 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
2109
2110 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2111 if atomic compare-and-swap is supported on 'int'.
2112
2113 2021-06-09 Richard Biener <rguenther@suse.de>
2114
2115 PR tree-optimization/100981
2116 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2117
2118 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2119
2120 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2121 unconditionally.
2122 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2123 Update.
2124 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2125 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2126
2127 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2128
2129 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2130 '-DACC_MEM_SHARED=0'.
2131 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2132 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2133 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2134 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2135 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2136 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2137 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2138 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2139 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2140 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2141 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2142 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2143 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2144 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2145 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2146 'acc_device_radeon' testing.
2147 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2148 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2149 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2150 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2151 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2152 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2153 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2154 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2155 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2156 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2157 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2158 for non-'openacc_nvidia_accel_selected'.
2159 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2160 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2161 all implement this checking".
2162 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2163 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2164 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2165 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2166 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2167
2168 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2169
2170 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2171 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2172
2173 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2174
2175 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2176 for 'acc_device_radeon'.
2177
2178 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2179
2180 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2181 for non-'acc_device_nvidia'.
2182
2183 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2184
2185 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2186 'acc_device_radeon' testing.
2187 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2188 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2189 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2190
2191 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2192
2193 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2194 require 'openacc_nvidia_accel_selected'. Fix up for
2195 'ACC_DEVICE_TYPE_radeon'.
2196
2197 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2198
2199 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2200 'openacc_nvidia_accel_selected'.
2201 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2202
2203 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2204
2205 * testsuite/lib/libgomp.exp
2206 (check_effective_target_openacc_radeon_accel_selected):
2207 Streamline.
2208
2209 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2210
2211 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2212 PR80547 workaround.
2213
2214 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2215
2216 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2217 <acc_device_nvidia>: Update comment.
2218
2219 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
2220
2221 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2222
2223 2021-05-27 Jakub Jelinek <jakub@redhat.com>
2224
2225 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2226 check_effective_target_openacc_cublas,
2227 check_effective_target_openacc_cudart): New.
2228 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2229 target openacc_cublas.
2230 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2231 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2232 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2233 target openacc_cuda.
2234 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2235 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2236 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2237 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2238 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2239 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2240 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2241 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2242 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2243 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2244 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2245 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2246 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2247 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2248 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2249 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2250 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2251 targets openacc_cublas and openacc_cudart.
2252 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2253 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2254 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2255 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2256 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2257 Require effective target openacc_cudart.
2258 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2259 for effective target openacc_cuda and add && defined USE_CUDA_H to
2260 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2261 effective target.
2262
2263 2021-05-26 Jakub Jelinek <jakub@redhat.com>
2264
2265 PR libgomp/100573
2266 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2267 GOMP_target_end_data, GOMP_target_update_ext,
2268 GOMP_target_enter_exit_data): New dummy entrypoints.
2269 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2270 GOMP_target_end_data, GOMP_target_update_ext,
2271 GOMP_target_enter_exit_data): Likewise.
2272 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2273 OMPFROM, OMPTO): Define.
2274 (main): Remove #pragma omp target teams around all the tests.
2275 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2276 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2277
2278 2021-05-25 Jakub Jelinek <jakub@redhat.com>
2279
2280 PR middle-end/99928
2281 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2282
2283 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
2284
2285 PR fortran/86470
2286 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2287 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2288 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2289
2290 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2291
2292 PR testsuite/90115
2293 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2294 uninteresting/varying diagnostics.
2295
2296 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2297
2298 PR middle-end/90115
2299 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2300 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2301
2302 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2303
2304 PR middle-end/90115
2305 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2306 file.
2307 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2308 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2309 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2310 Likewise.
2311 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2312 Likewise.
2313 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2314 Likewise.
2315 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2316 Likewise.
2317 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2318 Likewise.
2319 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2320 Likewise.
2321 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2322 Likewise.
2323 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2324 Likewise.
2325 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2326 Likewise.
2327 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2328 Likewise.
2329 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2330 Likewise.
2331 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2332 Likewise.
2333 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2334 Likewise.
2335 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2336 Likewise.
2337 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2338 Likewise.
2339 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2340 Likewise.
2341 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2342 Likewise.
2343 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2344 Likewise.
2345 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2346 Likewise.
2347 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2348 Likewise.
2349 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2350 Likewise.
2351 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2352 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2353 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2354 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2355 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2356 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2357 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2358 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2359 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2360 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2361 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2362 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2363 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2364 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2365 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2366 Likewise.
2367 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2368 Likewise.
2369 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2370 Likewise.
2371 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2372 Likewise.
2373 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2374 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2375 Likewise.
2376 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2377 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2378 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2379 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2380 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2381 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2382 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2383 Likewise.
2384 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2385 Likewise.
2386 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2387 Likewise.
2388 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2389 Likewise.
2390 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2391 Likewise.
2392 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2393 Likewise.
2394 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2395 Likewise.
2396 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2397 Likewise.
2398 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2399 Likewise.
2400 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2401 Likewise.
2402 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2403 Likewise.
2404 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2405 Likewise.
2406 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2407 Likewise.
2408 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2409 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2410 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2411 Likewise.
2412 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2413 Likewise.
2414 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2415 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2416 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2417
2418 2021-05-21 Julian Brown <julian@codesourcery.com>
2419 Chung-Lin Tang <cltang@codesourcery.com>
2420 Thomas Schwinge <thomas@codesourcery.com>
2421
2422 PR middle-end/90115
2423 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2424 test.
2425 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2426 Likewise.
2427 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2428 Likewise.
2429
2430 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2431
2432 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2433 for nvptx offloading.
2434
2435 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
2436
2437 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2438
2439 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
2440
2441 PR target/83812
2442 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2443
2444 2021-05-19 Julian Brown <julian@codesourcery.com>
2445
2446 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2447
2448 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2449
2450 * testsuite/lib/libgomp.exp
2451 (check_effective_target_offload_target_nvptx): Don't shadow global
2452 'offload_targets' variable.
2453
2454 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2455
2456 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2457 '-latomic' to nvptx offloading compilation.
2458 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2459
2460 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2461
2462 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2463 offloading compilation.
2464
2465 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
2466
2467 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2468 if new tasks generated.
2469 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2470
2471 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
2472
2473 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2474
2475 2021-05-13 Martin Liska <mliska@suse.cz>
2476
2477 PR testsuite/100569
2478 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2479 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2480 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2481 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2482
2483 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
2484
2485 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2486 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2487
2488 2021-05-11 Jakub Jelinek <jakub@redhat.com>
2489
2490 PR middle-end/100471
2491 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2492 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2493 reduction pointer.
2494 * testsuite/libgomp.c/task-reduction-4.c: New test.
2495
2496 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
2497 Tom de Vries <tdevries@suse.de>
2498
2499 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2500 complex/floating-point || + && reduction with 'omp target'.
2501 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2502
2503 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
2504
2505 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2506 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2507 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2508 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2509
2510 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
2511
2512 PR testsuite/100397
2513 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2514 declaration to scope of non-'depend'-guarded assignment to avoid races.
2515
2516 2021-05-03 Tom de Vries <tdevries@suse.de>
2517
2518 PR target/100321
2519 * testsuite/libgomp.c/target-44.c: New test.
2520
2521 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
2522
2523 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2524
2525 2021-04-29 Tom de Vries <tdevries@suse.de>
2526
2527 * testsuite/libgomp.c/pr81778.c: New test.
2528
2529 2021-04-29 Tom de Vries <tdevries@suse.de>
2530
2531 PR target/100232
2532 * testsuite/libgomp.c/target-43.c: New file.
2533
2534 2021-04-28 Jakub Jelinek <jakub@redhat.com>
2535 Tobias Burnus <tobias@codesourcery.com>
2536
2537 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2538 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2539 can't be dlopened, silently assume it has no devices.
2540 * Makefile.in: Regenerate.
2541 * config.h.in: Regenerate.
2542 * configure: Regenerate.
2543
2544 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
2545
2546 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2547 Use [Ww]arning in dg-bogus as FE diagnostic and default
2548 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2549 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2550 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2551 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2552
2553 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
2554
2555 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2556 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2557 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2558 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2559 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2560
2561 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2562 Nathan Sidwell <nathan@codesourcery.com>
2563 Tom de Vries <vries@codesourcery.com>
2564 Julian Brown <julian@codesourcery.com>
2565 Kwok Cheung Yeung <kcy@codesourcery.com>
2566
2567 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2568 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2569 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2570 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2571 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2572 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2573 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2574 Likewise.
2575 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2576 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2577 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2578 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2579 Likewise.
2580 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2581 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2582 Likewise.
2583 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2584 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2585 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2586 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2587 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2588 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2589 Likewise.
2590 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2591 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2592 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2593 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2594 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2595 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2596 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2597 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2598 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2599 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2600 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2601
2602 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2603
2604 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2605 compile with '-w'.
2606 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2607 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2608 Likewise.
2609 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2610 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2611 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2612 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2613 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2614 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2615 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2616
2617 2021-04-22 Richard Biener <rguenther@suse.de>
2618
2619 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2620 only on nvptx-none.
2621
2622 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2623
2624 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2625 omp_depend_kind instead of defining it as 16.
2626
2627 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2628
2629 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2630 New, based on check_effective_target_offload_target_nvptx.
2631 (check_effective_target_offload_target_nvptx): Call it.
2632 (check_effective_target_offload_target_amdgcn): New.
2633 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2634 Require target offload_target_nvptx || offload_target_amdgcn.
2635 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2636 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2637 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2638
2639 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2640
2641 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2642
2643 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
2644
2645 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2646 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2647 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2648 Likewise.
2649 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2650 Likewise.
2651 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2652
2653 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
2654
2655 PR target/99555
2656 * testsuite/lib/libgomp.exp
2657 (check_effective_target_offload_device_nvptx): New.
2658 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2659 resolved, make sure that we exit quickly, with error status,
2660 XFAILed.
2661 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2662 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2663
2664 2021-04-14 Jakub Jelinek <jakub@redhat.com>
2665
2666 PR testsuite/100071
2667 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2668 cp = omp_alloc with cp, p arguments instead of cq, q and call
2669 c_f_pointer after last cq = omp_alloc with cq, q.
2670
2671 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
2672
2673 PR middle-end/98088
2674 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2675 for loop with GT/GE condition.
2676 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2677
2678 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
2679
2680 PR middle-end/84991
2681 PR middle-end/84992
2682 PR middle-end/90779
2683 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2684
2685 2021-04-09 Jakub Jelinek <jakub@redhat.com>
2686
2687 PR libgomp/99984
2688 * team.c (gomp_thread_start): Call pthread_setspecific for
2689 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2690 has been initialized to avoid false positive warning.
2691
2692 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
2693
2694 PR target/99555
2695 * testsuite/lib/on_device_arch.c: Move to ...
2696 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2697 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2698 #include on_device_arch.h.
2699 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2700 on_device_arch.h instead of using dg-additional-source.
2701 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2702 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2703 on_device_arch.c without relative paths.
2704
2705 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2706
2707 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2708 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2709 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2710 * config.h.in: Regenerate.
2711 * configure: Likewise.
2712
2713 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2714
2715 PR target/99555
2716 * testsuite/lib/on_device_arch.c: New file.
2717 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2718 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2719 skip for nvptx offloading, with error status.
2720 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2721
2722 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2723
2724 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2725 OpenACC 'serial' construct diagnostic for nvptx offloading.
2726
2727 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
2728
2729 PR c++/99509
2730 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2731
2732 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
2733
2734 PR fortran/98858
2735 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2736
2737 2021-03-04 Jakub Jelinek <jakub@redhat.com>
2738
2739 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2740 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2741 checking of -m32 or -mx32 options on the command line.
2742 * config.h.in: Regenerated.
2743 * configure: Regenerated.
2744
2745 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
2746
2747 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2748 support from the target.
2749
2750 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2751 Jakub Jelinek <jakub@redhat.com>
2752
2753 PR libgomp/98738
2754 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2755 (struct gomp_task): Replace detach and completion_sem fields with
2756 union containing completion_sem and detach_team. Add deferred_p
2757 field.
2758 (struct gomp_team): Remove task_detach_queue.
2759 * task.c: Include assert.h.
2760 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2761 Rearrange initialization order of fields.
2762 (task_fulfilled_p): Delete.
2763 (GOMP_task): Use address of task as the event handle. Remove
2764 initialization of detach field. Initialize deferred_p field.
2765 Use automatic local for completion_sem. Initialize detach_team field
2766 for deferred tasks.
2767 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2768 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2769 decrement task_running_count. Move finish_cancelled block out of
2770 else branch. Relocate call to gomp_team_barrier_done.
2771 (GOMP_taskwait): Handle tasks with completion events that have not
2772 been fulfilled.
2773 (GOMP_taskgroup_end): Likewise.
2774 (omp_fulfill_event): Use address of task as event handle. Post to
2775 completion_sem for undeferred tasks. Clear detach_team if task
2776 has not finished. For finished tasks, handle post-execution tasks,
2777 call gomp_team_barrier_wake if necessary, and free task.
2778 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2779 (free_team): Remove free of task_detach_queue.
2780 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2781 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2782 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2783 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2784 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2785 Change data-sharing of detach events on enclosing parallel to private.
2786 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2787 taskwait directive.
2788 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2789 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2790 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2791 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2792 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2793 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2794 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2795 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2796 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2797 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2798 Change data-sharing of detach events on enclosing parallel to private.
2799 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2800 taskwait directive.
2801 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2802 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2803 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2804 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2805 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2806
2807 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
2808
2809 PR fortran/99171
2810 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2811
2812 2021-02-17 Julian Brown <julian@codesourcery.com>
2813
2814 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2815 expected errors.
2816
2817 2021-02-17 Julian Brown <julian@codesourcery.com>
2818
2819 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2820 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2821
2822 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2823
2824 * config/linux/x86/futex.h (__futex_wait):
2825 Revert output type back to long.
2826 (__futex_wake): Ditto.
2827 (futex_wait): Update for revert.
2828 (futex_wake): Ditto.
2829
2830 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2831
2832 * config/linux/x86/futex.h (__futex_wait): New static inline
2833 wrapper function. Correct output type to int and
2834 timeout type to void *.
2835 (__futex_wake): New static inline wrapper function.
2836 Correct output type to int.
2837 (futex_wait): Use __futex_wait.
2838 (futex_wake): Use __futex_wake.
2839
2840 2021-02-10 Julian Brown <julian@codesourcery.com>
2841
2842 PR fortran/98979
2843 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2844 errors.
2845
2846 2021-02-04 Julian Brown <julian@codesourcery.com>
2847
2848 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2849
2850 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
2851
2852 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2853 EF_AMDGPU_MACH_AMDGCN_GFX908.
2854 (gcn_gfx908_s): New constant string.
2855 (isa_hsa_name): Add gfx908.
2856 (isa_code): Add gfx908.
2857
2858 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2859
2860 * libgomp.texi (omp_fulfill_event): New entry.
2861
2862 2021-01-20 Jakub Jelinek <jakub@redhat.com>
2863
2864 * task.c (GOMP_task): Rename priority argument to priority_arg,
2865 add priority automatic variable and modify that variable. Instead of
2866 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2867 check flags for that bit.
2868
2869 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
2870
2871 PR fortran/98476
2872 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2873
2874 2021-01-18 Andreas Schwab <schwab@suse.de>
2875
2876 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2877
2878 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
2879
2880 * config/rtems/sem.h (gomp_sem_getcount): New function.
2881
2882 2021-01-18 Jakub Jelinek <jakub@redhat.com>
2883
2884 * config/linux/sem.h (gomp_sem_getcount): New function.
2885 * config/posix/sem.h (gomp_sem_getcount): New function.
2886 * config/posix/sem.c (gomp_sem_getcount): New function.
2887 * config/accel/sem.h (gomp_sem_getcount): New function.
2888 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2889 (omp_fulfill_event): Likewise.
2890
2891 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
2892
2893 * fortran.c (omp_fulfill_event_): New.
2894 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2895 (struct gomp_team): Add task_detach_queue and task_detach_count
2896 fields.
2897 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2898 * libgomp_g.h (GOMP_task): Add extra argument.
2899 * omp.h.in (enum omp_event_handle_t): New.
2900 (omp_fulfill_event): New.
2901 * omp_lib.f90.in (omp_event_handle_kind): New.
2902 (omp_fulfill_event): New.
2903 * omp_lib.h.in (omp_event_handle_kind): New.
2904 (omp_fulfill_event): Declare.
2905 * priority_queue.c (priority_tree_find): New.
2906 (priority_list_find): New.
2907 (priority_queue_find): New.
2908 * priority_queue.h (priority_queue_predicate): New.
2909 (priority_queue_find): New.
2910 * task.c (gomp_init_task): Initialize detach field.
2911 (task_fulfilled_p): New.
2912 (GOMP_task): Add detach argument. Ignore detach argument if
2913 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2914 field. Copy address of completion_sem into detach argument and
2915 into the start of the data record. Wait for detach event if task
2916 not deferred.
2917 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2918 Remove completed tasks and requeue dependent tasks.
2919 (omp_fulfill_event): New.
2920 * team.c (gomp_new_team): Initialize task_detach_queue and
2921 task_detach_count fields.
2922 (free_team): Free task_detach_queue field.
2923 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2924 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2925 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2926 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2927 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2928 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2929 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2930 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2931 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2932 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2933 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2934 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2935
2936 2021-01-15 Jakub Jelinek <jakub@redhat.com>
2937
2938 PR target/70454
2939 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2940 be added through preprocessor check on
2941 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2942
2943 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
2944
2945 PR libgomp/65099
2946 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2947 configurations.
2948 * configure: Regenerate.
2949 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2950 check.
2951
2952 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2953
2954 * configure: Re-generate.
2955
2956 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2957
2958 * configure: Re-generate.
2959
2960 2021-01-05 Julian Brown <julian@codesourcery.com>
2961
2962 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2963 (struct ptx_device): Add omp_stacks struct.
2964 (nvptx_open_device): Initialise cached-stacks housekeeping info.
2965 (nvptx_close_device): Free cached stacks block and mutex.
2966 (nvptx_stacks_free): New function.
2967 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2968 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2969 (nvptx_stacks_alloc): Rename to...
2970 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
2971 size or smaller is required.
2972 (nvptx_stacks_free): Remove.
2973 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2974 during kernel execution.
2975
2976 2021-01-01 Jakub Jelinek <jakub@redhat.com>
2977
2978 * libgomp.texi: Bump @copying's copyright year.
2979
2980 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
2981
2982 * libgomp.texi (Top): Avoid bad "up" link.
2983
2984 2020-12-18 Jakub Jelinek <jakub@redhat.com>
2985
2986 * testsuite/libgomp.c/task-6.c: New test.
2987
2988 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
2989
2990 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2991 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2992
2993 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
2994
2995 * testsuite/libgomp.fortran/scan-1.f90: New test.
2996
2997 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2998
2999 PR target/97865
3000 * configure: Regenerate.
3001
3002 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
3003
3004 * configure: Regenerate.
3005
3006 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3007
3008 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3009 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3010
3011 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
3012
3013 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3014 expected results.
3015
3016 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
3017
3018 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3019 (reserved): Delete unused define.
3020
3021 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
3022
3023 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3024 Tcl 8.5-specific behavior.
3025 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3026
3027 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
3028
3029 * env.c (gomp_global_icv): Remove nest_var field. Add
3030 max_active_levels_var field.
3031 (gomp_max_active_levels_var): Remove.
3032 (parse_boolean): Return true on success.
3033 (handle_omp_display_env): Express OMP_NESTED in terms of
3034 max_active_levels_var. Change format specifier for
3035 max_active_levels_var.
3036 (initialize_env): Set max_active_levels_var from
3037 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3038 OMP_PROC_BIND.
3039 * icv.c (omp_set_nested): Express in terms of
3040 max_active_levels_var.
3041 (omp_get_nested): Likewise.
3042 (omp_set_max_active_levels): Use max_active_levels_var field instead
3043 of gomp_max_active_levels_var.
3044 (omp_get_max_active_levels): Likewise.
3045 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3046 max_active_levels_var field.
3047 (gomp_supported_active_levels): Set to UCHAR_MAX.
3048 (gomp_max_active_levels_var): Delete.
3049 * libgomp.texi (omp_get_nested): Update documentation.
3050 (omp_set_nested): Likewise.
3051 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3052 (OMP_NESTED): Likewise.
3053 (OMP_NUM_THREADS): Likewise.
3054 (OMP_PROC_BIND): Likewise.
3055 * parallel.c (gomp_resolve_num_threads): Replace reference
3056 to nest_var with max_active_levels_var. Use max_active_levels_var
3057 field instead of gomp_max_active_levels_var.
3058
3059 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
3060
3061 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3062 nvptx_usleep; use also for device={arch(gcn)}.
3063
3064 2020-11-14 Jakub Jelinek <jakub@redhat.com>
3065
3066 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3067 (foo): Add tests for non-VLA private and firstprivate clauses on
3068 omp task.
3069 (bar): Likewise. Remove taking of address from private/firstprivate
3070 variables.
3071 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3072 (foo): Add p, q, px and s arguments. Add tests for array reductions
3073 and for non-VLA private and firstprivate clauses on omp task.
3074 (bar): Removed.
3075 (main): Adjust foo caller. Don't call bar.
3076
3077 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3078 Thomas Schwinge <thomas@codesourcery.com>
3079
3080 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3081 New.
3082 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3083 Likewise.
3084 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3085 Likewise.
3086 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3087 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3088
3089 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3090 Thomas Schwinge <thomas@codesourcery.com>
3091
3092 PR fortran/94358
3093 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3094
3095 2020-11-13 Jakub Jelinek <jakub@redhat.com>
3096
3097 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3098 for array reductions.
3099 (main): Adjust foo callers.
3100
3101 2020-11-12 Jakub Jelinek <jakub@redhat.com>
3102
3103 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3104 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3105 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3106 * allocator.c (omp_aligned_alloc): New for now static function,
3107 add alignment argument and handle it.
3108 (omp_alloc): Reimplement using omp_aligned_alloc.
3109 (GOMP_alloc, GOMP_free): New functions.
3110 (omp_free): Add ialias.
3111 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3112 * testsuite/libgomp.c++/allocate-1.C: New test.
3113
3114 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3115
3116 PR fortran/97782
3117 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3118
3119 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3120
3121 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3122 usable.
3123 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3124 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3125 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3126 (goacc_enter_data_internal): Likewise.
3127 * target.c (gomp_map_vars_internal):
3128 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3129 of gomp_attach_pointer for OpenMP cases.
3130 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3131 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3132 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3133
3134 2020-11-05 Ulrich Drepper <drepper@redhat.com>
3135 Kwok Cheung Yeung <kcy@codesourcery.com>
3136
3137 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3138 * Makefile.in: Regenerate.
3139 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3140 pragmas to ignore -Wdeprecated-declarations warnings.
3141 * icv.c: Likewise.
3142 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3143 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3144 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3145 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3146 deprecated.
3147 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3148 to test options.
3149 * testsuite/libgomp.c/affinity-1.c: Likewise.
3150 * testsuite/libgomp.c/affinity-2.c: Likewise.
3151 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3152 * testsuite/libgomp.c/lib-1.c: Likewise.
3153 * testsuite/libgomp.c/nested-1.c: Likewise.
3154 * testsuite/libgomp.c/nested-2.c: Likewise.
3155 * testsuite/libgomp.c/nested-3.c: Likewise.
3156 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3157 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3158 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3159 * testsuite/libgomp.c/pr35549.c: Likewise.
3160 * testsuite/libgomp.c/pr42942.c: Likewise.
3161 * testsuite/libgomp.c/pr61200.c: Likewise.
3162 * testsuite/libgomp.c/sort-1.c: Likewise.
3163 * testsuite/libgomp.c/target-5.c: Likewise.
3164 * testsuite/libgomp.c/target-6.c: Likewise.
3165 * testsuite/libgomp.c/teams-1.c: Likewise.
3166 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3167 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3168 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3169 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3170 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3171 * testsuite/libgomp.fortran/lib2.f: Likewise.
3172 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3173 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3174
3175 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3176
3177 PR target/85486
3178 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3179 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3180 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3181
3182 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3183
3184 PR testsuite/80219
3185 PR testsuite/85303
3186 * testsuite/lib/libgomp.exp (libgomp_init): Set
3187 'gcc_warning_prefix', 'gcc_error_prefix'.
3188
3189 2020-10-30 Jakub Jelinek <jakub@redhat.com>
3190
3191 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3192 even in field_tgt_clear initializer.
3193
3194 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3195
3196 * testsuite/libgomp.c/target-42.c: New test.
3197
3198 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3199 Tom de Vries <tdevries@suse.de>
3200
3201 PR testsuite/81690
3202 * testsuite/libgomp.c/usleep.h: New file.
3203 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3204 (main): Use tgt_usleep instead of usleep.
3205 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3206 (main): Use tgt_usleep instead of usleep.
3207
3208 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3209
3210 PR lto/96680
3211 * testsuite/libgomp.c/declare-variant-1.c: New test.
3212
3213 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3214
3215 * testsuite/libgomp.c/target-41.c: New test.
3216
3217 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3218
3219 * icv.c (omp_get_initial_device): Remove including corresponding
3220 ialias.
3221 * icv-device.c (omp_get_initial_device): New function. Return
3222 gomp_get_num_devices (). Add ialias.
3223 * target.c (resolve_device): Don't fail with
3224 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3225 gomp_get_num_devices ().
3226 (omp_target_alloc, omp_target_free, omp_target_is_present,
3227 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3228 omp_target_disassociate_ptr, omp_pause_resource): Use
3229 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3230 first use in the functions, in uses dominated by the
3231 gomp_get_num_devices call use num_devices_openmp instead.
3232 * libgomp.texi (omp_get_initial_device): Document.
3233 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3234 Add ialias.
3235 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3236 * testsuite/libgomp.c/target-40.c: New test.
3237
3238 2020-10-21 Jakub Jelinek <jakub@redhat.com>
3239
3240 * env.c (parse_target_offload): Change new_offload var type to int,
3241 preinitialize to -1, remove found var and test new_offload != -1
3242 instead of found.
3243
3244 2020-10-20 Jakub Jelinek <jakub@redhat.com>
3245
3246 * target.c (gomp_target_init): Inside of the function, use automatic
3247 variables corresponding to num_devices, num_devices_openmp and devices
3248 global variables and update the globals only at the end of the
3249 function.
3250
3251 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3252
3253 * env.c (gomp_target_offload_var): New.
3254 (parse_target_offload): New.
3255 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3256 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3257 * libgomp.h (gomp_target_offload_t): New.
3258 (gomp_target_offload_var): New.
3259 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3260 * target.c (resolve_device): Generate error if device not found and
3261 offloading is mandatory.
3262 (gomp_target_fallback): Generate error if offloading is mandatory.
3263 (GOMP_target): Add argument in call to gomp_target_fallback.
3264 (GOMP_target_ext): Likewise.
3265 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3266 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3267 (GOMP_target_data_ext): Likewise.
3268 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3269 (gomp_target_init): Return early if offloading is disabled.
3270
3271 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3272
3273 * libgomp.texi (omp_get_max_active_levels): Modify description.
3274 (omp_get_supported_active_levels): Make descriptions consistent.
3275
3276 2020-10-14 Jakub Jelinek <jakub@redhat.com>
3277
3278 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3279
3280 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3281
3282 * env.c (gomp_max_active_levels_var): Initialize to
3283 gomp_supported_active_levels.
3284 (initialize_env): Limit gomp_max_active_levels_var to be at most
3285 equal to gomp_supported_active_levels.
3286 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3287 (omp_get_supported_active_levels_): New.
3288 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3289 to at most equal to gomp_supported_active_levels.
3290 (omp_get_supported_active_levels): New.
3291 * libgomp.h (gomp_supported_active_levels): New.
3292 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3293 omp_get_supported_active_levels_.
3294 * libgomp.texi (omp_get_supported_active_levels): New.
3295 (omp_set_max_active_levels): Update. Add reference to
3296 omp_get_supported_active_levels.
3297 * omp.h.in (omp_get_supported_active_levels): New.
3298 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3299 * omp_lib.h.in (omp_get_supported_active_levels): New.
3300 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3301 against omp_get_supported_active_levels.
3302 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3303
3304 2020-10-11 Clement Chigot <clement.chigot@atos.net>
3305
3306 * config/t-aix: Delete and recreate libgomp before creating
3307 FAT library.
3308
3309 2020-10-08 Tom de Vries <tdevries@suse.de>
3310
3311 PR libgomp/81802
3312 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3313 dimensions.
3314
3315 2020-10-06 Tom de Vries <tdevries@suse.de>
3316
3317 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3318
3319 2020-10-06 Tom de Vries <tdevries@suse.de>
3320
3321 PR middle-end/90861
3322 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3323
3324 2020-10-05 Tom de Vries <tdevries@suse.de>
3325
3326 PR fortran/95654
3327 * testsuite/libgomp.fortran/pr95654.f90: New test.
3328
3329 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
3330
3331 * Makefile.in: Regenerate with automake 1.15.1.
3332 * aclocal.m4: Likewise.
3333 * configure: Likewise.
3334 * testsuite/Makefile.in: Likewise.
3335
3336 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
3337
3338 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3339 and amdgcn targets.
3340
3341 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
3342
3343 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3344
3345 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
3346
3347 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3348 total number of threads is one.
3349 (gomp_team_barrier_wake): Likewise.
3350 (gomp_team_barrier_wait_end): Likewise.
3351 (gomp_team_barrier_wait_cancel_end): Likewise.
3352 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3353 (gomp_team_barrier_wake): Likewise.
3354 (gomp_team_barrier_wait_end): Likewise.
3355 (gomp_team_barrier_wait_cancel_end): Likewise.
3356 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3357
3358 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
3359
3360 PR middle-end/96390
3361 * testsuite/libgomp.c++/pr96390.C: New test.
3362 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3363
3364 2020-09-27 Clement Chigot <clement.chigot@atos.net>
3365
3366 * config/t-aix: Use $(AR) without -X32_64.
3367
3368 2020-09-25 Jakub Jelinek <jakub@redhat.com>
3369
3370 * testsuite/libgomp.c/loop-25.c: New test.
3371
3372 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
3373
3374 PR fortran/95654
3375 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3376
3377 2020-09-22 Tom de Vries <tdevries@suse.de>
3378
3379 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3380 fails.
3381
3382 2020-09-16 Nathan Sidwell <nathan@acm.org>
3383
3384 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3385
3386 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
3387
3388 PR fortran/96668
3389 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3390
3391 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
3392
3393 PR fortran/96668
3394 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3395 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3396 (gomp_map_vars_existing): Update call to it.
3397 (gomp_map_fields_existing): Likewise
3398 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3399 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3400 remapped.
3401 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3402 GOMP_MAP_POINTER.
3403 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3404 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3405
3406 2020-09-14 Tom de Vries <tdevries@suse.de>
3407
3408 * config/nvptx/atomic.c: New file. Add
3409 __sync_val_compare_and_swap_16.
3410 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3411 target offload_target_nvptx.
3412
3413 2020-09-08 Julian Brown <julian@codesourcery.com>
3414
3415 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3416 iteration-ordering assumptions.
3417
3418 2020-09-08 Julian Brown <julian@codesourcery.com>
3419
3420 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3421 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3422
3423 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
3424
3425 * plugin/plugin-nvptx.c (nvptx_free):
3426 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3427 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3428 comments.
3429
3430 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
3431
3432 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3433
3434 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3435
3436 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3437
3438 2020-08-13 Jakub Jelinek <jakub@redhat.com>
3439
3440 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3441 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3442 * testsuite/libgomp.c/loop-24.c: New test.
3443
3444 2020-08-08 Jakub Jelinek <jakub@redhat.com>
3445 Tobias Burnus <tobias@codesourcery.com>
3446
3447 PR fortran/93553
3448 * testsuite/libgomp.fortran/pr93553.f90: New test.
3449
3450 2020-08-05 Jakub Jelinek <jakub@redhat.com>
3451
3452 * testsuite/libgomp.c/loop-22.c: New test.
3453 * testsuite/libgomp.c/loop-23.c: New test.
3454
3455 2020-08-05 Jakub Jelinek <jakub@redhat.com>
3456
3457 PR middle-end/96459
3458 * testsuite/libgomp.c/teams-3.c: New test.
3459 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3460 if not defined yet.
3461 (N(test)): Use it before all N(f*) calls.
3462 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3463 (main): Don't call all test_* functions from within
3464 #pragma omp teams reduction(|:err), call them directly.
3465
3466 2020-08-04 Tom de Vries <tdevries@suse.de>
3467
3468 PR target/96428
3469 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3470 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3471
3472 2020-08-03 Julian Brown <julian@codesourcery.com>
3473 Thomas Schwinge <thomas@codesourcery.com>
3474
3475 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3476 shared-memory devices. Extend with further checking.
3477
3478 2020-08-03 Martin Jambor <mjambor@suse.cz>
3479
3480 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3481 * aclocal.m4: Regenerated.
3482 * Makefile.in: Regenerated.
3483 * config.h.in: Regenerated.
3484 * configure: Regenerated.
3485 * plugin/configfrag.ac: Likewise.
3486 * plugin/hsa_ext_finalize.h: Removed.
3487 * plugin/plugin-hsa.c: Likewise.
3488 * testsuite/Makefile.in: Regenerated.
3489 * testsuite/lib/libgomp.exp
3490 (offload_target_to_openacc_device_type): Remove hsa case.
3491 (check_effective_target_hsa_offloading_selected_nocache): Removed
3492 (check_effective_target_hsa_offloading_selected): Likewise.
3493 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3494 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3495 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3496 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3497 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3498 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3499 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3500 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3501 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3502 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3503 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3504 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3505 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3506 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3507 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3508 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3509 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3510 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3511 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3512 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3513 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3514 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3515 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3516 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3517 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3518
3519 2020-07-27 Julian Brown <julian@codesourcery.com>
3520 Thomas Schwinge <thomas@codesourcery.com>
3521
3522 * libgomp.h (struct target_var_desc): Rename do_detach field to
3523 is_attach.
3524 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3525 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3526 (goacc_enter_data_internal): Don't affect reference counts
3527 for attach mappings.
3528 (goacc_exit_data_internal): Don't affect reference counts for detach
3529 mappings.
3530 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3531 attach mappings.
3532 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3533 mark attach mappings.
3534 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3535 reference count for attach mappings.
3536 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3537 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3538 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3539 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3540 test as shouldfail.
3541 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3542 gracefully in no-finalize mode.
3543 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3544
3545 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
3546
3547 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3548 use.
3549 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3550 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3551
3552 2020-07-23 Julian Brown <julian@codesourcery.com>
3553 Thomas Schwinge <thomas@codesourcery.com>
3554
3555 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3556 finalization for detach operation.
3557 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3558 New test.
3559
3560 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
3561
3562 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3563 * libgomp_f.h.in (omp_check_defines): Check whether
3564 sizeof of determined Fortran kind and C typedef match.
3565 * omp_lib.f90.in: Add omp_depened_kind.
3566 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3567 * configure: Regenerate.
3568 * Makefile.in: Regenerate.
3569 * testsuite/Makefile.in: Regenerate.
3570
3571 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3572
3573 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3574 gcc/testsuite/c-c++-common/gomp/.
3575 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3576 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3577 from gcc/testsuite/gfortran.dg/gomp/.
3578 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3579
3580 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3581
3582 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3583 * omp_lib.h.in: Likewise.
3584
3585 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
3586
3587 PR target/95620
3588 * testsuite/libgomp.c/pr95620.c: New test.
3589
3590 2020-07-16 Julian Brown <julian@codesourcery.com>
3591 Thomas Schwinge <thomas@codesourcery.com>
3592
3593 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3594 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3595
3596 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3597
3598 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3599 avoid conversion on 32bit systems from 32bit to 64bit due
3600 to -fdefault-integer-8.
3601
3602 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3603
3604 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3605 variables; add character(kind=4) tests; update TODO comment.
3606
3607 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3608
3609 * allocator.c: Add ialias for omp_init_allocator and
3610 omp_destroy_allocator.
3611 * configure.ac: Set INTPTR_T_KIND.
3612 * configure: Regenerate.
3613 * Makefile.in: Regenerate.
3614 * testsuite/Makefile.in: Regenerate.
3615 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3616 omp_set_default_allocator_, omp_get_default_allocator_): New
3617 functions and ialias_redirect.
3618 * icv.c: Add ialias for omp_set_default_allocator and
3619 omp_get_default_allocator.
3620 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3621 omp_destroy_allocator_, omp_set_default_allocator_ and
3622 omp_get_default_allocator_.
3623 * omp_lib.f90.in: Add allocator traits parameters, declare
3624 allocator routines and add related kind parameters.
3625 * omp_lib.h.in: Likewise.
3626 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3627 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3628 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3629 * testsuite/libgomp.fortran/alloc-3.F: New test.
3630 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3631 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3632
3633 2020-07-14 Tom de Vries <tom@codesourcery.com>
3634 Cesar Philippidis <cesar@codesourcery.com>
3635 Thomas Schwinge <thomas@codesourcery.com>
3636 Kwok Cheung Yeung <kcy@codesourcery.com>
3637
3638 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3639 New variable.
3640 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3641 acc_init_state to initializing at the start, and to initialized at the
3642 end.
3643 (self_initializing_p): New function.
3644 (acc_get_device_type): Return acc_device_none if called by thread that
3645 is currently executing acc_init_1.
3646 * libgomp.texi (acc_get_device_type): Update documentation.
3647 (Implementation Status and Implementation-Defined Behavior): Likewise.
3648 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3649
3650 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
3651
3652 * config/t-aix: Set BITS from compiler cpp macro.
3653
3654 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
3655
3656 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3657
3658 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
3659
3660 PR fortran/67311
3661 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3662
3663 2020-07-14 Jakub Jelinek <jakub@redhat.com>
3664
3665 * testsuite/libgomp.c/loop-21.c: New test.
3666
3667 2020-07-13 Julian Brown <julian@codesourcery.com>
3668 Thomas Schwinge <thomas@codesourcery.com>
3669
3670 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3671
3672 2020-07-10 Julian Brown <julian@codesourcery.com>
3673 Thomas Schwinge <thomas@codesourcery.com>
3674
3675 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3676 dynamic_refcount.
3677 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3678 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3679 dynamic_refcount.
3680 (acc_unmap_data): Update comment.
3681 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3682 dynamic_refcount semantics.
3683 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3684 Adjust for dynamic_refcount semantics.
3685 (goacc_enter_data_internal): Implement "present" case of dynamic
3686 memory-map handling here. Update "non-present" case for
3687 dynamic_refcount semantics.
3688 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3689 * target.c (gomp_map_vars_internal): Remove
3690 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3691 handling.
3692 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3693 (gomp_load_image_to_device): Substitute dynamic_refcount for
3694 virtual_refcount.
3695 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3696 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3697 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3698 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3699 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3700 trace output.
3701 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3702 trace output.
3703 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3704 test.
3705 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3706 Remove stale comment.
3707 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3708 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3709 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3710 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3711 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3712 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3713
3714 2020-07-10 Julian Brown <julian@codesourcery.com>
3715 Thomas Schwinge <thomas@codesourcery.com>
3716
3717 * oacc-mem.c (goacc_map_var_existing): New function.
3718 (goacc_enter_datum): Use above function.
3719 (goacc_exit_datum_1): New function.
3720 (goacc_exit_datum): Use above function.
3721
3722 2020-07-09 Julian Brown <julian@codesourcery.com>
3723 Thomas Schwinge <thomas@codesourcery.com>
3724
3725 PR middle-end/95270
3726 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3727 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3728
3729 2020-07-09 Julian Brown <julian@codesourcery.com>
3730
3731 * oacc-mem.c (find_group_last): Group data-movement clauses
3732 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3733 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3734
3735 2020-07-09 Jakub Jelinek <jakub@redhat.com>
3736
3737 * testsuite/libgomp.c/loop-19.c: New test.
3738 * testsuite/libgomp.c/loop-20.c: New test.
3739
3740 2020-07-09 Jakub Jelinek <jakub@redhat.com>
3741
3742 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3743 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3744 it. Remove __omp_alloctrait_value_max__.
3745 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3746 omp_atk_alignment and omp_atk_pool_size.
3747
3748 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3749
3750 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3751 behavior for 'GOMP_MAP_FORCE_FROM'.
3752 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3753
3754 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3755
3756 * oacc-mem.c (goacc_exit_data_internal): Remove
3757 'GOMP_MAP_ALWAYS_FROM' handling.
3758
3759 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3760
3761 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3762 'scan-assembler' with 'scan-offload-rtl'.
3763 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3764 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3765 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3766 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3767
3768 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3769
3770 * target.c (gomp_map_vars_existing): Assert 'kind !=
3771 GOMP_MAP_ATTACH'.
3772 (gomp_map_vars_internal): Clean up.
3773
3774 2020-06-27 Jakub Jelinek <jakub@redhat.com>
3775
3776 * testsuite/libgomp.c/loop-17.c: New test.
3777 * testsuite/libgomp.c/loop-18.c: New test.
3778
3779 2020-06-26 Marek Polacek <polacek@redhat.com>
3780
3781 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3782
3783 2020-06-23 Alexandre Oliva <oliva@adacore.com>
3784
3785 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3786 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3787
3788 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
3789
3790 * Makefile.am: Use -include.
3791 * Makefile.in: Regenerate.
3792
3793 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
3794
3795 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3796 * Makefile.in: Regenerate
3797 * configure.ac (tmake_file): Substitute.
3798 * configure: Regenerate.
3799 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3800 * config/t-aix: New file.
3801
3802 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
3803
3804 PR lto/94848
3805 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3806 'dg-do run'.
3807
3808 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
3809
3810 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3811 variant for HSA_RUNTIME_LIB name.
3812 (find_executable_symbol_1): Delete.
3813 (find_executable_symbol): Delete.
3814 (init_kernel_properties): Add ".kd" suffix to symbol names.
3815 (find_load_offset): Delete.
3816 (create_and_finalize_hsa_program): Remove relocation handling.
3817
3818 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
3819
3820 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3821
3822 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
3823
3824 PR lto/94848
3825 PR middle-end/95551
3826 * testsuite/libgomp.fortran/target-var.f90: New test.
3827
3828 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3829 Julian Brown <julian@codesourcery.com>
3830
3831 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3832 special handling.
3833
3834 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3835 Julian Brown <julian@codesourcery.com>
3836
3837 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3838 Simplify.
3839
3840 2020-06-05 Julian Brown <julian@codesourcery.com>
3841
3842 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3843 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3844
3845 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3846
3847 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3848 Evaluate 'copyfrom' individually for each entry.
3849 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3850
3851 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3852
3853 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3854 Evaluate 'finalize' individually for each entry.
3855 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3856 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3857 file.
3858
3859 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3860
3861 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3862 usage.
3863 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3864
3865 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3866 Julian Brown <julian@codesourcery.com>
3867
3868 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3869 checking.
3870 (acc_unmap_data, goacc_exit_data_internal): Restore
3871 'is_tgt_unmapped' checking.
3872 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3873 file.
3874 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3875 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3876 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3877 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3878 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3879 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3880
3881 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3882 Julian Brown <julian@codesourcery.com>
3883
3884 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3885
3886 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3887
3888 PR libgomp/92854
3889 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3890
3891 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3892
3893 PR libgomp/92854
3894 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3895 more.
3896
3897 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3898 Julian Brown <julian@codesourcery.com>
3899
3900 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3901 'gomp_map_vars'.
3902 (acc_map_data): Clean up accordingly.
3903
3904 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3905
3906 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3907 of over-eager 'finalize' clause.
3908 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3909 file.
3910 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3911 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3912 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3913 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3914 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3915 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3916 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3917 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3918
3919 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3920
3921 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3922
3923 2020-06-04 Julian Brown <julian@codesourcery.com>
3924
3925 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3926 error path.
3927 (goacc_detach_internal): Likewise.
3928
3929 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3930
3931 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3932 the checkpoint.
3933 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3934 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3935 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3936 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3937 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3938
3939 2020-06-02 Jakub Jelinek <jakub@redhat.com>
3940
3941 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3942 defined.
3943
3944 2020-05-30 Jakub Jelinek <jakub@redhat.com>
3945
3946 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3947
3948 2020-05-30 Jakub Jelinek <jakub@redhat.com>
3949
3950 * allocator.c (omp_alloc): For size == 0, return NULL early.
3951
3952 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
3953
3954 PR bootstrap/95413
3955 * configure: Regenerated.
3956
3957 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
3958
3959 PR libfortran/95191
3960 * testsuite/libgomp.fortran/async_io_9.f90: New test.
3961
3962 2020-05-19 Jakub Jelinek <jakub@redhat.com>
3963
3964 * omp.h.in (omp_uintptr_t): New typedef.
3965 (__GOMP_UINTPTR_T_ENUM): Define.
3966 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3967 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3968 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3969 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3970 omp_get_default_allocator, omp_alloc, omp_free): Declare.
3971 * libgomp.h (struct gomp_team_state): Add def_allocator field.
3972 (gomp_def_allocator): Declare.
3973 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3974 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3975 omp_alloc and omp_free.
3976 * team.c (gomp_team_start): Copy over ts.def_allocator.
3977 * env.c (gomp_def_allocator): New variable.
3978 (parse_wait_policy): Adjust function comment.
3979 (parse_allocator): New function.
3980 (handle_omp_display_env): Print OMP_ALLOCATOR.
3981 (initialize_env): Call parse_allocator.
3982 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3983 * allocator.c: New file.
3984 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3985 functions.
3986 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3987 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3988 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3989 * Makefile.in: Regenerated.
3990
3991 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
3992
3993 PR bootstrap/95147
3994 * configure: Regenerated.
3995
3996 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
3997
3998 PR libfortran/95119
3999 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4000
4001 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4002
4003 * configure: Regenerated.
4004
4005 2020-05-14 Jakub Jelinek <jakub@redhat.com>
4006
4007 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4008
4009 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
4010
4011 PR fortran/94690
4012 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4013 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4014 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4015 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4016 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4017 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4018 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4019
4020 2020-05-12 Jakub Jelinek <jakub@redhat.com>
4021
4022 * testsuite/libgomp.c/target-39.c: New test.
4023
4024 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
4025
4026 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4027 * openacc.f90 (acc_device_current): Likewise.
4028 * openacc.h (acc_device_current): Likewise.
4029 * openacc_lib.h (acc_device_current): Likewise.
4030
4031 PR target/94282
4032 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4033 'dg-allow-blank-lines-in-output'.
4034
4035 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4036 * testsuite/lib/libgomp.exp
4037 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4038 'radeon'. Adjust all users.
4039 (check_effective_target_openacc_amdgcn_accel_present): Rename
4040 to...
4041 (check_effective_target_openacc_radeon_accel_present): ... this.
4042 Adjust all users.
4043 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4044 (check_effective_target_openacc_radeon_accel_selected): ... this.
4045 Adjust all users.
4046
4047 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4048 'dg-do run'.
4049
4050 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
4051
4052 PR other/94629
4053
4054 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4055 hsa_iterate_agents.
4056 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4057 hsa_agent_iterate_regions.
4058
4059 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4060
4061 PR middle-end/94635
4062 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4063 run'.
4064
4065 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
4066
4067 PR middle-end/94120
4068 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4069 test case.
4070
4071 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
4072
4073 PR middle-end/94635
4074 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4075
4076 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4077
4078 PR libgomp/92843
4079 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4080 Rename to...
4081 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4082 ... this.
4083 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4084 Rename to...
4085 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4086 ... this.
4087 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4088 Rename to...
4089 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4090 ... this.
4091 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4092 Rename to...
4093 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4094 ... this.
4095 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4096 Rename to...
4097 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4098 ... this.
4099 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4100 Rename to...
4101 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4102 ... this.
4103 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4104 Rename to...
4105 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4106 ... this.
4107 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4108 Rename to...
4109 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4110 ... this.
4111 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4112 Rename to...
4113 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4114 ... this.
4115 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4116 Rename to...
4117 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4118 ... this.
4119 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4120 Rename to...
4121 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4122 ... this.
4123 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4124 Rename to...
4125 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4126 ... this.
4127 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4128 Rename to...
4129 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4130 ... this.
4131 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4132 Rename to...
4133 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4134 ... this.
4135 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4136 Rename to...
4137 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4138 ... this.
4139 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4140 Rename to...
4141 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4142 ... this.
4143
4144 2020-04-10 Julian Brown <julian@codesourcery.com>
4145 Thomas Schwinge <thomas@codesourcery.com>
4146
4147 PR libgomp/92843
4148 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4149 New file.
4150 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4151 Likewise.
4152 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4153 Likewise.
4154 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4155 Likewise.
4156 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4157 Likewise.
4158 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4159 Likewise.
4160 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4161 Likewise.
4162 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4163 Likewise.
4164 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4165 Likewise.
4166 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4167 Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4169 Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4171 Likewise.
4172 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4173 Likewise.
4174 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4175 Likewise.
4176 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4177 Likewise.
4178 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4179 Likewise.
4180
4181 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4182
4183 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4184 run'.
4185
4186 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
4187
4188 PR middle-end/94120
4189 * libgomp.oacc-c++/declare-pr94120.C: New.
4190
4191 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
4192
4193 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4194 files.
4195 * configure: Regenerate.
4196 * testsuite/libgomp-site-extra.exp.in: New file.
4197 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4198 variable.
4199 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4200 variable.
4201 * testsuite/Makefile.in: Regenerate.
4202
4203 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4204
4205 PR tree-optimization/89713
4206 PR c/94392
4207 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4208 'bar.sync'.
4209 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4210
4211 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
4212
4213 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4214 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4215
4216 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
4217
4218 PR libgomp/81689
4219 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4220
4221 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
4222
4223 PR libgomp/94251
4224 * target.c (gomp_load_image_to_device): Fix link
4225 variable handling.
4226
4227 2020-03-19 Jakub Jelinek <jakub@redhat.com>
4228
4229 PR c++/93931
4230 * testsuite/libgomp.c++/pr93931.C: New test.
4231
4232 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
4233
4234 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4235 dg-allow-blank-lines-in-output.
4236
4237 2020-03-18 Julian Brown <julian@codesourcery.com>
4238 Tobias Burnus <tobias@codesourcery.com>
4239
4240 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4241 it work concurrently.
4242
4243 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
4244
4245 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4246 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4247 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4248
4249 2020-03-14 Jakub Jelinek <jakub@redhat.com>
4250
4251 PR middle-end/93566
4252 * testsuite/libgomp.c/pr93566.c: New test.
4253
4254 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
4255
4256 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4257 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4258 integer(acc_device_property) for the type of the return value of
4259 acc_get_property.
4260
4261 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
4262
4263 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4264 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4265 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4266 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4267 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4268 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4269 corrections; add note about the previous interface and named constant.
4270 (OpenACC library and environment variables): Fix two typos.
4271 * openacc.f90: Use for all procedures the argument names from the spec
4272 as for …_h they are user visible.
4273 (openacc_kinds): Rename acc_device_property to
4274 acc_device_property_kinds and change value to int32 ; and update users.
4275 Re-add acc_device_property for for backward compatibility.
4276 (acc_get_property_string_h): Clean up as acc_device_property_kind
4277 changed.
4278 (acc_get_property_h): Likewise and return c_size_t instead of
4279 acc_device_property.
4280 (openacc): Also export acc_device_property_kinds.
4281 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4282 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4283 handling; check against /= 0 instead of == 1 to match C.
4284 * openacc_lib.h: Use for all procedures the argument names from the spec
4285 as for …_h they are user visible. Place !GCC$ into the first column to
4286 be active also for fixed-form souce form.
4287 (acc_device_current, acc_device_property_kind, acc_device_property,
4288 acc_property_memory, acc_property_free_memory, acc_property_name,
4289 acc_property_vendor, acc_property_driver): New named constants.
4290 (acc_get_property, acc_get_property_string): New generic interface.
4291
4292 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
4293
4294 PR libgomp/93481
4295 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4296 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4297 optional.
4298 (gomp_target_task_fn): Assert "devicep->async_run_func".
4299 (clear_unsupported_flags): New function to remove unsupported flags
4300 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4301 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4302 * testsuite/libgomp.c/target-33.c:
4303 Remove xfail for offload_target_nvptx.
4304 * testsuite/libgomp.c/target-34.c: Likewise.
4305
4306 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
4307
4308 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4309 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4310 * testsuite/libgomp.c/target-34.c: Likewise.
4311 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4312 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4313
4314 2020-02-09 Jakub Jelinek <jakub@redhat.com>
4315
4316 * testsuite/libgomp.c/target-38.c: New test.
4317
4318 2020-02-06 Jakub Jelinek <jakub@redhat.com>
4319
4320 PR libgomp/93515
4321 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4322
4323 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
4324
4325 * testsuite/lib/libgomp.exp
4326 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4327 and not as 'source' argument to libgomp_target_compile.
4328
4329 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
4330
4331 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4332 (gcn_gfx801_s): Remove.
4333 (isa_hsa_name): Remove gfx801.
4334 (isa_gcc_name): Remove gfx801/carizzo.
4335 (isa_code): Remove gfx801.
4336
4337 2020-02-03 Julian Brown <julian@codesourcery.com>
4338 Tobias Burnus <tobias@codesourcery.com>
4339
4340 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4341 and *_finalize variants; document acc_attach and acc_detach; update
4342 references from OpenACC 2.0 to 2.6.
4343 * openacc.f90 (openacc_version): Update to 201711.
4344 * openacc_lib.h (openacc_version): Update to 201711.
4345 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4346 openacc_version to 201711.
4347 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4348
4349 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
4350
4351 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4352 and vgpr_count fields.
4353 (struct kernel_info): Add a field for a hsa_kernel_description.
4354 (run_kernel): Reduce the number of threads/workers if the requested
4355 number would require too many VGPRs.
4356 (init_basic_kernel_info): Initialize description field with
4357 the hsa_kernel_description entry for the kernel.
4358
4359 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
4360
4361 PR bootstrap/93409
4362 * plugin/configfrag.ac (enable_offload_targets): Skip
4363 HSA and GCN plugin besides -m32 also for -mx32.
4364 * configure: Regenerate.
4365
4366 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4367
4368 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4369
4370 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4371
4372 * plugin-gcn.c (struct agent_info): Add fields "name" and
4373 "vendor_name" ...
4374 (GOMP_OFFLOAD_init_device): ... and init from here.
4375 (struct hsa_context_info): Add field "driver_version_s" ...
4376 (init_hsa_contest): ... and init from here.
4377 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4378 implementation.
4379 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4380 Enable test execution for amdgcn and host offloading targets.
4381 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4382 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4383 (expect_device_properties): Split function into ...
4384 (expect_device_string_properties): ... this new function ...
4385 (expect_device_memory): ... and this new function.
4386 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4387 Add test.
4388
4389 2020-01-28 Julian Brown <julian@codesourcery.com>
4390
4391 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4392 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4393 component/non-component variable refs in a single directive.
4394 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4395
4396 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
4397
4398 * configure.ac: Handle `--with-toolexeclibdir='.
4399 * Makefile.in: Regenerate.
4400 * aclocal.m4: Regenerate.
4401 * configure: Regenerate.
4402 * testsuite/Makefile.in: Regenerate.
4403
4404 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
4405
4406 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4407 (expect_device_properties): Remove "expected_free_mem" argument,
4408 change "expected_total_mem" argument type to size_t;
4409 change types of acc_get_property results to size_t,
4410 adapt format strings.
4411 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4412 Use %zu instead of %zd to print size_t values.
4413 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4414 rename to ...
4415 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4416 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4417 rename to ...
4418 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4419
4420 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
4421
4422 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4423 the device id.
4424
4425 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
4426
4427 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4428 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4429 Adjust test dimensions for amdgcn.
4430 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4431 gang/worker/vector expectations dynamically.
4432 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4433 (main): Likewise.
4434 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4435 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4436 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4437 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4438 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4439 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4440 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4441 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4442 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4443 (acc_gang): Recognise acc_device_radeon.
4444 (acc_worker): Likewise.
4445 (acc_vector): Likewise.
4446 (main): Set expectations for amdgcn.
4447 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4448 (main): Adjust gang/worker/vector expectations dynamically.
4449 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4450 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4451 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4452 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4453 for amdgcn.
4454
4455 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
4456
4457 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4458 acc_device_radeon.
4459 (openacc): Likewise.
4460 * openacc.f90 (openacc_kinds): Likewise.
4461 (openacc): Likewise.
4462 * openacc.h (acc_device_t): Likewise.
4463 * openacc_lib.h: Likewise.
4464 * testsuite/lib/libgomp.exp
4465 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4466 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4467 (cb_compute_construct_end): Likewise.
4468 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4469 (cb_enqueue_launch_start): Likewise.
4470 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4471 (cb_enter_data_end): Likewise.
4472 (cb_exit_data_start): Likewise.
4473 (cb_exit_data_end): Likewise.
4474 (cb_compute_construct_end): Likewise.
4475 (cb_enqueue_launch_start): Likewise.
4476 (cb_enqueue_launch_end): Likewise.
4477 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4478 (main): Likewise.
4479
4480 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
4481
4482 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4483 to use this instead of 'enum gomp_device_property'.
4484 (GOMP_OFFLOAD_get_property): Rename to...
4485 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4486 * libgomp.h (struct gomp_device_descr): Move
4487 'GOMP_OFFLOAD_openacc_get_property'...
4488 (struct acc_dispatch_t): ... here. Adjust all users.
4489 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4490
4491 * target.c (gomp_map_vars_internal)
4492 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4493 paths.
4494
4495 2020-01-10 Jakub Jelinek <jakub@redhat.com>
4496
4497 PR libgomp/93219
4498 * libgomp.h (gomp_print_string): Change return type from void to int.
4499 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4500 not all characters have been written.
4501
4502 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
4503
4504 * libgomp.texi: Fix typos, use https.
4505
4506 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
4507
4508 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4509 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4510 dummy arguments; those are/shall be regarded as absent arguments.
4511 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4512 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4513
4514 2020-01-01 Jakub Jelinek <jakub@redhat.com>
4515
4516 Update copyright years.
4517
4518 * libgomp.texi: Bump @copying's copyright year.
4519
4520 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
4521
4522 PR libgomp/93065
4523 * oacc-init.c (goacc_runtime_deinitialize): New function.
4524
4525 2019-12-28 Jakub Jelinek <jakub@redhat.com>
4526
4527 PR bootstrap/93074
4528 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4529 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4530
4531 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
4532 Frederik Harwath <frederik@codesourcery.com>
4533 Thomas Schwinge <tschwinge@codesourcery.com>
4534
4535 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4536 * libgomp-plugin.h (gomp_device_property_value): New union.
4537 (gomp_device_property_value): New prototype.
4538 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4539 constant.
4540 (acc_device_property_t): New enum.
4541 (acc_get_property, acc_get_property_string): New prototypes.
4542 * oacc-init.c (acc_get_device_type): Also assert that result
4543 is not `acc_device_current'.
4544 (get_property_any, acc_get_property, acc_get_property_string):
4545 New functions.
4546 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4547 `acc_property_memory', `acc_property_free_memory',
4548 `acc_property_name', `acc_property_vendor' and
4549 `acc_property_driver' constants. Add `acc_device_property' data
4550 type.
4551 (openacc_internal): Add `acc_get_property' and
4552 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4553 `acc_get_property_string_h', `acc_get_property_l' and
4554 `acc_get_property_string_l'.
4555 * oacc-host.c (host_get_property): New function.
4556 (host_dispatch): Wire it.
4557 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4558 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4559 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4560 * libgomp.texi (OpenACC Runtime Library Routines): Add
4561 `acc_get_property'.
4562 (acc_get_property): New node.
4563 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4564 function (stub).
4565 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4566 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4567 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4568 calls.
4569 (GOMP_OFFLOAD_get_property): New function.
4570 (struct ptx_device): Add new field "name".
4571 (cuda_driver_version_s): Add new static variable ...
4572 (nvptx_init): ... and init from here.
4573
4574 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4575 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4576 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4577 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4578 with test helper functions.
4579
4580 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4581
4582 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
4583
4584 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4585 variable.
4586
4587 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
4588
4589 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4590 link' handling.
4591
4592 2019-12-19 Julian Brown <julian@codesourcery.com>
4593
4594 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4595 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4596 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4597
4598 2019-12-19 Julian Brown <julian@codesourcery.com>
4599 Cesar Philippidis <cesar@codesourcery.com>
4600
4601 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4602 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4603 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4604 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4605 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4606 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4607 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4608 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4609 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4610 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4611 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4612 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4613 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4614
4615 2019-12-19 Julian Brown <julian@codesourcery.com>
4616
4617 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4618 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4619 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4620 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4621 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4622 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4623 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4624 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4625 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4626 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4627 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4628 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4629
4630 2019-12-19 Julian Brown <julian@codesourcery.com>
4631
4632 * libgomp.h (struct target_var_desc): Add do_detach flag.
4633 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4634 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4635 struct components. Tidy up and add some new checks.
4636 (goacc_enter_data_internal): Update call to find_group_last.
4637 (goacc_exit_data_internal): Support detach operations and
4638 GOMP_MAP_STRUCT.
4639 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4640 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4641 attach/detach in enter/exit data detection code.
4642 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4643 tgt_var_desc.
4644 (gomp_map_vars_internal): Support attach.
4645 (gomp_unmap_vars_internal): Support detach.
4646
4647 2019-12-19 Julian Brown <julian@codesourcery.com>
4648 Thomas Schwinge <thomas@codesourcery.com>
4649
4650 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4651 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4652 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4653 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4654 acc_detach_finalize_async.
4655 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4656 acc_detach, acc_detach_async, acc_detach_finalize,
4657 acc_detach_finalize_async): New functions.
4658 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4659 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4660 prototypes.
4661 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4662 (gomp_remove_var_internal): Free attachment counts if present.
4663 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4664 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4665
4666 2019-12-19 Julian Brown <julian@codesourcery.com>
4667 Cesar Philippidis <cesar@codesourcery.com>
4668
4669 * libgomp.h (gomp_map_val): Add prototype.
4670 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4671 open-coding device-address calculation.
4672 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4673 non-present case.
4674
4675 2019-12-19 Julian Brown <julian@codesourcery.com>
4676
4677 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4678 field for virtual_refcount.
4679 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4680 (gomp_free_memmap): Remove prototype.
4681 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4682 instead of calling gomp_free_memmap.
4683 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4684 dynamic_refcount.
4685 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4686 to_free field to NULL then calling gomp_unmap_vars. Handle
4687 REFCOUNT_INFINITY on target blocks.
4688 (goacc_enter_data): Rename to...
4689 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4690 handling for mapping groups. Use virtual_refcount instead of
4691 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4692 map_map_vars_async call. Re-do lookup for target pointer return value.
4693 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4694 renamed goacc_enter_datum function.
4695 (goacc_exit_data): Rename to...
4696 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4697 (acc_delete, acc_delete_async, acc_delete_finalize,
4698 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4699 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4700 goacc_exit_datum function.
4701 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4702 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4703 New functions.
4704 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4705 goacc_exit_data_internal helper functions.
4706 * target.c (gomp_map_vars_internal): Handle
4707 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4708 semantics.
4709 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4710 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4711 virtual_refcount field instead of dynamic_refcount.
4712 (gomp_free_memmap): Remove function.
4713 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4714 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4715 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4716
4717 2019-12-19 Julian Brown <julian@codesourcery.com>
4718 Thomas Schwinge <thomas@codesourcery.com>
4719
4720 * libgomp.h (struct splay_tree_aux): New.
4721 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4722 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4723 to aux struct.
4724 (gomp_remove_var_internal): Free aux block if present.
4725 (gomp_load_image_to_device): Zero-initialise aux field instead of
4726 link_key field.
4727 (omp_target_associate_pointer): Zero-initialise aux field.
4728
4729 2019-12-18 Jakub Jelinek <jakub@redhat.com>
4730
4731 PR middle-end/86416
4732 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4733 q or none.
4734 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4735 L or none.
4736
4737 2019-12-19 Julian Brown <julian@codesourcery.com>
4738 Maciej W. Rozycki <macro@codesourcery.com>
4739 Tobias Burnus <tobias@codesourcery.com>
4740 Thomas Schwinge <thomas@codesourcery.com>
4741
4742 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4743 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4744 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4745 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4746 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4747 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4748 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4749 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4750 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4751
4752 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
4753
4754 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4755 called...
4756 (goacc_insert_pointer): ... from here, "present" case.
4757 (goacc_insert_pointer): Inline function into...
4758 (GOACC_enter_exit_data): ... here, and simplify.
4759
4760 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4761 called...
4762 (goacc_insert_pointer): ... from here, "not present" case.
4763
4764 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4765 all users.
4766
4767 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4768 'goacc_enter_data', 'goacc_exit_data'.
4769
4770 * oacc-mem.c (delete_copyout): Refactor into...
4771 (goacc_exit_data): ... this. Adjust all users.
4772
4773 * oacc-mem.c (present_create_copy): Refactor into...
4774 (goacc_enter_data): ... this. Adjust all users.
4775
4776 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4777 'gomp_remove_var'.
4778
4779 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4780 like 'GOMP_MAP_FROM'.
4781
4782 PR libgomp/92726
4783 PR libgomp/92970
4784 PR libgomp/92984
4785 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4786 fails.
4787 (GOACC_enter_exit_data): Simplify accordingly.
4788 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4789 subsuming...
4790 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4791 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4792 file.
4793 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4794 subsuming...
4795 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4796 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4797 file.
4798 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4799 subsuming...
4800 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4801
4802 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4803 'finalize' handling.
4804
4805 PR libgomp/92848
4806 * oacc-mem.c (acc_map_data, present_create_copy)
4807 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4808 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4809 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4810 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4811 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4812 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4813 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4814 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4815 Remove "XFAIL"s.
4816
4817 * target.c (gomp_unmap_tgt): Make it 'static'.
4818 * libgomp.h (gomp_unmap_tgt): Remove.
4819
4820 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
4821
4822 PR middle-end/86416
4823 * testsuite/libgomp.c/pr86416-1.c: New.
4824 * testsuite/libgomp.c/pr86416-2.c: New.
4825
4826 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
4827
4828 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4829 all symbols as public except for the 'use …, only' imported symbol,
4830 which is private.
4831 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4832 all symbols from module openacc_kinds as PUBLIC
4833 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4834 fix comment typo.
4835 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4836
4837 2019-12-13 Julian Brown <julian@codesourcery.com>
4838
4839 PR libgomp/92881
4840
4841 * libgomp.h (gomp_remove_var_async): Add prototype.
4842 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4843 gomp_remove_var.
4844 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4845 whether target_mem_desc was unmapped.
4846 (gomp_unref_tgt_void): New.
4847 (gomp_remove_var): Reimplement in terms of...
4848 (gomp_remove_var_internal): ...this new helper function.
4849 (gomp_remove_var_async): New, implemented using above helper function.
4850 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4851 gomp_unref_tgt.
4852
4853 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
4854
4855 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4856 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4857 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4858 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4859 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4860 Likewise.
4861 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4862 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4863
4864 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
4865
4866 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4867 as public except for the 'use …, only' imported symbol, which is
4868 private.
4869 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4870 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4871 attributes for acc_copyout_finalize and acc_delete_finalize.
4872
4873 2019-12-11 Jakub Jelinek <jakub@redhat.com>
4874
4875 PR fortran/92899
4876 * testsuite/libgomp.fortran/atomic1.f90: New test.
4877
4878 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4879
4880 PR libgomp/92843
4881 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4882 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4883 assertions.
4884 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4885 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4886 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4887 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4889
4890 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4891 * oacc-mem.c: ... here.
4892 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4893 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4894 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4895 Remove.
4896 * libgomp_g.h: Update.
4897
4898 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4899 * oacc-async.c: ... here.
4900 * oacc-int.h (goacc_wait): Declare.
4901 * libgomp_g.h: Update
4902
4903 PR libgomp/92854
4904 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4905 New file.
4906 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4907 Likewise.
4908 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4909 Likewise.
4910 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4911 Likewise.
4912 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4913 Likewise.
4914 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4915 Likewise.
4916
4917 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4918 Julian Brown <julian@codesourcery.com>
4919
4920 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4921 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4922
4923 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
4924
4925 * omp_lib.h.in: Fix spelling of function declaration
4926 omp_get_cancell(l)ation.
4927 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4928 Fix typos.
4929 * env.c: Fix comment typos.
4930 * oacc-host.c: Likewise.
4931 * ordered.c: Likewise.
4932 * task.c: Likewise.
4933 * team.c: Likewise.
4934 * config/gcn/task.c: Likewise.
4935 * config/gcn/team.c: Likewise.
4936 * config/nvptx/task.c: Likewise.
4937 * config/nvptx/team.c: Likewise.
4938 * plugin/plugin-gcn.c: Likewise.
4939 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4940 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4941 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4942
4943 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
4944
4945 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4946 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4947 unnecessary 'dg-additional-options "-w"'.
4948
4949 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4950 Julian Brown <julian@codesourcery.com>
4951
4952 PR libgomp/92116
4953 PR libgomp/92877
4954
4955 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
4956 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4957 Adjust all users.
4958 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4959 Remove XFAIL.
4960 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4961 Likewise.
4962 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4963
4964 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4965
4966 PR libgomp/92503
4967 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4968 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4969 file.
4970 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4971 Likewise.
4972 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4973 Likewise.
4974 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4975 Likewise.
4976 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4977 Likewise.
4978 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4979 Likewise.
4980 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4981 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4982 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4983 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4984 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4985 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4986 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4987 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4988 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4989 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4990
4991 PR libgomp/92840
4992 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4993 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4994 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4995 New file.
4996 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4997 Likewise.
4998 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4999 Likewise.
5000 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5001 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5002
5003 PR libgomp/92511
5004 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5005 this file...
5006 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5007 this file...
5008 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5009 file...
5010 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5011 file...
5012 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5013 ... with their content moved into, and extended in this new file.
5014 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5015 New file.
5016 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5017 Likewise.
5018 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5019 Likewise.
5020 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5021 Likewise.
5022
5023 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5024
5025 PR libgomp/92854
5026 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5027
5028 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5029
5030 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5031
5032 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
5033
5034 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5035 unique.
5036 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5037 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5038 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5039 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5040 Ditto.
5041 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5042 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5043
5044 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5045
5046 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5047
5048 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
5049 Kwok Cheung Yeung <kcy@codesourcery.com>
5050
5051 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5052 if input it a NULL pointer.
5053 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5054 diagnostic of NULL pointer.
5055 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5056 * testsuite/libgomp.fortran/optional-map.f90: New.
5057 * testsuite/libgomp.fortran/use_device_addr-1.f90
5058 (test_dummy_opt_callee_1_absent): New.
5059 (test_dummy_opt_call_1): Call it.
5060 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5061 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5062 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5063 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5064 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5065 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5066 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5067 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5068 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5069 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5070 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5071 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5072 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5073 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5074 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5075 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5076
5077 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
5078
5079 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5080 expect dg-output of 'Error termination.' for GCN.
5081 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5082 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5083
5084 2019-12-04 Jakub Jelinek <jakub@redhat.com>
5085
5086 PR fortran/92756
5087 * testsuite/libgomp.fortran/teams1.f90: New test.
5088 * testsuite/libgomp.fortran/teams2.f90: New test.
5089
5090 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
5091
5092 * oacc-init.c (acc_known_device_type): Add function.
5093 (unknown_device_type_error): Add function.
5094 (name_of_acc_device_t): Change to call unknown_device_type_error
5095 on unknown type.
5096 (resolve_device): Use acc_known_device_type.
5097 (acc_init): Fail if acc_device_t argument is not valid.
5098 (acc_shutdown): Likewise.
5099 (acc_get_num_devices): Likewise.
5100 (acc_set_device_type): Likewise.
5101 (acc_get_device_num): Likewise.
5102 (acc_set_device_num): Likewise.
5103 (acc_on_device): Add comment that argument validity is not checked.
5104
5105 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
5106
5107 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5108 Recognize amdgcn.
5109 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5110 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5111 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5112 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5113 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5114
5115 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5116
5117 PR libgomp/91938
5118 * configure.tgt: Avoid IE tls on *-*-musl*.
5119
5120 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
5121
5122 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5123 adding a common-block test case.
5124
5125 2019-11-29 Jakub Jelinek <jakub@redhat.com>
5126
5127 PR c++/60228
5128 * testsuite/libgomp.c++/udr-20.C: New test.
5129 * testsuite/libgomp.c++/udr-21.C: New test.
5130
5131 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5132
5133 * testsuite/lib/libgomp.exp
5134 (check_effective_target_offload_target_nvptx): New proc.
5135 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5136 'dg-skip-if'.
5137 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5138 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5139 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5140
5141 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5142
5143 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5144 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5145 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5146 * testsuite/libgomp.c/private-1.c: Likewise.
5147 * testsuite/libgomp.c/task-1.c: Likewise.
5148 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5149
5150 2019-11-20 Julian Brown <julian@codesourcery.com>
5151
5152 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5153 aq->mutex here.
5154 (queue_push_launch): Lock aq->mutex before calling
5155 wait_for_queue_nonfull.
5156 (queue_push_callback): Likewise.
5157 (queue_push_asyncwait): Likewise.
5158 (queue_push_placeholder): Likewise.
5159
5160 2019-11-20 Julian Brown <julian@codesourcery.com>
5161
5162 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5163 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5164 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5165 return code.
5166
5167 2019-11-20 Julian Brown <julian@codesourcery.com>
5168
5169 PR libgomp/92511
5170
5171 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5172 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5173 in non-present/create case.
5174 (delete_copyout): Change error condition to fail only on copies outside
5175 of mapped block. Adjust error message accordingly.
5176 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5177 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5178 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5179 message.
5180 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5181 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5182 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5183
5184 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
5185
5186 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5187 libatomic in build-tree testing.
5188
5189 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
5190
5191 * testsuite/Makefile.in: Regenerate.
5192
5193 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
5194
5195 * testsuite/libgomp.c/target-print-1.c: New file.
5196 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5197 * testsuite/libgomp.oacc-c/print-1.c: New file.
5198 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5199
5200 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5201 Kwok Cheung Yeung <kcy@codesourcery.com>
5202 Julian Brown <julian@codesourcery.com>
5203 Tom de Vries <tom@codesourcery.com>
5204
5205 * plugin/Makefrag.am: Add amdgcn plugin support.
5206 * plugin/configfrag.ac: Likewise.
5207 * plugin/plugin-gcn.c: New file.
5208 * configure: Regenerate.
5209 * Makefile.in: Regenerate.
5210 * testsuite/Makefile.in: Regenerate.
5211
5212 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5213
5214 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5215 and use team_malloc variants.
5216 (gomp_gcn_exit_kernel): Use team_free.
5217 * libgomp.h (TEAM_ARENA_SIZE): Define.
5218 (TEAM_ARENA_START): Define.
5219 (TEAM_ARENA_FREE): Define.
5220 (TEAM_ARENA_END): Define.
5221 (team_malloc): New function.
5222 (team_malloc_cleared): New function.
5223 (team_free): New function.
5224 * team.c (gomp_new_team): Initialize and use team_malloc.
5225 (free_team): Use team_free.
5226 (gomp_free_thread): Use team_free.
5227 (gomp_pause_host): Use team_free.
5228 * work.c (gomp_init_work_share): Use team_malloc.
5229 (gomp_fini_work_share): Use team_free.
5230
5231 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5232 Kwok Cheung Yeung <kcy@codesourcery.com>
5233 Julian Brown <julian@codesourcery.com>
5234 Tom de Vries <tom@codesourcery.com>
5235
5236 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5237 * Makefile.in: Regenerate.
5238 * config.h.in (PLUGIN_GCN): Add new undef.
5239 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5240 * config/gcn/affinity-fmt.c: New file.
5241 * config/gcn/bar.c: New file.
5242 * config/gcn/bar.h: New file.
5243 * config/gcn/doacross.h: New file.
5244 * config/gcn/icv-device.c: New file.
5245 * config/gcn/oacc-target.c: New file.
5246 * config/gcn/simple-bar.h: New file.
5247 * config/gcn/target.c: New file.
5248 * config/gcn/task.c: New file.
5249 * config/gcn/team.c: New file.
5250 * config/gcn/time.c: New file.
5251 * configure.ac: Add amdgcn*-*-*.
5252 * configure: Regenerate.
5253 * configure.tgt: Add amdgcn*-*-*.
5254 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5255 * libgomp.h (gcn_thrs): Add amdgcn variant.
5256 (set_gcn_thrs): Likewise.
5257 (gomp_thread): Likewise.
5258 * oacc-int.h (goacc_thread): Likewise.
5259 * oacc-target.c: New file.
5260 * openacc.f90 (acc_device_gcn): New parameter.
5261 * openacc.h (acc_device_t): Add acc_device_gcn.
5262 * team.c (gomp_free_pool_helper): Add amdgcn support.
5263
5264 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5265 Julian Brown <julian@codesourcery.com>
5266
5267 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5268 parameter.
5269 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5270 queue constructor.
5271 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5272 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5273 device parameter.
5274
5275 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5276
5277 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5278 * config/nvptx/libgomp-plugin.c: Move ...
5279 * config/accel/libgomp-plugin.c: ... to here.
5280 * config/nvptx/lock.c: Move ...
5281 * config/accel/lock.c: ... to here.
5282 * config/nvptx/mutex.c: Move ...
5283 * config/accel/mutex.c: ... to here.
5284 * config/nvptx/mutex.h: Move ...
5285 * config/accel/mutex.h: ... to here.
5286 * config/nvptx/oacc-async.c: Move ...
5287 * config/accel/oacc-async.c: ... to here.
5288 * config/nvptx/oacc-cuda.c: Move ...
5289 * config/accel/oacc-cuda.c: ... to here.
5290 * config/nvptx/oacc-host.c: Move ...
5291 * config/accel/oacc-host.c: ... to here.
5292 * config/nvptx/oacc-init.c: Move ...
5293 * config/accel/oacc-init.c: ... to here.
5294 * config/nvptx/oacc-mem.c: Move ...
5295 * config/accel/oacc-mem.c: ... to here.
5296 * config/nvptx/oacc-plugin.c: Move ...
5297 * config/accel/oacc-plugin.c: ... to here.
5298 * config/nvptx/omp-lock.h: Move ...
5299 * config/accel/omp-lock.h: ... to here.
5300 * config/nvptx/openacc.f90: Move ...
5301 * config/accel/openacc.f90: ... to here.
5302 * config/nvptx/pool.h: Move ...
5303 * config/accel/pool.h: ... to here.
5304 * config/nvptx/proc.c: Move ...
5305 * config/accel/proc.c: ... to here.
5306 * config/nvptx/ptrlock.c: Move ...
5307 * config/accel/ptrlock.c: ... to here.
5308 * config/nvptx/ptrlock.h: Move ...
5309 * config/accel/ptrlock.h: ... to here.
5310 * config/nvptx/sem.c: Move ...
5311 * config/accel/sem.c: ... to here.
5312 * config/nvptx/sem.h: Move ...
5313 * config/accel/sem.h: ... to here.
5314 * config/nvptx/thread-stacksize.h: Move ...
5315 * config/accel/thread-stacksize.h: ... to here.
5316
5317 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5318 Tobias Burnus <tobias@codesourcery.com>
5319 Frederik Harwath <frederik@codesourcery.com>
5320 Thomas Schwinge <thomas@codesourcery.com>
5321
5322 libgomp/
5323 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5324 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5325 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5326
5327 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
5328 Kwok Cheung Yeung <kcy@codesourcery.com>
5329
5330 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5331 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5332
5333 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5334
5335 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5336
5337 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5338 run'.
5339 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5340 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5341
5342 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
5343
5344 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5345 Add expected warnings about missing reduction clauses.
5346 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5347 Likewise.
5348 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5349 Likewise.
5350 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5351 Likewise.
5352
5353 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5354
5355 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5356 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5357 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5358 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5359 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5360 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5361
5362 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5363
5364 PR fortran/92305
5365 * testsuite/libgomp.fortran/allocatable2.f90: Use
5366 unique numbers with 'stop'.
5367 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5368 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5369 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5370 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5371 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5372
5373 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
5374
5375 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5376 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5377 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5378 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5379 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5380 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5381
5382 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5383
5384 * testsuite/libgomp.fortran/target9.f90: New.
5385
5386 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5387
5388 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5389 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5390 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5391 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5392 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5393 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5394 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5395 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5396 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5397 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5398 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5399 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5400 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5401 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5402 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5403 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5404 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5405 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5406 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5407 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5408 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5409 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5410 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5411 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5412 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5413 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5414 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5415 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5416 * testsuite/libgomp.fortran/character1.f90: Ditto.
5417 * testsuite/libgomp.fortran/character2.f90: Ditto.
5418 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5419 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5420 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5421 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5422 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5423 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5424 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5425 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5426 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5427 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5428 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5429 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5430 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5431 * testsuite/libgomp.fortran/do1.f90: Ditto.
5432 * testsuite/libgomp.fortran/do2.f90: Ditto.
5433 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5434 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5435 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5436 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5437 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5438 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5439 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5440 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5441 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5442 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5443 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5444 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5445 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5446 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5447 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5448 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5449 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5450 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5451 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5452 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5453 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5454 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5455 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5456 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5457 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5458 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5459 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5460 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5461 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5462 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5463 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5464 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5465 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5466 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5467 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5468 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5469 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5470 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5471 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5472 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5473 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5474 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5475 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5476 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5477 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5478 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5479 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5480 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5481 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5482 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5483 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5484 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5485 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5486 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5487 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5488 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5489 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5490 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5491 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5492 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5493 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5494 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5495 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5496 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5497 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5498 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5499 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5500 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5501 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5502 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5503 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5504 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5505 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5506 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5507 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5508 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5509 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5510 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5511 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5512 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5513 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5514 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5515 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5516 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5517 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5518 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5519 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5520 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5521 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5522 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5523 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5524 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5525 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5526 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5527 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5528 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5529 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5530 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5531 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5532 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5533 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5534 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5535 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5536 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5537 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5538 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5539 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5540 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5541 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5542 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5543 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5544 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5545 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5546 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5547 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5548 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5549 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5550 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5551 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5552 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5553 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5554 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5555 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5556 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5557 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5558 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5559 * testsuite/libgomp.fortran/stack.f90: Ditto.
5560 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5561 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5562 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5563 * testsuite/libgomp.fortran/target1.f90: Ditto.
5564 * testsuite/libgomp.fortran/target2.f90: Ditto.
5565 * testsuite/libgomp.fortran/target3.f90: Ditto.
5566 * testsuite/libgomp.fortran/target4.f90: Ditto.
5567 * testsuite/libgomp.fortran/target5.f90: Ditto.
5568 * testsuite/libgomp.fortran/target6.f90: Ditto.
5569 * testsuite/libgomp.fortran/target7.f90: Ditto.
5570 * testsuite/libgomp.fortran/target8.f90: Ditto.
5571 * testsuite/libgomp.fortran/task1.f90: Ditto.
5572 * testsuite/libgomp.fortran/task2.f90: Ditto.
5573 * testsuite/libgomp.fortran/task3.f90: Ditto.
5574 * testsuite/libgomp.fortran/task4.f90: Ditto.
5575 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5576 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5577 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5578 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5579 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5580 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5581 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5582 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5583 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5584 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5585 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5586 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5587 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5588 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5589 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5590 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5591 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5592 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5593 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5594 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5595 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5596 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5597 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5598 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5599 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5600 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5601 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5602 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5603 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5604 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5605 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5606 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5607 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5608 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5609
5610 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5611
5612 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5613 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5614 Ditto; add 'dg-do run' for torture testing.
5615 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5616 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5617 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5618 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5619 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5620 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5621 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5622 * testsuite/libgomp.fortran/task2.f90: Ditto.
5623 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5624 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5625 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5626 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5627 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5628 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5629
5630 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
5631
5632 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5633 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5634 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5635 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5636 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5637 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5638 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5639 Use 'stop' not abort().
5640 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5641 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5642 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5643 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5644 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5645 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5646 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5647 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5648 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5649 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5650 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5651 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5652 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5653 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5654 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5655 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5656 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5657 Ditto.
5658 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5659 Ditto.
5660 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5661 Ditto.
5662 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5663 Ditto.
5664 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5665 Ditto.
5666 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5667 Ditto.
5668 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5669 Ditto.
5670 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5671 Ditto.
5672 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5673 Ditto.
5674 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5675 Ditto.
5676 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5677 Ditto.
5678 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5679 Ditto.
5680 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5681 Ditto.
5682 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5683 Ditto.
5684 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5685 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5686 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5687 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5688 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5689 Likewise and also add 'dg-do run'.
5690 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5691 Ditto.
5692
5693 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
5694 Tobias Burnus <tobias@codesourcery.com>
5695
5696 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5697 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5698 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5699
5700 2019-10-14 Jakub Jelinek <jakub@redhat.com>
5701
5702 PR libgomp/92081
5703 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5704 than 0.
5705
5706 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
5707
5708 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5709 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5710
5711 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
5712
5713 PR middle-end/92036
5714 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5715 file.
5716
5717 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
5718
5719 PR testsuite/91884
5720 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5721 add -lquadmath.
5722 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5723
5724 2019-10-09 Jakub Jelinek <jakub@redhat.com>
5725
5726 PR libgomp/92028
5727 * target.c (gomp_map_vars_internal): Readd the previous
5728 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5729 though do that just in the !not_found_cnt case.
5730
5731 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
5732
5733 * gfortran.dg/gomp/target-simd.f90: New.
5734
5735 2019-10-02 Julian Brown <julian@codesourcery.com>
5736 Cesar Philippidis <cesar@codesourcery.com>
5737
5738 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5739 * target.c (FIELD_TGT_EMPTY): Define.
5740 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5741 as switch instead of list of ifs.
5742 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5743
5744 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
5745
5746 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5747 include. Replace alloca () with __builtin_alloca ().
5748 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5749
5750 2019-10-01 Jakub Jelinek <jakub@redhat.com>
5751
5752 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5753 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5754 * oacc-parallel.c: Don't include "libgomp_g.h".
5755 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5756 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5757 * aclocal.m4: Regenerated.
5758 * config.h.in: Regenerated.
5759 * configure: Regenerated.
5760 * Makefile.in: Regenerated.
5761
5762 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
5763
5764 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5765
5766 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
5767
5768 * configure: Regenerate.
5769
5770 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
5771
5772 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5773 string is initialized.
5774
5775 2019-09-06 Florian Weimer <fweimer@redhat.com>
5776
5777 * configure: Regenerate.
5778
5779 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
5780
5781 PR other/79543
5782 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5783 scanning to conform to the GNU Coding Standards.
5784 * configure: Regenerate.
5785
5786 2019-08-28 Jakub Jelinek <jakub@redhat.com>
5787
5788 PR libgomp/91530
5789 * testsuite/libgomp.c/scan-21.c: New test.
5790 * testsuite/libgomp.c/scan-22.c: New test.
5791
5792 2019-08-27 Jakub Jelinek <jakub@redhat.com>
5793
5794 PR libgomp/91530
5795 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5796 targets.
5797 * testsuite/libgomp.c/scan-12.c: Likewise.
5798 * testsuite/libgomp.c/scan-13.c: Likewise.
5799 * testsuite/libgomp.c/scan-14.c: Likewise.
5800 * testsuite/libgomp.c/scan-15.c: Likewise.
5801 * testsuite/libgomp.c/scan-16.c: Likewise.
5802 * testsuite/libgomp.c/scan-17.c: Likewise.
5803 * testsuite/libgomp.c/scan-18.c: Likewise.
5804 * testsuite/libgomp.c/scan-19.c: Likewise.
5805 * testsuite/libgomp.c/scan-20.c: Likewise.
5806 * testsuite/libgomp.c++/scan-9.C: Likewise.
5807 * testsuite/libgomp.c++/scan-10.C: Likewise.
5808 * testsuite/libgomp.c++/scan-11.C: Likewise.
5809 * testsuite/libgomp.c++/scan-12.C: Likewise.
5810 * testsuite/libgomp.c++/scan-14.C: Likewise.
5811 * testsuite/libgomp.c++/scan-15.C: Likewise.
5812 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5813 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5814 * testsuite/libgomp.c++/scan-16.C: Likewise.
5815
5816 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
5817
5818 PR fortran/91473
5819 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5820 -std=legacy so invalid code in the test case is accepted.
5821
5822 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5823
5824 PR fortran/91422
5825 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5826 dimension.
5827
5828 2019-08-08 Jakub Jelinek <jakub@redhat.com>
5829
5830 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5831 perform the lookup in the first loop only if !not_found_cnt, otherwise
5832 perform lookups for it in the second loop guarded with
5833 if (not_found_cnt || has_firstprivate).
5834 * testsuite/libgomp.c/target-37.c: New test.
5835 * testsuite/libgomp.c++/target-22.C: New test.
5836
5837 2019-08-07 Jakub Jelinek <jakub@redhat.com>
5838
5839 * testsuite/libgomp.c/target-18.c (struct S): New type.
5840 (foo): Use use_device_addr clause instead of use_device_ptr clause
5841 where required by OpenMP 5.0, add further tests for both use_device_ptr
5842 and use_device_addr clauses.
5843 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5844 (foo): Use use_device_addr clause instead of use_device_ptr clause
5845 where required by OpenMP 5.0, add further tests for both use_device_ptr
5846 and use_device_addr clauses. Add t and u arguments.
5847 (main): Adjust caller.
5848
5849 2019-08-06 Jakub Jelinek <jakub@redhat.com>
5850
5851 * testsuite/libgomp.c++/loop-13.C: New test.
5852 * testsuite/libgomp.c++/loop-14.C: New test.
5853 * testsuite/libgomp.c++/loop-15.C: New test.
5854
5855 2019-07-31 Jakub Jelinek <jakub@redhat.com>
5856
5857 PR middle-end/91301
5858 * testsuite/libgomp.c++/for-27.C: New test.
5859
5860 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
5861
5862 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5863 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5864
5865 2019-07-20 Jakub Jelinek <jakub@redhat.com>
5866
5867 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5868
5869 2019-07-08 Jakub Jelinek <jakub@redhat.com>
5870
5871 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5872 * testsuite/libgomp.c++/scan-16.C: Likewise.
5873
5874 2019-07-06 Jakub Jelinek <jakub@redhat.com>
5875
5876 * testsuite/libgomp.c/scan-19.c: New test.
5877 * testsuite/libgomp.c/scan-20.c: New test.
5878
5879 * testsuite/libgomp.c/scan-11.c: New test.
5880 * testsuite/libgomp.c/scan-12.c: New test.
5881 * testsuite/libgomp.c/scan-13.c: New test.
5882 * testsuite/libgomp.c/scan-14.c: New test.
5883 * testsuite/libgomp.c/scan-15.c: New test.
5884 * testsuite/libgomp.c/scan-16.c: New test.
5885 * testsuite/libgomp.c/scan-17.c: New test.
5886 * testsuite/libgomp.c/scan-18.c: New test.
5887 * testsuite/libgomp.c++/scan-9.C: New test.
5888 * testsuite/libgomp.c++/scan-10.C: New test.
5889 * testsuite/libgomp.c++/scan-11.C: New test.
5890 * testsuite/libgomp.c++/scan-12.C: New test.
5891 * testsuite/libgomp.c++/scan-13.C: New test.
5892 * testsuite/libgomp.c++/scan-14.C: New test.
5893 * testsuite/libgomp.c++/scan-15.C: New test.
5894 * testsuite/libgomp.c++/scan-16.C: New test.
5895
5896 2019-07-04 Jakub Jelinek <jakub@redhat.com>
5897
5898 * testsuite/libgomp.c/scan-9.c: New test.
5899 * testsuite/libgomp.c/scan-10.c: New test.
5900
5901 2019-07-03 Jakub Jelinek <jakub@redhat.com>
5902
5903 * testsuite/libgomp.c++/scan-1.C: New test.
5904 * testsuite/libgomp.c++/scan-2.C: New test.
5905 * testsuite/libgomp.c++/scan-3.C: New test.
5906 * testsuite/libgomp.c++/scan-4.C: New test.
5907 * testsuite/libgomp.c++/scan-5.C: New test.
5908 * testsuite/libgomp.c++/scan-6.C: New test.
5909 * testsuite/libgomp.c++/scan-7.C: New test.
5910 * testsuite/libgomp.c++/scan-8.C: New test.
5911 * testsuite/libgomp.c/scan-1.c: New test.
5912 * testsuite/libgomp.c/scan-2.c: New test.
5913 * testsuite/libgomp.c/scan-3.c: New test.
5914 * testsuite/libgomp.c/scan-4.c: New test.
5915 * testsuite/libgomp.c/scan-5.c: New test.
5916 * testsuite/libgomp.c/scan-6.c: New test.
5917 * testsuite/libgomp.c/scan-7.c: New test.
5918 * testsuite/libgomp.c/scan-8.c: New test.
5919
5920 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5921
5922 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5923 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5924 Likewise.
5925
5926 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5927 check.
5928
5929 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
5930
5931 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5932 file.
5933
5934 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5935
5936 PR fortran/90743
5937 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5938 case.
5939 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5940 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5941 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5942 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5943
5944 PR testsuite/90861
5945 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5946
5947 PR middle-end/90862
5948 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5949
5950 2019-06-16 Tom de Vries <tdevries@suse.de>
5951
5952 PR tree-optimization/89376
5953 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5954
5955 2019-06-15 Tom de Vries <tdevries@suse.de>
5956
5957 PR tree-optimization/89713
5958 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5959 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5960
5961 2019-06-15 Jakub Jelinek <jakub@redhat.com>
5962
5963 PR middle-end/90779
5964 * testsuite/libgomp.c/pr90779.c: New test.
5965 * testsuite/libgomp.fortran/pr90779.f90: New test.
5966
5967 2019-06-15 Tom de Vries <tdevries@suse.de>
5968
5969 PR tree-optimization/90009
5970 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5971
5972 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
5973
5974 PR tree-optimization/89713
5975 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5976
5977 2019-06-11 Jakub Jelinek <jakub@redhat.com>
5978
5979 PR target/90811
5980 * testsuite/libgomp.c/pr90811.c: New test.
5981
5982 2019-06-05 Jakub Jelinek <jakub@redhat.com>
5983
5984 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5985 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5986
5987 2019-06-04 Jakub Jelinek <jakub@redhat.com>
5988
5989 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5990 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5991 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5992 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5993
5994 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5995
5996 * configure.ac: Call AX_COUNT_CPUS.
5997 Substitute CPU_COUNT.
5998 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5999 count fallback.
6000 * aclocal.m4: Regenerate.
6001 * configure: Regenerate.
6002 * Makefile.in, testsuite/Makefile.in: Regenerate.
6003
6004 2019-05-29 Jakub Jelinek <jakub@redhat.com>
6005
6006 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6007 to ...
6008 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6009 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6010 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6011
6012 2019-05-27 Jakub Jelinek <jakub@redhat.com>
6013
6014 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6015
6016 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6017
6018 PR libgomp/90641
6019 * work.c (gomp_init_work_share): Instead of aligning final ordered
6020 value to multiples of long long alignment, align to that the
6021 first part (ordered team ids) and if inline_ordered_team_ids
6022 is not on a long long alignment boundary within the structure,
6023 use __alignof__ (long long) - 1 pad size always.
6024 * loop.c (GOMP_loop_start): Fix *mem computation if
6025 inline_ordered_team_ids is not aligned on long long alignment boundary
6026 within the structure.
6027 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6028 * sections.c (GOMP_sections2_start): Likewise.
6029
6030 2019-05-24 Jakub Jelinek <jakub@redhat.com>
6031
6032 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6033 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6034
6035 PR libgomp/90585
6036 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6037 HAVE_INTTYPES_H is defined.
6038 (print_uint64_t): New typedef.
6039 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6040 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6041 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6042 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6043 before casting to void *.
6044 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6045 * oacc-mem.c: Don't include config.h nor stdint.h.
6046 * target.c: Don't include config.h.
6047 * oacc-cuda.c: Likewise.
6048 * oacc-host.c: Don't include stdint.h.
6049
6050 2019-05-20 Jakub Jelinek <jakub@redhat.com>
6051
6052 PR libgomp/90527
6053 * alloc.c (_GNU_SOURCE): Define.
6054
6055 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6056
6057 * acc_prof.h: New file.
6058 * oacc-profiling.c: Likewise.
6059 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6060 Add these, respectively.
6061 * Makefile.in: Regenerate.
6062 * env.c (initialize_env): Call goacc_profiling_initialize.
6063 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6064 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6065 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6066 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6067 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6068 acc_prof_register, acc_prof_unregister, and acc_register_library.
6069 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6070 GOMP_PLUGIN_goacc_thread.
6071 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6072 prof_callbacks_enabled members.
6073 (goacc_prof_enabled, goacc_profiling_initialize)
6074 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6075 (goacc_profiling_dispatch): Declare.
6076 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6077 (GOACC_PROFILING_SETUP_P): Define.
6078 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6079 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6080 OpenACC Profiling Interface.
6081 * oacc-cuda.c (acc_get_current_cuda_device)
6082 (acc_get_current_cuda_context, acc_get_cuda_stream)
6083 (acc_set_cuda_stream): Likewise.
6084 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6085 (acc_init, acc_set_device_type, acc_get_device_type)
6086 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6087 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6088 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6089 (acc_unmap_data, present_create_copy, delete_copyout)
6090 (update_dev_host): Likewise.
6091 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6092 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6093 Likewise.
6094 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6095 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6096 Likewise.
6097 * libgomp.texi: Update.
6098 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6099 file.
6100 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6101 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6102 Likewise.
6103 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6104 Likewise.
6105 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6106 Likewise.
6107 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6108 Likewise.
6109
6110 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6111
6112 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6113 (struct goacc_asyncqueue_list): Likewise.
6114 (goacc_aq): Likewise.
6115 (goacc_aq_list): Likewise.
6116 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6117 (GOMP_OFFLOAD_openacc_async_test): Remove.
6118 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6119 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6120 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6121 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6122 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6123 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6124 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6125 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6126 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6127 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6128 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6129 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6130 (GOMP_OFFLOAD_openacc_async_test): Declare.
6131 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6132 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6133 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6134 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6135 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6136
6137 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6138 (gomp_acc_insert_pointer): Adjust declaration.
6139 (gomp_copy_host2dev): New declaration.
6140 (gomp_copy_dev2host): Likewise.
6141 (gomp_map_vars_async): Likewise.
6142 (gomp_unmap_tgt): Likewise.
6143 (gomp_unmap_vars_async): Likewise.
6144 (gomp_fini_device): Likewise.
6145
6146 * oacc-async.c (get_goacc_thread): New function.
6147 (get_goacc_thread_device): New function.
6148 (lookup_goacc_asyncqueue): New function.
6149 (get_goacc_asyncqueue): New function.
6150 (acc_async_test): Adjust code to use new async design.
6151 (acc_async_test_all): Likewise.
6152 (acc_wait): Likewise.
6153 (acc_wait_async): Likewise.
6154 (acc_wait_all): Likewise.
6155 (acc_wait_all_async): Likewise.
6156 (goacc_async_free): New function.
6157 (goacc_init_asyncqueues): Likewise.
6158 (goacc_fini_asyncqueues): Likewise.
6159 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6160 design.
6161 (acc_set_cuda_stream): Likewise.
6162 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6163 (host_openacc_register_async_cleanup): Remove.
6164 (host_openacc_async_exec): New function.
6165 (host_openacc_async_test): Adjust parameters.
6166 (host_openacc_async_test_all): Remove.
6167 (host_openacc_async_wait): Remove.
6168 (host_openacc_async_wait_async): Remove.
6169 (host_openacc_async_wait_all): Remove.
6170 (host_openacc_async_wait_all_async): Remove.
6171 (host_openacc_async_set_async): Remove.
6172 (host_openacc_async_synchronize): New function.
6173 (host_openacc_async_serialize): New function.
6174 (host_openacc_async_host2dev): New function.
6175 (host_openacc_async_dev2host): New function.
6176 (host_openacc_async_queue_callback): New function.
6177 (host_openacc_async_construct): New function.
6178 (host_openacc_async_destruct): New function.
6179 (struct gomp_device_descr host_dispatch): Remove initialization of old
6180 interface, add initialization of new async sub-struct.
6181 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6182 (goacc_attach_host_thread_to_device): Remove old async code usage.
6183 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6184 (goacc_fini_asyncqueues): Likewise.
6185 (goacc_async_copyout_unmap_vars): Likewise.
6186 (goacc_async_free): Likewise.
6187 (get_goacc_asyncqueue): Likewise.
6188 (lookup_goacc_asyncqueue): Likewise.
6189 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6190 design.
6191 (present_create_copy): Adjust code to use new async design.
6192 (delete_copyout): Likewise.
6193 (update_dev_host): Likewise.
6194 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6195 async design.
6196 (gomp_acc_remove_pointer): Adjust code to use new async design.
6197 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6198 design.
6199 (GOACC_enter_exit_data): Likewise.
6200 (goacc_wait): Likewise.
6201 (GOACC_update): Likewise.
6202 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6203 when called, warn as obsolete in comment.
6204 * target.c (goacc_device_copy_async): New function.
6205 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6206 add goacc_device_copy_async case.
6207 (gomp_copy_dev2host): Likewise.
6208 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6209 (gomp_map_pointer): Likewise.
6210 (gomp_map_fields_existing): Likewise.
6211 (gomp_map_vars_internal): New always_inline function, renamed from
6212 gomp_map_vars.
6213 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6214 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6215 passing goacc_asyncqueue argument.
6216 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6217 (gomp_unref_tgt): New function.
6218 (gomp_unmap_vars_internal): New always_inline function, renamed from
6219 gomp_unmap_vars.
6220 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6221 (gomp_unmap_vars_async): Implement by calling
6222 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6223 (gomp_fini_device): New function.
6224 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6225 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6226 new async interface.
6227 (gomp_target_fini): Adjust code to call gomp_fini_device.
6228
6229 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6230 (struct ptx_stream): Remove.
6231 (struct nvptx_thread): Remove current_stream field.
6232 (cuda_map_create): Remove.
6233 (cuda_map_destroy): Remove.
6234 (map_init): Remove.
6235 (map_fini): Remove.
6236 (map_pop): Remove.
6237 (map_push): Remove.
6238 (struct goacc_asyncqueue): Define.
6239 (struct nvptx_callback): Define.
6240 (struct ptx_free_block): Define.
6241 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6242 stream_lock, and next fields.
6243 (enum ptx_event_type): Remove.
6244 (struct ptx_event): Remove.
6245 (ptx_event_lock): Remove.
6246 (ptx_events): Remove.
6247 (init_streams_for_device): Remove.
6248 (fini_streams_for_device): Remove.
6249 (select_stream_for_async): Remove.
6250 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6251 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6252 case.
6253 (nvptx_open_device): Add free_blocks initialization, remove
6254 init_streams_for_device call.
6255 (nvptx_close_device): Remove fini_streams_for_device call, add
6256 free_blocks destruct code.
6257 (event_gc): Remove.
6258 (event_add): Remove.
6259 (nvptx_exec): Adjust parameters and code.
6260 (nvptx_free): Likewise.
6261 (nvptx_host2dev): Remove.
6262 (nvptx_dev2host): Remove.
6263 (nvptx_set_async): Remove.
6264 (nvptx_async_test): Remove.
6265 (nvptx_async_test_all): Remove.
6266 (nvptx_wait): Remove.
6267 (nvptx_wait_async): Remove.
6268 (nvptx_wait_all): Remove.
6269 (nvptx_wait_all_async): Remove.
6270 (nvptx_get_cuda_stream): Remove.
6271 (nvptx_set_cuda_stream): Remove.
6272 (GOMP_OFFLOAD_alloc): Adjust code.
6273 (GOMP_OFFLOAD_free): Likewise.
6274 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6275 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6276 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6277 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6278 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6279 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6280 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6281 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6282 (cuda_free_argmem): New function.
6283 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6284 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6285 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6286 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6287 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6288 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6289 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6290 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6291 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6292 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6293 (cuda_callback_wrapper): New function.
6294 (cuda_memcpy_sanity_check): New function.
6295 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6296 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6297 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6298 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6299
6300 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6301
6302 PR target/87835
6303 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6304
6305 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6306
6307 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6308
6309 2019-03-27 Kevin Buettner <kevinb@redhat.com>
6310
6311 * team.c (gomp_team_start): Initialize pool->threads[0].
6312
6313 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6314
6315 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6316 "-foffload=$offload_target".
6317 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6318 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6319 * testsuite/lib/libgomp.exp
6320 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6321 as (conceptually) merged into
6322 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6323 users.
6324
6325 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6326 * testsuite/libgomp-test-support.exp.in: Adjust.
6327 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6328 openacc_device_types_s.
6329 (offload_target_to_openacc_device_type): New proc.
6330 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6331 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6332 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6333 * Makefile.in: Regenerate.
6334 * configure: Likewise.
6335 * testsuite/Makefile.in: Likewise.
6336
6337 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6338 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6339 instead of OFFLOAD_TARGETS.
6340 * target.c (gomp_target_init): Adjust.
6341 * testsuite/libgomp-test-support.exp.in: Likewise.
6342 * testsuite/lib/libgomp.exp: Likewise. Populate
6343 openacc_device_types_s instead of offload_targets_s_openacc.
6344 (check_effective_target_openacc_nvidia_accel_selected)
6345 (check_effective_target_openacc_host_selected): Adjust.
6346 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6347 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6348 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6349 * Makefile.in: Regenerate.
6350 * config.h.in: Likewise.
6351 * configure: Likewise.
6352 * testsuite/Makefile.in: Likewise.
6353
6354 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6355 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6356 "offloading: supported, but hardware not accessible".
6357 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6358 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6359
6360 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6361
6362 PR c/87924
6363 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6364 goacc_wait().
6365 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6366 and related adjustment.
6367
6368 2019-01-30 Jakub Jelinek <jakub@redhat.com>
6369
6370 PR c++/88988
6371 * testsuite/libgomp.c++/pr88988.C: New test.
6372
6373 2019-01-28 Jakub Jelinek <jakub@redhat.com>
6374
6375 PR middle-end/89002
6376 * testsuite/libgomp.c/pr89002.c: New test.
6377
6378 2019-01-28 Richard Biener <rguenther@suse.de>
6379
6380 PR testsuite/89064
6381 PR tree-optimization/86865
6382 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6383
6384 2019-01-24 Tom de Vries <tdevries@suse.de>
6385
6386 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6387 once instantiated_devices drops to 0.
6388
6389 2019-01-23 Tom de Vries <tdevries@suse.de>
6390
6391 PR target/PR88946
6392 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6393 cuMemFree.
6394 (nvptx_exec): Don't call map_push if mapnum == 0.
6395 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6396
6397 2019-01-23 Tom de Vries <tdevries@suse.de>
6398
6399 PR target/88941
6400 PR target/88939
6401 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6402 (map_fini): Remove "assert (!s->map->active)".
6403 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6404
6405 2019-01-23 Tom de Vries <tdevries@suse.de>
6406
6407 PR target/87835
6408 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6409 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6410
6411 2019-01-15 Tom de Vries <tdevries@suse.de>
6412
6413 PR target/80547
6414 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6415 New test.
6416
6417 2019-01-12 Tom de Vries <tdevries@suse.de>
6418
6419 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6420 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6421 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6422 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6423
6424 2019-01-12 Tom de Vries <tdevries@suse.de>
6425
6426 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6427
6428 2019-01-12 Tom de Vries <tdevries@suse.de>
6429
6430 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6431 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6432 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6433
6434 2019-01-12 Tom de Vries <tdevries@suse.de>
6435
6436 PR target/85486
6437 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6438 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6439
6440 2019-01-12 Tom de Vries <tdevries@suse.de>
6441
6442 PR target/85381
6443 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6444 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6445
6446 2019-01-12 Tom de Vries <tdevries@suse.de>
6447
6448 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6449 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6450 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6451
6452 2019-01-12 Tom de Vries <tdevries@suse.de>
6453
6454 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6455 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6456 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6457
6458 2019-01-12 Tom de Vries <tdevries@suse.de>
6459
6460 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6461 resources diagnostic.
6462
6463 2019-01-12 Tom de Vries <tdevries@suse.de>
6464
6465 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6466 vector length to be 128.
6467 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6468 length 2097152 to be reduced to 1024 instead of 32.
6469
6470 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
6471 James Norris <jnorris@codesourcery.com>
6472
6473 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6474 Library Routines", and "Environment Variables".
6475
6476 2019-01-11 Tom de Vries <tdevries@suse.de>
6477
6478 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6479 num_workers 16.
6480
6481 2019-01-11 Tom de Vries <tdevries@suse.de>
6482
6483 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6484 -foffload=-w.
6485 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6486 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6487 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6488 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6489
6490 2019-01-11 Tom de Vries <tdevries@suse.de>
6491
6492 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6493 test.
6494
6495 2019-01-10 Nathan Sidwell <nathan@acm.org>
6496 Julian Brown <julian@codesourcery.com>
6497
6498 PR lto/71959
6499 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6500 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6501
6502 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6503
6504 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6505 and paste code.
6506
6507 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6508
6509 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6510 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6511 write.
6512
6513 2019-01-09 Tom de Vries <tdevries@suse.de>
6514
6515 PR target/88756
6516 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6517 #define instead of "const int".
6518 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6519 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6520 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6521 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6522
6523 2019-01-09 Tom de Vries <tdevries@suse.de>
6524
6525 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6526 one worker.
6527
6528 2019-01-07 Tom de Vries <tdevries@suse.de>
6529
6530 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6531 GOMP_OPENACC_DIM argument.
6532
6533 2019-01-03 Tom de Vries <tdevries@suse.de>
6534
6535 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6536 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6537
6538 2019-01-01 Jakub Jelinek <jakub@redhat.com>
6539
6540 Update copyright years.
6541
6542 2019-01-01 Jakub Jelinek <jakub@redhat.com>
6543
6544 * libgomp.texi: Bump @copying's copyright year.
6545
6546 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6547
6548 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6549 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6550 (GOACC_declare): Redefine the "device" argument to "flags".
6551
6552 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6553 Cesar Philippidis <cesar@codesourcery.com>
6554
6555 * target.c (struct gomp_coalesce_chunk): New structure.
6556 (struct gomp_coalesce_buf): Update the chunks member to use that
6557 type. Adjust all users.
6558
6559 2018-12-19 Tom de Vries <tdevries@suse.de>
6560
6561 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6562 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6563 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6564
6565 2018-12-19 Tom de Vries <tdevries@suse.de>
6566
6567 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6568 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6569 gcc/testsuite/gcc.dg/goacc.
6570 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6571
6572 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6573 Chung-Lin Tang <cltang@codesourcery.com>
6574
6575 * oacc-mem.c (acc_present_or_create): Remove definition and change
6576 to alias of acc_create.
6577 (acc_present_or_copyin): Remove definition and change to alias of
6578 acc_copyin.
6579 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6580 of acc_present_or_create.
6581 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6582 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6583 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6584 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6585 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6586 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6587 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6588 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6589 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6590 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6591 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6592 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6593 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6594 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6595 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6596 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6597
6598 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6599
6600 PR libgomp/88495
6601 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6602 "identical parameters".
6603 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6604 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6605
6606 PR libgomp/88484
6607 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6608 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6609
6610 PR libgomp/88407
6611 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6612 (nvptx_wait_async): Unseen async-argument is a no-op.
6613 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6614 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6615 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6616 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6617 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6618 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6619 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6620 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6621 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6622
6623 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6624 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6625
6626 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
6627
6628 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6629 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6630 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6631
6632 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6633
6634 PR libgomp/88370
6635 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6636 (acc_set_cuda_stream): Clarify.
6637 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6638 "async_valid_p".
6639 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6640 acc_async_sync".
6641 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6642 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6643 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6644 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6645
6646 2018-12-14 Tom de Vries <tdevries@suse.de>
6647
6648 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6649 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6650 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6651 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6652 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6653
6654 2018-12-13 Tom de Vries <tdevries@suse.de>
6655
6656 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6657 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6658 * fortran.c (omp_display_affinity_): ... here.
6659 * libgomp.h (gomp_print_string): Declare.
6660 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6661 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6662 write.
6663
6664 2018-12-13 Jakub Jelinek <jakub@redhat.com>
6665
6666 PR libgomp/88460
6667 * testsuite/libgomp.c++/for-24.C (results): Include it in
6668 omp declare target region.
6669 (main): Use map (always, tofrom: results) instead of
6670 map (tofrom: results).
6671
6672 2018-12-12 Jakub Jelinek <jakub@redhat.com>
6673
6674 PR fortran/88463
6675 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6676 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6677
6678 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6679
6680 2018-12-12 Andreas Schwab <schwab@suse.de>
6681
6682 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6683 clobbered.
6684
6685 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
6686
6687 PR fortran/88411
6688 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6689
6690 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
6691 Jakub Jelinek <jakub@redhat.com>
6692
6693 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6694 devicep->host2dev_func.
6695
6696 2018-12-08 Jakub Jelinek <jakub@redhat.com>
6697
6698 PR libgomp/87995
6699 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6700 tls_runtime effective target.
6701 (t): New threadprivate variable.
6702 (main): Set t in threads which execute iterations of the worksharing
6703 loop. Propagate that to the task after the loop and don't abort
6704 if the current taskgroup hasn't been cancelled.
6705
6706 2018-12-02 Jakub Jelinek <jakub@redhat.com>
6707
6708 * testsuite/libgomp.c/task-reduction-3.c: New test.
6709
6710 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6711
6712 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
6713
6714 PR libgomp/88288
6715 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6716 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6717
6718 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
6719
6720 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6721
6722 2018-10-19 Richard Biener <rguenther@suse.de>
6723
6724 PR tree-optimization/88182
6725 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6726
6727 2018-11-26 Jakub Jelinek <jakub@redhat.com>
6728
6729 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6730 (RUNTEST): Don't define.
6731 (RUNTESTDEFAULTFLAGS): Add.
6732 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6733 (distclean-am): Depend on distclean-DEJAGNU.
6734 (check-am): If -j% option is present in MFLAGS and if
6735 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6736 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6737 * testsuite/Makefile.in: Regenerated.
6738
6739 2018-11-26 Richard Biener <rguenther@suse.de>
6740
6741 PR tree-optimization/88182
6742 * testsuite/libgomp.c++/pr88182.C: New testcase.
6743
6744 2018-11-20 Jakub Jelinek <jakub@redhat.com>
6745
6746 PR bootstrap/88106
6747 * config/mingw32/affinity-fmt.c: New file.
6748
6749 2018-11-09 Jakub Jelinek <jakub@redhat.com>
6750
6751 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6752 (gomp_display_affinity): Use __builtin_choose_expr to handle
6753 properly handle argument having integral, or pointer or some other
6754 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6755 with uint64_t type instead of %llx and unsigned long long.
6756
6757 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6758 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6759
6760 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6761
6762 * affinity.c: Include <string.h>, <stdio.h>.
6763 (gomp_display_affinity_place): Remove cpusetp.
6764 * teams.c: Include <limits.h>.
6765
6766 2018-11-08 Jakub Jelinek <jakub@redhat.com>
6767
6768 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6769 in_reduction clause for s[0].
6770
6771 * affinity.c (gomp_display_affinity_place): New function.
6772 * affinity-fmt.c: New file.
6773 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6774 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6775 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6776 Move these functions to ...
6777 * config/nvptx/teams.c: ... here. New file.
6778 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6779 New functions.
6780 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6781 functions.
6782 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6783 and _aligned_malloc.
6784 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6785 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6786 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6787 gomp_affinity_format_len): New variables.
6788 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6789 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6790 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6791 modifiers. Display (non-default) chunk sizes. Print
6792 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6793 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6794 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6795 * fortran.c: Include stdio.h and string.h.
6796 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6797 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6798 (omp_set_affinity_format_, omp_get_affinity_format_,
6799 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6800 omp_pause_resource_all_): New functions.
6801 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6802 switch.
6803 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6804 functions to ...
6805 * teams.c: ... here. New file.
6806 * libgomp_g.h: Include gstdint.h.
6807 (GOMP_loop_nonmonotonic_runtime_start,
6808 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6809 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6810 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6811 GOMP_parallel_loop_nonmonotonic_runtime,
6812 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6813 GOMP_loop_ull_nonmonotonic_runtime_start,
6814 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6815 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6816 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6817 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6818 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6819 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6820 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6821 GOMP_teams_reg): Declare.
6822 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6823 gomp_aligned_alloc uses fallback implementation.
6824 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6825 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6826 (struct gomp_doacross_work_share): Add extra field.
6827 (struct gomp_work_share): Add task_reductions field.
6828 (struct gomp_taskgroup): Add workshare and reductions fields.
6829 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6830 (gomp_thread_handle): New typedef.
6831 (gomp_display_affinity_place, gomp_set_affinity_format,
6832 gomp_display_string, gomp_display_affinity,
6833 gomp_display_affinity_thread): Declare.
6834 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6835 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6836 gomp_workshare_task_reduction_register): Declare.
6837 (gomp_team_start): Add taskgroup argument.
6838 (gomp_pause_host): Declare.
6839 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6840 to size_t.
6841 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6842 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6843 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6844 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6845 GOMP_loop_ull_doacross_start,
6846 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6847 GOMP_loop_maybe_nonmonotonic_runtime_next,
6848 GOMP_loop_maybe_nonmonotonic_runtime_start,
6849 GOMP_loop_nonmonotonic_runtime_next,
6850 GOMP_loop_nonmonotonic_runtime_start,
6851 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6852 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6853 GOMP_loop_ull_nonmonotonic_runtime_next,
6854 GOMP_loop_ull_nonmonotonic_runtime_start,
6855 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6856 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6857 GOMP_taskgroup_reduction_register,
6858 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6859 GOMP_teams_reg and GOMP_taskwait_depend.
6860 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6861 omp_{capture,display}_affinity{,_}, and
6862 omp_[gs]et_affinity_format{,_}.
6863 * loop.c: Include string.h.
6864 (GOMP_loop_runtime_next): Add ialias.
6865 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6866 (gomp_loop_static_start, gomp_loop_dynamic_start,
6867 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6868 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6869 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6870 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6871 or gomp_doacross_init callers.
6872 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6873 GOMP_loop_doacross_start): New functions.
6874 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6875 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6876 Mask off GFS_MONOTONIC bit.
6877 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6878 GOMP_loop_maybe_nonmonotonic_runtime_start,
6879 GOMP_loop_nonmonotonic_runtime_next,
6880 GOMP_loop_nonmonotonic_runtime_start,
6881 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6882 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6883 functions.
6884 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6885 gomp_team_start.
6886 * loop_ull.c: Include string.h.
6887 (GOMP_loop_ull_runtime_next): Add ialias.
6888 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6889 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6890 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6891 gomp_loop_ull_ordered_dynamic_start,
6892 gomp_loop_ull_ordered_guided_start,
6893 gomp_loop_ull_doacross_static_start,
6894 gomp_loop_ull_doacross_dynamic_start,
6895 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6896 and gomp_doacross_ull_init callers.
6897 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6898 GOMP_loop_ull_doacross_start): New functions.
6899 (GOMP_loop_ull_runtime_start,
6900 GOMP_loop_ull_ordered_runtime_start,
6901 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6902 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6903 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6904 GOMP_loop_ull_nonmonotonic_runtime_next,
6905 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6906 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6907 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6908 (omp_pause_resource_t, omp_depend_t): New typedefs.
6909 (enum omp_lock_hint_t): Renamed to ...
6910 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6911 enumerators using numbers and omp_lock_hint_* as their aliases.
6912 (omp_lock_hint_t): New typedef. Rename to ...
6913 (omp_sync_hint_t): ... this.
6914 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6915 omp_sync_hint_t instead of omp_lock_hint_t.
6916 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6917 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6918 Declare.
6919 (omp_target_is_present, omp_target_disassociate_ptr):
6920 Change first argument from void * to const void *.
6921 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6922 from void * to const void *.
6923 (omp_target_associate_ptr): Change first and second arguments from
6924 void * to const void *.
6925 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6926 omp_pause_hard): New parameters.
6927 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6928 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6929 New interfaces.
6930 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6931 omp_pause_hard): New parameters.
6932 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6933 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6934 New externals.
6935 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6936 EXTRA argument. If not needed to prepare array, if extra is 0,
6937 clear ws->doacross, otherwise allocate just doacross structure and
6938 extra payload. If array is needed, allocate also extra payload.
6939 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6940 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6941 doacross == NULL.
6942 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6943 gomp_team_start.
6944 (GOMP_parallel): Likewise. Formatting fix.
6945 (GOMP_parallel_reductions): New function.
6946 (GOMP_cancellation_point): If taskgroup has workshare
6947 flag set, check cancelled of prev taskgroup if any.
6948 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6949 on prev taskgroup if any.
6950 * sections.c: Include string.h.
6951 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6952 (GOMP_sections_start): Adjust gomp_work_share_start caller.
6953 (GOMP_sections2_start): New function.
6954 (GOMP_parallel_sections_start, GOMP_parallel_sections):
6955 Pass NULL as taskgroup to gomp_team_start.
6956 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6957 gomp_work_share_start callers.
6958 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6959 If taskgroup has workshare flag set, check cancelled on prev
6960 taskgroup if any. Guard all cancellation tests with
6961 gomp_cancel_var test.
6962 (omp_target_is_present, omp_target_disassociate_ptr):
6963 Change ptr argument from void * to const void *.
6964 (omp_target_memcpy): Change src argument from void * to const void *.
6965 (omp_target_memcpy_rect): Likewise.
6966 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
6967 instead of char * where needed.
6968 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6969 from void * to const void *.
6970 (omp_pause_resource, omp_pause_resource_all): New functions.
6971 * task.c (gomp_task_handle_depend): Handle new depend array format
6972 in addition to the old. Handle mutexinoutset kinds the same as
6973 inout for now, handle unspecified kinds.
6974 (gomp_create_target_task): If taskgroup has workshare flag set, check
6975 cancelled on prev taskgroup if any. Guard all cancellation tests with
6976 gomp_cancel_var test. Handle new depend array format count in
6977 addition to the old.
6978 (GOMP_task): Likewise. Adjust function comment.
6979 (gomp_task_run_pre): If taskgroup has workshare flag set, check
6980 cancelled on prev taskgroup if any. Guard all cancellation tests with
6981 gomp_cancel_var test.
6982 (GOMP_taskwait_depend): New function.
6983 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6984 format in addition to the old. Handle mutexinoutset kinds the same as
6985 inout for now, handle unspecified kinds. Fix a function comment typo.
6986 (gomp_taskgroup_init): New function.
6987 (GOMP_taskgroup_start): Use it.
6988 (gomp_reduction_register, gomp_create_artificial_team,
6989 GOMP_taskgroup_reduction_register,
6990 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6991 gomp_parallel_reduction_register,
6992 gomp_workshare_task_reduction_register,
6993 gomp_workshare_taskgroup_start,
6994 GOMP_workshare_task_reduction_unregister): New functions.
6995 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6996 check cancelled on prev taskgroup if any. Guard all cancellation
6997 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6998 by calling GOMP_taskgroup_reduction_register.
6999 * team.c (gomp_thread_attr): Remove comment.
7000 (struct gomp_thread_start_data): Add handle field.
7001 (gomp_thread_start): Call pthread_detach.
7002 (gomp_new_team): Adjust gomp_init_work_share caller.
7003 (gomp_free_pool_helper): Call pthread_detach.
7004 (gomp_team_start): Add taskgroup argument, initialize implicit
7005 tasks' taskgroup field to that. Don't call
7006 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7007 (gomp_team_end): Determine nesting by thr->ts.level != 0
7008 rather than thr->ts.team != NULL.
7009 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7010 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7011 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7012 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7013 if more than 1 allocate also extra payload at the end of array. Never
7014 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7015 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7016 return true instead of ws.
7017 * Makefile.in: Regenerated.
7018 * configure: Regenerated.
7019 * config.h.in: Regenerated.
7020 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7021 in some cases.
7022 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7023 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7024 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7025 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7026 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7027 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7028 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7029 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7030 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7031 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7032 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7033 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7034 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7035 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7036 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7037 define a different N(test), don't define N(f0) to N(f14), but instead
7038 define N(f20) to N(f34) using != comparisons.
7039 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7040 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7041 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7042 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7043 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7044 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7045 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7046 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7047 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7048 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7049 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7050 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7051 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7052 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7053 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7054 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7055 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7056 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7057 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7058 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7059 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7060 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7061 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7062 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7063 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7064 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7065 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7066 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7067 * testsuite/libgomp.c++/depend-1.C: New test.
7068 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7069 * testsuite/libgomp.c++/depobj-1.C: New test.
7070 * testsuite/libgomp.c++/for-16.C: New test.
7071 * testsuite/libgomp.c++/for-21.C: New test.
7072 * testsuite/libgomp.c++/for-22.C: New test.
7073 * testsuite/libgomp.c++/for-23.C: New test.
7074 * testsuite/libgomp.c++/for-24.C: New test.
7075 * testsuite/libgomp.c++/for-25.C: New test.
7076 * testsuite/libgomp.c++/for-26.C: New test.
7077 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7078 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7079 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7080 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7081 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7082 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7083 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7084 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7085 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7086 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7087 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7088 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7089 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7090 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7091 * testsuite/libgomp.c/task-reduction-1.c: New test.
7092 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7093 * testsuite/libgomp.c/task-reduction-2.c: New test.
7094 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7095 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7096 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7097 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7098 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7099 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7100 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7101 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7102 * testsuite/libgomp.c/teams-1.c: New test.
7103 * testsuite/libgomp.c/teams-2.c: New test.
7104 * testsuite/libgomp.c/thread-limit-4.c: New test.
7105 * testsuite/libgomp.c/thread-limit-5.c: New test.
7106 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7107
7108 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7109
7110 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7111 acc_memcpy_to/from_device functions, now with async parameter.
7112 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7113 (acc_memcpy_from_device): Likewise.
7114 (acc_memcpy_to_device_async): New API function.
7115 (acc_memcpy_from_device_async): Likewise.
7116 (present_create_copy): Add async parameter and async setting/unsetting.
7117 (acc_create): Adjust present_create_copy call.
7118 (acc_copyin): Likewise.
7119 (acc_present_or_create): Likewise.
7120 (acc_present_or_copyin): Likewise.
7121 (acc_create_async): New API function.
7122 (acc_copyin_async): New API function.
7123 (delete_copyout): Add async parameter and async setting/unsetting.
7124 (acc_delete): Adjust delete_copyout call.
7125 (acc_copyout): Likewise.
7126 (acc_delete_async): New API function.
7127 (acc_copyout_async): Likewise.
7128 (update_dev_host): Add async parameter and async setting/unsetting.
7129 (acc_update_device): Adjust update_dev_host call.
7130 (acc_update_self): Likewise.
7131 (acc_update_device_async): New API function.
7132 (acc_update_self_async): Likewise.
7133 * openacc.h (acc_copyin_async): Declare new API function.
7134 (acc_create_async): Likewise.
7135 (acc_copyout_async): Likewise.
7136 (acc_delete_async): Likewise.
7137 (acc_update_device_async): Likewise.
7138 (acc_update_self_async): Likewise.
7139 (acc_memcpy_to_device_async): Likewise.
7140 (acc_memcpy_from_device_async): Likewise.
7141 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7142 (acc_copyin_async_64_h): New subroutine.
7143 (acc_copyin_async_array_h): New subroutine.
7144 (acc_create_async_32_h): New subroutine.
7145 (acc_create_async_64_h): New subroutine.
7146 (acc_create_async_array_h): New subroutine.
7147 (acc_copyout_async_32_h): New subroutine.
7148 (acc_copyout_async_64_h): New subroutine.
7149 (acc_copyout_async_array_h): New subroutine.
7150 (acc_delete_async_32_h): New subroutine.
7151 (acc_delete_async_64_h): New subroutine.
7152 (acc_delete_async_array_h): New subroutine.
7153 (acc_update_device_async_32_h): New subroutine.
7154 (acc_update_device_async_64_h): New subroutine.
7155 (acc_update_device_async_array_h): New subroutine.
7156 (acc_update_self_async_32_h): New subroutine.
7157 (acc_update_self_async_64_h): New subroutine.
7158 (acc_update_self_async_array_h): New subroutine.
7159 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7160 (acc_copyin_async_64_h): New subroutine.
7161 (acc_copyin_async_array_h): New subroutine.
7162 (acc_create_async_32_h): New subroutine.
7163 (acc_create_async_64_h): New subroutine.
7164 (acc_create_async_array_h): New subroutine.
7165 (acc_copyout_async_32_h): New subroutine.
7166 (acc_copyout_async_64_h): New subroutine.
7167 (acc_copyout_async_array_h): New subroutine.
7168 (acc_delete_async_32_h): New subroutine.
7169 (acc_delete_async_64_h): New subroutine.
7170 (acc_delete_async_array_h): New subroutine.
7171 (acc_update_device_async_32_h): New subroutine.
7172 (acc_update_device_async_64_h): New subroutine.
7173 (acc_update_device_async_array_h): New subroutine.
7174 (acc_update_self_async_32_h): New subroutine.
7175 (acc_update_self_async_64_h): New subroutine.
7176 (acc_update_self_async_array_h): New subroutine.
7177 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7178 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7179 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7180 acc_memcpy_to_device_async*, acc_update_device_async*, and
7181 acc_update_self_async* entries.
7182 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7183 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7184 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7185
7186 2018-10-31 Joseph Myers <joseph@codesourcery.com>
7187
7188 PR bootstrap/82856
7189 * Makefile.am: Include multilib.am
7190 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7191 (CLEANFILES): Remove libgomp.info.
7192 * configure.ac: Remove AC_PREREQ.
7193 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7194 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7195 Regenerate.
7196
7197 2018-10-29 Joseph Myers <joseph@codesourcery.com>
7198 Julian Brown <julian@codesourcery.com>
7199
7200 * testsuite/libgomp.oacc-c++/this.C: New.
7201
7202 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7203
7204 * plugin/plugin-nvptx.c (struct cuda_map): New.
7205 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7206 h_tail with (cuda_map *) map.
7207 (cuda_map_create): New function.
7208 (cuda_map_destroy): New function.
7209 (map_init): Update to use a linked list of cuda_map objects.
7210 (map_fini): Likewise.
7211 (map_pop): Likewise.
7212 (map_push): Likewise. Return CUdeviceptr instead of void.
7213 (init_streams_for_device): Remove stales references to ptx_stream
7214 members.
7215 (select_stream_for_async): Likewise.
7216 (nvptx_exec): Update call to map_init.
7217
7218 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7219 Julian Brown <julian@codesourcery.com>
7220
7221 PR middle-end/86336
7222 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7223
7224 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7225 Thomas Koenig <tkoenig@gcc.gnu.org>
7226
7227 PR fortran/25829
7228 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7229 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7230 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7231 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7232 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7233 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7234 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7235
7236 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7237 Tom de Vries <tdevries@suse.de>
7238
7239 PR target/85590
7240 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7241 (cuOccupancyMaxPotentialBlockSize): Declare.
7242 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7243 CUDA_ONE_CALL_MAYBE_NULL.
7244 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7245 CUoccupancyB2DSize and declare
7246 cuOccupancyMaxPotentialBlockSize.
7247 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7248 default num_gangs and num_workers when the driver supports it.
7249
7250 2018-08-08 Tom de Vries <tdevries@suse.de>
7251
7252 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7253 CUDA_ONE_CALL_MAYBE_NULL.
7254 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7255 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7256 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7257 are not found.
7258
7259 2018-08-08 Tom de Vries <tdevries@suse.de>
7260
7261 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7262 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7263 present.
7264
7265 2018-08-08 Tom de Vries <tdevries@suse.de>
7266
7267 * plugin/plugin-nvptx.c
7268 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7269 (nvptx_open_device): Use
7270 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7271
7272 2018-08-08 Tom de Vries <tdevries@suse.de>
7273
7274 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7275 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7276
7277 2018-08-07 Tom de Vries <tdevries@suse.de>
7278
7279 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7280 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7281 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7282 corresponding call in CUDA_ONE_CALL. Add def/undef of
7283 CUDA_ONE_CALL_MAYBE_NULL.
7284 (CUDA_CALL_EXISTS): Define.
7285
7286 2018-08-07 Tom de Vries <tdevries@suse.de>
7287
7288 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7289 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7290 corresponding undefs right after.
7291
7292 2018-08-04 Tom de Vries <tdevries@suse.de>
7293
7294 * plugin/configfrag.ac: For --without-cuda-driver, set
7295 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7296 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7297 * configure: Regenerate.
7298
7299 2018-08-02 Tom de Vries <tdevries@suse.de>
7300
7301 PR target/86660
7302 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7303 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7304 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7305 Same.
7306 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7307 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7308 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7309
7310 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7311 Thomas Schwinge <thomas@codesourcery.com>
7312
7313 * config/nvptx/oacc-parallel.c: Truncate.
7314
7315 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7316 James Norris <jnorris@codesourcery.com>
7317
7318 * plugin/plugin-nvptx.c (struct map): Removed.
7319 (map_init, map_pop): Remove use of struct map.
7320 (map_push): Likewise and change argument list.
7321 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7322
7323 2018-08-01 Tom de Vries <tdevries@suse.de>
7324
7325 * plugin/cuda-lib.def: New file. Factor out of ...
7326 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7327 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7328 using CUDA_CALLS.
7329
7330 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7331
7332 Revert 'AsyncI/O patch committed'.
7333 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7334 Thomas Koenig <tkoenig@gcc.gnu.org>
7335
7336 PR fortran/25829
7337 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7338 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7339 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7340 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7341 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7342 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7343 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7344
7345 2018-07-30 Tom de Vries <tdevries@suse.de>
7346
7347 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7348 (nvptx_exec): Ensure worker and vector default dims don't exceed
7349 targ_fn->max_threads_per_block.
7350
7351 2018-07-30 Tom de Vries <tdevries@suse.de>
7352
7353 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7354 (nvptx_open_device): Init default_dims for device.
7355 (nvptx_exec): Use default_dims from device.
7356
7357 2018-07-26 Jakub Jelinek <jakub@redhat.com>
7358
7359 PR testsuite/86660
7360 * testsuite/libgomp.c++/for-15.C (results): Include it in
7361 omp declare target region.
7362 (main): Use map (always, tofrom: results) instead of
7363 map (tofrom: results).
7364
7365 PR middle-end/86660
7366 * testsuite/libgomp.c/pr86660.c: New test.
7367
7368 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7369 Tom de Vries <tdevries@suse.de>
7370
7371 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7372 sufficient resources to launch a kernel, and give a hint on how to fix
7373 it.
7374
7375 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7376 Tom de Vries <tdevries@suse.de>
7377
7378 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7379 max_threads_per_block and max_threads_per_multiprocessor fields.
7380 (nvptx_open_device): Initialize new fields.
7381 (nvptx_exec): Use num_sms, and new fields.
7382
7383 2018-07-26 Tom de Vries <tdevries@suse.de>
7384
7385 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7386 to correct locations. Remove xfail.
7387
7388 2018-07-26 Tom de Vries <tdevries@suse.de>
7389
7390 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7391 acc_wait. Move acc_async_test calls to correct locations. Remove
7392 xfail.
7393
7394 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7395 Thomas Koenig <tkoenig@gcc.gnu.org>
7396
7397 PR fortran/25829
7398 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7399 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7400 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7401 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7402 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7403 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7404 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7405
7406 2018-07-17 Jakub Jelinek <jakub@redhat.com>
7407
7408 PR middle-end/86542
7409 * testsuite/libgomp.c++/pr86542.C: New test.
7410
7411 PR middle-end/86539
7412 * testsuite/libgomp.c++/pr86539.C: New test.
7413
7414 2018-07-11 Jakub Jelinek <jakub@redhat.com>
7415
7416 PR c++/86443
7417 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7418 (results): Make sure the variable is not inside declare target region.
7419 (qux): Remove unused function.
7420
7421 2018-07-10 Jakub Jelinek <jakub@redhat.com>
7422
7423 PR c++/86443
7424 * testsuite/libgomp.c++/for-15.C: New test.
7425
7426 2018-06-26 Jakub Jelinek <jakub@redhat.com>
7427
7428 PR c++/86291
7429 * testsuite/libgomp.c++/pr86291.C: New test.
7430
7431 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
7432
7433 * libgomp.texi (Top): Move www.openmp.org to https.
7434 (Enabling OpenMP): Ditto.
7435 (omp_get_active_level): Ditto.
7436 (omp_get_ancestor_thread_num): Ditto.
7437 (omp_get_cancellation): Ditto.
7438 (omp_get_default_device): Ditto.
7439 (omp_get_dynamic): Ditto.
7440 (omp_get_level): Ditto.
7441 (omp_get_max_active_levels): Ditto.
7442 (omp_get_max_task_priority): Ditto.
7443 (omp_get_max_threads): Ditto.
7444 (omp_get_nested): Ditto.
7445 (omp_get_num_devices): Ditto.
7446 (omp_get_num_procs): Ditto.
7447 (omp_get_num_teams): Ditto.
7448 (omp_get_num_threads): Ditto.
7449 (omp_get_proc_bind): Ditto.
7450 (omp_get_schedule): Ditto.
7451 (omp_get_team_num): Ditto.
7452 (omp_get_team_size): Ditto.
7453 (omp_get_thread_limit): Ditto.
7454 (omp_get_thread_num): Ditto.
7455 (omp_in_parallel): Ditto.
7456 (omp_in_final): Ditto.
7457 (omp_is_initial_device): Ditto.
7458 (omp_set_default_device): Ditto.
7459 (omp_set_dynamic): Ditto.
7460 (omp_set_max_active_levels): Ditto.
7461 (omp_set_nested): Ditto.
7462 (omp_set_num_threads): Ditto.
7463 (omp_set_schedule): Ditto.
7464 (omp_init_lock): Ditto.
7465 (omp_set_lock): Ditto.
7466 (omp_test_lock): Ditto.
7467 (omp_unset_lock): Ditto.
7468 (omp_destroy_lock): Ditto.
7469 (omp_init_nest_lock): Ditto.
7470 (omp_set_nest_lock): Ditto.
7471 (omp_test_nest_lock): Ditto.
7472 (omp_unset_nest_lock): Ditto.
7473 (omp_destroy_nest_lock): Ditto.
7474 (omp_get_wtick): Ditto.
7475 (omp_get_wtime): Ditto.
7476 (OMP_CANCELLATION): Ditto.
7477 (OMP_DISPLAY_ENV): Ditto.
7478 (OMP_DEFAULT_DEVICE): Ditto.
7479 (OMP_DYNAMIC): Ditto.
7480 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7481 (OMP_MAX_TASK_PRIORITY): Ditto.
7482 (OMP_NESTED): Ditto.
7483 (OMP_NUM_THREADS): Ditto.
7484 (OMP_PROC_BIND): Ditto.
7485 (OMP_PLACES): Ditto.
7486 (OMP_STACKSIZE): Ditto.
7487 (OMP_SCHEDULE): Ditto.
7488 (OMP_THREAD_LIMIT): Ditto.
7489 (OMP_WAIT_POLICY): Ditto.
7490
7491 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
7492 James Norris <jnorris@codesourcery.com>
7493 Julian Brown <julian@codesourcery.com>
7494 Thomas Schwinge <thomas@codesourcery.com>
7495 Tom de Vries <tom@codesourcery.com>
7496
7497 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7498 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7499 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7500 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7501 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7502 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7503 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7504 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7505 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7506 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7507 Likewise.
7508 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7509 Likewise.
7510 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7511 Likewise.
7512 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7513 Likewise.
7514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7515 Likewise.
7516 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7517 Likewise.
7518 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7519 Likewise.
7520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7521 Likewise.
7522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7523 Likewise.
7524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7525 Likewise.
7526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7527 Likewise.
7528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7529 Likewise.
7530 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7531 Likewise.
7532 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7533 Likewise.
7534 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7535 Likewise.
7536 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7537 Likewise.
7538 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7539 Likewise.
7540 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7541 Likewise.
7542 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7543 Likewise.
7544 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7545 Likewise.
7546 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7547 Likewise.
7548 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7549 Likewise.
7550 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7551 Likewise.
7552 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7553 Likewise.
7554 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7555 Likewise.
7556 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7557 Likewise.
7558 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7559 Likewise.
7560 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7561 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7562 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7563 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7564 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7565 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7566 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7567 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7568 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7569 Likewise.
7570 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7571 Likewise.
7572 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7573 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7574 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7575 Likewise.
7576 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7577 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7578 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7579 Likewise.
7580 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7581 Likewise.
7582 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7583 Likewise.
7584 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7585 Likewise.
7586 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7587 Likewise.
7588 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7589 Likewise.
7590 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7591 Likewise.
7592 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7593 Likewise.
7594 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7595 Likewise.
7596 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7597 Likewise.
7598 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7599 Likewise.
7600 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7601 Likewise.
7602 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7603 Likewise.
7604 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7605 Likewise.
7606 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7607 Likewise.
7608 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7609 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7610 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7611 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7612 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7613 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7614 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7615
7616 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
7617 Thomas Schwinge <thomas@codesourcery.com>
7618 Cesar Philippidis <cesar@codesourcery.com>
7619
7620 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7621 (gomp_acc_remove_pointer): Update declaration.
7622 (gomp_acc_declare_allocate): Declare.
7623 (gomp_remove_var): Declare.
7624 * libgomp.map (OACC_2.5): Define.
7625 * oacc-mem.c (acc_map_data): Update refcount.
7626 (acc_unmap_data): Likewise.
7627 (present_create_copy): Likewise.
7628 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7629 (acc_copyin): Likewise.
7630 (FLAG_FINALIZE): Define.
7631 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7632 (acc_delete_finalize): New function.
7633 (acc_delete_finalize_async): New function.
7634 (acc_copyout_finalize): New function.
7635 (acc_copyout_finalize_async): New function.
7636 (gomp_acc_insert_pointer): Update refcounts.
7637 (gomp_acc_remove_pointer): Return if data is not present on the
7638 accelerator.
7639 * oacc-parallel.c (find_pset): Rename to find_pointer.
7640 (find_pointer): Add support for GOMP_MAP_POINTER.
7641 (handle_ftn_pointers): New function.
7642 (GOACC_parallel_keyed): Update refcounts of variables.
7643 (GOACC_enter_exit_data): Add support for finalized data mappings.
7644 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7645 of fortran arrays.
7646 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7647 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7648 for GOMP_MAP_FORCE_FROM.
7649 * openacc.f90 (module openacc_internal): Add
7650 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7651 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7652 acc_copyout_finalize and acc_delete_finalize.
7653 (acc_copyout_finalize_32_h): New subroutine.
7654 (acc_copyout_finalize_64_h): New subroutine.
7655 (acc_copyout_finalize_array_h): New subroutine.
7656 (acc_delete_finalize_32_h): New subroutine.
7657 (acc_delete_finalize_64_h): New subroutine.
7658 (acc_delete_finalize_array_h): New subroutine.
7659 * openacc.h (acc_copyout_finalize): Declare.
7660 (acc_copyout_finalize_async): Declare.
7661 (acc_delete_finalize): Declare.
7662 (acc_delete_finalize_async): Declare.
7663 * openacc_lib.h (acc_copyout_finalize): New interface.
7664 (acc_delete_finalize): New interface.
7665 * target.c (gomp_map_vars): Update dynamic_refcount.
7666 (gomp_remove_var): New function.
7667 (gomp_unmap_vars): Use it.
7668 (gomp_unload_image_from_device): Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7670 case to utilize OpenACC 2.5 data clause semantics.
7671 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7682 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7683 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7684 utilize OpenACC 2.5 data clause semantics.
7685 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7686 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7687 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7688 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7689 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7690 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7691 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7692 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7693 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7694
7695 2018-05-21 Janus Weil <janus@gcc.gnu.org>
7696
7697 PR fortran/85841
7698 PR testsuite/85865
7699 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7700 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7701 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7702 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7703 * testsuite/libgomp.fortran/task2.f90: Ditto.
7704 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7705 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7706 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7707 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7708 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7709 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7710 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7711 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7712 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7713
7714 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
7715
7716 PR c++/85782
7717 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7718
7719 2018-05-09 Tom de Vries <tom@codesourcery.com>
7720
7721 PR libgomp/82901
7722 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7723 to GOACC_enter_exit_data.
7724
7725 2018-05-09 Tom de Vries <tom@codesourcery.com>
7726
7727 PR libgomp/83792
7728 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7729 (async_synchronous_p): New function.
7730 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7731 async_valid_p.
7732 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7733 async_valid_stream_id_p.
7734 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7735 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7736
7737 2018-05-07 Tom de Vries <tom@codesourcery.com>
7738
7739 PR testsuite/85677
7740 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7741 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7742
7743 2018-05-03 Tom de Vries <tom@codesourcery.com>
7744
7745 PR testsuite/85106
7746 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7747 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7748 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7749 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7750
7751 2018-05-02 Tom de Vries <tom@codesourcery.com>
7752
7753 PR libgomp/85411
7754 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7755 GOMP_OPENACC_DIM ...
7756 * env.c (parse_gomp_openacc_dim): ... here. New function.
7757 (initialize_env): Call parse_gomp_openacc_dim.
7758 (goacc_default_dims): Define.
7759 * libgomp.h (goacc_default_dims): Declare.
7760 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7761 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7762 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7763 GOMP_PLUGIN_acc_default_dim.
7764 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7765 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7766
7767 2018-05-02 Tom de Vries <tom@codesourcery.com>
7768
7769 PR testsuite/83791
7770 * testsuite/libgomp.c++/udr-9.C: Update.
7771 * testsuite/libgomp.c++/atomic-16.C: Remove.
7772 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7773 * testsuite/libgomp.c++/loop-13.C: Remove.
7774 * testsuite/libgomp.c++/loop-14.C: Remove.
7775 * testsuite/libgomp.c++/loop-15.C: Remove.
7776 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7777 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7778 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7779 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7780 * testsuite/libgomp.c++/ordered-1.C: Remove.
7781 * testsuite/libgomp.c++/pr45784.C: Remove.
7782 * testsuite/libgomp.c++/pr64824.C: Remove.
7783 * testsuite/libgomp.c++/pr64868.C: Remove.
7784 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7785 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7786 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7787 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7788 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7789 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7790 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7791 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7792 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7793 * testsuite/libgomp.c++/pr69389.C: Remove.
7794 * testsuite/libgomp.c++/simd10.C: Remove.
7795 * testsuite/libgomp.c++/simd11.C: Remove.
7796 * testsuite/libgomp.c++/simd12.C: Remove.
7797 * testsuite/libgomp.c++/simd13.C: Remove.
7798 * testsuite/libgomp.c++/target-1.C: Remove.
7799 * testsuite/libgomp.c++/target-3.C: Remove.
7800 * testsuite/libgomp.c++/target-4.C: Remove.
7801 * testsuite/libgomp.c++/target-5.C: Remove.
7802 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7803 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7804 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7805 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7806 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7807 * testsuite/libgomp.c++/udr-9.C: Remove.
7808 * testsuite/libgomp.c++/for-10.C: Remove.
7809 * testsuite/libgomp.c++/for-11.C: Remove.
7810 * testsuite/libgomp.c++/for-12.C: Remove.
7811 * testsuite/libgomp.c++/for-13.C: Remove.
7812 * testsuite/libgomp.c++/for-14.C: Remove.
7813 * testsuite/libgomp.c++/for-9.C: Remove.
7814 * testsuite/libgomp.c/atomic-18.c: Move ...
7815 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7816 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7817 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7818 * testsuite/libgomp.c/loop-13.c: Move ...
7819 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7820 * testsuite/libgomp.c/loop-14.c: Move ...
7821 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7822 * testsuite/libgomp.c/loop-15.c: Remove.
7823 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7824 * testsuite/libgomp.c/monotonic-1.c: Move ...
7825 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7826 * testsuite/libgomp.c/monotonic-2.c: Move ...
7827 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7828 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7829 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7830 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7831 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7832 * testsuite/libgomp.c/ordered-4.c: Move ...
7833 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7834 * testsuite/libgomp.c/pr45784.c: Move ...
7835 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7836 * testsuite/libgomp.c/pr64824.c: Move ...
7837 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7838 * testsuite/libgomp.c/pr64868.c: Move ...
7839 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7840 * testsuite/libgomp.c/pr66199-1.c: Move ...
7841 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7842 * testsuite/libgomp.c/pr66199-2.c: Move ...
7843 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7844 * testsuite/libgomp.c/pr66199-3.c: Move ...
7845 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7846 * testsuite/libgomp.c/pr66199-4.c: Move ...
7847 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7848 * testsuite/libgomp.c/pr66199-5.c: Move ...
7849 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7850 * testsuite/libgomp.c/pr66199-6.c: Move ...
7851 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7852 * testsuite/libgomp.c/pr66199-7.c: Move ...
7853 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7854 * testsuite/libgomp.c/pr66199-8.c: Move ...
7855 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7856 * testsuite/libgomp.c/pr66199-9.c: Move ...
7857 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7858 * testsuite/libgomp.c/pr69389.c: Move ...
7859 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7860 * testsuite/libgomp.c/simd-14.c: Move ...
7861 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7862 * testsuite/libgomp.c/simd-15.c: Move ...
7863 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7864 * testsuite/libgomp.c/simd-16.c: Move ...
7865 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7866 * testsuite/libgomp.c/simd-17.c: Move ...
7867 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7868 * testsuite/libgomp.c/target-1.c: Move ...
7869 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7870 * testsuite/libgomp.c/target-10.c: Move ...
7871 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7872 * testsuite/libgomp.c/target-13.c: Move ...
7873 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7874 * testsuite/libgomp.c/target-2.c: Move ...
7875 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7876 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7877 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7878 * testsuite/libgomp.c/taskloop-1.c: Move ...
7879 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7880 * testsuite/libgomp.c/taskloop-2.c: Move ...
7881 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7882 * testsuite/libgomp.c/taskloop-3.c: Move ...
7883 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7884 * testsuite/libgomp.c/taskloop-4.c: Move ...
7885 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7886 * testsuite/libgomp.c/udr-1.c: Move ...
7887 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7888 * testsuite/libgomp.c/for-1.c: Move ...
7889 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7890 * testsuite/libgomp.c/for-1.h: Move ...
7891 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7892 * testsuite/libgomp.c/for-2.c: Move ...
7893 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7894 * testsuite/libgomp.c/for-2.h: Move ...
7895 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7896 * testsuite/libgomp.c/for-3.c: Move ...
7897 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7898 * testsuite/libgomp.c/for-4.c: Move ...
7899 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7900 * testsuite/libgomp.c/for-5.c: Move ...
7901 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7902 * testsuite/libgomp.c/for-6.c: Move ...
7903 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7904
7905 2018-05-02 Tom de Vries <tom@codesourcery.com>
7906
7907 PR libgomp/82428
7908 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7909 __builtin_goacc_parlevel_{id,size}.
7910 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7911 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7912 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7913 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7914 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7915 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7916 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7917 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7918 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7919 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7920 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7921 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7922 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7923 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7924 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7925 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7926 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7927 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7928 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7929 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7930 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7931 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7932 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7933
7934 2018-05-02 Tom de Vries <tom@codesourcery.com>
7935
7936 PR testsuite/85106
7937 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7938
7939 2018-05-02 Tom de Vries <tom@codesourcery.com>
7940
7941 PR testsuite/85106
7942 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7943
7944 2018-04-29 Julian Brown <julian@codesourcery.com>
7945 Tom de Vries <tom@codesourcery.com>
7946
7947 PR testsuite/85527
7948 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7949 arbitrary order for iterations of atomic subtract check.
7950
7951 2018-04-28 Tom de Vries <tom@codesourcery.com>
7952
7953 PR testsuite/85527
7954 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7955 atomic capture results obtained in parallel loop to an array, instead of
7956 to a scalar.
7957
7958 2018-04-26 Tom de Vries <tom@codesourcery.com>
7959
7960 PR libgomp/84020
7961 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7962 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7963 (process_GOMP_NVPTX_JIT): New function.
7964 (link_ptx): Use process_GOMP_NVPTX_JIT.
7965
7966 2018-04-26 Richard Biener <rguenther@suse.de>
7967 Tom de Vries <tom@codesourcery.com>
7968
7969 PR lto/85422
7970 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7971
7972 2018-04-26 Tom de Vries <tom@codesourcery.com>
7973
7974 PR target/85519
7975 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7976 recursion depth from 25 to 23.
7977 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7978
7979 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
7980
7981 * configure: Regenerated.
7982
7983 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
7984 Tom de Vries <tom@codesourcery.com>
7985
7986 PR target/85445
7987 * testsuite/libgomp.oacc-c++/ref-1.C: New.
7988
7989 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
7990
7991 PR libgomp/85463
7992 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7993 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7994 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7995 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7996 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7997 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7998
7999 PR libfortran/85166
8000 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8001 abort".
8002 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8003
8004 2018-04-19 Jakub Jelinek <jakub@redhat.com>
8005
8006 * configure: Regenerated.
8007
8008 2018-04-18 David Malcolm <dmalcolm@redhat.com>
8009
8010 PR jit/85384
8011 * configure: Regenerate.
8012
8013 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8014 Tom de Vries <tom@codesourcery.com>
8015
8016 PR middle-end/84955
8017 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8018 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8019
8020 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8021
8022 PR fortran/83064
8023 PR testsuite/85346
8024 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8025 test from gfortran.dg to here.
8026
8027 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8028
8029 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8030 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8031
8032 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8033
8034 PR middle-end/84955
8035 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8036 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8037
8038 2018-04-05 Tom de Vries <tom@codesourcery.com>
8039
8040 PR target/85204
8041 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8042
8043 2018-03-26 Tom de Vries <tom@codesourcery.com>
8044
8045 PR tree-optimization/85063
8046 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8047 * testsuite/libgomp.c/switch-conversion.c: New test.
8048 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8049 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8050
8051 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8052
8053 PR fortran/84381
8054 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8055 call abort by STOP n.
8056 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8057 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8058 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8059 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8060 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8061 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8062 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8063 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8064 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8065 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8066 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8067 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8068 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8069 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8070 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8071 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8072 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8073 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8074 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8075 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8076 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8077 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8078 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8079 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8080 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8081 * testsuite/libgomp.fortran/character1.f90: Likewise.
8082 * testsuite/libgomp.fortran/character2.f90: Likewise.
8083 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8084 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8085 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8086 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8087 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8088 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8089 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8090 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8091 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8092 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8093 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8094 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8095 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8096 * testsuite/libgomp.fortran/do1.f90: Likewise.
8097 * testsuite/libgomp.fortran/do2.f90: Likewise.
8098 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8099 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8100 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8101 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8102 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8103 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8104 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8105 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8106 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8107 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8108 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8109 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8110 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8111 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8112 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8113 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8114 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8115 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8116 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8117 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8118 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8119 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8120 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8121 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8122 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8123 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8124 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8125 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8126 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8127 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8128 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8129 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8130 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8131 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8132 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8133 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8134 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8135 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8136 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8137 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8138 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8139 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8140 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8141 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8142 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8143 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8144 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8145 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8146 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8147 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8148 * testsuite/libgomp.fortran/lib2.f: Likewise.
8149 * testsuite/libgomp.fortran/lib3.f: Likewise.
8150 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8151 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8152 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8153 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8154 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8155 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8156 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8157 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8158 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8159 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8160 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8161 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8162 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8163 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8164 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8165 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8166 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8167 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8168 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8169 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8170 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8171 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8172 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8173 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8174 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8175 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8176 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8177 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8178 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8179 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8180 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8181 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8182 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8183 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8184 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8185 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8186 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8187 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8188 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8189 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8190 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8191 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8192 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8193 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8194 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8195 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8196 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8197 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8198 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8199 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8200 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8201 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8202 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8203 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8204 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8205 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8206 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8207 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8208 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8209 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8210 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8211 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8212 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8213 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8214 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8215 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8216 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8217 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8218 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8219 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8220 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8221 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8222 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8223 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8224 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8225 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8226 * testsuite/libgomp.fortran/stack.f90: Likewise.
8227 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8228 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8229 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8230 * testsuite/libgomp.fortran/target1.f90: Likewise.
8231 * testsuite/libgomp.fortran/target2.f90: Likewise.
8232 * testsuite/libgomp.fortran/target3.f90: Likewise.
8233 * testsuite/libgomp.fortran/target4.f90: Likewise.
8234 * testsuite/libgomp.fortran/target5.f90: Likewise.
8235 * testsuite/libgomp.fortran/target6.f90: Likewise.
8236 * testsuite/libgomp.fortran/target7.f90: Likewise.
8237 * testsuite/libgomp.fortran/target8.f90: Likewise.
8238 * testsuite/libgomp.fortran/task1.f90: Likewise.
8239 * testsuite/libgomp.fortran/task2.f90: Likewise.
8240 * testsuite/libgomp.fortran/task3.f90: Likewise.
8241 * testsuite/libgomp.fortran/task4.f90: Likewise.
8242 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8243 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8244 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8245 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8246 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8247 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8248 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8249 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8250 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8251 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8252 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8253 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8254 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8255 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8256 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8257 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8258 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8259 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8260 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8261 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8262 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8263 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8264 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8265 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8266 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8267 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8268 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8269 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8270 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8271 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8272 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8273 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8274 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8275 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8276 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8277 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8278 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8279 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8280 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8281 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8282 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8283 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8284 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8285 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8286 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8287 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8288 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8289 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8290 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8291 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8292 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8293 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8294 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8295 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8296 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8297 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8298 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8299 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8300 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8301 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8302 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8303 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8304 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8305 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8306 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8307 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8308 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8309 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8310 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8311 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8312 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8313 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8314 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8315 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8316 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8317 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8318 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8319 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8320 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8321 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8322 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8323 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8324 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8325 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8326 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8327 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8328 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8329 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8330 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8331 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8332 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8333 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8334 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8335 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8336 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8337 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8338 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8339 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8340 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8341 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8342 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8343 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8344 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8345 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8346 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8347 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8348 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8349 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8350 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8351 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8352 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8353 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8354 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8355 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8356 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8357 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8358 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8359 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8360 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8361 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8362 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8363 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8364 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8365 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8366 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8367 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8368
8369 2018-03-20 Richard Biener <rguenther@suse.de>
8370
8371 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8372 parallelizable loop.
8373
8374 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8375
8376 PR target/84148
8377 * configure: Regenerate.
8378
8379 2018-02-16 Jakub Jelinek <jakub@redhat.com>
8380
8381 PR fortran/84418
8382 * libgomp.fortran/pr84418-1.f90: New test.
8383 * libgomp.fortran/pr84418-2.f90: New test.
8384
8385 2018-02-14 Jakub Jelinek <jakub@redhat.com>
8386
8387 PR fortran/84313
8388 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8389 -std=f2003 -fall-intrinsics into dg-additional-options.
8390
8391 2018-02-08 Martin Jambor <mjambor@suse.cz>
8392
8393 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8394 clonable.
8395
8396 2018-02-08 Martin Jambor <mjambor@suse.cz>
8397
8398 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8399
8400 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8401
8402 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8403 [__cplusplus]: Declare extern "C".
8404
8405 2018-02-07 Tom de Vries <tom@codesourcery.com>
8406
8407 PR libgomp/84217
8408 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8409
8410 2018-01-29 Christoph Spiel <cspiel@freenet.de>
8411 Jakub Jelinek <jakub@redhat.com>
8412
8413 PR libgomp/84096
8414 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8415 instead of omp_lock_t.
8416
8417 2018-01-25 Tom de Vries <tom@codesourcery.com>
8418
8419 PR target/84028
8420 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8421
8422 2018-01-24 Tom de Vries <tom@codesourcery.com>
8423
8424 PR target/83589
8425 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8426
8427 2018-01-24 Tom de Vries <tom@codesourcery.com>
8428
8429 PR target/81352
8430 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8431
8432 2018-01-19 Tom de Vries <tom@codesourcery.com>
8433 Cesar Philippidis <cesar@codesourcery.com>
8434
8435 PR target/83920
8436 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8437 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8438
8439 2018-01-03 Jakub Jelinek <jakub@redhat.com>
8440
8441 Update copyright years.
8442
8443 * libgomp.texi: Bump @copying's copyright year.
8444
8445 2017-12-30 Tom de Vries <tom@codesourcery.com>
8446
8447 PR libgomp/83046
8448 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8449 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8450
8451 2017-12-27 Tom de Vries <tom@codesourcery.com>
8452
8453 PR c++/83046
8454 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8455 (test_nonstatic): Fix return type to workaround PR83046.
8456
8457 2017-12-05 Jakub Jelinek <jakub@redhat.com>
8458
8459 PR testsuite/83281
8460 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8461 j suffix instead of i.
8462 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8463 Likewise.
8464
8465 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
8466
8467 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8468 call to acc_wait (1).
8469
8470 2017-11-24 Jakub Jelinek <jakub@redhat.com>
8471
8472 PR fortran/81304
8473 * testsuite/libgomp.fortran/pr81304.f90: New test.
8474
8475 2017-11-23 Jakub Jelinek <jakub@redhat.com>
8476
8477 PR fortran/81841
8478 * libgomp.fortran/pr81841.f90: New test.
8479
8480 2017-11-22 Jakub Jelinek <jakub@redhat.com>
8481
8482 PR libgomp/83106
8483 * target.c (gomp_target_init): Compute lengths just once and
8484 use them in both malloc size and subsequent copying.
8485
8486 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8487
8488 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8489 * acinclude.m4: Add cet.m4.
8490 * configure: Regenerate.
8491 * Makefile.in: Likewise.
8492 * testsuite/Makefile.in: Likewise.
8493
8494 2017-11-15 Tom de Vries <tom@codesourcery.com>
8495
8496 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8497 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8498 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8499 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8500 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8501 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8502
8503 2017-11-14 Tom de Vries <tom@codesourcery.com>
8504
8505 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8506 non-nvidia devices.
8507
8508 2017-11-07 Jakub Jelinek <jakub@redhat.com>
8509
8510 PR c++/82835
8511 * testsuite/libgomp.c++/pr82835.C: New test.
8512
8513 2017-11-06 Martin Liska <mliska@suse.cz>
8514
8515 * testsuite/libgomp.c++/loop-2.C: Return a value
8516 for functions with non-void return type, or change type to void,
8517 or add -Wno-return-type for test.
8518 * testsuite/libgomp.c++/loop-4.C: Likewise.
8519 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8520 * testsuite/libgomp.c++/shared-1.C: Likewise.
8521 * testsuite/libgomp.c++/single-1.C: Likewise.
8522 * testsuite/libgomp.c++/single-2.C: Likewise.
8523
8524 2017-10-31 Tom de Vries <tom@codesourcery.com>
8525
8526 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8527 "do {} while (false)".
8528 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8529 after HSA_DEBUG call.
8530
8531 2017-10-28 Jakub Jelinek <jakub@redhat.com>
8532
8533 * target.c (struct gomp_coalesce_buf): New type.
8534 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8535 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8536 (gomp_copy_host2dev): Add CBUF argument, if copying into
8537 the cached ranges, memcpy into buffer instead of copying
8538 into device.
8539 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8540 Add CBUF argument, pass it through to other calls.
8541 (gomp_map_vars): Aggregate copies from host to device if small enough
8542 and with small enough gaps in between into memcpy into a buffer and
8543 fewer host to device copies from the buffer.
8544 (gomp_update): Adjust gomp_copy_host2dev caller.
8545
8546 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
8547
8548 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8549 run" directive.
8550 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8551 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8552 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8553 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8554
8555 2017-10-16 Tom de Vries <tom@codesourcery.com>
8556
8557 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8558 openacc_nvidia_accel_selected.
8559 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8560 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8561 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8562 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8563 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8564 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8565 openacc_nvidia_accel_selected. Skip for shared memory device.
8566 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8567 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8568
8569 2017-10-09 Martin Jambor <mjambor@suse.cz>
8570
8571 PR hsa/82416
8572 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8573
8574 2017-10-07 Tom de Vries <tom@codesourcery.com>
8575
8576 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8577 Remove acc_device_nvidia references.
8578 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8579 Same.
8580
8581 2017-10-05 Tom de Vries <tom@codesourcery.com>
8582
8583 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8584 vector_length(32) clause from acc parallel directive.
8585 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8586
8587 2017-10-04 Tom de Vries <tom@codesourcery.com>
8588
8589 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8590 (main): Reduce sum of arr elements. Assert that hres is exactly
8591 representable in 32-bit floating point.
8592 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8593 (main): Reduce sum of arr elements. Assert that hres and hmres are
8594 exactly representable in 32-bit floating point.
8595 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8596
8597 2017-09-28 Tom de Vries <tom@codesourcery.com>
8598
8599 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8600 setting.
8601 * testsuite/libgomp.c++/pr69393.C: Same.
8602 * testsuite/libgomp.c++/taskloop-1.C: Same.
8603 * testsuite/libgomp.c++/taskloop-3.C: Same.
8604 * testsuite/libgomp.c++/taskloop-4.C: Same.
8605 * testsuite/libgomp.c/for-4.c: Same.
8606 * testsuite/libgomp.c/pr66199-3.c: Same.
8607 * testsuite/libgomp.c/pr66199-4.c: Same.
8608 * testsuite/libgomp.c/pr66199-6.c: Same.
8609 * testsuite/libgomp.c/taskloop-1.c: Same.
8610 * testsuite/libgomp.c/taskloop-3.c: Same.
8611 * testsuite/libgomp.c/taskloop-4.c: Same.
8612 * testsuite/libgomp.fortran/aligned1.f03: Same.
8613 * testsuite/libgomp.fortran/condinc1.f: Same.
8614 * testsuite/libgomp.fortran/condinc3.f90: Same.
8615 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8616 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8617 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8618 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8619 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8620 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8621 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8622 * testsuite/libgomp.fortran/recursion1.f90: Same.
8623 * testsuite/libgomp.fortran/target2.f90: Same.
8624 * testsuite/libgomp.fortran/target5.f90: Same.
8625 * testsuite/libgomp.fortran/task3.f90: Same.
8626
8627 2017-09-28 Tom de Vries <tom@codesourcery.com>
8628
8629 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8630 vector_length(32) clause from acc parallel directive.
8631 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8632
8633 2017-09-27 Tom de Vries <tom@codesourcery.com>
8634
8635 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8636 Remove acc_device_nvidia references.
8637
8638 2017-09-16 Tom de Vries <tom@codesourcery.com>
8639
8640 PR c/81875
8641 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8642
8643 2017-09-14 Tom de Vries <tom@codesourcery.com>
8644
8645 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8646 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8647 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8648 * testsuite/libgomp.c/c.exp: Include test-cases from
8649 libgomp.c-c++-common.
8650 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8651 files.
8652
8653 2017-09-14 Jakub Jelinek <jakub@redhat.com>
8654
8655 PR c++/81314
8656 * testsuite/libgomp.c++/pr81314.C: New test.
8657
8658 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
8659
8660 * libgomp.texi (Top): www.openacc.org now uses https.
8661 (Enabling OpenACC): Ditto.
8662 (acc_get_num_devices): Ditto.
8663 (acc_set_device_type): Ditto.
8664 (acc_get_device_type): Ditto.
8665 (acc_set_device_num): Ditto.
8666 (acc_get_device_num): Ditto.
8667 (acc_async_test): Ditto.
8668 (acc_async_test_all): Ditto.
8669 (acc_wait): Ditto.
8670 (acc_wait_all): Ditto.
8671 (acc_wait_all_async): Ditto.
8672 (acc_wait_async): Ditto.
8673 (acc_init): Ditto.
8674 (acc_shutdown): Ditto.
8675 (acc_on_device): Ditto.
8676 (acc_malloc): Ditto.
8677 (acc_free): Ditto.
8678 (acc_copyin): Ditto.
8679 (acc_present_or_copyin): Ditto.
8680 (acc_create): Ditto.
8681 (acc_present_or_create): Ditto.
8682 (acc_copyout): Ditto.
8683 (acc_delete): Ditto.
8684 (acc_update_device): Ditto.
8685 (acc_update_self): Ditto.
8686 (acc_map_data): Ditto.
8687 (acc_unmap_data): Ditto.
8688 (acc_deviceptr): Ditto.
8689 (acc_hostptr): Ditto.
8690 (acc_is_present): Ditto.
8691 (acc_memcpy_to_device): Ditto.
8692 (acc_memcpy_from_device): Ditto.
8693 (acc_get_current_cuda_device): Ditto.
8694 (acc_get_current_cuda_context): Ditto.
8695 (acc_get_cuda_stream): Ditto.
8696 (acc_set_cuda_stream): Ditto.
8697 (ACC_DEVICE_TYPE): Ditto.
8698 (ACC_DEVICE_NUM): Ditto.
8699 (OpenACC Library Interoperability): Ditto.
8700
8701 2017-08-09 Jakub Jelinek <jakub@redhat.com>
8702
8703 PR c/81687
8704 * testsuite/libgomp.c/pr81687-1.c: New test.
8705 * testsuite/libgomp.c/pr81687-2.c: New test.
8706
8707 2017-08-07 Jakub Jelinek <jakub@redhat.com>
8708
8709 PR c/69389
8710 * testsuite/libgomp.c/pr69389.c: New test.
8711 * testsuite/libgomp.c++/pr69389.C: New test.
8712
8713 2017-08-07 Tom de Vries <tom@codesourcery.com>
8714
8715 PR middle-end/78266
8716 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8717 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8718
8719 2017-07-27 Jakub Jelinek <jakub@redhat.com>
8720
8721 PR c/45784
8722 * testsuite/libgomp.c/pr45784.c: New test.
8723 * testsuite/libgomp.c++/pr45784.C: New test.
8724
8725 2017-07-19 Tom de Vries <tom@codesourcery.com>
8726
8727 * testsuite/libgomp.oacc-c/vec.c: New test.
8728
8729 2017-07-03 Tom de Vries <tom@codesourcery.com>
8730
8731 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8732
8733 2017-06-27 Tom de Vries <tom@codesourcery.com>
8734
8735 * plugin/plugin-nvptx.c (notify_var): New function.
8736 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8737
8738 2017-06-27 Tom de Vries <tom@codesourcery.com>
8739
8740 * env.c (parse_unsigned_long_1): Factor out of ...
8741 (parse_unsigned_long): ... here.
8742 (parse_int_1): Factor out of ...
8743 (parse_int): ... here.
8744 (parse_int_secure): New function.
8745 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8746 * secure_getenv.h: Factor out of ...
8747 * plugin/plugin-hsa.c: ... here.
8748 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8749
8750 2017-06-21 Jakub Jelinek <jakub@redhat.com>
8751
8752 PR c++/81130
8753 * testsuite/libgomp.c++/pr81130.C: New test.
8754
8755 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8756
8757 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8758 default args.
8759 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8760 dg-xfail-run-if default args.
8761
8762 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
8763
8764 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8765 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8766
8767 2017-05-30 Jakub Jelinek <jakub@redhat.com>
8768
8769 PR libgomp/80822
8770 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8771 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8772 sibling lists, depending on level just pick up what CPUs to put
8773 together into a place vs. whether add multiple ordered places.
8774
8775 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
8776
8777 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8778 * libgomp.map (OACC_2.0.1): Add these.
8779 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8780 for "acc_wait", and "acc_wait_all", respectively.
8781 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8782 for "acc_wait", and "acc_wait_all", respectively.
8783 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8784 * libgomp.texi (acc_wait, acc_wait_all): Update.
8785 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8786 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8787 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8788
8789 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8790 acc_present_or_copyin and acc_present_or_create procedures,
8791 respectively.
8792 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8793 generally different variants of OpenACC Runtime Library functions.
8794 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8795
8796 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8797 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8798
8799 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8800 of preprocessor definitions.
8801 * libgomp.h (strong_alias): Guard by "#ifdef
8802 HAVE_ATTRIBUTE_ALIAS".
8803 * oacc-mem.c: Provide "acc_pcreate" as alias for
8804 "acc_present_or_create", and "acc_pcopyin" as alias for
8805 "acc_present_or_copyin".
8806 * libgomp.map: New version "OACC_2.0.1".
8807 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8808 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8809 its content into...
8810 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8811 Extend testing.
8812
8813 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8814 when disabling nvptx offloading.
8815
8816 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
8817
8818 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8819 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8820 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8821
8822 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8823 * testsuite/lib/libgomp.exp
8824 (check_effective_target_openacc_nvidia_accel_configured): New
8825 proc.
8826 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8827 (check_effective_target_c++): New procs.
8828 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8829 (check_effective_target_c++): Likewise.
8830
8831 2017-05-22 Jakub Jelinek <jakub@redhat.com>
8832
8833 PR middle-end/80809
8834 * testsuite/libgomp.c/pr80809-2.c: New test.
8835 * testsuite/libgomp.c/pr80809-3.c: New test.
8836
8837 PR middle-end/80809
8838 * testsuite/libgomp.c/pr80809-1.c: New test.
8839
8840 PR middle-end/80853
8841 * testsuite/libgomp.c/pr80853.c: New test.
8842
8843 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
8844
8845 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8846 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8847 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8848 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8849 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8850
8851 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8852 Debug output for failure.
8853
8854 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8855
8856 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8857
8858 2017-04-27 Jakub Jelinek <jakub@redhat.com>
8859
8860 PR bootstrap/80531
8861 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8862 bootstrap compare failures.
8863
8864 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
8865
8866 * testsuite/libgomp.c/target-36.c: New testcase.
8867
8868 2017-04-13 Jakub Jelinek <jakub@redhat.com>
8869
8870 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8871 instead of char.
8872
8873 2017-04-11 Jakub Jelinek <jakub@redhat.com>
8874
8875 PR libgomp/80394
8876 * testsuite/libgomp.c/pr80394.c: New test.
8877
8878 2017-04-04 Jakub Jelinek <jakub@redhat.com>
8879
8880 PR libgomp/79876
8881 * config/posix/thread-stacksize.h: New file.
8882 * config/darwin/thread-stacksize.h: New file.
8883 * config/nvptx/thread-stacksize.h: New file.
8884 * env.c: Include thread-stacksize.h.
8885 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8886 instead of 0. Call pthread_attr_setstacksize even if
8887 GOMP_DEFAULT_STACKSIZE is non-zero.
8888
8889 2017-03-30 Jakub Jelinek <jakub@redhat.com>
8890
8891 * env.c (initialize_env): Initialize stacksize to 0.
8892
8893 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
8894
8895 PR c++/80029
8896 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8897
8898 2017-03-08 Jakub Jelinek <jakub@redhat.com>
8899
8900 PR c/79940
8901 * testsuite/libgomp.c/pr79940.c: New test.
8902
8903 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8904
8905 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8906 targets.
8907 Add __float128 options.
8908
8909 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
8910
8911 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8912 hppa*-*-* dg-skip-if directive.
8913
8914 2017-02-09 Jakub Jelinek <jakub@redhat.com>
8915
8916 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8917 dg-skip-if directive into a comment.
8918
8919 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
8920 Chung-Lin Tang <cltang@codesourcery.com>
8921
8922 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8923 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8924 add additional case.
8925 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8926 "openacc_nvidia_accel_selected".
8927 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8928 Add num_workers(8) clause.
8929
8930 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
8931
8932 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8933 hppa*-*-*.
8934 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8935 include complex.h on hppa*-*-hpux*.
8936 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8937
8938 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
8939
8940 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8941
8942 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8943 GOMP_OFFLOAD_openacc_exec. Adjust all users.
8944 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8945 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
8946 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8947 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
8948 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8949 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
8950 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8951 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
8952
8953 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
8954
8955 * libgomp-plugin.h: #include <stdbool.h>.
8956 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8957 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8958 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8959 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8960 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8961 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8962 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8963 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8964 (GOMP_OFFLOAD_openacc_register_async_cleanup)
8965 (GOMP_OFFLOAD_openacc_async_test)
8966 (GOMP_OFFLOAD_openacc_async_test_all)
8967 (GOMP_OFFLOAD_openacc_async_wait)
8968 (GOMP_OFFLOAD_openacc_async_wait_async)
8969 (GOMP_OFFLOAD_openacc_async_wait_all)
8970 (GOMP_OFFLOAD_openacc_async_wait_all_async)
8971 (GOMP_OFFLOAD_openacc_async_set_async)
8972 (GOMP_OFFLOAD_openacc_create_thread_data)
8973 (GOMP_OFFLOAD_openacc_destroy_thread_data)
8974 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8975 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8976 (GOMP_OFFLOAD_openacc_get_cuda_stream)
8977 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8978 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8979 these.
8980 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8981 (GOMP_OFFLOAD_unload_image): Fix argument types.
8982
8983 2017-01-26 Jakub Jelinek <jakub@redhat.com>
8984
8985 * testsuite/lib/libgomp.exp
8986 (check_effective_target_hsa_offloading_selected_nocache): Fix up
8987 check_compile invocation. Fix up removal of executable. Drop
8988 bogus "2>&1" argument.
8989
8990 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8991 directive.
8992
8993 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
8994 Martin Jambor <mjambor@suse.cz>
8995
8996 * plugin/hsa.h: Moved to top level include.
8997 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8998
8999 2017-01-21 Jakub Jelinek <jakub@redhat.com>
9000
9001 PR other/79046
9002 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9003 of cat to get version from BASE-VER file.
9004 * testsuite/Makefile.in: Regenerated.
9005
9006 2017-01-19 Jakub Jelinek <jakub@redhat.com>
9007
9008 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9009 for _WIN64.
9010
9011 2017-01-17 Jakub Jelinek <jakub@redhat.com>
9012
9013 * plugin/hsa.h: Add GCC runtime library exception.
9014 * plugin/hsa_ext_finalize.h: Likewise.
9015
9016 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9017 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9018 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9019 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9020 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9021 library to link ptx plugin against.
9022 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9023 (CUDA_CALLS): Define.
9024 (cuda_lib, cuda_lib_inited): New variables.
9025 (init_cuda_lib): New function.
9026 (CUDA_CALL_PREFIX): Define.
9027 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9028 (CUDA_CALL): Use FN instead of (FN).
9029 (CUDA_CALL_NOCHECK): Define.
9030 (cuda_error, fini_streams_for_device, select_stream_for_async,
9031 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9032 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9033 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9034 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9035 CUDA_CALL_NOCHECK.
9036 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9037 CUDA_CALL_NOCHECK.
9038 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9039 Use CUDA_CALL_NOCHECK.
9040 * plugin/cuda/cuda.h: New file.
9041 * config.h.in: Regenerated.
9042 * configure: Regenerated.
9043
9044 PR other/79046
9045 * configure.ac: Add GCC_BASE_VER.
9046 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9047 get version from BASE-VER file.
9048 * testsuite/Makefile.in: Regenerated.
9049 * configure: Regenerated.
9050 * Makefile.in: Regenerated.
9051
9052 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9053
9054 PR libgomp/60670
9055 * Makefile.am: Make fincludedir multilib-aware.
9056 * Makefile.in: Regenerate.
9057
9058 2017-01-01 Jakub Jelinek <jakub@redhat.com>
9059
9060 Update copyright years.
9061
9062 * libgomp.texi: Bump @copying's copyright year.
9063
9064 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9065
9066 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9067 pthread_spinlock_t instead of gomp_mutex_t lock.
9068 (gomp_get_thread_pool): Likewise.
9069 (gomp_release_thread_pool): Likewise.
9070 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9071 Likewise.
9072
9073 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9074
9075 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9076 thread pool in case nthreads == 1.
9077
9078 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9079
9080 * config/nvptx/env.c: Delete.
9081 * icv.c: Move definitions of ICV variables back ...
9082 * env.c: ...here. Do not compile environment-related functionality if
9083 LIBGOMP_OFFLOADED_ONLY is set.
9084
9085 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9086
9087 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9088 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9089 * configure: Regenerate.
9090 * config.h.in: Likewise.
9091
9092 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9093
9094 * Makefile.in: Regenerate with automake-1.11.6.
9095 * aclocal.m4: Likewise.
9096 * configure: Likewise.
9097 * testsuite/Makefile.in: Likewise.
9098
9099 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
9100
9101 * config/nvptx/critical.c: Delete to use generic implementation.
9102
9103 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9104
9105 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9106 ../../affinity.c as fallback.
9107 * config/nvptx/affinity.c: Delete to use fallback implementation.
9108
9109 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
9110 Jakub Jelinek <jakub@redhat.com>
9111 Dmitry Melnik <dm@ispras.ru>
9112
9113 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9114 * Makefile.in. Regenerate.
9115 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9116 (LIBGOMP_USE_PTHREADS): ...here; new define.
9117 * configure: Regenerate.
9118 * config.h.in: Likewise.
9119 * config/posix/affinity.c: Move to...
9120 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9121 interface by LIBGOMP_USE_PTHREADS.
9122 * critical.c: Split out GOMP_atomic_{start,end} into...
9123 * atomic.c: ...here (new file).
9124 * env.c: Split out ICV definitions into...
9125 * icv.c: ...here (new file) and...
9126 * icv-device.c: ...here. New file.
9127 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9128 (gomp_destroy_lock_30): Ditto.
9129 (gomp_set_lock_30): Ditto.
9130 (gomp_unset_lock_30): Ditto.
9131 (gomp_test_lock_30): Ditto.
9132 (gomp_init_nest_lock_30): Ditto.
9133 (gomp_destroy_nest_lock_30): Ditto.
9134 (gomp_set_nest_lock_30): Ditto.
9135 (gomp_unset_nest_lock_30): Ditto.
9136 (gomp_test_nest_lock_30): Ditto.
9137 * lock.c: New.
9138 * config/nvptx/lock.c: New.
9139 * config/nvptx/bar.c: New.
9140 * config/nvptx/bar.h: New.
9141 * config/nvptx/doacross.h: New.
9142 * config/nvptx/error.c: New.
9143 * config/nvptx/icv-device.c: New.
9144 * config/nvptx/mutex.h: New.
9145 * config/nvptx/pool.h: New.
9146 * config/nvptx/proc.c: New.
9147 * config/nvptx/ptrlock.h: New.
9148 * config/nvptx/sem.h: New.
9149 * config/nvptx/simple-bar.h: New.
9150 * config/nvptx/target.c: New.
9151 * config/nvptx/task.c: New.
9152 * config/nvptx/team.c: New.
9153 * config/nvptx/time.c: New.
9154 * config/posix/simple-bar.h: New.
9155 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9156 (gomp_num_teams_var): Declare.
9157 (struct gomp_thread_pool): Change threads_dock member to
9158 gomp_simple_barrier_t.
9159 [__nvptx__] (gomp_thread): New implementation.
9160 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9161 (gomp_thread_destructor): Ditto.
9162 (gomp_init_thread_affinity): Ditto.
9163 * team.c: Guard uses of Pthreads-specific interfaces by
9164 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9165 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9166 * config/nvptx/alloc.c: Delete.
9167 * config/nvptx/barrier.c: Ditto.
9168 * config/nvptx/fortran.c: Ditto.
9169 * config/nvptx/iter.c: Ditto.
9170 * config/nvptx/iter_ull.c: Ditto.
9171 * config/nvptx/loop.c: Ditto.
9172 * config/nvptx/loop_ull.c: Ditto.
9173 * config/nvptx/ordered.c: Ditto.
9174 * config/nvptx/parallel.c: Ditto.
9175 * config/nvptx/priority_queue.c: Ditto.
9176 * config/nvptx/sections.c: Ditto.
9177 * config/nvptx/single.c: Ditto.
9178 * config/nvptx/splay-tree.c: Ditto.
9179 * config/nvptx/work.c: Ditto.
9180 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9181 -foffload=-lgfortran in addition to -lgfortran.
9182 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9183 * plugin/plugin-nvptx.c: Include <limits.h>.
9184 (struct targ_fn_descriptor): Add new fields.
9185 (struct ptx_device): Ditto. Set them...
9186 (nvptx_open_device): ...here.
9187 (nvptx_adjust_launch_bounds): New.
9188 (nvptx_host2dev): Allow NULL 'nvthd'.
9189 (nvptx_dev2host): Ditto.
9190 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9191 (link_ptx): Adjust log sizes.
9192 (nvptx_host2dev): Allow NULL 'nvthd'.
9193 (nvptx_dev2host): Ditto.
9194 (nvptx_set_clocktick): New. Use it...
9195 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9196 fields.
9197 (GOMP_OFFLOAD_dev2dev): New.
9198 (nvptx_adjust_launch_bounds): New.
9199 (nvptx_stacks_size): New.
9200 (nvptx_stacks_alloc): New.
9201 (nvptx_stacks_free): New.
9202 (GOMP_OFFLOAD_run): New.
9203 (GOMP_OFFLOAD_async_run): New (stub).
9204
9205 2016-11-23 Martin Jambor <mjambor@suse.cz>
9206
9207 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9208 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9209 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9210
9211 2016-11-23 Martin Liska <mliska@suse.cz>
9212 Martin Jambor <mjambor@suse.cz>
9213
9214 * plugin/hsa.h: New file.
9215 * plugin/hsa_ext_finalize.h: New file.
9216 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9217 header file unistd.h, and functions secure_getenv, __secure_getenv,
9218 getuid, geteuid, getgid and getegid.
9219 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9220 -D_GNU_SOURCE.
9221 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9222 Handle various cases of secure_getenv presence, add an implementation
9223 when we can test effective UID and GID.
9224 (struct hsa_runtime_fn_info): New structure.
9225 (hsa_runtime_fn_info hsa_fns): New variable.
9226 (hsa_runtime_lib): Likewise.
9227 (support_cpu_devices): Likewise.
9228 (init_enviroment_variables): Load newly introduced ENV
9229 variables.
9230 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9231 (hsa_fatal): Likewise.
9232 (DLSYM_FN): New macro.
9233 (init_hsa_runtime_functions): New function.
9234 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9235 structure. Depending on environment, also allow CPU devices.
9236 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9237 (get_kernarg_memory_region): Likewise.
9238 (GOMP_OFFLOAD_init_device): Likewise.
9239 (destroy_hsa_program): Likewise.
9240 (init_basic_kernel_info): New function.
9241 (GOMP_OFFLOAD_load_image): Use it.
9242 (create_and_finalize_hsa_program): Call hsa run-time functions via
9243 hsa_fns structure.
9244 (create_single_kernel_dispatch): Likewise.
9245 (release_kernel_dispatch): Likewise.
9246 (init_single_kernel): Likewise.
9247 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9248 (get_group_size): New function.
9249 (run_kernel): Likewise.
9250 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9251 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9252 structure.
9253 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9254 * testsuite/libgomp-test-support.exp.in: Likewise.
9255 * Makefile.in: Regenerated.
9256 * aclocal.m4: Likewise.
9257 * config.h.in: Likewise.
9258 * configure: Likewise.
9259 * testsuite/Makefile.in: Likewise.
9260
9261 2016-11-15 Martin Jambor <mjambor@suse.cz>
9262 Alexander Monakov <amonakov@ispras.ru>
9263
9264 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9265 mapping clauses to target constructs.
9266 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9267
9268 2016-11-15 Matthias Klose <doko@ubuntu.com>
9269
9270 * configure: Regenerate.
9271
9272 2016-11-10 Jakub Jelinek <jakub@redhat.com>
9273
9274 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9275 * omp_lib.h.in (openmp_version): Likewise.
9276 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9277 of 201307.
9278 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9279
9280 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9281 (fib_wrapper): Add map(from: x) clause.
9282 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9283 (e_53_2): Likewise.
9284 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9285 (accum): Add map(tmp) clause.
9286 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9287 (accum): Add map(tofrom: tmp) clause.
9288 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9289 (gramSchmidt): Likewise.
9290 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9291 map(tofrom: sum) clause.
9292 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9293 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9294 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9295 only allowed on the loop iterator.
9296 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9297 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9298 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9299 * testsuite/libgomp.fortran/doacross1.f90: New test.
9300 * testsuite/libgomp.fortran/doacross3.f90: New test.
9301 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9302 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9303 * testsuite/libgomp.fortran/doacross2.f90: New test.
9304 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9305 #pragma omp atomic read.
9306 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9307 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9308
9309 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9310 Nathan Sidwell <nathan@acm.org>
9311
9312 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9313 to determine default geometry.
9314 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9315 dimension.
9316
9317 2016-11-01 Jakub Jelinek <jakub@redhat.com>
9318
9319 * hashtab.h: Use standard GPLv3 with runtime exception
9320 boilerplate.
9321
9322 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
9323
9324 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9325 size when allocating new thread.
9326
9327 2016-09-14 Marek Polacek <polacek@redhat.com>
9328
9329 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9330
9331 2016-08-19 Jakub Jelinek <jakub@redhat.com>
9332
9333 PR fortran/71014
9334 * testsuite/libgomp.fortran/pr71014.f90: New test.
9335
9336 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9337
9338 PR middle-end/70895
9339 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9340 firstprivate clauses.
9341 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9342 copy clauses.
9343 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9344 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9345 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9346 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9347 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9348 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9349 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9350 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9351 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9352 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9353 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9354 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9355
9356 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9357
9358 PR fortran/70598
9359 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9360
9361 2016-08-08 Jakub Jelinek <jakub@redhat.com>
9362
9363 PR c++/58706
9364 * testsuite/libgomp.c++/pr58706.C: New test.
9365
9366 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
9367
9368 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9369 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9370 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9371 Likewise.
9372 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9373 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9374 Likewise.
9375 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9376
9377 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9378 test, and don't hardcode -O0.
9379
9380 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
9381
9382 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9383
9384 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
9385
9386 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9387 test.
9388
9389 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
9390
9391 PR middle-end/71734
9392 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9393 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9394
9395 2016-07-01 Jakub Jelinek <jakub@redhat.com>
9396
9397 PR fortran/71717
9398 * testsuite/libgomp.fortran/associate3.f90: New test.
9399
9400 2016-06-17 Jakub Jelinek <jakub@redhat.com>
9401
9402 * testsuite/libgomp.c++/target-21.C: New test.
9403
9404 2016-06-16 Jakub Jelinek <jakub@redhat.com>
9405
9406 * testsuite/libgomp.c++/target-20.C: New test.
9407
9408 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9409 Cesar Philippidis <cesar@codesourcery.com>
9410
9411 PR middle-end/71373
9412 * libgomp.oacc-c/nested-function-1.c: New file.
9413 * libgomp.oacc-c/nested-function-2.c: Likewise.
9414 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9415 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9416 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9417
9418 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9419
9420 PR c/71381
9421 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9422 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9423 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9424
9425 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
9426
9427 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9428 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9429
9430 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
9431
9432 PR c/70688
9433 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9434
9435 2016-05-26 Jakub Jelinek <jakub@redhat.com>
9436
9437 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9438 instead of invalid schedule(static, 0).
9439 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9440
9441 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9442
9443 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9444 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9445 parameter, use to set async stream around call to gomp_unmap_vars,
9446 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9447 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9448 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9449 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9450 (event_add): Add int parameter, initialize 'val' field when
9451 adding new ptx_event struct.
9452 (nvptx_evec): Adjust event_add() call arguments.
9453 (nvptx_host2dev): Likewise.
9454 (nvptx_dev2host): Likewise.
9455 (nvptx_wait_async): Likewise.
9456 (nvptx_wait_all_async): Likewise.
9457 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9458 pass to event_add() call.
9459 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9460 parameter.
9461 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9462 call openacc.register_async_cleanup_func() hook.
9463 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9464 * target.c (gomp_copy_from_async): Delete function.
9465 (gomp_map_vars): Remove async_refcount.
9466 (gomp_unmap_vars): Likewise.
9467 (gomp_load_image_to_device): Likewise.
9468 (omp_target_associate_ptr): Likewise.
9469 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9470 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9471 (gomp_copy_from_async): Remove.
9472
9473 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9474
9475 * target.c (gomp_device_copy): New function.
9476 (gomp_copy_host2dev): Likewise.
9477 (gomp_copy_dev2host): Likewise.
9478 (gomp_free_device_memory): Likewise.
9479 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9480 (gomp_map_pointer): Likewise.
9481 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9482 NULL value from alloc_func plugin hook.
9483 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9484 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9485 (gomp_unmap_vars): Likewise.
9486 (gomp_update): Adjust to call gomp_copy_dev2host and
9487 gomp_copy_host2dev functions.
9488 (gomp_unload_image_from_device): Handle false value from
9489 unload_image_func plugin hook.
9490 (gomp_init_device): Handle false value from init_device_func
9491 plugin hook.
9492 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9493 (omp_target_free): Adjust to call gomp_free_device_memory.
9494 (omp_target_memcpy): Handle return values from host2dev_func,
9495 dev2host_func, and dev2dev_func plugin hooks.
9496 (omp_target_memcpy_rect_worker): Likewise.
9497 (gomp_target_fini): Handle false value from fini_device_func
9498 plugin hook.
9499 * libgomp.h (struct gomp_device_descr): Adjust return type of
9500 init_device_func, fini_device_func, unload_image_func, free_func,
9501 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9502 * oacc-init.c (acc_shutdown_1): Handle false value from
9503 fini_device_func plugin hook.
9504 * oacc-host.c (host_init_device): Change return type to bool.
9505 (host_fini_device): Likewise.
9506 (host_unload_image): Likewise.
9507 (host_free): Likewise.
9508 (host_dev2host): Likewise.
9509 (host_host2dev): Likewise.
9510 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9511 (acc_memcpy_to_device): Likewise.
9512 (acc_memcpy_from_device): Likewise.
9513 (delete_copyout): Add libfnname parameter, handle free_func
9514 hook fatal error case.
9515 (acc_delete): Adjust delete_copyout call.
9516 (acc_copyout): Likewise.
9517 (update_dev_host): Move gomp_mutex_unlock to after
9518 host2dev/dev2host hook calls.
9519
9520 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9521 to 'hsa_error_msg', for clarity.
9522 (hsa_fatal): Likewise.
9523 (hsa_error): New function.
9524 (init_hsa_context): Change return type to bool, adjust to return
9525 false on error.
9526 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9527 return value.
9528 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9529 return false on error.
9530 (get_agent_info): Adjust to return NULL on error.
9531 (destroy_hsa_program): Change return type to bool, adjust to
9532 return false on error.
9533 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9534 (destroy_module): Change return type to bool, adjust to
9535 return false on error.
9536 (GOMP_OFFLOAD_unload_image): Likewise.
9537 (GOMP_OFFLOAD_fini_device): Likewise.
9538 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9539 (GOMP_OFFLOAD_free): Change to return false when called.
9540 (GOMP_OFFLOAD_dev2host): Likewise.
9541 (GOMP_OFFLOAD_host2dev): Likewise.
9542 (GOMP_OFFLOAD_dev2dev): Likewise.
9543
9544 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9545 (CUDA_CALL): Likewise.
9546 (CUDA_CALL_ASSERT): Likewise.
9547 (map_init): Change return type to bool, use CUDA_CALL* macros.
9548 (map_fini): Likewise.
9549 (init_streams_for_device): Change return type to bool, adjust
9550 call to map_init.
9551 (fini_streams_for_device): Change return type to bool, adjust
9552 call to map_fini.
9553 (select_stream_for_async): Release stream_lock before calls to
9554 GOMP_PLUGIN_fatal, adjust call to map_init.
9555 (nvptx_init): Use CUDA_CALL* macros.
9556 (nvptx_attach_host_thread_to_device): Change return type to bool,
9557 use CUDA_CALL* macros.
9558 (nvptx_open_device): Use CUDA_CALL* macros.
9559 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9560 macros.
9561 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9562 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9563 (nvptx_exec): Use CUDA_CALL* macros.
9564 (nvptx_alloc): Use CUDA_CALL* macros.
9565 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9566 (nvptx_host2dev): Likewise.
9567 (nvptx_dev2host): Likewise.
9568 (nvptx_wait): Use CUDA_CALL* macros.
9569 (nvptx_wait_async): Likewise.
9570 (nvptx_wait_all): Likewise.
9571 (nvptx_wait_all_async): Likewise.
9572 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9573 use CUDA_CALL* macros, adjust call to map_fini.
9574 (GOMP_OFFLOAD_init_device): Change return type to bool,
9575 adjust code accordingly.
9576 (GOMP_OFFLOAD_fini_device): Likewise.
9577 (GOMP_OFFLOAD_load_image): Adjust calls to
9578 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9579 use CUDA_CALL* macros.
9580 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9581 return code.
9582 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9583 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9584 handle error return.
9585 (GOMP_OFFLOAD_dev2host): Likewise.
9586 (GOMP_OFFLOAD_host2dev): Likewise.
9587 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9588 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9589
9590 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
9591
9592 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9593 (acc_free): Likewise.
9594 (acc_memcpy_to_device): Likewise.
9595 (acc_memcpy_from_device): Likewise.
9596 (acc_deviceptr): Likewise.
9597 (acc_hostptr): Likewise.
9598 (acc_is_present): Likewise.
9599 (acc_map_data): Likewise.
9600 (acc_unmap_data): Likewise.
9601 (present_create_copy): Likewise.
9602 (delete_copyout): Likewise.
9603 (update_dev_host): Likewise.
9604 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9605 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9606 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9607 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9608 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9609 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9610 it only runs on nvptx targets.
9611 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9612 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9613 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9614 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9615 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9616 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9617 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9618 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9619 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9620 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9621 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9622 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9623 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9624 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9625 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9626 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9627 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9628 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9629 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9630 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9631 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9632 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9633 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9634
9635 2016-05-23 Martin Jambor <mjambor@suse.cz>
9636
9637 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9638
9639 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
9640
9641 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9642 to gomp_init_targets_once.
9643 (acc_set_device_type): Remove !cached_base_dev condition on call to
9644 gomp_init_targets_once, move call to before acc_device_lock acquire,
9645 to avoid deadlock.
9646 (acc_get_device_num): Remove !cached_base_dev condition on call to
9647 gomp_init_targets_once.
9648 (acc_set_device_num): Likewise.
9649
9650 2016-05-16 Martin Jambor <mjambor@suse.cz>
9651
9652 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9653
9654 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
9655
9656 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9657 expected partitioning.
9658
9659 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
9660
9661 PR middle-end/70626
9662 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9663 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9664 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9665
9666 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
9667
9668 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9669 non-fatal.
9670
9671 2016-04-19 Jakub Jelinek <jakub@redhat.com>
9672
9673 PR middle-end/70680
9674 * testsuite/libgomp.c/pr70680-1.c: New test.
9675 * testsuite/libgomp.c/pr70680-2.c: New test.
9676
9677 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9678
9679 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9680 pass parameter variables to subroutines.
9681
9682 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9683
9684 PR middle-end/70643
9685 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9686
9687 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
9688
9689 PR testsuite/68242
9690 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9691 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9692
9693 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
9694
9695 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9696 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9697 GOACC_declare prototype.
9698
9699 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9700 Merge this file, and...
9701 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9702 ... this file, and...
9703 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9704 ... this file, and...
9705 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9706 ... this file, and...
9707 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9708 ... this file, and...
9709 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9710 ... this file, and...
9711 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9712 ... this file, and...
9713 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9714 ... this file, and...
9715 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9716 ... this file, and...
9717 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9718 ... this file, and...
9719 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9720 ... this file, and...
9721 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9722 ... this file, and...
9723 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9724 ... this file into...
9725 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9726 file.
9727
9728 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9729 Make failure observable.
9730
9731 2016-04-12 Jakub Jelinek <jakub@redhat.com>
9732
9733 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9734 field.
9735 * target.c (gomp_target_fallback_firstprivate,
9736 gomp_target_unshare_firstprivate): Removed.
9737 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9738 before waiting for dependencies.
9739 (gomp_target_task_fn): Don't copy firstprivate vars here.
9740 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9741 firstprivate_copies here.
9742 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9743 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9744 explicit/implicit firstprivate.
9745
9746 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
9747
9748 PR lto/70289
9749 PR ipa/70348
9750 PR tree-optimization/70373
9751 PR middle-end/70533
9752 PR middle-end/70534
9753 PR middle-end/70535
9754 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9755 test.
9756 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9757 test.
9758 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9759 test.
9760 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9761 test.
9762 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9763 test.
9764 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9765 test.
9766 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9767 test.
9768 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9769 test.
9770 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9771 test.
9772 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9773 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9774 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9775 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9776 test.
9777 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9778 test.
9779 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9780 test.
9781 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9782 test.
9783 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9784 coverage.
9785 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9786 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9787 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9788 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9789 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9790 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9791 coverage.
9792 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9794 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9795 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9796 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9797 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9798 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9799 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9800 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9801 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9802 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9803 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9804 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9805 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9806 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9807
9808 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
9809 James Norris <jnorris@codesourcery.com>
9810 Nathan Sidwell <nathan@codesourcery.com>
9811 Julian Brown <julian@codesourcery.com>
9812 Cesar Philippidis <cesar@codesourcery.com>
9813 Chung-Lin Tang <cltang@codesourcery.com>
9814 Tom de Vries <tom@codesourcery.com>
9815
9816 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9817 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9818 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9819 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9820 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9821 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9822 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9823 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9824 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9825 XFAIL.
9826 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9827 Incorporate...
9828 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9829 file.
9830 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9831 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9832 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9833 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9834 Likewise.
9835 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9836 Likewise.
9837 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9838 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9839 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9840 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9841 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9842 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9843 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9844 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9845 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9846 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9847 Likewise.
9848 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9849 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9851 file...
9852 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9853 file into...
9854 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9855 file. Update.
9856 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9857 file.
9858 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9859 Likewise.
9860 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9861 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9862 ... this new file. Update.
9863 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9864 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9865 ... this new file. Update.
9866 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9867 file. Incorporate...
9868 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9869 file, and...
9870 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9871 file, and...
9872 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9873 file.
9874 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9875
9876 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
9877
9878 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9879 set-torture-options.
9880
9881 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
9882
9883 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9884 gcc-dg-runtest.
9885 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9886 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9887 -fno-builtin-acc_on_device instead of -O0.
9888 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9889 -O0.
9890 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9891 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9892 Likewise.
9893 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9894 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9895 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9896 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9897 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9898 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9899 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9900 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9901 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9902 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9903 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9904 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9905 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9906 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9907 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9908 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9909 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9910 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9911 Don't specify -O2.
9912 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9913 Likewise.
9914 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9915 Likewise.
9916
9917 2016-03-24 Martin Liska <mliska@suse.cz>
9918
9919 * plugin/plugin-hsa.c (packet_store_release): New function
9920 that is taken from the HSA runtime manual.
9921 (GOMP_OFFLOAD_run): Use the function.
9922
9923 2016-03-23 Jakub Jelinek <jakub@redhat.com>
9924
9925 PR c++/70376
9926 * testsuite/libgomp.c++/pr70376.C: New test.
9927
9928 2016-03-23 Tom de Vries <tom@codesourcery.com>
9929
9930 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9931 initialization of lresult and lvresult.
9932 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9933
9934 2016-03-23 James Norris <jnorris@codesourcery.com>
9935 Daichi Fukuoka <dc-fukuoka@sgi.com>
9936
9937 PR libgomp/69414
9938 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9939 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9940 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9941 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9942
9943 2016-03-23 Martin Liska <mliska@suse.cz>
9944
9945 PR hsa/70337
9946 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9947 argument just in case a dispatched kernel uses that argument.
9948
9949 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
9950
9951 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9952 -ftree-parallelize-loops/-fopenacc changes.
9953 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9954 Likewise.
9955 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9956 Likewise.
9957 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9958 Likewise.
9959 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9960 Likewise.
9961 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9962 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9963
9964 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
9965
9966 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9967 always_ld_library_path the path to libgcc_s.
9968
9969 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
9970
9971 PR testsuite/70009
9972 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9973
9974 2016-03-09 Tom de Vries <tom@codesourcery.com>
9975
9976 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9977 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9978 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9979 Same.
9980 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9981 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9982 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9983 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9984
9985 2016-03-07 Martin Jambor <mjambor@suse.cz>
9986
9987 * testsuite/lib/libgomp.exp
9988 (check_effective_target_hsa_offloading_selected_nocache): New.
9989 (check_effective_target_hsa_offloading_selected): Likewise.
9990 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9991 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9992 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9993 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9994 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9995 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9996 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9997 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9998 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9999 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10000 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10001 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10002 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10003 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10004 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10005 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10006 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10007
10008 2016-03-07 Martin Jambor <mjambor@suse.cz>
10009
10010 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10011 non-shared memory accelerators.
10012 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10013 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10014 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10015 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10016 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10017 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10018 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10019 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10020 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10021
10022 2016-03-07 Martin Jambor <mjambor@suse.cz>
10023
10024 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10025 ALWAYS_CFLAGS.
10026
10027 2016-03-02 Jakub Jelinek <jakub@redhat.com>
10028
10029 PR libgomp/69555
10030 * testsuite/libgomp.c++/pr69555-1.C: New test.
10031 * testsuite/libgomp.c++/pr69555-2.C: New test.
10032
10033 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10034 Martin Jambor <mjambor@suse.cz>
10035
10036 * testsuite/lib/libgomp.exp
10037 (check_effective_target_offload_device_shared_as): New proc.
10038 * testsuite/libgomp.c++/declare_target-1.C: New test.
10039
10040 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10041
10042 PR driver/68463
10043 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10044
10045 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10046
10047 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10048 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10049 dims.
10050 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10051 -ftree-parallelize-loops/-fopenacc changes.
10052 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10053 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10054 Likewise.
10055 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10056 Likewise.
10057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10058 Likewise.
10059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10060 Likewise.
10061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10062 Likewise.
10063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10064 Likewise.
10065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10066 Likewise.
10067 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10069 Likewise.
10070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10072 Likewise.
10073 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10074 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10075 Likewise.
10076
10077 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10078
10079 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10080
10081 2016-02-19 Jakub Jelinek <jakub@redhat.com>
10082
10083 PR driver/69805
10084 * testsuite/libgomp.c/pr69805.c: New test.
10085
10086 2016-02-16 Tom de Vries <tom@codesourcery.com>
10087
10088 PR lto/67709
10089 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10090
10091 2016-02-09 Tom de Vries <tom@codesourcery.com>
10092
10093 PR tree-optimization/69599
10094 * testsuite/libgomp.c/omp-nested-3.c: New test.
10095 * testsuite/libgomp.c/pr46032-2.c: New test.
10096 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10097 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10098
10099 2016-02-09 Tom de Vries <tom@codesourcery.com>
10100
10101 PR lto/69707
10102 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10103
10104 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10105
10106 * testsuite/libgomp.c/target-31.c: Fix testcase.
10107
10108 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10109
10110 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10111 clause.
10112 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10113 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10114 reduction and map clauses.
10115 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10116
10117 2016-02-02 James Norris <jnorris@codesourcery.com>
10118
10119 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10120
10121 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10122
10123 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10124 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10125
10126 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10127 cases.
10128
10129 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10130 variables.
10131 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10132 (hsa_kmt_lib): Set variables.
10133 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10134 always_ld_library_path.
10135 * Makefile.in: Regenerate.
10136 * configure: Likewise.
10137 * testsuite/Makefile.in: Likewise.
10138
10139 * plugin/configfrag.ac (offload_additional_options)
10140 (offload_additional_lib_paths): Don't amend for hsa offloading.
10141 * configure: Regenerate.
10142
10143 * plugin/configfrag.ac: Don't configure for offloading target if
10144 we don't build the corresponding plugin.
10145 * configure: Regenerate.
10146
10147 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10148
10149 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10150 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10151
10152 2016-01-26 Tom de Vries <tom@codesourcery.com>
10153
10154 PR tree-optimization/69110
10155 * testsuite/libgomp.c/pr69110.c: New test.
10156
10157 2016-01-25 Richard Biener <rguenther@suse.de>
10158
10159 PR lto/69393
10160 * testsuite/libgomp.c++/pr69393.C: New testcase.
10161
10162 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10163
10164 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10165 function wasn't mapped to the device with non-shared memory.
10166
10167 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10168
10169 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10170
10171 2016-01-19 Martin Jambor <mjambor@suse.cz>
10172 Martin Liska <mliska@suse.cz>
10173
10174 * plugin/Makefrag.am: Add HSA plugin requirements.
10175 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10176 (HSA_RUNTIME_LIB): Likewise.
10177 (HSA_RUNTIME_CPPFLAGS): Likewise.
10178 (HSA_RUNTIME_INCLUDE): New substitution.
10179 (HSA_RUNTIME_LIB): Likewise.
10180 (HSA_RUNTIME_LDFLAGS): Likewise.
10181 (hsa-runtime): New configure option.
10182 (hsa-runtime-include): Likewise.
10183 (hsa-runtime-lib): Likewise.
10184 (PLUGIN_HSA): New substitution variable.
10185 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10186 configure options.
10187 (PLUGIN_HSA_CPPFLAGS): Likewise.
10188 (PLUGIN_HSA_LDFLAGS): Likewise.
10189 (PLUGIN_HSA_LIBS): Likewise.
10190 Check that we have access to HSA run-time.
10191 * libgomp-plugin.h (offload_target_type): New element
10192 OFFLOAD_TARGET_TYPE_HSA.
10193 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10194 args.
10195 (bool gomp_create_target_task): Updated.
10196 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10197 new field can_run_func.
10198 * libgomp_g.h (GOMP_target_ext): Update prototype.
10199 * oacc-host.c (host_run): Added a new parameter args.
10200 * target.c (calculate_firstprivate_requirements): New function.
10201 (copy_firstprivate_data): Likewise.
10202 (gomp_target_fallback_firstprivate): Use them.
10203 (gomp_target_unshare_firstprivate): New function.
10204 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10205 devices.
10206 (GOMP_target): Do host fallback for all shared memory devices. Do not
10207 pass any args to plugins.
10208 (GOMP_target_ext): Introduce device-specific argument parameter args.
10209 Allow host fallback if device shares memory. Do not remap data if
10210 device has shared memory.
10211 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10212 like host fallback for mappings.
10213 (GOMP_target_data): Treat shared memory devices like host fallback.
10214 (GOMP_target_data_ext): Likewise.
10215 (GOMP_target_update): Likewise.
10216 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10217 gomp_create_target_task.
10218 (GOMP_target_enter_exit_data): Likewise.
10219 (omp_target_alloc): Treat shared memory devices like host fallback.
10220 (omp_target_free): Likewise.
10221 (omp_target_is_present): Likewise.
10222 (omp_target_memcpy): Likewise.
10223 (omp_target_memcpy_rect): Likewise.
10224 (omp_target_associate_ptr): Likewise.
10225 (gomp_load_plugin_for_device): Also load can_run.
10226 * task.c (GOMP_PLUGIN_target_task_completion): Free
10227 firstprivate_copies.
10228 (gomp_create_target_task): Accept new argument args and store it to
10229 ttask.
10230 * plugin/plugin-hsa.c: New file.
10231
10232 2016-01-18 Tom de Vries <tom@codesourcery.com>
10233
10234 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10235 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10236 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10237 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10238 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10239 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10240 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10241 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10242 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10243 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10244 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10245 Same.
10246 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10247 Same.
10248 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10249 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10250 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10251 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10252 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10253 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10254 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10255 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10256 Same.
10257 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10258
10259 2016-01-15 Jakub Jelinek <jakub@redhat.com>
10260
10261 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10262
10263 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10264
10265 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10266
10267 2016-01-12 James Norris <jnorris@codesourcery.com>
10268
10269 * libgomp.texi: Updates for OpenACC.
10270
10271 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
10272
10273 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10274
10275 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10276
10277 PR fortran/66680
10278 * testsuite/libgomp.fortran/pr66680.f90: New test.
10279
10280 2016-01-07 Jakub Jelinek <jakub@redhat.com>
10281
10282 PR middle-end/68960
10283 * testsuite/libgomp.c/pr68960.c: New test.
10284
10285 2016-01-06 Nathan Sidwell <nathan@acm.org>
10286
10287 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10288 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10289
10290 2016-01-04 Jakub Jelinek <jakub@redhat.com>
10291
10292 Update copyright years.
10293
10294 * libgomp.texi: Bump @copying's copyright year.
10295
10296 2015-12-31 Nathan Sidwell <nathan@acm.org>
10297
10298 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10299 dg-additional-options syntax.
10300 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10301 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10302 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10303 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10304 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10305 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10306 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10307 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10308 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10309 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10310 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10311 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10312 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10313 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10314 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10315 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10316 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10317 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10318
10319 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10320
10321 * libgomp.h (REFCOUNT_LINK): Define.
10322 (struct splay_tree_key_s): Add link_key.
10323 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10324 Replace target address of the pointer with target address of newly
10325 mapped object in the splay tree. Set link pointer on target to the
10326 device address of the mapped object.
10327 (gomp_unmap_vars): Restore target address of the pointer in the splay
10328 tree for REFCOUNT_LINK objects after unmapping.
10329 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10330 declare target link" objects.
10331 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10332 "omp declare target link" objects, which were mapped for the image.
10333 (gomp_exit_data): Restore target address of the pointer in the splay
10334 tree for REFCOUNT_LINK objects after unmapping.
10335 * testsuite/libgomp.c/target-link-1.c: New file.
10336
10337 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
10338
10339 * libgomp.h (gomp_device_state): New enum.
10340 (struct gomp_device_descr): Replace is_initialized with state.
10341 (gomp_fini_device): Remove declaration.
10342 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10343 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10344 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10345 (acc_set_device_type): Use state instead of is_initialized.
10346 (acc_set_device_num): Likewise.
10347 * target.c (resolve_device): Use state instead of is_initialized.
10348 Do not initialize finalized device.
10349 (gomp_map_vars): Do nothing if device is finalized.
10350 (gomp_unmap_vars): Likewise.
10351 (gomp_update): Likewise.
10352 (GOMP_offload_register_ver): Use state instead of is_initialized.
10353 (GOMP_offload_unregister_ver): Likewise.
10354 (gomp_init_device): Likewise.
10355 (gomp_unload_device): Likewise.
10356 (gomp_fini_device): Remove.
10357 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10358 (GOMP_target): Go to host fallback if device is finalized.
10359 (GOMP_target_ext): Likewise.
10360 (gomp_exit_data): Do nothing if device is finalized.
10361 (gomp_target_task_fn): Go to host fallback if device is finalized.
10362 (gomp_target_fini): New static function.
10363 (gomp_target_init): Use state instead of is_initialized.
10364 Call gomp_target_fini at exit.
10365
10366 2015-12-09 Tom de Vries <tom@codesourcery.com>
10367
10368 PR tree-optimization/68716
10369 * testsuite/libgomp.c/omp-nested-2.c: New test.
10370
10371 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
10372
10373 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10374 target openacc_nvidia_accel_selected.
10375 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10376 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10377 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10378 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10379
10380 2015-12-01 Julian Brown <julian@codesourcery.com>
10381 James Norris <James_Norris@mentor.com>
10382
10383 * oacc-parallel.c (GOACC_host_data): New function.
10384 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10385 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10386 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10387 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10388 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10389 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10390 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10391
10392 2015-11-30 James Norris <jnorris@codesourcery.com>
10393 Cesar Philippidis <cesar@codesourcery.com>
10394
10395 libgomp/
10396 * libgomp.oacc-fortran/routine-5.f90: New test.
10397 * libgomp.oacc-fortran/routine-7.f90: New test.
10398 * libgomp.oacc-fortran/routine-9.f90: New test.
10399
10400 2015-11-30 Tom de Vries <tom@codesourcery.com>
10401
10402 PR tree-optimization/46032
10403 * testsuite/libgomp.c/pr46032.c: New test.
10404
10405 2015-11-27 Jakub Jelinek <jakub@redhat.com>
10406
10407 PR libgomp/68579
10408 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10409 (gomp_create_target_task): Call it before freeing
10410 GOMP_TARGET_TASK_DATA tasks.
10411
10412 PR c/63326
10413 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10414 in between case label and OpenMP standalone directives.
10415 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10416
10417 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
10418
10419 * configure: Regenerate.
10420
10421 2015-11-26 Jakub Jelinek <jakub@redhat.com>
10422
10423 * testsuite/libgomp.c/target-35.c: New test.
10424
10425 2015-11-22 James Norris <jnorris@codesourcery.com>
10426 Cesar Philippidis <cesar@codesourcery.com>
10427
10428 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10429 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10430 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10431 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10432 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10433
10434 2015-11-20 Jakub Jelinek <jakub@redhat.com>
10435
10436 PR middle-end/68221
10437 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10438 * testsuite/libgomp.c/reduction-12.c: Likewise.
10439 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10440 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10441
10442 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
10443
10444 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10445 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10446 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10447 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10448 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10449 and fix.
10450 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10451 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10452
10453 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
10454
10455 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10456 worker & gang cases.
10457 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10458
10459 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
10460
10461 * config/nvptx/priority_queue.c: New file.
10462
10463 2015-11-14 Jakub Jelinek <jakub@redhat.com>
10464
10465 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10466 sections.
10467
10468 2015-11-14 Jakub Jelinek <jakub@redhat.com>
10469 Aldy Hernandez <aldyh@redhat.com>
10470 Ilya Verbin <ilya.verbin@intel.com>
10471
10472 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10473 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10474 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10475 iterators or IV by chunk size.
10476 * parallel.c (gomp_resolve_num_threads): Don't assume that
10477 if thr->ts.team is non-NULL, then pool must be non-NULL.
10478 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10479 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10480 GOMP_PLUGIN_target_task_completion.
10481 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10482 * Makefile.in: Regenerate.
10483 * libgomp.h: Shuffle prototypes and forward definitions around so
10484 priority queues can be defined.
10485 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10486 (enum gomp_target_task_state): New enum.
10487 (struct gomp_target_task): Add state, tgt, task and team fields.
10488 (gomp_create_target_task): Change return type to bool, add
10489 state argument.
10490 (gomp_target_task_fn): Change return type to bool.
10491 (struct gomp_device_descr): Add async_run_func.
10492 (struct gomp_task): Remove children, next_child, prev_child,
10493 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10494 Add pnode field.
10495 (struct gomp_taskgroup): Remove children.
10496 Add taskgroup_queue.
10497 (struct gomp_team): Change task_queue type to a priority queue.
10498 (splay_compare): Define inline.
10499 (priority_queue_offset): New.
10500 (priority_node_to_task): New.
10501 (task_to_priority_node): New.
10502 * oacc-mem.c: Do not include splay-tree.h.
10503 * priority_queue.c: New file.
10504 * priority_queue.h: New file.
10505 * splay-tree.c: Do not include splay-tree.h.
10506 (splay_tree_foreach_internal): New.
10507 (splay_tree_foreach): New.
10508 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10509 (splay_tree_callback): Define typedef.
10510 * target.c (splay_compare): Move to libgomp.h.
10511 (GOMP_target): Don't adjust *thr in any way around running offloaded
10512 task.
10513 (GOMP_target_ext): Likewise. Handle target nowait.
10514 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10515 return value from gomp_create_target_task, if false, fallthrough
10516 as if no dependencies exist.
10517 (gomp_target_task_fn): Change return type to bool, return true
10518 if the task should have another part scheduled later. Handle
10519 target nowait.
10520 (gomp_load_plugin_for_device): Initialize async_run.
10521 * task.c (gomp_init_task): Initialize children_queue.
10522 (gomp_clear_parent_in_list): New.
10523 (gomp_clear_parent_in_tree): New.
10524 (gomp_clear_parent): Handle priorities.
10525 (GOMP_task): Likewise.
10526 (priority_queue_move_task_first,
10527 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10528 New functions.
10529 (gomp_create_target_task): Use priority queues. Change return type
10530 to bool, add state argument, return false if for async
10531 {{enter,exit} data,update} constructs no dependencies need to be
10532 waited for, handle target nowait. Set task->fn to NULL instead of
10533 gomp_target_task_fn.
10534 (verify_children_queue): Remove.
10535 (priority_list_upgrade_task): New.
10536 (priority_queue_upgrade_task): New.
10537 (verify_task_queue): Remove.
10538 (priority_list_downgrade_task): New.
10539 (priority_queue_downgrade_task): New.
10540 (gomp_task_run_pre): Use priority queues.
10541 Abstract code out to priority_queue_downgrade_task.
10542 (gomp_task_run_post_handle_dependers): Use priority queues.
10543 (gomp_task_run_post_remove_parent): Likewise.
10544 (gomp_task_run_post_remove_taskgroup): Likewise.
10545 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10546 tasks specially.
10547 (GOMP_taskwait): Likewise.
10548 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10549 priority-queue_upgrade_task.
10550 (GOMP_taskgroup_start): Use priority queues.
10551 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10552 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10553 barrier.
10554 * taskloop.c (GOMP_taskloop): Handle priorities.
10555 * team.c (gomp_new_team): Call priority_queue_init.
10556 (free_team): Call priority_queue_free.
10557 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10558 team created for target nowait in implicit parallel region.
10559 (gomp_team_start): For nested check, test thr->ts.level instead of
10560 thr->ts.team != NULL.
10561 * testsuite/libgomp.c/doacross-3.c: New test.
10562 * testsuite/libgomp.c/ordered-5.c: New test.
10563 * testsuite/libgomp.c/priority.c: New test.
10564 * testsuite/libgomp.c/target-31.c: New test.
10565 * testsuite/libgomp.c/target-32.c: New test.
10566 * testsuite/libgomp.c/target-33.c: New test.
10567 * testsuite/libgomp.c/target-34.c: New test.
10568
10569 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10570
10571 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10572
10573 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10574 loop is sequential.
10575
10576 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10577
10578 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10579 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10580
10581 2015-11-12 James Norris <jnorris@codesourcery.com>
10582 Joseph Myers <joseph@codesourcery.com>
10583
10584 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10585 * oacc-parallel.c (GOACC_declare): New function.
10586 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10587 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10588 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10589 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10590 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10591
10592 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
10593
10594 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10595
10596 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
10597
10598 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10599 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10600
10601 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10602
10603 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10604 inadvertent commit.
10605
10606 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10607
10608 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10609 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10610 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10611 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10612 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10613
10614 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
10615
10616 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10617 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10618
10619 2015-11-05 Jakub Jelinek <jakub@redhat.com>
10620 Ilya Verbin <ilya.verbin@intel.com>
10621
10622 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10623 GOMP_loop_nonmonotonic_dynamic_start,
10624 GOMP_loop_nonmonotonic_guided_next,
10625 GOMP_loop_nonmonotonic_guided_start,
10626 GOMP_loop_ull_nonmonotonic_dynamic_next,
10627 GOMP_loop_ull_nonmonotonic_dynamic_start,
10628 GOMP_loop_ull_nonmonotonic_guided_next,
10629 GOMP_loop_ull_nonmonotonic_guided_start,
10630 GOMP_parallel_loop_nonmonotonic_dynamic,
10631 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10632 (GOMP_target_41): Renamed to ...
10633 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10634 arguments.
10635 (GOMP_target_data_41): Renamed to ...
10636 (GOMP_target_data_ext): ... this.
10637 (GOMP_target_update_41): Renamed to ...
10638 (GOMP_target_update_ext): ... this.
10639 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10640 GOMP_target_data_ext and GOMP_target_update_ext instead of
10641 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10642 Export GOMP_loop_nonmonotonic_dynamic_next,
10643 GOMP_loop_nonmonotonic_dynamic_start,
10644 GOMP_loop_nonmonotonic_guided_next,
10645 GOMP_loop_nonmonotonic_guided_start,
10646 GOMP_loop_ull_nonmonotonic_dynamic_next,
10647 GOMP_loop_ull_nonmonotonic_dynamic_start,
10648 GOMP_loop_ull_nonmonotonic_guided_next,
10649 GOMP_loop_ull_nonmonotonic_guided_start,
10650 GOMP_parallel_loop_nonmonotonic_dynamic and
10651 GOMP_parallel_loop_nonmonotonic_guided.
10652 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10653 GOMP_parallel_loop_nonmonotonic_guided,
10654 GOMP_loop_nonmonotonic_dynamic_start,
10655 GOMP_loop_nonmonotonic_guided_start,
10656 GOMP_loop_nonmonotonic_dynamic_next,
10657 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10658 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10659 GOMP_loop_ull_nonmonotonic_guided_start,
10660 GOMP_loop_ull_nonmonotonic_dynamic_next,
10661 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10662 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10663 functions.
10664 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10665 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10666 Use gomp_map_val function.
10667 (gomp_target_fallback_firstprivate): New static function.
10668 (GOMP_target_41): Renamed to ...
10669 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10670 arguments. Move firstprivate fallback handling into a new
10671 function.
10672 (GOMP_target_data_41): Renamed to ...
10673 (GOMP_target_data_ext): ... this.
10674 (GOMP_target_update_41): Renamed to ...
10675 (GOMP_target_update_ext): ... this.
10676 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10677 gomp_map_0len_lookup instead of gomp_map_lookup.
10678 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10679 gomp_map_lookup.
10680 * testsuite/libgomp.c/target-28.c: Likewise.
10681 * testsuite/libgomp.c/monotonic-1.c: New test.
10682 * testsuite/libgomp.c/monotonic-2.c: New test.
10683 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10684 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10685 * testsuite/libgomp.c/pr66199-5.c: New test.
10686 * testsuite/libgomp.c/pr66199-6.c: New test.
10687 * testsuite/libgomp.c/pr66199-7.c: New test.
10688 * testsuite/libgomp.c/pr66199-8.c: New test.
10689 * testsuite/libgomp.c/pr66199-9.c: New test.
10690 * testsuite/libgomp.c/reduction-11.c: New test.
10691 * testsuite/libgomp.c/reduction-12.c: New test.
10692 * testsuite/libgomp.c/reduction-13.c: New test.
10693 * testsuite/libgomp.c/reduction-14.c: New test.
10694 * testsuite/libgomp.c/reduction-15.c: New test.
10695 * testsuite/libgomp.c/target-12.c (main): Adjust for
10696 omp_target_is_present change for one-past-last element.
10697 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10698 the same var is both mapped and privatized.
10699 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10700 handling of zero-length array sections.
10701 * testsuite/libgomp.c/target-28.c: New test.
10702 * testsuite/libgomp.c/target-29.c: New test.
10703 * testsuite/libgomp.c/target-30.c: New test.
10704 * testsuite/libgomp.c/target-teams-1.c: New test.
10705 * testsuite/libgomp.c++/member-6.C: New test.
10706 * testsuite/libgomp.c++/member-7.C: New test.
10707 * testsuite/libgomp.c++/monotonic-1.C: New test.
10708 * testsuite/libgomp.c++/monotonic-2.C: New test.
10709 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10710 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10711 * testsuite/libgomp.c++/pr66199-3.C: New test.
10712 * testsuite/libgomp.c++/pr66199-4.C: New test.
10713 * testsuite/libgomp.c++/pr66199-5.C: New test.
10714 * testsuite/libgomp.c++/pr66199-6.C: New test.
10715 * testsuite/libgomp.c++/pr66199-7.C: New test.
10716 * testsuite/libgomp.c++/pr66199-8.C: New test.
10717 * testsuite/libgomp.c++/pr66199-9.C: New test.
10718 * testsuite/libgomp.c++/reduction-11.C: New test.
10719 * testsuite/libgomp.c++/reduction-12.C: New test.
10720 * testsuite/libgomp.c++/target-13.C: New test.
10721 * testsuite/libgomp.c++/target-14.C: New test.
10722 * testsuite/libgomp.c++/target-15.C: New test.
10723 * testsuite/libgomp.c++/target-16.C: New test.
10724 * testsuite/libgomp.c++/target-17.C: New test.
10725 * testsuite/libgomp.c++/target-18.C: New test.
10726 * testsuite/libgomp.c++/target-19.C: New test.
10727
10728 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10729
10730 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10731 and reduction copy.
10732 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10733 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10734 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10735 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10736 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10737 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10738 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10739 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10740 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10741 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10742 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10743 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10744 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10745 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10746
10747 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10748
10749 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10750 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10751 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10752 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10753 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10754 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10755 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10756 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10757
10758 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
10759
10760 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10761 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10762 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10763 * oacc-host.c (host_openacc_exec): Likewise.
10764 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10765
10766 2015-11-03 Julian Brown <julian@codesourcery.com>
10767 Thomas Schwinge <thomas@codesourcery.com>
10768
10769 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10770 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10771 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10772 Likewise.
10773 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10774 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10775
10776 2015-11-03 James Norris <jnorris@codesourcery.com>
10777
10778 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10779 file.
10780 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10781 Likewise.
10782 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10783 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10784 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10785 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10786 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10787
10788 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
10789
10790 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10791 compatibility.
10792 (enum acc_async_t): Reformat.
10793 (acc_on_device): Declare compatible with builtin and provide C++
10794 wrapper.
10795 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10796
10797 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
10798 Cesar Philippidis <cesar@codesourcery.com>
10799
10800 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10801 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10802 ... this. Add a description of the test at the top of the file.
10803 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10804 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10805 ... this. Add a description of the test at the top of the file.
10806
10807 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
10808
10809 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10810 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10811 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10812 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10813 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10814 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10815
10816 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
10817
10818 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10819 dimensions.
10820
10821 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
10822
10823 PR testsuite/68063
10824 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10825
10826 2015-10-27 James Norris <jnorris@codesourcery.com>
10827
10828 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10829 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10830
10831 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
10832
10833 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10834 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10835
10836 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10837 acc_device_nvidia usage.
10838 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10839 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10840 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10841
10842 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10843 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10844
10845 PR libgomp/66518
10846 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10847
10848 PR libgomp/65437
10849 PR libgomp/66518
10850 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10851 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10852
10853 2015-10-23 Tom de Vries <tom@codesourcery.com>
10854
10855 PR testsuite/68063
10856 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10857
10858 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
10859
10860 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10861 vector_length.
10862 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10863
10864 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
10865 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
10866
10867 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10868 to 0 when mapnum is 0.
10869
10870 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10871
10872 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10873 Cast to int from int32_t.
10874
10875 2015-10-13 Jakub Jelinek <jakub@redhat.com>
10876 Aldy Hernandez <aldyh@redhat.com>
10877 Ilya Verbin <ilya.verbin@intel.com>
10878
10879 * config/linux/affinity.c (omp_get_place_num_procs,
10880 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10881 * config/linux/doacross.h: New file.
10882 * config/posix/affinity.c (omp_get_place_num_procs,
10883 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10884 * config/posix/doacross.h: New file.
10885 * env.c: Include gomp-constants.h.
10886 (struct gomp_task_icv): Rename run_sched_modifier to
10887 run_sched_chunk_size.
10888 (gomp_max_task_priority_var): New variable.
10889 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10890 (handle_omp_display_env): Change _OPENMP value from 201307 to
10891 201511. Print OMP_MAX_TASK_PRIORITY.
10892 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10893 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10894 chunk_size and run_sched_modifier to run_sched_chunk_size.
10895 (omp_get_max_task_priority, omp_get_initial_device,
10896 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10897 omp_get_partition_place_nums): New functions.
10898 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10899 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10900 to chunk_size.
10901 (omp_get_num_places_, omp_get_place_num_procs_,
10902 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10903 omp_get_place_proc_ids_8_, omp_get_place_num_,
10904 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10905 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10906 omp_get_max_task_priority_): New functions.
10907 * libgomp_g.h (GOMP_loop_doacross_static_start,
10908 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10909 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10910 GOMP_loop_ull_doacross_dynamic_start,
10911 GOMP_loop_ull_doacross_guided_start,
10912 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10913 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10914 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10915 GOMP_target_data_41, GOMP_target_update_41,
10916 GOMP_target_enter_exit_data): New prototypes.
10917 (GOMP_task): Add prototype argument.
10918 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10919 (struct gomp_doacross_work_share): New type.
10920 (struct gomp_work_share): Add doacross field.
10921 (struct gomp_task_icv): Rename run_sched_modifier to
10922 run_sched_chunk_size.
10923 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10924 GOMP_TASK_UNDEFERRED. Add comments.
10925 (struct gomp_task_depend_entry): Add comments.
10926 (struct gomp_task): Likewise.
10927 (struct gomp_taskgroup): Likewise.
10928 (struct gomp_target_task): New type.
10929 (struct gomp_team): Add comment.
10930 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10931 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10932 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10933 (struct target_var_desc): New type.
10934 (struct target_mem_desc): Adjust comment. Use struct
10935 target_var_desc instead of splay_tree_key for list.
10936 (REFCOUNT_INFINITY): Define.
10937 (struct splay_tree_key_s): Remove copy_from field.
10938 (struct gomp_device_descr): Add dev2dev_func field.
10939 (enum gomp_map_vars_kind): New enum.
10940 (gomp_map_vars): Add one argument.
10941 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10942 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10943 omp_get_place_num_procs, omp_get_place_num_procs_,
10944 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10945 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10946 omp_get_place_num_, omp_get_partition_num_places,
10947 omp_get_partition_num_places_, omp_get_partition_place_nums,
10948 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10949 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10950 omp_target_free, omp_target_is_present, omp_target_memcpy,
10951 omp_target_memcpy_rect, omp_target_associate_ptr and
10952 omp_target_disassociate_ptr.
10953 (GOMP_4.0.2): Renamed to ...
10954 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
10955 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10956 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10957 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10958 GOMP_loop_doacross_static_start, GOMP_doacross_post,
10959 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10960 GOMP_loop_ull_doacross_guided_start,
10961 GOMP_loop_ull_doacross_runtime_start,
10962 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10963 GOMP_doacross_ull_wait.
10964 * libgomp.texi: Document omp_get_max_task_priority.
10965 Rename modifier argument to chunk_size for omp_set_schedule and
10966 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
10967 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10968 to run_sched_chunk_size renaming.
10969 (GOMP_loop_ordered_runtime_start): Likewise.
10970 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10971 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10972 GOMP_parallel_loop_runtime_start): New functions.
10973 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10974 to run_sched_chunk_size renaming.
10975 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10976 GOMP_loop_doacross_guided_start): New functions or aliases.
10977 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10978 run_sched_modifier to run_sched_chunk_size renaming.
10979 (GOMP_loop_ull_ordered_runtime_start): Likewise.
10980 (gomp_loop_ull_doacross_static_start,
10981 gomp_loop_ull_doacross_dynamic_start,
10982 gomp_loop_ull_doacross_guided_start,
10983 GOMP_loop_ull_doacross_runtime_start): New functions.
10984 (GOMP_loop_ull_doacross_static_start,
10985 GOMP_loop_ull_doacross_dynamic_start,
10986 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10987 * oacc-mem.c (acc_map_data, present_create_copy,
10988 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10989 to gomp_map_vars.
10990 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10991 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10992 instead of false to gomp_map_vars.
10993 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10994 * omp.h.in (omp_lock_hint_t): New type.
10995 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10996 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10997 omp_get_place_num, omp_get_partition_num_places,
10998 omp_get_partition_place_nums, omp_get_initial_device,
10999 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11000 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11001 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11002 prototypes.
11003 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11004 (omp_lock_hint_none, omp_lock_hint_uncontended,
11005 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11006 omp_lock_hint_speculative): New parameters.
11007 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11008 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11009 omp_get_place_num, omp_get_partition_num_places,
11010 omp_get_partition_place_nums, omp_get_initial_device,
11011 omp_get_max_task_priority): New interfaces.
11012 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11013 to chunk_size.
11014 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11015 (omp_lock_hint_none, omp_lock_hint_uncontended,
11016 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11017 omp_lock_hint_speculative): New parameters.
11018 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11019 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11020 omp_get_place_num, omp_get_partition_num_places,
11021 omp_get_partition_place_nums, omp_get_initial_device,
11022 omp_get_max_task_priority): New functions and subroutines.
11023 * ordered.c: Include stdarg.h and string.h.
11024 (MAX_COLLAPSED_BITS): Define.
11025 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11026 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11027 GOMP_doacross_ull_wait): New functions.
11028 * target.c: Include errno.h.
11029 (resolve_device): If device is not initialized, call
11030 gomp_init_device on it.
11031 (gomp_map_lookup): New function.
11032 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11033 Don't bump refcount if REFCOUNT_INFINITY. Handle
11034 GOMP_MAP_ALWAYS_TO_P.
11035 (get_kind): Rename is_openacc argument to short_mapkind.
11036 (gomp_map_pointer): Use gomp_map_lookup.
11037 (gomp_map_fields_existing): New function.
11038 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11039 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11040 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11041 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11042 Adjust for tgt->list changed type and copy_from living in there.
11043 (gomp_copy_from_async): Adjust for tgt->list changed type and
11044 copy_from living in there.
11045 (gomp_unmap_vars): Likewise.
11046 (gomp_update): Likewise. Rename is_openacc argument to
11047 short_mapkind. Don't fail if object is not mapped.
11048 (gomp_load_image_to_device): Initialize refcount to
11049 REFCOUNT_INFINITY.
11050 (gomp_target_fallback): New function.
11051 (gomp_get_target_fn_addr): Likewise.
11052 (GOMP_target): Adjust gomp_map_vars caller, use
11053 gomp_get_target_fn_addr and gomp_target_fallback.
11054 (GOMP_target_41): New function.
11055 (gomp_target_data_fallback): New function.
11056 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11057 (GOMP_target_data_41): New function.
11058 (GOMP_target_update): Adjust gomp_update caller.
11059 (GOMP_target_update_41): New function.
11060 (gomp_exit_data, GOMP_target_enter_exit_data,
11061 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11062 omp_target_is_present, omp_target_memcpy,
11063 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11064 omp_target_associate_ptr, omp_target_disassociate_ptr,
11065 gomp_load_plugin_for_device): New functions.
11066 * task.c: Include gomp-constants.h. Include taskloop.c
11067 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11068 (gomp_task_handle_depend): New function.
11069 (GOMP_task): Use it. Add priority argument. Use
11070 gomp-constant.h constants instead of hardcoded numbers.
11071 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11072 (gomp_create_target_task): New function.
11073 (verify_children_queue, verify_taskgroup_queue,
11074 verify_task_queue): New functions.
11075 (gomp_task_run_pre): Call verify_*_queue functions.
11076 If an upcoming tied task is about to leave the sibling or
11077 taskgroup queues in an invalid state, adjust appropriately.
11078 Remove taskgroup argument. Add comments.
11079 (gomp_task_run_post_handle_dependers): Add comments.
11080 (gomp_task_run_post_remove_parent): Likewise.
11081 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11082 (GOMP_taskwait): Likewise. Add comments.
11083 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11084 problem such that the first non parent_depends_on task does not
11085 end up at the end of the children queue.
11086 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11087 GOMP_TASK_UNDEFERRED.
11088 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11089 * taskloop.c: New file.
11090 * testsuite/lib/libgomp.exp
11091 (check_effective_target_offload_device_nonshared_as): New proc.
11092 * testsuite/libgomp.c/affinity-2.c: New test.
11093 * testsuite/libgomp.c/doacross-1.c: New test.
11094 * testsuite/libgomp.c/doacross-2.c: New test.
11095 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11096 Add map clause to target.
11097 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11098 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11099 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11100 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11101 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11102 Likewise.
11103 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11104 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11105 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11106 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11107 not defined. Use those where needed.
11108 * testsuite/libgomp.c/for-4.c: New test.
11109 * testsuite/libgomp.c/for-5.c: New test.
11110 * testsuite/libgomp.c/for-6.c: New test.
11111 * testsuite/libgomp.c/linear-1.c: New test.
11112 * testsuite/libgomp.c/ordered-4.c: New test.
11113 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11114 only allowed on the loop iterator.
11115 * testsuite/libgomp.c/pr66199-3.c: New test.
11116 * testsuite/libgomp.c/pr66199-4.c: New test.
11117 * testsuite/libgomp.c/reduction-7.c: New test.
11118 * testsuite/libgomp.c/reduction-8.c: New test.
11119 * testsuite/libgomp.c/reduction-9.c: New test.
11120 * testsuite/libgomp.c/reduction-10.c: New test.
11121 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11122 map(tofrom:s).
11123 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11124 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11125 * testsuite/libgomp.c/target-11.c: New test.
11126 * testsuite/libgomp.c/target-12.c: New test.
11127 * testsuite/libgomp.c/target-13.c: New test.
11128 * testsuite/libgomp.c/target-14.c: New test.
11129 * testsuite/libgomp.c/target-15.c: New test.
11130 * testsuite/libgomp.c/target-16.c: New test.
11131 * testsuite/libgomp.c/target-17.c: New test.
11132 * testsuite/libgomp.c/target-18.c: New test.
11133 * testsuite/libgomp.c/target-19.c: New test.
11134 * testsuite/libgomp.c/target-20.c: New test.
11135 * testsuite/libgomp.c/target-21.c: New test.
11136 * testsuite/libgomp.c/target-22.c: New test.
11137 * testsuite/libgomp.c/target-23.c: New test.
11138 * testsuite/libgomp.c/target-24.c: New test.
11139 * testsuite/libgomp.c/target-25.c: New test.
11140 * testsuite/libgomp.c/target-26.c: New test.
11141 * testsuite/libgomp.c/target-27.c: New test.
11142 * testsuite/libgomp.c/taskloop-1.c: New test.
11143 * testsuite/libgomp.c/taskloop-2.c: New test.
11144 * testsuite/libgomp.c/taskloop-3.c: New test.
11145 * testsuite/libgomp.c/taskloop-4.c: New test.
11146 * testsuite/libgomp.c++/ctor-13.C: New test.
11147 * testsuite/libgomp.c++/doacross-1.C: New test.
11148 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11149 Replace offload_device with offload_device_nonshared_as.
11150 * testsuite/libgomp.c++/for-12.C: New test.
11151 * testsuite/libgomp.c++/for-13.C: New test.
11152 * testsuite/libgomp.c++/for-14.C: New test.
11153 * testsuite/libgomp.c++/linear-1.C: New test.
11154 * testsuite/libgomp.c++/member-1.C: New test.
11155 * testsuite/libgomp.c++/member-2.C: New test.
11156 * testsuite/libgomp.c++/member-3.C: New test.
11157 * testsuite/libgomp.c++/member-4.C: New test.
11158 * testsuite/libgomp.c++/member-5.C: New test.
11159 * testsuite/libgomp.c++/ordered-1.C: New test.
11160 * testsuite/libgomp.c++/reduction-5.C: New test.
11161 * testsuite/libgomp.c++/reduction-6.C: New test.
11162 * testsuite/libgomp.c++/reduction-7.C: New test.
11163 * testsuite/libgomp.c++/reduction-8.C: New test.
11164 * testsuite/libgomp.c++/reduction-9.C: New test.
11165 * testsuite/libgomp.c++/reduction-10.C: New test.
11166 * testsuite/libgomp.c++/reference-1.C: New test.
11167 * testsuite/libgomp.c++/simd14.C: New test.
11168 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11169 * testsuite/libgomp.c++/target-5.C: New test.
11170 * testsuite/libgomp.c++/target-6.C: New test.
11171 * testsuite/libgomp.c++/target-7.C: New test.
11172 * testsuite/libgomp.c++/target-8.C: New test.
11173 * testsuite/libgomp.c++/target-9.C: New test.
11174 * testsuite/libgomp.c++/target-10.C: New test.
11175 * testsuite/libgomp.c++/target-11.C: New test.
11176 * testsuite/libgomp.c++/target-12.C: New test.
11177 * testsuite/libgomp.c++/taskloop-1.C: New test.
11178 * testsuite/libgomp.c++/taskloop-2.C: New test.
11179 * testsuite/libgomp.c++/taskloop-3.C: New test.
11180 * testsuite/libgomp.c++/taskloop-4.C: New test.
11181 * testsuite/libgomp.c++/taskloop-5.C: New test.
11182 * testsuite/libgomp.c++/taskloop-6.C: New test.
11183 * testsuite/libgomp.c++/taskloop-7.C: New test.
11184 * testsuite/libgomp.c++/taskloop-8.C: New test.
11185 * testsuite/libgomp.c++/taskloop-9.C: New test.
11186 * testsuite/libgomp.fortran/affinity1.f90: New test.
11187 * testsuite/libgomp.fortran/affinity2.f90: New test.
11188
11189 2015-10-13 Tom de Vries <tom@codesourcery.com>
11190
11191 PR tree-optimization/67476
11192 * testsuite/libgomp.c/autopar-3.c: New test.
11193 * testsuite/libgomp.c/autopar-4.c: New test.
11194 * testsuite/libgomp.c/autopar-5.c: New test.
11195 * testsuite/libgomp.c/autopar-6.c: New test.
11196 * testsuite/libgomp.c/autopar-7.c: New test.
11197 * testsuite/libgomp.c/autopar-8.c: New test.
11198
11199 2015-10-12 James Norris <jnorris@codesourcery.com>
11200
11201 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11202 initializer.
11203
11204 2015-10-09 David Malcolm <dmalcolm@redhat.com>
11205
11206 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11207 using load_gcc_lib.
11208
11209 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11210
11211 * oacc-ptx.h: Remove file, moving its content into...
11212 * config/nvptx/fortran.c: ... here...
11213 * config/nvptx/oacc-init.c: ..., here...
11214 * config/nvptx/oacc-parallel.c: ..., and here.
11215 * config/nvptx/openacc.f90: New file.
11216 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11217 (link_ptx): Don't link in predefined bits of PTX code.
11218
11219 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11220 Bernd Schmidt <bernds@codesourcery.com>
11221
11222 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11223 (struct targ_ptx_obj): New.
11224 (nvptx_tdata): Move earlier, change data format.
11225 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11226 objects.
11227 (GOMP_OFFLOAD_load_image): Adjust.
11228
11229 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11230
11231 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11232 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11233 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11234 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11235 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11236 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11237 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11238 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11239 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11240 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11241 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11242 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11243 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11244 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11245 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11246 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11247 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11248 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11249 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11250 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11251 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11252 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11253 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11254 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11255 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11256 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11257 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11258 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11259 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11260 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11261 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11262 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11263 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11264 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11265 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11266 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11267 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11268 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11269 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11270 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11271 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11272 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11273 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11274 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11275 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11276 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11277 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11278 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11279 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11280 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11281 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11282 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11283 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11284 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11285 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11286 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11287 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11288 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11289 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11290 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11291 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11292 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11293 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11294
11295 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11296
11297 * oacc-init.c (acc_on_device): Force optimization level.
11298
11299 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11300
11301 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11302 (cuda_errlist): Delete.
11303 (cuda_error): Reimplement.
11304
11305 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11306
11307 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11308 array.
11309 * libgomp.map (GOACC_parallel_keyed): New.
11310 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11311 all callers.
11312 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11313 and take keyed varargs list. Adjust call to exec_func.
11314 (GOACC_parallel): Force host fallback.
11315 * libgomp_g.h (GOACC_parallel): Remove.
11316 (GOACC_parallel_keyed): Declare.
11317 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11318 (struct targ_gn_descriptor): Replace name field with launch field.
11319 (nvptx_exec): Lose separate geometry args, take array. Process
11320 dynamic dimensions and adjust.
11321 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11322 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11323 data.
11324 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11325 passing.
11326 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11327 passing.
11328
11329 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11330
11331 PR libgomp/67141
11332 * oacc-int.h (goacc_host_init): Add declaration.
11333 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11334 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11335
11336 2015-09-08 Aditya Kumar <hiraditya@msn.com>
11337 Sebastian Pop <s.pop@samsung.com>
11338
11339 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11340 match o/p.
11341 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11342 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11343 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11344 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11345 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11346
11347 2015-09-03 Jakub Jelinek <jakub@redhat.com>
11348
11349 * configure.tgt: Add missing ;; in between nvptx and rtems
11350 snippets.
11351
11352 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11353
11354 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11355 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11356 (gomp_thread_pool_reservoir): Add priority member.
11357 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11358 priority.
11359 (parse_thread_pools): Likewise.
11360 * team.c (gomp_team_start): Call configuration provided
11361 gomp_adjust_thread_attr(). Destroy thread attributes if
11362 necessary.
11363 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11364
11365 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11366
11367 * config/posix/pool.h: New.
11368 * config/rtems/pool.h: Likewise.
11369 * config/rtems/proc.c: Likewise.
11370 * libgomp.h (gomp_thread_destructor): Declare.
11371 * team.c: Include configuration provided "pool.h".
11372 (gomp_get_thread_pool): Define in configuration.
11373 (gomp_team_end): Call configuration defined
11374 gomp_release_thread_pool().
11375
11376 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11377
11378 * config/rtems/bar.c: New.
11379 * config/rtems/bar.h: Likewise.
11380 * config/rtems/mutex.c: Likewise.
11381 * config/rtems/mutex.h: Likewise.
11382 * config/rtems/sem.c: Likewise.
11383 * config/rtems/sem.h: Likewise.
11384 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11385 <sys/lock.h> header file.
11386 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11387 supported by Newlib.
11388 * configure: Regenerate.
11389
11390 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11391
11392 * team.c (gomp_new_thread_pool): Delete and move content to ...
11393 (gomp_get_thread_pool): ... new function. Allocate and
11394 initialize thread pool on demand.
11395 (get_last_team): Use gomp_get_thread_pool().
11396 (gomp_team_start): Delete thread pool initialization.
11397
11398 2015-09-03 Tom de Vries <tom@codesourcery.com>
11399
11400 PR tree-optimization/65637
11401 * testsuite/libgomp.c/autopar-2.c: New test.
11402
11403 2015-08-29 Tom de Vries <tom@codesourcery.com>
11404
11405 PR tree-optimization/46193
11406 * testsuite/libgomp.c/pr46193.c: New test.
11407
11408 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
11409
11410 libgomp/
11411 * libgomp.map: Add 4.0.2 version.
11412 * target.c (offload_image_descr): Add version field.
11413 (gomp_load_image_to_device): Add version argument. Adjust plugin
11414 call. Improve load mismatch diagnostic.
11415 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11416 call.
11417 (GOMP_offload_regster): Make stub function, move bulk to ...
11418 (GOMP_offload_register_ver): ... here. Process version argument.
11419 (GOMP_offload_unregister): Make stub function, move bulk to ...
11420 (GOMP_offload_unregister_ver): ... here. Process version argument.
11421 (gomp_init_device): Process version field.
11422 (gomp_unload_device): Process version field.
11423 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11424 macros. Check plugin version.
11425 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11426 loader and unloader types.
11427 * oacc-host.c: Include gomp-constants.h.
11428 (host_version): New.
11429 (host_load_image, host_unload_image): Adjust.
11430 (host_dispatch): Add host_version.
11431 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11432 (GOMP_OFFLOAD_version): New.
11433 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11434 (GOMP_OFFLOAD_unload_image): Likewise.
11435 * plugin/plugin-host.c: Include gomp-constants.h.
11436 (GOMP_OFFLOAD_version): New.
11437 (GOMP_OFFLOAD_load_image): Add version arg.
11438 (GOMP_OFFLOAD_unload_image): Likewise.
11439
11440 2015-08-24 Tom de Vries <tom@codesourcery.com>
11441
11442 PR tree-optimization/65468
11443 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11444
11445 2015-08-24 Tom de Vries <tom@codesourcery.com>
11446
11447 PR tree-optimization/65468
11448 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11449
11450 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
11451
11452 PR libgomp/66761
11453 PR libgomp/67303
11454 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11455 (gomp_iter_guided_next): Idem.
11456 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11457 (gomp_iter_ull_guided_next): Idem.
11458 * config/linux/wait.h (do_spin): Idem.
11459
11460 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11461
11462 * libgomp-plugin.h (enum offload_target_type): Remove
11463 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11464 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11465 * openacc.h (enum acc_device_t): Likewise.
11466 * openacc_lib.h: Likewise.
11467 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11468 (acc_on_device): Just use __builtin_acc_on_device.
11469 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11470 of acc_on_device builtin.
11471 * plugin/plugin-host.h: Remove file.
11472 * plugin/plugin-host.c: Likewise, but salvage some content into...
11473 * oacc-host.c: ... this file.
11474 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11475 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11476 * Makefile.in: Regenerate.
11477 * configure: Likewise.
11478 * testsuite/lib/libgomp.exp
11479 (check_effective_target_openacc_host_nonshm_selected): Remove.
11480 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11481 ACC_DEVICE_TYPE=host_nonshm.
11482 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11483 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11484 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11485 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11486 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11487 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11488
11489 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11490 Jakub Jelinek <jakub@redhat.com>
11491
11492 * config/nvptx/affinity.c: New file.
11493 * config/nvptx/alloc.c: Likewise.
11494 * config/nvptx/bar.c: Likewise.
11495 * config/nvptx/barrier.c: Likewise.
11496 * config/nvptx/critical.c: Likewise.
11497 * config/nvptx/env.c: Likewise.
11498 * config/nvptx/error.c: Likewise.
11499 * config/nvptx/fortran.c: Likewise.
11500 * config/nvptx/iter.c: Likewise.
11501 * config/nvptx/iter_ull.c: Likewise.
11502 * config/nvptx/libgomp-plugin.c: Likewise.
11503 * config/nvptx/lock.c: Likewise.
11504 * config/nvptx/loop.c: Likewise.
11505 * config/nvptx/loop_ull.c: Likewise.
11506 * config/nvptx/mutex.c: Likewise.
11507 * config/nvptx/oacc-async.c: Likewise.
11508 * config/nvptx/oacc-cuda.c: Likewise.
11509 * config/nvptx/oacc-host.c: Likewise.
11510 * config/nvptx/oacc-init.c: Likewise.
11511 * config/nvptx/oacc-mem.c: Likewise.
11512 * config/nvptx/oacc-parallel.c: Likewise.
11513 * config/nvptx/oacc-plugin.c: Likewise.
11514 * config/nvptx/omp-lock.h: Likewise.
11515 * config/nvptx/ordered.c: Likewise.
11516 * config/nvptx/parallel.c: Likewise.
11517 * config/nvptx/proc.c: Likewise.
11518 * config/nvptx/ptrlock.c: Likewise.
11519 * config/nvptx/sections.c: Likewise.
11520 * config/nvptx/sem.c: Likewise.
11521 * config/nvptx/single.c: Likewise.
11522 * config/nvptx/splay-tree.c: Likewise.
11523 * config/nvptx/target.c: Likewise.
11524 * config/nvptx/task.c: Likewise.
11525 * config/nvptx/team.c: Likewise.
11526 * config/nvptx/time.c: Likewise.
11527 * config/nvptx/work.c: Likewise.
11528 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11529 * configure: Regenerate.
11530 * configure.tgt (config_path): Set to "nvptx" for target
11531 nvptx*-*-*.
11532
11533 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11534
11535 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11536
11537 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
11538
11539 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11540 (cuda_errlist): Constify.
11541 (errmsg): Move into ...
11542 (cuda_error): ... here. Make smaller.
11543 (_XSTR, _STR): Delete.
11544 (cuda_synames): Delete.
11545 (verify_device_library): Delete.
11546 (nvptx_init): Don't call it.
11547
11548 2015-07-28 Tom de Vries <tom@codesourcery.com>
11549
11550 * testsuite/libgomp.c/uns-outer-4.c: New test.
11551
11552 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
11553
11554 * testsuite/libgomp.c/pr66714.c: New test.
11555
11556 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
11557
11558 PR libgomp/66950
11559 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11560 (fib_ref): New function.
11561 (fib): Correct corner cases in the recursion.
11562 (main): Replace the non-simd loop with fib_ref call.
11563 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11564 subroutine.
11565 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11566 for the last array element value. Replace the non-simd loop with
11567 fib_ref call. Remove redundant b_ref array. Remove the comparison
11568 of the last array element with according Fibonacci sequence element.
11569 (fib): Correct corner cases in the recursion.
11570
11571 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
11572
11573 * target.c (gomp_offload_image_to_device): Rename to ...
11574 (gomp_load_image_to_device): ... here.
11575 (GOMP_offload_register): Adjust call.
11576 (gomp_init_device): Likewise.
11577 (gomp_unload_image_from_device): New. Broken out of ...
11578 (GOMP_offload_unregister): ... here. Call it.
11579 (gomp_unload_device): New.
11580 * libgomp.h (gomp_unload_device): Declare.
11581 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11582 mem maps.
11583
11584 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
11585
11586 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11587 wait=-specific if.
11588 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11589 !=0 condition.
11590 (goacc_waits): Move !num_waits handling to ...
11591 (GOACC_wait): ... here, the only caller that might have zero waits.
11592
11593 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11594 (struct ptx_image_data): Move earlier, add fns field.
11595 (struct ptx_device): Add images and image_lock fields.
11596 (ptx_images, ptx_image_lock): Delete.
11597 (nvptx_open_device): Initialize images and image_lock fields.
11598 (nvptx_close_device): Destroy image_lock.
11599 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11600 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11601 fields.
11602
11603 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
11604
11605 * target.c (GOMP_offload_register): Use int for device type arg.
11606 (GOMP_offload_unregister): Likewise.
11607
11608 * target.c (struct_offload_image_descr): Constify host_table.
11609 (gomp_offload_image_to_device): Likewise.
11610 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11611
11612 * libgomp.h (gomp_device_descr): Constify target data arguments.
11613 * target.c (struct offload_image_descr): Constify target_data.
11614 (gomp_offload_image_to_device): Likewise.
11615 (GOMP_offload_register): Likewise.
11616 (GOMP_offload_unregister): Likewise.
11617 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11618 GOMP_OFFLOAD_unload_image): Constify target data.
11619 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11620 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11621
11622 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
11623
11624 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11625 Workaround driver library const error.
11626 (struct nvptx_tdata, nvptx_tdata_t): New.
11627 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11628 type.
11629
11630 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
11631
11632 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11633 of EPS parameter from integer to real.
11634 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11635 type of EPS parameter from integer to real.
11636
11637 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
11638
11639 * team.c (get_last_team): New.
11640 (gomp_new_team): Recycle last non-nested team if possible.
11641 (gomp_team_end): Move team work share list free lock destruction
11642 to ...
11643 (free_team): ... here.
11644
11645 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
11646
11647 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11648 and ref from int to double. Replaced their comparison with
11649 an inequality of their difference and EPS.
11650 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11651 comparison of pri and a reference number with an inequality of their
11652 difference and EPS.
11653 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11654 the comparison of sum and sum_ref with an inequality of their
11655 difference and EPS.
11656 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11657 the comparison of pri and a reference number with an inequality of
11658 their difference and EPS.
11659
11660 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
11661
11662 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11663 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11664 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11665 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11666 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11667 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11668 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11669 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11670 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11671 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11672 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11673 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11674 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11675 variables.
11676 (vec_mult): Likewise. Add #pragma omp taskwait.
11677 (main): Adjust caller.
11678 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11679 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11680 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11681 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11682 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11683 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11684 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11685 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11686 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11687 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11688 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11689 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11690 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11691 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11692 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11693 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11694 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11695 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11696 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11697 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11698 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11699 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11700 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11701 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11702 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11703 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11704 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11705 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11706 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11707 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11708 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11709 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11710 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11711 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11712 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11713 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11714 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11715 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11716 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11717 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11718 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11719 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11720 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11721 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11722 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11723 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11724 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11725 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11726 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11727 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11728 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11729 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11730 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11731 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11732 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11733 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11734 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11735 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11736 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11737 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11738 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11739 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11740 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11741 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11742 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11743 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11744 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11745 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11746 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11747 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11748 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11749 (vec_mult): Add !$omp taskwait.
11750 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11751 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11752 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11753 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11754 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11755 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11756 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11757 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11758 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11759 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11760 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11761 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11762 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11763 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11764 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11765 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11766 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11767 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11768 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11769 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11770 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11771 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11772 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11773 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11774 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11775 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11776 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11777 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11778 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11779 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11780 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11781 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11782 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11783 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11784 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11785 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11786 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11787 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11788 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11789 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11790 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11791 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11792 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11793 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11794 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11795 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11796 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11797 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11798 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11799 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11800 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11801 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11802 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11803 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11804 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11805 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11806 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11807 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11808 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11809 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11810 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11811 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11812 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11813 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11814 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11815 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11816 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11817
11818 2015-07-10 Tom de Vries <tom@codesourcery.com>
11819
11820 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11821 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11822
11823 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
11824
11825 PR libgomp/65099
11826 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11827 in a 64-bit configuration.
11828 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11829 offloading testing if no such device is available.
11830 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11831 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11832
11833 2015-07-08 Tom de Vries <tom@codesourcery.com>
11834
11835 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11836 second call to f.
11837 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11838
11839 2015-07-07 Tom de Vries <tom@codesourcery.com>
11840
11841 PR tree-optimization/66642
11842 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11843 iteration count case.
11844 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11845 function, factor out of ...
11846 (main): ... here. Test low iteration count case.
11847
11848 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
11849
11850 * libgomp.h (gomp_thread_pool): Comment last_team field.
11851
11852 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
11853
11854 * testsuite/libgomp.c++/pr66702-1.C: Require
11855 vect_simd_clones effective target.
11856 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11857
11858 2015-06-30 Tom de Vries <tom@codesourcery.com>
11859
11860 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11861 already set. Use DEFAULT_CFLAGS in dg-runtest.
11862 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11863 "-O2".
11864
11865 2015-06-30 Tom de Vries <tom@codesourcery.com>
11866
11867 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11868 already set. Use DEFAULT_CFLAGS in dg-runtest.
11869 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11870 * testsuite/libgomp.c++/pr64824.C: Same.
11871 * testsuite/libgomp.c++/pr64868.C: Same.
11872 * testsuite/libgomp.c++/pr66199-1.C: Same.
11873 * testsuite/libgomp.c++/pr66199-2.C: Same.
11874 * testsuite/libgomp.c++/target-2.C: Same.
11875 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11876 -std=<standard> option.
11877 * testsuite/libgomp.c++/udr-11.C: Same.
11878 * testsuite/libgomp.c++/udr-12.C: Same.
11879 * testsuite/libgomp.c++/udr-13.C: Same.
11880 * testsuite/libgomp.c++/udr-14.C: Same.
11881 * testsuite/libgomp.c++/udr-15.C: Same.
11882 * testsuite/libgomp.c++/udr-16.C: Same.
11883 * testsuite/libgomp.c++/udr-17.C: Same.
11884 * testsuite/libgomp.c++/udr-18.C: Same.
11885 * testsuite/libgomp.c++/udr-19.C: Same.
11886 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11887 * testsuite/libgomp.c++/simd-1.C: Same.
11888 * testsuite/libgomp.c++/simd-2.C: Same.
11889 * testsuite/libgomp.c++/simd-3.C: Same.
11890 * testsuite/libgomp.c++/simd-4.C: Same.
11891 * testsuite/libgomp.c++/simd-5.C: Same.
11892 * testsuite/libgomp.c++/simd-6.C: Same.
11893 * testsuite/libgomp.c++/simd-7.C: Same.
11894 * testsuite/libgomp.c++/simd-8.C: Same.
11895 * testsuite/libgomp.c++/simd-9.C: Same.
11896 * testsuite/libgomp.c++/simd10.C: Same.
11897 * testsuite/libgomp.c++/simd11.C: Same.
11898 * testsuite/libgomp.c++/simd12.C: Same.
11899 * testsuite/libgomp.c++/simd13.C: Same.
11900
11901 2015-06-30 Jakub Jelinek <jakub@redhat.com>
11902
11903 PR middle-end/66702
11904 * testsuite/libgomp.c++/pr66702-1.C: New test.
11905 * testsuite/libgomp.c++/pr66702-2.C: New test.
11906
11907 2015-06-30 Tom de Vries <tom@codesourcery.com>
11908
11909 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11910 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11911 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11912 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11913
11914 2015-06-30 Tom de Vries <tom@codesourcery.com>
11915
11916 PR tree-optimization/66652
11917 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11918 using restrict pointers.
11919 (main): Add arguments to calls to f.
11920 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11921
11922 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
11923
11924 * configure.ac: Fix check for header <sys/sysctl.h>.
11925 * configure: Regenerate.
11926 * config.h.in: Likewise.
11927
11928 2015-06-23 Tom de Vries <tom@codesourcery.com>
11929
11930 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11931 abort.
11932 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11933
11934 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
11935
11936 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11937 acc_device_nvidia.
11938
11939 PR libgomp/66518
11940 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11941 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11942
11943 2015-06-15 Tom de Vries <tom@codesourcery.com>
11944
11945 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
11946 dg-additional-options for any remaining options.
11947 * testsuite/libgomp.c/atomic-2.c: Same.
11948 * testsuite/libgomp.c/atomic-4.c: Same.
11949 * testsuite/libgomp.c/atomic-5.c: Same.
11950 * testsuite/libgomp.c/atomic-6.c: Same.
11951 * testsuite/libgomp.c/autopar-1.c: Same.
11952 * testsuite/libgomp.c/copyin-1.c: Same.
11953 * testsuite/libgomp.c/copyin-2.c: Same.
11954 * testsuite/libgomp.c/copyin-3.c: Same.
11955 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11956 * testsuite/libgomp.c/nestedfn-5.c: Same.
11957 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11958 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11959 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11960 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11961 * testsuite/libgomp.c/pr32362-1.c: Same.
11962 * testsuite/libgomp.c/pr32362-2.c: Same.
11963 * testsuite/libgomp.c/pr32362-3.c: Same.
11964 * testsuite/libgomp.c/pr39591-1.c: Same.
11965 * testsuite/libgomp.c/pr39591-2.c: Same.
11966 * testsuite/libgomp.c/pr39591-3.c: Same.
11967 * testsuite/libgomp.c/pr58392.c: Same.
11968 * testsuite/libgomp.c/pr58756.c: Same.
11969 * testsuite/libgomp.c/simd-1.c: Same.
11970 * testsuite/libgomp.c/simd-10.c: Same.
11971 * testsuite/libgomp.c/simd-11.c: Same.
11972 * testsuite/libgomp.c/simd-12.c: Same.
11973 * testsuite/libgomp.c/simd-13.c: Same.
11974 * testsuite/libgomp.c/simd-14.c: Same.
11975 * testsuite/libgomp.c/simd-15.c: Same.
11976 * testsuite/libgomp.c/simd-2.c: Same.
11977 * testsuite/libgomp.c/simd-3.c: Same.
11978 * testsuite/libgomp.c/simd-4.c: Same.
11979 * testsuite/libgomp.c/simd-5.c: Same.
11980 * testsuite/libgomp.c/simd-6.c: Same.
11981 * testsuite/libgomp.c/simd-7.c: Same.
11982 * testsuite/libgomp.c/simd-8.c: Same.
11983 * testsuite/libgomp.c/simd-9.c: Same.
11984
11985 2015-06-15 Tom de Vries <tom@codesourcery.com>
11986
11987 * testsuite/libgomp.c/pr35625.c: Fix typo.
11988
11989 2015-06-15 Tom de Vries <tom@codesourcery.com>
11990
11991 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11992 in dg-options.
11993 * testsuite/libgomp.c/atomic-3.c: Same.
11994 * testsuite/libgomp.c/debug-1.c: Same.
11995 * testsuite/libgomp.c/nqueens-1.c: Same.
11996 * testsuite/libgomp.c/pr26171.c: Same.
11997 * testsuite/libgomp.c/pr48591.c: Same.
11998 * testsuite/libgomp.c/pr64824.c: Same.
11999 * testsuite/libgomp.c/pr64868.c: Same.
12000 * testsuite/libgomp.c/pr66133.c: Same.
12001 * testsuite/libgomp.c/pr66199-1.c: Same.
12002 * testsuite/libgomp.c/pr66199-2.c: Same.
12003 * testsuite/libgomp.c/target-8.c: Same.
12004
12005 2015-06-15 Tom de Vries <tom@codesourcery.com>
12006
12007 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12008 -std={gnu99,c99}.
12009 * testsuite/libgomp.c/for-1.c: Same.
12010 * testsuite/libgomp.c/for-2.c: Same.
12011 * testsuite/libgomp.c/for-3.c: Same.
12012 * testsuite/libgomp.c/pr35625.c: Same.
12013 * testsuite/libgomp.c/pr39154.c: Same.
12014 * testsuite/libgomp.c/simd-16.c: Same.
12015 * testsuite/libgomp.c/simd-17.c: Same.
12016
12017 2015-06-13 Tom de Vries <tom@codesourcery.com>
12018
12019 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12020
12021 2015-06-13 Tom de Vries <tom@codesourcery.com>
12022
12023 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12024 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12025 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12026 (N): Define.
12027 (main): Use N instead of hardcoded constants.
12028
12029 2015-06-05 Tom de Vries <tom@codesourcery.com>
12030
12031 merge from gomp4 branch:
12032 2015-05-28 Tom de Vries <tom@codesourcery.com>
12033
12034 PR tree-optimization/65443
12035 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12036 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12037 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12038
12039 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12040
12041 * testsuite/libgomp.graphite/bounds.c: Adjust for
12042 cleanup-tree-dump removal.
12043 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12044 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12045 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12046 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12047 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12048 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12049 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12050 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12051 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12052 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12053
12054 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
12055
12056 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12057 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12058 (futex_wake) [!__x86_64__]: Ditto.
12059
12060 2015-05-28 Julian Brown <julian@codesourcery.com>
12061
12062 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12063 function comment. Only call gomp_fatal if new argument is true.
12064 (acc_dev_num_out_of_range): New function.
12065 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12066 acc_dev_num_out_of_range as appropriate.
12067 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12068 (acc_get_device_num, acc_set_device_num): Update calls to
12069 resolve_device.
12070 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12071 output.
12072
12073 2015-05-28 Julian Brown <julian@codesourcery.com>
12074
12075 PR libgomp/65742
12076 * oacc-init.c (plugin/plugin-host.h): Include.
12077 (acc_on_device): Check whether we're in an offloaded region for
12078 host_nonshm
12079 plugin. Don't use __builtin_acc_on_device.
12080 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12081 nonshm_exec flag in thread-local data.
12082 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12083 data for host_nonshm plugin.
12084 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12085 for host_nonshm plugin.
12086 * plugin/plugin-host.h: New.
12087
12088 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12089
12090 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12091
12092 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12093
12094 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12095 Declare as int.
12096 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12097 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12098 Declare as int.
12099
12100 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12101
12102 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12103
12104 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12105
12106 * target.c (gomp_map_pointer): New function abstracting out
12107 GOMP_MAP_POINTER handling.
12108 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12109 gomp_map_pointer().
12110
12111 2015-05-19 Jakub Jelinek <jakub@redhat.com>
12112
12113 PR middle-end/66199
12114 * testsuite/libgomp.c/pr66199-1.c: New test.
12115 * testsuite/libgomp.c/pr66199-2.c: New test.
12116 * testsuite/libgomp.c++/pr66199-1.C: New test.
12117 * testsuite/libgomp.c++/pr66199-2.C: New test.
12118 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12119 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12120
12121 2015-05-19 Julian Brown <julian@codesourcery.com>
12122
12123 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12124 on cuInit failure.
12125
12126 2015-05-13 Jakub Jelinek <jakub@redhat.com>
12127
12128 PR middle-end/66133
12129 * testsuite/libgomp.c/pr66133.c: New test.
12130
12131 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12132
12133 * Makefile.in: Regenerated with automake-1.11.6.
12134 * aclocal.m4: Likewise.
12135 * config.h.in: Likewise.
12136 * configure: Likewise.
12137 * testsuite/Makefile.in: Likewise.
12138
12139 2015-05-08 Jason Merrill <jason@redhat.com>
12140
12141 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12142 _Complex.
12143
12144 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12145
12146 2015-05-06 Julian Brown <julian@codesourcery.com>
12147
12148 * oacc-init.c (acc_device_lock): Add explanatory comment.
12149 (resolve_device): Add comment about locking requirement.
12150 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12151 gomp_init_device and gomp_fini_device calls.
12152 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12153 (acc_get_device_num, acc_set_device_num): Add locking around
12154 resolve_device and gomp_init_device calls.
12155
12156 2015-05-06 Julian Brown <julian@codesourcery.com>
12157
12158 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12159 goacc_thread_lock on error paths.
12160 * oacc-mem.c (lookup_host): Remove locking from function. Note
12161 locking requirement for caller in function comment.
12162 (lookup_dev): Likewise.
12163 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12164 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12165 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12166 Add locking.
12167
12168 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12169
12170 PR testsuite/65205
12171 PR libgomp/65993
12172 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12173 don't expect "0x" prefix for "%p" format specifier, don't expect
12174 "(nil)" for NULL pointer.
12175 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12176 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12177 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12178 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12179 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12180 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12181 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12182 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12183 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12184 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12185 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12186 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12187 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12188 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12189 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12190 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12191 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12192 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12193 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12194 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12195 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12196 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12197 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12198 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12199 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12200 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12201 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12202 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12203 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12204 accurately specify what we're looking for.
12205 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12206 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12207 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12208 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12209 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12210
12211 2015-04-30 James Norris <jnorris@codesourcery.com>
12212
12213 PR testsuite/65205
12214 * testsuite/lib/libgomp.exp
12215 (check_effective_target_openacc_host_selected)
12216 (check_effective_target_openacc_host_nonshm_selected): New
12217 procedures.
12218 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12219 dg-shouldfail.
12220 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12221 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12222 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12223 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12224 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12225 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12226 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12227 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12228 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12229 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12230 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12231 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12232 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12233 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12234 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12235 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12236 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12237 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12238 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12239 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12240 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12241 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12242 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12243 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12244 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12245 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12246 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12247 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12248 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12249 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12250 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12251 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12252 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12253 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12254 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12255 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12256 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12257 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12258 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12259 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12260 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12261 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12262 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12263
12264 2015-04-08 Julian Brown <julian@codesourcery.com>
12265
12266 * libgomp.h (target_mem_desc: Remove mem_map field.
12267 (acc_dispatch_t): Remove open_device_func, close_device_func,
12268 get_device_num_func, set_device_num_func, target_data members.
12269 Change create_thread_data_func argument to device number instead of
12270 generic pointer.
12271 * oacc-async.c (assert.h): Include.
12272 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12273 (acc_wait_all, acc_wait_all_async): Use current host thread's
12274 active device, not base_dev.
12275 * oacc-cuda.c (acc_get_current_cuda_device)
12276 (acc_get_current_cuda_context, acc_get_cuda_stream)
12277 (acc_set_cuda_stream): Likewise.
12278 * oacc-host.c (host_dispatch): Don't set open_device_func,
12279 close_device_func, get_device_num_func or set_device_num_func.
12280 * oacc-init.c (base_dev, init_key): Remove.
12281 (cached_base_dev): New.
12282 (name_of_acc_device_t): New.
12283 (acc_init_1): Initialise default-numbered device, not zeroth.
12284 (acc_shutdown_1): Close all devices of a given type.
12285 (goacc_destroy_thread): Don't use base_dev.
12286 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12287 (goacc_attach_host_thread_to_device): New.
12288 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12289 (acc_get_num_devices): Don't use base_dev.
12290 (acc_set_device_type): Reimplement.
12291 (acc_get_device_type): Don't use base_dev.
12292 (acc_get_device_num): Tweak logic.
12293 (acc_set_device_num): Likewise.
12294 (acc_on_device): Use acc_get_device_type.
12295 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12296 (goacc_lazy_initialize): Reimplement with acc_init and
12297 goacc_attach_host_thread_to_device.
12298 * oacc-int.h (goacc_thread): Add base_dev field.
12299 (base_dev): Remove extern declaration.
12300 (goacc_attach_host_thread_to_device): Add prototype.
12301 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12302 base_dev.
12303 (acc_free): Likewise.
12304 (acc_memcpy_to_device): Likewise.
12305 (acc_memcpy_from_device): Likewise.
12306 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12307 goacc_lazy_initialize (throughout).
12308 (GOACC_parallel): Use tgt_offset to locate target functions.
12309 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12310 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12311 (gomp_load_plugin_for_device): Remove open_device, close_device,
12312 get_device_num, set_device_num openacc hook initialisation. Don't set
12313 openacc.target_data.
12314 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12315 (GOMP_OFFLOAD_openacc_close_device)
12316 (GOMP_OFFLOAD_openacc_get_device_num)
12317 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12318 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12319 to int.
12320 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12321 (instantiated_devices, ptx_dev_lock): New.
12322 (struct ptx_image_data): New.
12323 (ptx_devices, ptx_images, ptx_image_lock): New.
12324 (fini_streams_for_device): Reorder cuStreamDestroy call.
12325 (nvptx_get_num_devices): Remove forward declaration.
12326 (nvptx_init): Change return type to bool.
12327 (nvptx_fini): Remove.
12328 (nvptx_attach_host_thread_to_device): New.
12329 (nvptx_open_device): Return struct ptx_device* instead of void*.
12330 (nvptx_close_device): Change argument type to struct ptx_device*,
12331 return type to void.
12332 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12333 (kernel_target_data, kernel_host_table): Remove static globals.
12334 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12335 (GOMP_OFFLOAD_init_device): Reimplement.
12336 (GOMP_OFFLOAD_fini_device): Likewise.
12337 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12338 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12339 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12340 (GOMP_OFFLOAD_openacc_open_device)
12341 (GOMP_OFFLOAD_openacc_close_device)
12342 (GOMP_OFFLOAD_openacc_set_device_num)
12343 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12344 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12345 (device number).
12346
12347 testsuite/
12348 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12349
12350 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
12351
12352 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12353 * libgomp.h (struct gomp_memory_mapping): Remove.
12354 (struct target_mem_desc): Change type of mem_map from
12355 gomp_memory_mapping * to splay_tree_s *.
12356 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12357 Add load_image_func, unload_image_func.
12358 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12359 Remove offload_regions_registered.
12360 (gomp_init_tables): Remove.
12361 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12362 to splay_tree_s *.
12363 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12364 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12365 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12366 offload_regions_registered.
12367 Initialize load_image_func, unload_image_func, mem_map.root.
12368 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12369 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12370 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12371 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12372 gomp_memory_mapping *. Use dev's lock and splay_tree.
12373 (lookup_dev): Use dev's lock.
12374 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12375 (acc_is_present): Likewise.
12376 (acc_map_data): Likewise.
12377 (acc_unmap_data): Likewise. Use dev's lock.
12378 (present_create_copy): Likewise.
12379 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12380 (update_dev_host): Likewise.
12381 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12382 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12383 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12384 (GOMP_OFFLOAD_get_table): Remove
12385 (GOMP_OFFLOAD_load_image): New function.
12386 (GOMP_OFFLOAD_unload_image): New function.
12387 * target.c (register_lock): New mutex for offload image registration.
12388 (num_devices): Do not guard with PLUGIN_SUPPORT.
12389 (gomp_realloc_unlock): New static function.
12390 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12391 before gomp_fatal.
12392 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12393 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12394 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12395 mem_map's.
12396 (gomp_unmap_vars): Likewise.
12397 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12398 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12399 (gomp_offload_image_to_device): New static function.
12400 (GOMP_offload_register): Add mutex lock.
12401 Call gomp_offload_image_to_device for all initialized devices.
12402 Replace gomp_realloc with gomp_realloc_unlock.
12403 (GOMP_offload_unregister): New function.
12404 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12405 get_table_func from the plugin with calls to init_device_func and
12406 gomp_offload_image_to_device.
12407 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12408 to splay_tree_s *.
12409 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12410 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12411 (GOMP_target_data): Do not call gomp_init_tables.
12412 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12413 (gomp_load_plugin_for_device): Replace register_image and get_table
12414 with load_image and unload_image in DLSYM ().
12415 (gomp_register_images_for_device): Remove function.
12416 (gomp_target_init): Do not initialize current_device.mem_map.*,
12417 current_device.offload_regions_registered.
12418 Remove call to gomp_register_images_for_device.
12419 Do not free offload_images and num_offload_images.
12420
12421 2015-03-30 Jakub Jelinek <jakub@redhat.com>
12422
12423 PR fortran/65597
12424 * testsuite/libgomp.fortran/pr65597.f90: New test.
12425
12426 2015-03-27 Tom de Vries <tom@codesourcery.com>
12427
12428 PR testsuite/65594
12429 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12430 (init, check): New function.
12431 (foo): Change return type to void.
12432 (main): Call init and check.
12433
12434 2015-03-27 Tom de Vries <tom@codesourcery.com>
12435
12436 PR testsuite/65594
12437 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12438 (foo): Use M for non-inner loops to scale down test-case.
12439
12440 2015-03-25 Kai Tietz <ktietz@redhat.com>
12441
12442 PR libgomp/64972
12443 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12444 (GOACC_data_start): Likewise.
12445 * target.c (gomp_map_vars): Likewise.
12446
12447 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
12448
12449 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12450 hppa*-*-hpux*.
12451
12452 2015-03-19 Jakub Jelinek <jakub@redhat.com>
12453
12454 * testsuite/libgomp.c/target-10.c: New test.
12455 * testsuite/libgomp.c++/target-4.C: New test.
12456
12457 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
12458
12459 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12460 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12461
12462 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
12463
12464 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12465 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12466 (pthread.h): Check for this header file.
12467 * configure: Regenerate.
12468
12469 2015-02-25 Tom de Vries <tom@codesourcery.com>
12470
12471 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12472 (check_reduction_op, check_reduction_macro, max, min):
12473 Declare.
12474 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12475 function.
12476 (main): Use new functions.
12477
12478 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
12479
12480 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12481 char * for variables holding dlerror return values.
12482 (DLSYM_OPT): Ditto.
12483
12484 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12485
12486 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12487
12488 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12489 Cesar Philippidis <cesar@codesourcery.com>
12490
12491 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12492 GOACC_ctaid, and GOACC_nctaid routines.
12493
12494 2015-02-11 Jakub Jelinek <jakub@redhat.com>
12495
12496 PR c/64824
12497 * testsuite/libgomp.c/atomic-18.c: New test.
12498 * testsuite/libgomp.c++/atomic-16.C: New test.
12499
12500 2015-02-04 Jakub Jelinek <jakub@redhat.com>
12501
12502 PR c/64824
12503 PR c/64868
12504 * testsuite/libgomp.c/pr64824.c: New test.
12505 * testsuite/libgomp.c/pr64868.c: New test.
12506 * testsuite/libgomp.c++/pr64824.C: New test.
12507 * testsuite/libgomp.c++/pr64868.C: New test.
12508
12509 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
12510
12511 PR libgomp/64635
12512 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12513 Link with -lpthread.
12514 * config/aix/plugin-suffix.h: Delete.
12515
12516 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
12517
12518 PR libgomp/64635
12519 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12520 (*-*-darwin*): Use config_path "bsd darwin posix".
12521 (*-*-hpux*): Use config_path "hpux posix".
12522 * target.c: Add include of plugin-suffix.h and use
12523 SONAME_SUFFIX macro.
12524 * config/aix/plugin-suffix.h: New file.
12525 * config/darwin/plugin-suffix.h: New file.
12526 * config/hpux/plugin-suffix.h: New file.
12527 * config/posix/plugin-suffix.h: New file.
12528
12529 2015-01-23 Jakub Jelinek <jakub@redhat.com>
12530
12531 PR middle-end/64734
12532 * libgomp.c/pr64734.c: New test.
12533
12534 2015-01-23 Tom de Vries <tom@codesourcery.com>
12535
12536 PR libgomp/64672
12537 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12538
12539 2015-01-23 Tom de Vries <tom@codesourcery.com>
12540
12541 PR libgomp/64707
12542 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12543 dg-options.
12544
12545 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
12546
12547 PR libgomp/64625
12548 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12549 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12550 formal parameter. Update all users.
12551 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12552 Document unused formal parameter.
12553
12554 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
12555
12556 * oacc-parallel.c: Don't include <alloca.h>.
12557 (GOACC_parallel): Use gomp_alloca instead of alloca.
12558
12559 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
12560
12561 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12562
12563 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
12564 James Norris <jnorris@codesourcery.com>
12565 Tom de Vries <tom@codesourcery.com>
12566 Julian Brown <julian@codesourcery.com>
12567 Cesar Philippidis <cesar@codesourcery.com>
12568 Nathan Sidwell <nathan@codesourcery.com>
12569 Tobias Burnus <burnus@net-b.de>
12570
12571 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12572 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12573 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12574 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12575 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12576 Include $(top_srcdir)/plugin/Makefrag.am.
12577 (nodist_libsubinclude_HEADERS): Add openacc.h.
12578 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12579 openacc.f90, openacc.mod, openacc_kinds.mod.
12580 (omp_lib.mod): Generalize into...
12581 (%.mod): ... this new rule.
12582 (openacc_kinds.mod, openacc.mod): New rules.
12583 * plugin/configfrag.ac: New file.
12584 * configure.ac: Move plugin/offloading support into it. Include
12585 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12586 * plugin/Makefrag.am: New file.
12587 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12588 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12589 export.
12590 (libgomp-test-support.exp): New rule.
12591 (all-local): Depend on it.
12592 * Makefile.in: Regenerate.
12593 * testsuite/Makefile.in: Regenerate.
12594 * config.h.in: Likewise.
12595 * configure: Likewise.
12596 * configure.tgt: Harden shell syntax.
12597 * env.c: Include "oacc-int.h".
12598 (parse_acc_device_type): New function.
12599 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12600 variables.
12601 (initialize_env): Initialize those. Call
12602 goacc_runtime_initialize.
12603 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12604 (gomp_fatal): Call gomp_vfatal.
12605 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12606 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12607 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12608 (splay_tree_node, splay_tree, splay_tree_key)
12609 (struct target_mem_desc, struct splay_tree_key_s)
12610 (struct gomp_memory_mapping, struct acc_dispatch_t)
12611 (struct gomp_device_descr, gomp_acc_insert_pointer)
12612 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12613 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12614 (gomp_free_memmap, gomp_fini_device): New declarations.
12615 (gomp_vdebug, gomp_debug): New macros.
12616 Include "splay-tree.h".
12617 * libgomp.map (OACC_2.0): New symbol version. Use for
12618 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12619 acc_set_device_type_h_, acc_get_device_type,
12620 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12621 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12622 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12623 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12624 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12625 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12626 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12627 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12628 acc_copyin_array_h_, acc_present_or_copyin,
12629 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12630 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12631 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12632 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12633 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12634 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12635 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12636 acc_update_device, acc_update_device_32_h_,
12637 acc_update_device_64_h_, acc_update_device_array_h_,
12638 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12639 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12640 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12641 acc_is_present_64_h_, acc_is_present_array_h_,
12642 acc_memcpy_to_device, acc_memcpy_from_device,
12643 acc_get_current_cuda_device, acc_get_current_cuda_context,
12644 acc_get_cuda_stream, acc_set_cuda_stream.
12645 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12646 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12647 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12648 GOACC_get_num_threads.
12649 (GOMP_PLUGIN_1.0): New symbol version. Use for
12650 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12651 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12652 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12653 GOMP_PLUGIN_acc_thread.
12654 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12655 environment variable.
12656 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12657 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12658 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12659 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12660 (splay_tree_remove): New declarations.
12661 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12662 (splay_tree_remove, splay_tree_lookup): Move into...
12663 * splay-tree.c: ... this new file.
12664 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12665 (splay_tree_node, splay_tree, splay_tree_key)
12666 (struct target_mem_desc, struct splay_tree_key_s)
12667 (struct gomp_device_descr): Don't declare.
12668 (num_devices_openmp): New variable.
12669 (gomp_get_num_devices ): Use it.
12670 (gomp_init_targets_once): New function.
12671 (gomp_get_num_devices ): Use it.
12672 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12673 (gomp_fini_device, gomp_register_image_for_device): New functions.
12674 (gomp_map_vars): Add devaddrs parameter.
12675 (gomp_update): Add mm parameter.
12676 (gomp_init_device): Move most of it into...
12677 (gomp_init_tables): ... this new function.
12678 (gomp_register_images_for_device): Remove function.
12679 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12680 Make them hidden instead of static.
12681 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12682 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12683 (GOMP_target_end_data, GOMP_target_update)
12684 (gomp_load_plugin_for_device, gomp_target_init): Update for
12685 OpenACC changes.
12686 * oacc-async.c: New file.
12687 * oacc-cuda.c: Likewise.
12688 * oacc-host.c: Likewise.
12689 * oacc-init.c: Likewise.
12690 * oacc-int.h: Likewise.
12691 * oacc-mem.c: Likewise.
12692 * oacc-parallel.c: Likewise.
12693 * oacc-plugin.c: Likewise.
12694 * oacc-plugin.h: Likewise.
12695 * oacc-ptx.h: Likewise.
12696 * openacc.f90: Likewise.
12697 * openacc.h: Likewise.
12698 * openacc_lib.h: Likewise.
12699 * plugin/plugin-host.c: Likewise.
12700 * plugin/plugin-nvptx.c: Likewise.
12701 * libgomp-plugin.c: Likewise.
12702 * libgomp-plugin.h: Likewise.
12703 * libgomp_target.h: Remove file after merging content into the
12704 former file. Update all users.
12705 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12706 (offload_targets_s, offload_targets_s_openacc): New variables.
12707 (check_effective_target_openacc_nvidia_accel_present)
12708 (check_effective_target_openacc_nvidia_accel_selected): New
12709 procedures.
12710 (libgomp_init): Update for OpenACC changes.
12711 * testsuite/libgomp-test-support.exp.in: New file.
12712 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12713 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12714 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12715 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12716 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12717 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12718 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12719 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12720 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12721 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12722 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12723 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12724 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12725 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12726 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12727 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12728 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12729 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12730 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12731 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12732 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12733 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12734 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12735 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12736 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12737 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12738 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12739 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12740 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12741 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12742 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12743 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12744 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12745 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12746 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12747 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12748 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12749 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12750 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12751 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12752 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12753 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12754 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12755 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12756 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12757 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12758 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12759 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12760 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12761 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12762 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12763 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12764 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12765 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12766 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12767 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12768 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12769 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12770 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12771 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12772 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12773 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12774 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12775 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12776 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12777 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12778 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12779 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12780 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12781 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12782 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12783 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12784 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12785 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12786 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12787 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12788 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12789 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12790 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12791 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12792 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12793 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12794 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12795 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12796 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12797 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12798 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12799 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12800 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12801 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12802 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12803 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12804 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12805 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12806 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12807 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12809 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12810 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12811 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12812 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12813 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12814 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12815 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12816 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12817 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12818 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12819 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12820 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12821 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12822 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12823 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12824 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12825 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12826 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12827 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12828 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12829 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12830 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12831 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12832 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12833 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12834 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12835 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12836 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12837 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12838 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12839 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12840 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12841 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12842 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12843 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12844 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12845 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12846 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12847 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12848 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12849 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12850 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12851 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12852 Likewise.
12853 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12854 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12855 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12856 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12857 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12858 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12859 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12860 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12861 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12862 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12863 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12864 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12865 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12866 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12867 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12868 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12869 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12870 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12871 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12872 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12873 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12874 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12875 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12876 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12877 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12878 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12879 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12880 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12881 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12882 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12883 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12884 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12885 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12886 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12887 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12888 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12889 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12890 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12891 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12892 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12893 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12894 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12895 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12896 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12897 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12898 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12899 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12900 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12901 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12902 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12903 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12904 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12905 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12906 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12907 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12908 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12909 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12910 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12911 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12912 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12913
12914 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
12915 Julian Brown <julian@codesourcery.com>
12916 David Malcolm <dmalcolm@redhat.com>
12917
12918 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12919 to "GNU Offloading and Multi Processing Runtime Library". Change
12920 all users.
12921 * configure: Regenerate.
12922 * libgomp.texi: Update.
12923
12924 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
12925
12926 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12927 "$tgt_dir/lib32".
12928 * configure: Regenerate.
12929
12930 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12931 "intelmic" in $offload_targets.
12932
12933 2015-01-05 Jakub Jelinek <jakub@redhat.com>
12934
12935 Update copyright years.
12936
12937 * libgomp.texi: Bump @copying's copyright year.
12938
12939 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12940
12941 * testsuite/lib/libgomp.exp: Load target-utils.exp.
12942 Move load of target-supports.exp earlier.
12943
12944 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
12945
12946 * testsuite/libgomp.c/target-9.c: New test.
12947
12948 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
12949
12950 * config.h.in: Regenerate.
12951 * configure: Regenerate.
12952 * configure.ac: Add GCC_CHECK_EMUTLS.
12953 * libgomp.h: Add check for USE_EMUTLS: this case
12954 is equal to HAVE_TLS.
12955 * team.c: Likewise.
12956
12957 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
12958
12959 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12960
12961 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
12962 Ilya Verbin <ilya.verbin@intel.com>
12963
12964 * testsuite/libgomp.c/target-critical-1.c: New test.
12965
12966 2014-11-26 Jakub Jelinek <jakub@redhat.com>
12967
12968 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
12969 to dg-options unless expensive testing is on.
12970 (TESTITERS): Define to N if not defined.
12971 (main): Use TESTITERS instead of N.
12972 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12973 dg-additional-options depending on whether expensive testing is on.
12974 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12975 Decrease N to 100000 and CHUNKSZ to 10000.
12976
12977 2014-11-24 Jakub Jelinek <jakub@redhat.com>
12978
12979 PR fortran/63938
12980 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12981 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
12982
12983 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
12984
12985 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12986
12987 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
12988
12989 PR bootstrap/63784
12990 * configure: Regenerated.
12991
12992 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
12993
12994 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12995 vect_simd_clones effective target.
12996 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12997
12998 2014-11-14 Jakub Jelinek <jakub@redhat.com>
12999
13000 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13001 of 32 as block_size.
13002 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13003 instead of 32 as block_size.
13004
13005 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13006 Ilya Verbin <ilya.verbin@intel.com>
13007
13008 * Makefile.in: Regenerate.
13009 * configure: Regenerate.
13010 * configure.ac: Set up offload_additional_options,
13011 offload_additional_lib_paths and offload_targets.
13012 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13013 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13014 * testsuite/Makefile.in: Regenerate.
13015 * testsuite/lib/libgomp.exp (libgomp_init): Append
13016 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13017 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13018 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13019
13020 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13021 Ilya Verbin <ilya.verbin@intel.com>
13022 Kirill Yukhin <kirill.yukhin@intel.com>
13023 Ilya Tocar <ilya.tocar@intel.com>
13024
13025 * testsuite/lib/libgomp.exp
13026 (check_effective_target_offload_device): New.
13027 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13028 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13029 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13030 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13031 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13032 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13033 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13034 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13035 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13036 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13037 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13038 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13039 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13040 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13041 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13042 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13043 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13044 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13045 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13046 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13047 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13048 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13049 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13050 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13051 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13052 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13053 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13054 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13055 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13056 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13057 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13058 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13059 * testsuite/libgomp.c/target-7.c: Fix test.
13060 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13061 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13062 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13063 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13064 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13065 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13066 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13067 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13068 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13069 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13070 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13071 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13072 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13073 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13074 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13075 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13076 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13077 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13078 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13079 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13080 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13081 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13082 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13083 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13084 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13085 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13086 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13087 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13088 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13089 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13090 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13091
13092 2014-11-13 Jakub Jelinek <jakub@redhat.com>
13093 Ilya Verbin <ilya.verbin@intel.com>
13094 Thomas Schwinge <thomas@codesourcery.com>
13095 Andrey Turetskiy <andrey.turetskiy@intel.com>
13096
13097 * libgomp.map (GOMP_4.0.1): New symbol version.
13098 Add GOMP_offload_register.
13099 * libgomp_target.h: New file.
13100 * splay-tree.h: New file.
13101 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13102 (gomp_target_init): New forward declaration.
13103 (gomp_is_initialized): New static variable.
13104 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13105 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13106 New structures.
13107 (offload_images, num_offload_images, devices, num_devices): New static
13108 variables.
13109 (splay_compare): New static function.
13110 (struct gomp_device_descr): New structure.
13111 (gomp_get_num_devices): Call gomp_target_init.
13112 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13113 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13114 (GOMP_offload_register): New function.
13115 (GOMP_target): Arrange for host callback to be performed in a separate
13116 initial thread and contention group, inheriting ICVs from
13117 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13118 Add device initialization and lookup for target function in splay tree.
13119 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13120 (GOMP_target_end_data): Call gomp_unmap_vars.
13121 (GOMP_target_update): Add device initialization and call gomp_update.
13122 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13123 (gomp_target_init): New static functions.
13124
13125 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13126 Thomas Schwinge <thomas@codesourcery.com>
13127 Ilya Verbin <ilya.verbin@intel.com>
13128 Andrey Turetskiy <andrey.turetskiy@intel.com>
13129
13130 * config.h.in: Regenerate.
13131 * configure: Regenerate.
13132 * configure.ac: Check for libdl, required for plugin support.
13133 (PLUGIN_SUPPORT): Define if plugins are supported.
13134 (enable_offload_targets): Support Intel MIC targets.
13135 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13136
13137 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13138
13139 PR target/63610
13140 * configure: Regenerate.
13141
13142 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13143
13144 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13145
13146 2014-10-06 Marek Polacek <polacek@redhat.com>
13147
13148 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13149 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13150 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13151 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13152
13153 2014-10-06 Marek Polacek <polacek@redhat.com>
13154
13155 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13156 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13157 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13158 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13159 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13160 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13161 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13162 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13163 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13164 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13165 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13166 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13167 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13168 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13169 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13170 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13171 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13172 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13173 declarations.
13174
13175 2014-10-03 Jakub Jelinek <jakub@redhat.com>
13176
13177 PR libgomp/61200
13178 * testsuite/libgomp.c/pr61200.c: New test.
13179
13180 2014-09-18 Jakub Jelinek <jakub@redhat.com>
13181
13182 PR c++/63248
13183 * testsuite/libgomp.c++/pr63248.C: New test.
13184
13185 2014-08-04 Jakub Jelinek <jakub@redhat.com>
13186
13187 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13188 is not zero, but taskgroup->children is NULL and there are
13189 any task->children, schedule those instead of waiting.
13190 * testsuite/libgomp.c/depend-6.c: New test.
13191 * testsuite/libgomp.c/depend-7.c: New test.
13192 * testsuite/libgomp.c/depend-8.c: New test.
13193 * testsuite/libgomp.c/depend-9.c: New test.
13194 * testsuite/libgomp.c/depend-10.c: New test.
13195
13196 2014-08-01 Jakub Jelinek <jakub@redhat.com>
13197
13198 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13199 (struct gomp_taskwait): New type.
13200 (struct gomp_task): Add taskwait and parent_depends_on, remove
13201 in_taskwait and taskwait_sem fields.
13202 (gomp_finish_task): Don't destroy taskwait_sem.
13203 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13204 taskwait and parent_depends_on.
13205 (GOMP_task): For if (0) tasks with depend clause that depend on
13206 earlier tasks don't defer them, instead call
13207 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13208 Initialize redundant_out field, for redundant out entries just
13209 move them at the end of linked list instead of removing them
13210 completely, and set redundant_out flag instead of redundant.
13211 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13212 that task.
13213 (gomp_task_run_post_handle_dependers): If parent is in
13214 gomp_task_maybe_wait_for_dependencies and newly runnable task
13215 is not parent_depends_on, queue it in parent->children linked
13216 list after all runnable tasks with parent_depends_on set.
13217 Adjust for addition of taskwait indirection.
13218 (gomp_task_run_post_remove_parent): If parent is in
13219 gomp_task_maybe_wait_for_dependencies and task to be removed
13220 is parent_depends_on, decrement n_depend and if needed awake
13221 parent. Adjust for addition of taskwait indirection.
13222 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13223 (gomp_task_maybe_wait_for_dependencies): New function.
13224 * testsuite/libgomp.c/depend-5.c: New test.
13225
13226 2014-07-13 Tobias Burnus <burnus@net-b.de>
13227
13228 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13229 with TS 18508/Fortran 2015.
13230
13231 2014-07-06 Marek Polacek <polacek@redhat.com>
13232
13233 PR c/6940
13234 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13235
13236 2014-07-03 Jakub Jelinek <jakub@redhat.com>
13237
13238 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13239 matches regex $lang_source_re, add $lang_include_flags to options.
13240 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13241 * testsuite/libgomp.c++/c++.exp: Likewise.
13242 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13243 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13244 ALWAYS_CFLAGS.
13245 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13246
13247 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13248
13249 * testsuite/libgomp.fortran/fortran.exp: Explain
13250 gfortran-dg-runtest usage.
13251
13252 2014-06-25 Jakub Jelinek <jakub@redhat.com>
13253
13254 * testsuite/libgomp.fortran/simd5.f90: New test.
13255 * testsuite/libgomp.fortran/simd6.f90: New test.
13256 * testsuite/libgomp.fortran/simd7.f90: New test.
13257
13258 2014-06-24 Jakub Jelinek <jakub@redhat.com>
13259
13260 * testsuite/libgomp.c/for-2.c: Define SC to static for
13261 #pragma omp for simd testing.
13262 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13263 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13264 SC macro.
13265 * testsuite/libgomp.c/simd-14.c: New test.
13266 * testsuite/libgomp.c/simd-15.c: New test.
13267 * testsuite/libgomp.c/simd-16.c: New test.
13268 * testsuite/libgomp.c/simd-17.c: New test.
13269 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13270 #pragma omp for simd testing.
13271 * testsuite/libgomp.c++/simd10.C: New test.
13272 * testsuite/libgomp.c++/simd11.C: New test.
13273 * testsuite/libgomp.c++/simd12.C: New test.
13274 * testsuite/libgomp.c++/simd13.C: New test.
13275
13276 * testsuite/libgomp.fortran/aligned1.f03: New test.
13277 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13278 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13279 tasks with !$omp parallel !$omp single.
13280 * testsuite/libgomp.fortran/target8.f90: New test.
13281 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13282 not to use trim in the combiner, instead call elemental function.
13283 (fn): New elemental function.
13284 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13285 Make elemental.
13286 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13287 omp_in): Likewise.
13288 * testsuite/libgomp.fortran/udr12.f90: New test.
13289 * testsuite/libgomp.fortran/udr13.f90: New test.
13290 * testsuite/libgomp.fortran/udr14.f90: New test.
13291 * testsuite/libgomp.fortran/udr15.f90: New test.
13292
13293 2014-06-18 Jakub Jelinek <jakub@redhat.com>
13294
13295 * omp_lib.f90.in (openmp_version): Set to 201307.
13296 * omp_lib.h.in (openmp_version): Likewise.
13297 * testsuite/libgomp.c/target-8.c: New test.
13298 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13299 and inbranch clauses.
13300 * testsuite/libgomp.fortran/depend-3.f90: New test.
13301 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13302 openmp_version.
13303 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13304 * testsuite/libgomp.fortran/target1.f90: New test.
13305 * testsuite/libgomp.fortran/target2.f90: New test.
13306 * testsuite/libgomp.fortran/target3.f90: New test.
13307 * testsuite/libgomp.fortran/target4.f90: New test.
13308 * testsuite/libgomp.fortran/target5.f90: New test.
13309 * testsuite/libgomp.fortran/target6.f90: New test.
13310 * testsuite/libgomp.fortran/target7.f90: New test.
13311
13312 2014-06-10 Jakub Jelinek <jakub@redhat.com>
13313
13314 PR fortran/60928
13315 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13316 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13317 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13318 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13319 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13320 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13321 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13322 * testsuite/libgomp.fortran/associate1.f90: New test.
13323 * testsuite/libgomp.fortran/associate2.f90: New test.
13324 * testsuite/libgomp.fortran/procptr1.f90: New test.
13325
13326 2014-06-06 Jakub Jelinek <jakub@redhat.com>
13327
13328 * testsuite/libgomp.fortran/simd1.f90: New test.
13329 * testsuite/libgomp.fortran/udr1.f90: New test.
13330 * testsuite/libgomp.fortran/udr2.f90: New test.
13331 * testsuite/libgomp.fortran/udr3.f90: New test.
13332 * testsuite/libgomp.fortran/udr4.f90: New test.
13333 * testsuite/libgomp.fortran/udr5.f90: New test.
13334 * testsuite/libgomp.fortran/udr6.f90: New test.
13335 * testsuite/libgomp.fortran/udr7.f90: New test.
13336 * testsuite/libgomp.fortran/udr8.f90: New test.
13337 * testsuite/libgomp.fortran/udr9.f90: New test.
13338 * testsuite/libgomp.fortran/udr10.f90: New test.
13339 * testsuite/libgomp.fortran/udr11.f90: New test.
13340
13341 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
13342
13343 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13344 vect_simd_clones effective target.
13345 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13346
13347 2014-05-21 Jakub Jelinek <jakub@redhat.com>
13348
13349 PR middle-end/61252
13350 * testsuite/libgomp.c++/simd-9.C: New test.
13351
13352 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
13353
13354 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13355 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13356 texts according to their @menu entry positions.
13357
13358 2014-05-11 Jakub Jelinek <jakub@redhat.com>
13359
13360 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13361 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13362 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13363 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13364 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13365 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13366 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13367 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13368 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13369 * testsuite/libgomp.fortran/depend-1.f90: New test.
13370 * testsuite/libgomp.fortran/depend-2.f90: New test.
13371 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13372 * testsuite/libgomp.fortran/simd1.f90: New test.
13373 * testsuite/libgomp.fortran/simd2.f90: New test.
13374 * testsuite/libgomp.fortran/simd3.f90: New test.
13375 * testsuite/libgomp.fortran/simd4.f90: New test.
13376 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13377
13378 2014-05-02 Jakub Jelinek <jakub@redhat.com>
13379
13380 * testsuite/libgomp.c/simd-10.c: New test.
13381 * testsuite/libgomp.c/simd-11.c: New test.
13382 * testsuite/libgomp.c/simd-12.c: New test.
13383 * testsuite/libgomp.c/simd-13.c: New test.
13384
13385 2014-04-24 Jakub Jelinek <jakub@redhat.com>
13386
13387 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13388 atomic type clauses in any order and optional comma in between.
13389 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13390 * testsuite/libgomp.c/atomic-17.c: Likewise.
13391
13392 * testsuite/libgomp.c/simd-7.c: New test.
13393 * testsuite/libgomp.c/simd-8.c: New test.
13394 * testsuite/libgomp.c/simd-9.c: New test.
13395 * testsuite/libgomp.c/loop-16.c: New test.
13396
13397 2014-04-02 Richard Henderson <rth@redhat.com>
13398
13399 * config/linux/futex.h (futex_wait): Get error value from errno.
13400 (futex_wake): Likewise.
13401
13402 2014-03-25 Jakub Jelinek <jakub@redhat.com>
13403
13404 PR c++/60331
13405 * testsuite/libgomp.c++/udr-11.C: New test.
13406 * testsuite/libgomp.c++/udr-12.C: New test.
13407 * testsuite/libgomp.c++/udr-13.C: New test.
13408 * testsuite/libgomp.c++/udr-14.C: New test.
13409 * testsuite/libgomp.c++/udr-15.C: New test.
13410 * testsuite/libgomp.c++/udr-16.C: New test.
13411 * testsuite/libgomp.c++/udr-17.C: New test.
13412 * testsuite/libgomp.c++/udr-18.C: New test.
13413 * testsuite/libgomp.c++/udr-19.C: New test.
13414
13415 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13416
13417 Update copyright years
13418
13419 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13420
13421 * hashtab.h: Use the standard form for the copyright notice.
13422
13423 2014-01-02 Tobias Burnus <burnus@net-b.de>
13424
13425 * libgomp.texi: Bump @copying's copyright year.
13426
13427 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
13428
13429 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13430 alloca () with __builtin_alloca ().
13431 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13432 * testsuite/libgomp.c/lock-3.c: Likewise.
13433 * testsuite/libgomp.c/pr48591.c: Likewise.
13434
13435 2013-12-17 Jakub Jelinek <jakub@redhat.com>
13436
13437 PR testsuite/59534
13438 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13439 comparisons.
13440
13441 2013-12-16 Jakub Jelinek <jakub@redhat.com>
13442
13443 PR libgomp/58756
13444 * testsuite/libgomp.c/pr58756.c: New test.
13445
13446 2013-12-12 Jakub Jelinek <jakub@redhat.com>
13447
13448 PR libgomp/59467
13449 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13450 !$omp parallel.
13451
13452 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
13453
13454 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13455 ALWAYS_CFLAGS.
13456 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13457 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13458 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13459 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13460 Likewise.
13461
13462 * libgomp_g.h: Include <stddef.h> for size_t.
13463
13464 * libgomp.spec.in: Update comment about libgomp's dependencies.
13465 * configure.ac: Likewise.
13466 * configure: Regenerate.
13467
13468 2013-10-16 Tobias Burnus <burnus@net-b.de>
13469
13470 * libgomp.texi: (Runtime Library Routines): Update references for
13471 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13472 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13473 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13474 (Environment Variables): Update references for OpenMP 4.0. Add
13475 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13476 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13477 order.
13478
13479 2013-10-14 Jakub Jelinek <jakub@redhat.com>
13480
13481 * env.c (parse_bind_var): Initialize value to avoid
13482 (false positive) warning.
13483
13484 2013-10-12 Jakub Jelinek <jakub@redhat.com>
13485
13486 PR libgomp/58691
13487 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13488 to check variable.
13489 (gomp_init_num_threads): Move i variable declaration into
13490 #ifdef CPU_ALLOC_SIZE block.
13491 * config/linux/affinity.c (gomp_affinity_init_level): Test
13492 gomp_places_list_len == 0 rather than gomp_places_list == 0
13493 when checking for topology reading error.
13494 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13495 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13496 gomp_places_list, only parse env var and always return false.
13497 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13498 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13499 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13500 and either of these variables were parsed correctly into a places
13501 list.
13502
13503 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13504 Jakub Jelinek <jakub@redhat.com>
13505
13506 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13507 of 5 loopfn matches.
13508 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13509 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13510 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13511 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13512 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13513 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13514 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13515 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13516
13517 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13518
13519 * Makefile.am (omp_lib.mod): Streamline rule.
13520 * Makefile.in: Regenerate.
13521
13522 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13523 exceptions.
13524
13525 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13526 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13527 * testsuite/libgomp.fortran/lib2.f: Likewise.
13528 * testsuite/libgomp.fortran/lib3.f: Likewise.
13529
13530 * configure.ac: Typo fix.
13531 * configure: Regenerate.
13532
13533 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13534 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13535
13536 * omp.h.in: Don't touch the user's namespace.
13537
13538 2013-10-11 Jakub Jelinek <jakub@redhat.com>
13539 Tobias Burnus <burnus@net-b.de>
13540 Richard Henderson <rth@redhat.com>
13541
13542 * target.c: New file.
13543 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13544 * Makefile.in: Regenerated.
13545 * libgomp_g.h (GOMP_task): Add depend argument.
13546 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13547 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13548 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13549 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13550 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13551 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13552 GOMP_taskgroup_start, GOMP_taskgroup_end,
13553 GOMP_parallel_sections): New prototypes.
13554 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13555 (omp_is_initial_device_): New function.
13556 (ULP, STR1, STR2, ialias_redirect): Removed.
13557 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13558 omp_set_default_device_8_, omp_get_default_device_,
13559 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13560 functions.
13561 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13562 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13563 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13564 @@GOMP_4.0.
13565 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13566 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13567 omp_set_default_device, omp_set_default_device_,
13568 omp_set_default_device_8_, omp_get_default_device,
13569 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13570 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13571 omp_get_team_num_): Export @@OMP_4.0.
13572 * team.c (struct gomp_thread_start_data): Add place field.
13573 (gomp_thread_start): Clear thr->thread_pool and
13574 thr->task before returning. Use gomp_team_barrier_wait_final
13575 instead of gomp_team_barrier_wait. Initialize thr->place.
13576 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13577 team_cancelled and task_queued_count fields.
13578 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13579 before calling pthread_exit.
13580 (gomp_free_thread): No longer static. Use
13581 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13582 (gomp_team_start): Add flags argument. Set
13583 thr->thread_pool->threads_busy to nthreads immediately after creating
13584 new pool. Use gomp_managed_threads_lock instead of
13585 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13586 (gomp_team_end): Use gomp_managed_threads_lock instead of
13587 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13588 of gomp_team_barrier_wait. If team->team_cancelled, call
13589 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13590 rather than thr->ts.work_share.
13591 (initialize_team): Don't call gomp_sem_init here.
13592 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13593 caller.
13594 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13595 * env.c (gomp_global_icv): Add default_device_var, target_data and
13596 bind_var initializers.
13597 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13598 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13599 gomp_places_list_len): New variables.
13600 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13601 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13602 sized places.
13603 (gomp_cancel_var): New global variable.
13604 (parse_int): New function.
13605 (handle_omp_display_env): New function.
13606 (initialize_env): Use it. Initialize default_device_var.
13607 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13608 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13609 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13610 been successfully parsed (and call gomp_init_affinity in that case).
13611 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13612 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13613 omp_get_team_num, omp_is_initial_device): New functions.
13614 * libgomp.h: Include stdlib.h.
13615 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13616 Define.
13617 (struct target_mem_desc): Forward declare.
13618 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13619 and thread_limit_var fields.
13620 (gomp_get_num_devices): New prototype.
13621 (gomp_cancel_var): New extern decl.
13622 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13623 team_cancelled and task_queued_count fields. Add comments about
13624 task_{,queued_,running_}count.
13625 (gomp_cancel_kind): New enum.
13626 (gomp_work_share_end_cancel): New prototype.
13627 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13628 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13629 and depend fields.
13630 (struct gomp_taskgroup): New type.
13631 (struct gomp_task_depend_entry,
13632 struct gomp_dependers_vec): New types.
13633 (gomp_finish_task): Free depend_hash if non-NULL.
13634 (struct gomp_team_state): Add place_partition_off
13635 and place_partition_len fields.
13636 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13637 gomp_places_list_len): New extern decls.
13638 (struct gomp_thread): Add place field.
13639 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13640 (gomp_init_thread_affinity): Add place argument.
13641 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13642 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13643 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13644 gomp_affinity_init_level, gomp_affinity_print_place): New
13645 prototypes.
13646 (gomp_team_start): Add flags argument.
13647 (gomp_thread_limit_var, gomp_remaining_threads_count,
13648 gomp_remaining_threads_lock): Remove.
13649 (gomp_managed_threads_lock): New variable.
13650 (struct gomp_thread_pool): Add threads_busy field.
13651 (gomp_free_thread): New prototype.
13652 * task.c: Include hashtab.h.
13653 (hash_entry_type): New typedef.
13654 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13655 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13656 copy_ctors_done and taskgroup fields.
13657 (GOMP_task): Add depend argument, handle depend clauses. If
13658 gomp_team_barrier_cancelled or if it's taskgroup has been
13659 cancelled, don't queue or start new tasks. Set copy_ctors_done
13660 field if needed. Initialize taskgroup field. If copy_ctors_done
13661 and already cancelled, don't discard the task. If taskgroup is
13662 non-NULL, enqueue the task into taskgroup queue. Increment
13663 num_children field in taskgroup. Increment task_queued_count.
13664 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13665 gomp_task_run_post_remove_taskgroup): New inline functions.
13666 (gomp_task_run_post_handle_depend_hash,
13667 gomp_task_run_post_handle_dependers,
13668 gomp_task_run_post_handle_depend): New functions.
13669 (GOMP_taskwait): Use them. If more than one new tasks
13670 have been queued, wake other threads if needed.
13671 (gomp_barrier_handle_tasks): Likewise. If
13672 gomp_team_barrier_cancelled, don't start any new tasks, just free
13673 all tasks.
13674 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13675 * omp_lib.f90.in
13676 (omp_proc_bind_kind, omp_proc_bind_false,
13677 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13678 omp_proc_bind_spread): New params.
13679 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13680 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13681 omp_get_team_num, omp_is_initial_device): New interfaces.
13682 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13683 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13684 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13685 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13686 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13687 useless use omp_lib_kinds.
13688 * omp.h.in (omp_proc_bind_t): New typedef.
13689 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13690 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13691 omp_get_team_num, omp_is_initial_device): New prototypes.
13692 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13693 through to gomp_team_start.
13694 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13695 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13696 Adjust gomp_parallel_loop_start callers.
13697 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13698 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13699 GOMP_loop_end_cancel): New functions.
13700 (GOMP_parallel_end): Add ialias_redirect.
13701 * hashtab.h: New file.
13702 * libgomp.texi (Environment Variables): Minor cleanup,
13703 update section refs to OpenMP 4.0rc2.
13704 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13705 environment variables.
13706 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13707 team->work_shares_to_free to thr->ts.work_share before calling
13708 free_work_share.
13709 (gomp_work_share_end_cancel): New function.
13710 * config/linux/proc.c: Include errno.h.
13711 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13712 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13713 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13714 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13715 gomp_cpuset_size is sizeof (cpu_set_t).
13716 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13717 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13718 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13719 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13720 contain any logical CPUs.
13721 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13722 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13723 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13724 pthread_getaffinity_np. Check gomp_places_list instead of
13725 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13726 * config/linux/bar.c (gomp_barrier_wait_end,
13727 gomp_barrier_wait_last): Use BAR_* defines.
13728 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13729 from state where needed. Set work_share_cancelled to 0 on last
13730 thread.
13731 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13732 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13733 functions.
13734 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13735 Add cpusetsize argument.
13736 (gomp_cpuset_size, gomp_cpusetp): Declare.
13737 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13738 (affinity_counter): Remove.
13739 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13740 if CPU_ALLOC_SIZE isn't defined.
13741 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13742 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13743 bind current thread to the first place.
13744 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13745 pthread_setaffinity_np to gomp_places_list[place].
13746 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13747 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13748 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13749 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13750 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13751 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13752 (gomp_barrier_t): Add awaited_final field.
13753 (gomp_barrier_init): Initialize awaited_final field.
13754 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13755 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13756 prototypes.
13757 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13758 defines.
13759 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13760 gomp_team_barrier_cancelled): New inline functions.
13761 (gomp_barrier_last_thread,
13762 gomp_team_barrier_set_task_pending,
13763 gomp_team_barrier_clear_task_pending,
13764 gomp_team_barrier_set_waiting_for_tasks,
13765 gomp_team_barrier_waiting_for_tasks,
13766 gomp_team_barrier_done): Use BAR_* defines.
13767 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13768 (gomp_barrier_wait_end): Use BAR_* defines.
13769 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13770 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13771 Use BAR_* defines.
13772 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13773 gomp_team_barrier_cancel): New functions.
13774 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13775 argument.
13776 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13777 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13778 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13779 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13780 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13781 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13782 (gomp_barrier_t): Add cancellable field.
13783 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13784 gomp_team_barrier_cancel): New prototypes.
13785 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13786 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13787 gomp_team_barrier_cancelled): New inline functions.
13788 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13789 gomp_team_barrier_set_task_pending,
13790 gomp_team_barrier_clear_task_pending,
13791 gomp_team_barrier_set_waiting_for_tasks,
13792 gomp_team_barrier_waiting_for_tasks,
13793 gomp_team_barrier_done): Use BAR_* defines.
13794 * barrier.c (GOMP_barrier_cancel): New function.
13795 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13796 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13797 omp_proc_bind_spread): New params.
13798 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13799 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13800 omp_get_team_num, omp_is_initial_device): New externals.
13801 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13802 New functions.
13803 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13804 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13805 infinity. If not nested, just return minimum of max_num_threads
13806 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13807 to the returned value. Otherwise, don't update atomically
13808 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13809 (GOMP_parallel_end): Adjust for thread_limit now being in
13810 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13811 infinity. Adjust threads_busy in the pool rather than
13812 gomp_remaining_threads_count. Remember team->nthreads and call
13813 gomp_team_end before adjusting threads_busy, if not nested
13814 afterwards, just set it to 1 non-atomically. Add ialias.
13815 (GOMP_parallel_start): Adjust gomp_team_start caller.
13816 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13817 * testsuite/libgomp.c/affinity-1.c: New test.
13818 * testsuite/libgomp.c/atomic-15.c: New test.
13819 * testsuite/libgomp.c/atomic-16.c: New test.
13820 * testsuite/libgomp.c/atomic-17.c: New test.
13821 * testsuite/libgomp.c/cancel-for-1.c: New test.
13822 * testsuite/libgomp.c/cancel-for-2.c: New test.
13823 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13824 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13825 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13826 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13827 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13828 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13829 * testsuite/libgomp.c/depend-1.c: New test.
13830 * testsuite/libgomp.c/depend-2.c: New test.
13831 * testsuite/libgomp.c/depend-3.c: New test.
13832 * testsuite/libgomp.c/depend-4.c: New test.
13833 * testsuite/libgomp.c/for-1.c: New test.
13834 * testsuite/libgomp.c/for-1.h: New file.
13835 * testsuite/libgomp.c/for-2.c: New test.
13836 * testsuite/libgomp.c/for-2.h: New file.
13837 * testsuite/libgomp.c/for-3.c: New test.
13838 * testsuite/libgomp.c/pr58392.c: New test.
13839 * testsuite/libgomp.c/simd-1.c: New test.
13840 * testsuite/libgomp.c/simd-2.c: New test.
13841 * testsuite/libgomp.c/simd-3.c: New test.
13842 * testsuite/libgomp.c/simd-4.c: New test.
13843 * testsuite/libgomp.c/simd-5.c: New test.
13844 * testsuite/libgomp.c/simd-6.c: New test.
13845 * testsuite/libgomp.c/target-1.c: New test.
13846 * testsuite/libgomp.c/target-2.c: New test.
13847 * testsuite/libgomp.c/target-3.c: New test.
13848 * testsuite/libgomp.c/target-4.c: New test.
13849 * testsuite/libgomp.c/target-5.c: New test.
13850 * testsuite/libgomp.c/target-6.c: New test.
13851 * testsuite/libgomp.c/target-7.c: New test.
13852 * testsuite/libgomp.c/taskgroup-1.c: New test.
13853 * testsuite/libgomp.c/thread-limit-1.c: New test.
13854 * testsuite/libgomp.c/thread-limit-2.c: New test.
13855 * testsuite/libgomp.c/thread-limit-3.c: New test.
13856 * testsuite/libgomp.c/udr-1.c: New test.
13857 * testsuite/libgomp.c/udr-2.c: New test.
13858 * testsuite/libgomp.c/udr-3.c: New test.
13859 * testsuite/libgomp.c++/affinity-1.C: New test.
13860 * testsuite/libgomp.c++/atomic-10.C: New test.
13861 * testsuite/libgomp.c++/atomic-11.C: New test.
13862 * testsuite/libgomp.c++/atomic-12.C: New test.
13863 * testsuite/libgomp.c++/atomic-13.C: New test.
13864 * testsuite/libgomp.c++/atomic-14.C: New test.
13865 * testsuite/libgomp.c++/atomic-15.C: New test.
13866 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13867 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13868 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13869 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13870 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13871 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13872 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13873 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13874 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13875 * testsuite/libgomp.c++/cancel-test.h: New file.
13876 * testsuite/libgomp.c++/for-9.C: New test.
13877 * testsuite/libgomp.c++/for-10.C: New test.
13878 * testsuite/libgomp.c++/for-11.C: New test.
13879 * testsuite/libgomp.c++/simd-1.C: New test.
13880 * testsuite/libgomp.c++/simd-2.C: New test.
13881 * testsuite/libgomp.c++/simd-3.C: New test.
13882 * testsuite/libgomp.c++/simd-4.C: New test.
13883 * testsuite/libgomp.c++/simd-5.C: New test.
13884 * testsuite/libgomp.c++/simd-6.C: New test.
13885 * testsuite/libgomp.c++/simd-7.C: New test.
13886 * testsuite/libgomp.c++/simd-8.C: New test.
13887 * testsuite/libgomp.c++/target-1.C: New test.
13888 * testsuite/libgomp.c++/target-2.C: New test.
13889 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13890 * testsuite/libgomp.c++/target-3.C: New test.
13891 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13892 * testsuite/libgomp.c++/udr-1.C: New test.
13893 * testsuite/libgomp.c++/udr-2.C: New test.
13894 * testsuite/libgomp.c++/udr-3.C: New test.
13895 * testsuite/libgomp.c++/udr-4.C: New test.
13896 * testsuite/libgomp.c++/udr-5.C: New test.
13897 * testsuite/libgomp.c++/udr-6.C: New test.
13898 * testsuite/libgomp.c++/udr-7.C: New test.
13899 * testsuite/libgomp.c++/udr-8.C: New test.
13900 * testsuite/libgomp.c++/udr-9.C: New test.
13901
13902 2013-09-20 Jakub Jelinek <jakub@redhat.com>
13903
13904 PR testsuite/57605
13905 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13906 ALWAYS_CFLAGS.
13907
13908 2013-09-20 Alan Modra <amodra@gmail.com>
13909
13910 * configure: Regenerate.
13911
13912 2013-09-19 Jakub Jelinek <jakub@redhat.com>
13913
13914 * testsuite/libgomp.c/sections-2.c: New test.
13915
13916 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
13917
13918 * testsuite/libgomp.fortran/strassen.f90:
13919 Add dg-skip-if aarch64_tiny.
13920
13921 2013-06-20 Iain Sandoe <iain@codesourcery.com>
13922 Cesar Philippidis <cesar@codesourcery.com>
13923
13924 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13925 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13926 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13927 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13928 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13929 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13930 Use dg-runtest rather than gfortran-dg-runtest.
13931
13932 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
13933
13934 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13935 Linux-based x86 systems to cover all GNU systems.
13936 * testsuite/libgomp.c/lock-3.c: Likewise.
13937 * testsuite/libgomp.c/pr48591.c: Likewise.
13938
13939 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
13940
13941 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13942 GNU/Hurd, as done for Linux-based systems.
13943
13944 * config/posix/ptrlock.h: Fix comment.
13945
13946 2013-05-27 Tobias Burnus <burnus@net-b.de>
13947
13948 PR fortran/57423
13949 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13950 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13951 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13952 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13953 omp_destroy_nest_lock): Correct arguments to match the one in
13954 the OpenMP spec.
13955 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13956 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13957 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13958 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13959
13960 2013-05-16 Jakub Jelinek <jakub@redhat.com>
13961
13962 * testsuite/libgomp.c/loop-13.c: New test.
13963 * testsuite/libgomp.c/loop-14.c: New test.
13964 * testsuite/libgomp.c/loop-15.c: New test.
13965 * testsuite/libgomp.c++/loop-13.C: New test.
13966 * testsuite/libgomp.c++/loop-14.C: New test.
13967 * testsuite/libgomp.c++/loop-15.C: New test.
13968
13969 2013-02-06 Jakub Jelinek <jakub@redhat.com>
13970
13971 PR middle-end/56217
13972 * testsuite/libgomp.c++/pr56217.C: New test.
13973
13974 2013-02-01 Alan Modra <amodra@gmail.com>
13975
13976 * task.c (GOMP_task, GOMP_taskwait): Comment.
13977
13978 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
13979 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
13980
13981 PR libgomp/55561
13982 * config/linux/wait.h (do_spin): Use atomic load for addr.
13983 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13984 for intptr and ptrlock.
13985 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13986 for ptrlock.
13987
13988 2013-01-22 Alan Modra <amodra@gmail.com>
13989
13990 PR libgomp/51376
13991 PR libgomp/56073
13992 * task.c (GOMP_task): Revert 2011-12-09 change.
13993 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13994 barrier to read task->children..
13995 (gomp_barrier_handle_tasks): ..and matching atomic store with
13996 release barrier here when setting parent->children to NULL.
13997
13998 2013-01-16 Jakub Jelinek <jakub@redhat.com>
13999 Tobias Burnus <burnus@net-b.de>
14000
14001 PR driver/55884
14002 * testsuite/libgomp.fortran/fortran.exp: Use
14003 -fintrinsic-modules-path= instead of
14004 -fintrinsic-modules-path.
14005
14006 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14007
14008 Update copyright years.
14009
14010 2012-12-19 Tobias Burnus <burnus@net-b.de>
14011
14012 * testsuite/libgomp.fortran/fortran.exp: Set
14013 -fintrinsic-modules-path.
14014
14015 2012-12-19 Tobias Burnus <burnus@net-b.de>
14016
14017 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14018 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14019
14020 2012-11-21 Jakub Jelinek <jakub@redhat.com>
14021
14022 PR libgomp/55411
14023 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14024 if pool had any threads_used.
14025
14026 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14027
14028 * testsuite/libgomp.c++/pr24455.C: Use
14029 -Wl,-undefined,dynamic_lookup on darwin.
14030
14031 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
14032
14033 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14034
14035 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14036
14037 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14038
14039 2012-10-23 Ian Bolton <ian.bolton@arm.com>
14040 Jim MacArthur <jim.macarthur@arm.com>
14041 Marcus Shawcroft <marcus.shawcroft@arm.com>
14042 Nigel Stephens <nigel.stephens@arm.com>
14043 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14044 Richard Earnshaw <rearnsha@arm.com>
14045 Sofiane Naci <sofiane.naci@arm.com>
14046 Stephen Thomas <stephen.thomas@arm.com>
14047 Tejas Belagod <tejas.belagod@arm.com>
14048 Yufeng Zhang <yufeng.zhang@arm.com>
14049
14050 * configure.tgt: Add AArch64.
14051
14052 2012-10-04 Jason Merrill <jason@redhat.com>
14053
14054 * testsuite/libgomp.c++/tls-init1.C: New.
14055
14056 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
14057
14058 * configure: Regenerated.
14059
14060 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14061
14062 * config/linux/mips/futex.h (sys_futex0): Change to static
14063 function with noinline, nomips16 attributes under MIPS16. Adjust
14064 asm statement to place 'li v0,SYS_futex' immediately before
14065 syscall insn.
14066
14067 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14068
14069 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14070 conflict with index.html on case-insensitive file systems.
14071
14072 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
14073
14074 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14075 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14076
14077 2012-07-02 Richard Guenther <rguenther@suse.de>
14078 Michael Matz <matz@suse.de>
14079 Tobias Grosser <tobias@grosser.es>
14080 Sebastian Pop <sebpop@gmail.com>
14081
14082 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14083 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14084 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14085 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14086
14087 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14088
14089 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14090
14091 2012-06-22 Richard Guenther <rguenther@suse.de>
14092
14093 Merge from graphite branch
14094 2012-01-13 Tobias Grosser <tobias@grosser.es>
14095
14096 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14097 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14098
14099 2012-06-07 Jakub Jelinek <jakub@redhat.com>
14100
14101 PR middle-end/53580
14102 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14103 use GOMP_barrier () call instead.
14104 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14105 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14106 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14107 call GOMP_barrier instead.
14108 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14109
14110 2012-06-06 Jakub Jelinek <jakub@redhat.com>
14111
14112 PR libgomp/52993
14113 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14114 argument to memset call.
14115
14116 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14117
14118 * configure: Regenerated.
14119
14120 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14121
14122 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14123
14124 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14125
14126 PR bootstrap/52812
14127 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14128
14129 2012-03-22 Jakub Jelinek <jakub@redhat.com>
14130
14131 PR middle-end/52547
14132 * testsuite/libgomp.c/pr52547.c: New test.
14133
14134 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14135
14136 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14137
14138 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14139
14140 * configure.tgt (mips-sgi-irix6*): Remove.
14141
14142 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14143
14144 * configure.tgt (alpha*-dec-osf*): Remove.
14145
14146 * config/osf/sem.h: Remove.
14147 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14148
14149 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14150
14151 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14152
14153 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14154
14155 PR libstdc++/52188
14156 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14157 Remove ENABLE_SYMVERS_SOL2.
14158 * configure: Regenerate.
14159 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14160 (PREPROCESS): New variable.
14161 (libgomp.ver): New target.
14162 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14163 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14164 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14165 Use libgomp.ver.
14166 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14167 * Makefile.in: Regenerate.
14168
14169 2012-02-14 Walter Lee <walt@tilera.com>
14170
14171 * configure.tgt: Handle tilegx and tilepro.
14172 * config/linux/tile/futex.h: New file.
14173
14174 2012-02-08 Richard Guenther <rguenther@suse.de>
14175
14176 PR tree-optimization/46886
14177 * testsuite/libgomp.c/pr46886.c: New testcase.
14178
14179 2012-01-25 Matthias Klose <doko@ubuntu.com>
14180
14181 * config/linux/arm: Remove empty directory.
14182 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14183
14184 2011-12-09 Alan Modra <amodra@gmail.com>
14185
14186 PR libgomp/51376
14187 * task.c (GOMP_taskwait): Don't access task->children outside of
14188 task_lock mutex region.
14189 (GOMP_task): Likewise.
14190
14191 2011-12-06 Jakub Jelinek <jakub@redhat.com>
14192
14193 PR libgomp/51132
14194 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14195 to file scope.
14196 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14197 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14198 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14199 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14200 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14201
14202 2011-12-02 Alan Modra <amodra@gmail.com>
14203
14204 * config/linux/affinity.c: Use atomic rather than sync builtin.
14205 * config/linux/lock.c: Likewise.
14206 * config/linux/ptrlock.h: Likewise.
14207 * config/linux/ptrlock.c: Likewise.
14208 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14209 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14210 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14211 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14212 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14213 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14214 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14215 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14216 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14217 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14218
14219 2011-11-30 Alan Modra <amodra@gmail.com>
14220
14221 PR libgomp/51298
14222 * config/linux/bar.h: Use atomic rather than sync builtins.
14223 * config/linux/bar.c: Likewise. Add missing acquire
14224 synchronisation on generation field.
14225 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14226 double unlock.
14227
14228 2011-11-30 Alan Modra <amodra@gmail.com>
14229
14230 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14231 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14232 * config/linux/mutex.h: Use atomic rather than sync builtins.
14233 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14234 * config/linux/omp-lock.h: Comment fix.
14235 * config/linux/arm/mutex.h: Delete.
14236 * config/linux/powerpc/mutex.h: Delete.
14237 * config/linux/ia64/mutex.h: Delete.
14238 * config/linux/mips/mutex.h: Delete.
14239
14240 2011-11-30 Alan Modra <amodra@gmail.com>
14241
14242 PR libgomp/51249
14243 * config/linux/sem.h: Rewrite.
14244 * config/linux/sem.c: Rewrite.
14245
14246 2011-11-28 Richard Henderson <rth@redhat.com>
14247
14248 * libgomp.h (enum memmodel): New.
14249
14250 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
14251
14252 * configure: Regenerate.
14253
14254 2011-10-10 Matthias Klose <doko@ubuntu.com>
14255
14256 * config/posix95: Remove empty directory.
14257
14258 2011-08-26 Jakub Jelinek <jakub@redhat.com>
14259
14260 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14261
14262 2011-08-19 Jakub Jelinek <jakub@redhat.com>
14263
14264 PR fortran/49792
14265 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14266 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14267
14268 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14269
14270 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14271
14272 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14273
14274 PR libgomp/49965
14275 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14276
14277 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
14278
14279 * config/linux/proc.h: New.
14280 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14281 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14282 (gomp_init_num_threads): Update call to cpuset_popcount.
14283 (get_num_procs): Ditto.
14284 * config/linux/affinity.c (gomp_init_affinity): Call
14285 gomp_cpuset_popcount.
14286
14287 2011-08-02 Jakub Jelinek <jakub@redhat.com>
14288
14289 PR fortran/42041
14290 PR fortran/46752
14291 * omp.h.in (omp_in_final): New prototype.
14292 * omp_lib.f90.in (omp_in_final): New interface.
14293 (omp_integer_kind, omp_logical_kind): Remove
14294 and replace all its uses in the module with 4.
14295 (openmp_version): Change to 201107.
14296 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14297 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14298 kind for the parameters.
14299 (omp_in_final): New external.
14300 (openmp_version): Change to 201107.
14301 * task.c (omp_in_final): New function.
14302 (gomp_init_task): Initialize final_task.
14303 (GOMP_task): Remove unused attribute from flags. Handle final
14304 tasks.
14305 (GOMP_taskyield): New function.
14306 (omp_in_final): Return true if if (false) or final (true) task
14307 or descendant of final (true).
14308 * fortran.c (omp_in_final_): New function.
14309 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14310 (GOMP_3.0): Export GOMP_taskyield.
14311 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14312 variables.
14313 (parse_unsigned_long_list): New function.
14314 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14315 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14316 even if parse_affinity returned false.
14317 * config/linux/affinity.c (gomp_init_affinity): Handle
14318 gomp_cpu_affinity_len == 0.
14319 * libgomp_g.h (GOMP_taskyield): New prototype.
14320 * libgomp.h (struct gomp_task): Add final_task field.
14321 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14322 * team.c (gomp_team_start): Override new task's nthreads_var icv
14323 if list form OMP_NUM_THREADS has been used and it has value for
14324 the new nesting level.
14325
14326 * testsuite/libgomp.c/atomic-11.c: New test.
14327 * testsuite/libgomp.c/atomic-12.c: New test.
14328 * testsuite/libgomp.c/atomic-13.c: New test.
14329 * testsuite/libgomp.c/atomic-14.c: New test.
14330 * testsuite/libgomp.c/reduction-6.c: New test.
14331 * testsuite/libgomp.c/task-5.c: New test.
14332 * testsuite/libgomp.c++/atomic-2.C: New test.
14333 * testsuite/libgomp.c++/atomic-3.C: New test.
14334 * testsuite/libgomp.c++/atomic-4.C: New test.
14335 * testsuite/libgomp.c++/atomic-5.C: New test.
14336 * testsuite/libgomp.c++/atomic-6.C: New test.
14337 * testsuite/libgomp.c++/atomic-7.C: New test.
14338 * testsuite/libgomp.c++/atomic-8.C: New test.
14339 * testsuite/libgomp.c++/atomic-9.C: New test.
14340 * testsuite/libgomp.c++/task-8.C: New test.
14341 * testsuite/libgomp.c++/reduction-4.C: New test.
14342 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14343 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14344 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14345 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14346 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14347 * testsuite/libgomp.fortran/pointer1.f90: New test.
14348 * testsuite/libgomp.fortran/pointer2.f90: New test.
14349 * testsuite/libgomp.fortran/task4.f90: New test.
14350
14351 2011-08-02 Tobias Burnus <burnus@net-b.de>
14352
14353 * libgomp.texi: Update OpenMP spec references to 3.1.
14354 (omp_in_final,OMP_PROC_BIND): New sections.
14355 (OMP_NUM_THREADS): Document that the value can be now a list.
14356 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14357
14358 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14359
14360 * config/linux/x86/futex.h: Check __x86_64__ instead of
14361 __LP64__.
14362
14363 2011-07-29 Jakub Jelinek <jakub@redhat.com>
14364
14365 PR middle-end/49897
14366 PR middle-end/49898
14367 * testsuite/libgomp.c/pr49897-1.c: New test.
14368 * testsuite/libgomp.c/pr49897-2.c: New test.
14369 * testsuite/libgomp.c/pr49898-1.c: New test.
14370 * testsuite/libgomp.c/pr49898-2.c: New test.
14371
14372 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
14373
14374 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14375 for ia32 instead of ilp32.
14376
14377 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14378 * testsuite/libgomp.c/atomic-6.c: Likewise.
14379
14380 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
14381
14382 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14383 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14384
14385 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14386
14387 PR libgomp/45351
14388 * config/osf/sem.h: New file.
14389 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14390
14391 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14392
14393 PR target/49541
14394 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14395 ldflags.
14396
14397 2011-07-15 Jakub Jelinek <jakub@redhat.com>
14398
14399 * config/linux/wait.h (do_spin): New inline, largely copied
14400 from do_wait, just don't do futex_wait here, instead return true if
14401 it should be done.
14402 (do_wait): Implement using do_spin.
14403 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14404 to prototype.
14405 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14406 __sync_bool_compare_and_swap, pass the oldval to
14407 gomp_mutex_lock_slow.
14408 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14409 If all mutex contenders are just spinning and not sleeping, don't
14410 change state to 2 unnecessarily. Optimize the loop when state has
14411 already become 2 to use just one atomic operation per loop instead
14412 of two.
14413 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14414 to prototype.
14415 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14416 __sync_bool_compare_and_swap, pass the oldval to
14417 gomp_mutex_lock_slow.
14418
14419 2011-06-22 Jakub Jelinek <jakub@redhat.com>
14420
14421 PR libgomp/49490
14422 * iter.c (gomp_iter_static_next): For chunk size 0
14423 only use n ceil/ nthreads size for the first
14424 n % nthreads threads in the team instead of
14425 all threads except for the last few ones which
14426 get less work or none at all.
14427 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14428 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14429 chunk argument, set run_sched_modifier to 0 for static
14430 resp. 1 for other kinds. If chunk argument is 0
14431 and not static, set value to 1.
14432
14433 2011-05-19 Jakub Jelinek <jakub@redhat.com>
14434
14435 PR c++/49043
14436 * testsuite/libgomp.c++/pr49043.C: New test.
14437
14438 PR c++/48869
14439 * testsuite/libgomp.c++/pr48869.C: New test.
14440
14441 2011-05-06 Jakub Jelinek <jakub@redhat.com>
14442
14443 PR fortran/48894
14444 * fortran.c: Include limits.h.
14445 (TO_INT): Define.
14446 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14447 *set.
14448 (omp_set_num_threads_8_, omp_set_schedule_8_,
14449 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14450 omp_get_team_size_8_): Use TO_INT macro.
14451 * testsuite/libgomp.fortran/pr48894.f90: New test.
14452
14453 2011-04-13 Jakub Jelinek <jakub@redhat.com>
14454
14455 PR middle-end/48591
14456 * testsuite/libgomp.c/pr48591.c: New test.
14457
14458 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14459
14460 PR bootstrap/48135
14461 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14462 * configure: Regenerate.
14463
14464 2011-02-27 Jakub Jelinek <jakub@redhat.com>
14465
14466 PR fortran/47886
14467 * testsuite/libgomp.fortran/task3.f90: New test.
14468
14469 2011-02-24 Tobias Burnus <burnus@net-b.de>
14470
14471 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14472
14473 2011-02-23 Jakub Jelinek <jakub@redhat.com>
14474
14475 PR libgomp/47854
14476 * libgomp.texi (omp_get_wtime): Don't say time in the past
14477 must be Unix Epoch.
14478
14479 2011-02-18 Jakub Jelinek <jakub@redhat.com>
14480
14481 PR libgomp/47804
14482 * testsuite/libgomp.fortran/fortran.exp: Check for both
14483 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14484 but $blddir != "", still append ${blddir}/${lang_library_path}
14485 to ld_library_path.
14486
14487 2011-02-16 Tobias Burnus <burnus@net-b.de>
14488
14489 PR libgomp/47758
14490 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14491 of libquadmath.a before adding its libpath to ldflags.
14492
14493 2011-02-14 Jakub Jelinek <jakub@redhat.com>
14494
14495 PR libgomp/47731
14496 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14497 to FUTEX_WAIT futex syscall.
14498 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14499
14500 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14501
14502 * configure: Regenerate.
14503
14504 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
14505
14506 PR libstdc++/36104
14507 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14508
14509 2011-01-16 Gerald Pfeifer
14510
14511 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14512
14513 2010-12-14 Jakub Jelinek <jakub@redhat.com>
14514
14515 PR fortran/46874
14516 * libgomp.fortran/allocatable6.f90: New test.
14517
14518 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14519
14520 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14521 * configure: Regenerate.
14522
14523 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
14524
14525 PR target/40125
14526 PR lto/46695
14527 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14528 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14529 * aclocal.m4: Regenerate.
14530 * configure: Regenerate.
14531 * Makefile.in: Regenerate.
14532 * testsuite/Makefile.in: Regenerate.
14533
14534 2010-12-02 Jakub Jelinek <jakub@redhat.com>
14535
14536 PR fortran/46753
14537 * libgomp.fortran/pr46753.f90: New test.
14538
14539 PR libgomp/43706
14540 * env.c (initialize_env): Default to spin count 300000
14541 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14542 is specified.
14543
14544 PR libgomp/45240
14545 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14546 at the end if sync builtins aren't supported.
14547
14548 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14549
14550 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14551
14552 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14553
14554 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14555
14556 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
14557
14558 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14559
14560 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14561 Tobias Burnus <burnus@net-b.de>
14562
14563 PR fortran/32049
14564 * configure.ac:
14565 * configure: Regenerate.
14566
14567 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14568
14569 * config/linux/futex.h: New.
14570 * config/linux/arm/mutex.h: New.
14571 * configure.tgt (arm*-*-linux*): Add config path.
14572
14573 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
14574
14575 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14576
14577 2010-09-23 Tobias Burnus <burnus@net-b.de>
14578
14579 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14580 Change Fortran datatype to LOGICAL.
14581 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14582 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14583
14584 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14585
14586 * configure: Regenerate.
14587
14588 2010-07-26 Jakub Jelinek <jakub@redhat.com>
14589
14590 * libgomp.texi: Add function keyword to a couple of Fortran
14591 interfaces, use integer instead of int for Fortran.
14592
14593 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
14594
14595 * libgomp.texi: Fix spelling and pasto problems throughout.
14596 Adjust prototypes to match code.
14597
14598 2010-07-24 Tobias Burnus <burnus@net-b.de>
14599
14600 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14601 silence -fwhole-file warning.
14602
14603 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14604
14605 * configure.tgt (*-*-solaris2.[56]*): Removed.
14606
14607 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14608
14609 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14610 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14611 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14612 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14613 targetting solaris2*.
14614 * configure: Regenerate.
14615 * config.h.in: Regenerate.
14616
14617 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14618 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14619 Add libgomp_version_dep.
14620 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14621 versioning.
14622 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14623 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14624 * Makefile.in: Regenerate.
14625
14626 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14627 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14628 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14629 to common block, protected by
14630 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14631
14632 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
14633
14634 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14635
14636 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
14637
14638 PR bootstrap/43170
14639 * configure: Regenerate.
14640
14641 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14642
14643 PR other/43620
14644 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14645 * configure: Regenerate.
14646 * Makefile.in: Regenerate.
14647 * testsuite/Makefile.in: Regenerate.
14648
14649 2010-04-26 Jakub Jelinek <jakub@redhat.com>
14650
14651 PR c/43893
14652 * testsuite/libgomp.c/pr43893.c: New test.
14653 * testsuite/libgomp.c++/pr43893.C: New test.
14654
14655 2010-04-21 Jakub Jelinek <jakub@redhat.com>
14656
14657 PR middle-end/43570
14658 * testsuite/libgomp.fortran/vla8.f90: New test.
14659
14660 2010-04-20 Jakub Jelinek <jakub@redhat.com>
14661
14662 PR libgomp/43706
14663 * config/linux/affinity.c (gomp_init_affinity): Decrease
14664 gomp_available_cpus if affinity mask confines the process to fewer
14665 CPUs.
14666 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14667 non-NULL, just return gomp_available_cpus.
14668
14669 PR libgomp/43569
14670 * sections.c (gomp_sections_init): Initialize ws->mode.
14671
14672 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
14673
14674 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14675 not unused bar variable.
14676 * configure: Regenerate.
14677
14678 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14679
14680 * Makefile.in: Regenerate.
14681 * aclocal.m4: Regenerate.
14682 * testsuite/Makefile.in: Regenerate.
14683
14684 2010-03-22 Jakub Jelinek <jakub@redhat.com>
14685
14686 PR libgomp/42942
14687 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14688 (initialize_env): Adjust callers.
14689 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14690 when the argument is 0.
14691
14692 * testsuite/libgomp.c/pr42942.c: New test.
14693
14694 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
14695
14696 PR middle-end/42644
14697 PR middle-end/42130
14698 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14699 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14700
14701 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14702
14703 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14704 * testsuite/libgomp.c++/task-6.C: Likewise.
14705
14706 2010-01-28 Steve Ellcey <sje@cup.hp.com>
14707
14708 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14709
14710 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
14711
14712 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14713 * configure: Regenerate.
14714
14715 2010-01-26 Jakub Jelinek <jakub@redhat.com>
14716
14717 PR fortran/42866
14718 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14719
14720 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
14721
14722 * configure.ac: Test for executability of GFORTRAN.
14723 * configure: Regenerate.
14724
14725 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14726
14727 * configure: Regenerate.
14728
14729 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
14730
14731 PR libgomp/42602
14732 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14733
14734 2010-01-03 Richard Guenther <rguenther@suse.de>
14735
14736 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14737
14738 2009-12-23 Sebastian Pop <sebpop@gmail.com>
14739
14740 * testsuite/libgomp.graphite/pr4118.c: New.
14741
14742 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14743
14744 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14745 for darwin, protect the test with require-effective-target tls_runtime.
14746 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14747
14748 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14749
14750 PR target/41605
14751 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14752 link spec %s substitutions for static libraries.
14753
14754 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
14755
14756 PR testsuite/42135
14757 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14758
14759 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14760
14761 * Makefile.in: Regenerate.
14762 * configure: Regenerate.
14763 * testsuite/Makefile.in: Regenerate.
14764
14765 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
14766
14767 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14768 settings for LC_ALL and LANG.
14769
14770 2009-11-25 Jakub Jelinek <jakub@redhat.com>
14771
14772 PR fortran/42162
14773 * testsuite/libgomp.fortran/pr42162.f90: New test.
14774
14775 2009-11-13 Jakub Jelinek <jakub@redhat.com>
14776
14777 PR middle-end/42029
14778 * testsuite/libgomp.c/pr42029.c: New test.
14779
14780 2009-10-26 Jakub Jelinek <jakub@redhat.com>
14781
14782 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14783 *s. Accept ld version without text in ()s.
14784 * configure: Regenerated.
14785
14786 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
14787
14788 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14789
14790 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14791
14792 PR libgomp/41418
14793 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14794 or a hyphen (happens with fortran language disabled).
14795 * configure: Regenerate.
14796
14797 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14798
14799 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14800 use sed script portable to Solaris /bin/sed for extracting ld
14801 version.
14802 * configure: Regenerate.
14803
14804 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
14805
14806 * testsuite/libgomp.graphite/bounds.c: New test.
14807
14808 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14809
14810 * Makefile.am (libgomp_la_LINK): New.
14811 * Makefile.in: Regenerate.
14812
14813 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14814
14815 * configure.ac (AC_PREREQ): Bump to 2.64.
14816
14817 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14818
14819 * Makefile.am (install-html, install-pdf): Remove.
14820 * Makefile.in: Regenerate.
14821
14822 * Makefile.in: Regenerate.
14823 * aclocal.m4: Regenerate.
14824 * config.h.in: Regenerate.
14825 * configure: Regenerate.
14826 * testsuite/Makefile.in: Regenerate.
14827
14828 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14829
14830 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14831 * Makefile.in: Regenerate.
14832
14833 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
14834
14835 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14836 * Makefile.in: Regenerate.
14837
14838 2009-08-19 Tobias Burnus <burnus@net-b.de>
14839
14840 PR fortran/41102
14841 omp_lib.h.in: Fix -std=f95 errors.
14842
14843 2009-08-14 David Edelsohn <edelsohn@gnu.org>
14844
14845 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14846 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14847 * testsuite/libgomp.graphite/graphite.exp: New.
14848
14849 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
14850
14851 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14852 only build.
14853
14854 2009-08-04 David Daney <ddaney@caviumnetworks.com>
14855
14856 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14857 needed memory barrier semantics.
14858 * config/linux/mips/mutex.h: New file.
14859
14860 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14861
14862 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14863
14864 2009-07-16 Joseph Myers <joseph@codesourcery.com>
14865
14866 * configure: Regenerate.
14867
14868 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
14869
14870 PR testsuite/40699
14871 PR testsuite/40707
14872 PR testsuite/40709
14873 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14874 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14875 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14876
14877 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
14878
14879 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14880 options when choosing a multilib.
14881
14882 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
14883
14884 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14885 ld_library_path. Use add_path. Add just find_libgcc_s to
14886 ld_library_path, not every libgcc multilib directory.
14887 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14888 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14889 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14890 Use add_path.
14891 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14892
14893 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
14894
14895 * Makefile.am (LTLDFLAGS): Define.
14896 (LINK): Define.
14897 * Makefile.in: Regenerate.
14898
14899 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
14900
14901 PR fortran/39718
14902 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14903 libgfortranbegin, check existence of libgfortran.a instead of
14904 libgfortranbegin.a.
14905
14906 2009-05-20 Jakub Jelinek <jakub@redhat.com>
14907
14908 PR libgomp/40174
14909 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14910 (gomp_free_pool_helper): Likewise.
14911
14912 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
14913 Jakub Jelinek <jakub@redhat.com>
14914
14915 PR fortran/35423
14916 * testsuite/libgomp.fortran/workshare2.f90: New test.
14917
14918 2009-04-09 Nick Clifton <nickc@redhat.com>
14919
14920 * iter.c: Change copyright header to refer to version 3 of the
14921 GNU General Public License with version 3.1 of the GCC Runtime
14922 Library Exception and to point readers at the COPYING3 and
14923 COPYING3.RUNTIME files and the FSF's license web page.
14924 * alloc.c: Likewise.
14925 * barrier.c: Likewise.
14926 * config/bsd/proc.c: Likewise.
14927 * config/linux/affinity.c: Likewise.
14928 * config/linux/alpha/futex.h: Likewise.
14929 * config/linux/bar.c: Likewise.
14930 * config/linux/bar.h: Likewise.
14931 * config/linux/ia64/futex.h: Likewise.
14932 * config/linux/ia64/mutex.h: Likewise.
14933 * config/linux/lock.c: Likewise.
14934 * config/linux/mips/futex.h: Likewise.
14935 * config/linux/mutex.c: Likewise.
14936 * config/linux/mutex.h: Likewise.
14937 * config/linux/powerpc/futex.h: Likewise.
14938 * config/linux/proc.c: Likewise.
14939 * config/linux/ptrlock.c: Likewise.
14940 * config/linux/ptrlock.h: Likewise.
14941 * config/linux/s390/futex.h: Likewise.
14942 * config/linux/sem.c: Likewise.
14943 * config/linux/sem.h: Likewise.
14944 * config/linux/sparc/futex.h: Likewise.
14945 * config/linux/wait.h: Likewise.
14946 * config/linux/x86/futex.h: Likewise.
14947 * config/mingw32/proc.c: Likewise.
14948 * config/mingw32/time.c: Likewise.
14949 * config/posix/affinity.c: Likewise.
14950 * config/posix/bar.c: Likewise.
14951 * config/posix/bar.h: Likewise.
14952 * config/posix/lock.c: Likewise.
14953 * config/posix/mutex.h: Likewise.
14954 * config/posix/proc.c: Likewise.
14955 * config/posix/ptrlock.h: Likewise.
14956 * config/posix/sem.c: Likewise.
14957 * config/posix/sem.h: Likewise.
14958 * config/posix/time.c: Likewise.
14959 * config/posix95/lock.c: Likewise.
14960 * critical.c: Likewise.
14961 * env.c: Likewise.
14962 * error.c: Likewise.
14963 * fortran.c: Likewise.
14964 * iter_ull.c: Likewise.
14965 * libgomp.h: Likewise.
14966 * libgomp_f.h.in: Likewise.
14967 * libgomp_g.h: Likewise.
14968 * loop.c: Likewise.
14969 * loop_ull.c: Likewise.
14970 * omp.h.in: Likewise.
14971 * omp_lib.f90.in: Likewise.
14972 * omp_lib.h.in: Likewise.
14973 * ordered.c: Likewise.
14974 * parallel.c: Likewise.
14975 * sections.c: Likewise.
14976 * single.c: Likewise.
14977 * task.c: Likewise.
14978 * team.c: Likewise.
14979 * work.c: Likewise.
14980
14981 2009-04-09 Jakub Jelinek <jakub@redhat.com>
14982
14983 * testsuite/config/default.exp: Change copyright header to refer to
14984 version 3 of the GNU General Public License and to point readers
14985 at the COPYING3 file and the FSF's license web page.
14986
14987 2009-04-08 Jakub Jelinek <jakub@redhat.com>
14988
14989 PR middle-end/39573
14990 * libgomp.c++/pr39573.C: New test.
14991
14992 2009-04-01 Jakub Jelinek <jakub@redhat.com>
14993
14994 PR other/39591
14995 * testsuite/libgomp.c/pr39591-1.c: New test.
14996 * testsuite/libgomp.c/pr39591-2.c: New test.
14997 * testsuite/libgomp.c/pr39591-3.c: New test.
14998
14999 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
15000
15001 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15002 * testsuite/libgomp.c/atomic-6.c: Ditto.
15003
15004 2009-03-23 Jakub Jelinek <jakub@redhat.com>
15005
15006 PR c/39495
15007 * testsuite/libgomp.c/loop-12.c: New test.
15008 * testsuite/libgomp.c/loop-11.c: New test.
15009 * testsuite/libgomp.c++/loop-11.C: New test.
15010 * testsuite/libgomp.c++/loop-12.C: New test.
15011 * testsuite/libgomp.c++/for-8.C: New test.
15012
15013 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15014
15015 * configure: Regenerate.
15016
15017 2009-02-11 Jakub Jelinek <jakub@redhat.com>
15018
15019 PR middle-end/39154
15020 * testsuite/libgomp.c/pr39154.c: New test.
15021
15022 2009-01-30 Ian Lance Taylor <iant@google.com>
15023
15024 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15025 libgomp_ld_is_gold. Get gold version number.
15026 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15027 * configure: Rebuild.
15028
15029 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15030
15031 * testsuite/lib/libgomp.exp: Add -B option for targets that
15032 use libgfortran.a%s in their specs.
15033
15034 2009-01-07 Jakub Jelinek <jakub@redhat.com>
15035
15036 PR libgomp/38086
15037 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15038 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15039 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15040 * configure: Regenerated.
15041 * config.h.in: Likewise.
15042
15043 2008-12-28 Jakub Jelinek <jakub@redhat.com>
15044
15045 PR c++/38650
15046 * testsuite/libgomp.c/pr38650.c: New test.
15047 * testsuite/libgomp.c++/pr38650.C: New test.
15048
15049 2008-12-27 Jakub Jelinek <jakub@redhat.com>
15050
15051 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15052
15053 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
15054
15055 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15056
15057 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15058
15059 * configure: Regenerate.
15060
15061 2008-12-08 Jakub Jelinek <jakub@redhat.com>
15062
15063 PR middle-end/36802
15064 * testsuite/libgomp.c/pr36802-1.c: New test.
15065 * testsuite/libgomp.c/pr36802-2.c: New test.
15066 * testsuite/libgomp.c/pr36802-3.c: New test.
15067
15068 2008-12-01 Janis Johnson <janis187@us.ibm.com>
15069
15070 PR libgomp/38270
15071 * config/linux/powerpc/mutex.h: New.
15072
15073 2008-12-01 Jakub Jelinek <jakub@redhat.com>
15074
15075 PR c++/38257
15076 * testsuite/libgomp.c++/for-7.C: New test.
15077
15078 PR c++/38348
15079 * testsuite/libgomp.c++/for-6.C: New test.
15080
15081 2008-11-26 Janis Johnson <janis187@us.ibm.com>
15082
15083 PR testsuite/28870
15084 * testsuite/lib/libgomp.exp: Include new timeout library files.
15085 (libgomp_target_compile): Set timeout value from new proc.
15086
15087 2008-11-13 Steve Ellcey <sje@cup.hp.com>
15088
15089 PR libgomp/37938
15090 * config/linux/ia64/mutex.h: New.
15091
15092 2008-11-04 Tobias Burnus <burnus@net-b.de>
15093
15094 PR libgomp/37935
15095 * libgomp.texi (Runtime library routines, environment variables):
15096 Update for OpenMP version 3.0.
15097
15098 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15099 Steve Ellcey <sje@cup.hp.com>
15100
15101 * configure: Regenerate for new libtool.
15102 * Makefile.in: Ditto.
15103 * testsuite/Makefile.in: Ditto.
15104
15105 2008-09-19 Jakub Jelinek <jakub@redhat.com>
15106 Andreas Tobler <a.tobler@schweiz.org>
15107
15108 * config/bsd/proc.c: New file.
15109 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15110 * configure.ac: Check for header <sys/sysctl.h>
15111 * configure: Regenerate.
15112 * config.h.in: Likewise.
15113
15114 2008-09-05 Janis Johnson <janis187@us.ibm.com>
15115
15116 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15117
15118 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15119
15120 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15121 * Makefile.in: Regenerated.
15122 * testsuite/Makefile.in: Regenerated.
15123
15124 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
15125
15126 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15127 depend on blddir if blddir exists.
15128 (libgomp_target_compile): Likewise.
15129 * testsuite/libgomp.c++/c++.exp: Likewise.
15130 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15131
15132 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15133
15134 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15135 Do not list GPL as Invariant Section.
15136
15137 2008-07-28 Ilie Garbacea <ilie@mips.com>
15138 Chao-ying Fu <fu@mips.com>
15139
15140 * configure.tgt: Enable futex for MIPS.
15141 * config/linux/mips/futex.h: New file.
15142
15143 2008-07-16 Jakub Jelinek <jakub@redhat.com>
15144
15145 * team.c (gomp_team_end): Free team immediately if it has
15146 just one thread.
15147
15148 2008-07-08 David Edelsohn <edelsohn@gnu.org>
15149
15150 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15151 * testsuite/libgomp.fortran/fortran.exp: Same.
15152 * testsuite/libgomp.c/c.exp: Same.
15153 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15154 directory to library path first.
15155
15156 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15157
15158 * env.c (parse_stacksize): Add cast to avoid warning.
15159 (parse_spincount): Likewise.
15160
15161 2008-06-27 Jakub Jelinek <jakub@redhat.com>
15162
15163 * testsuite/libgomp.c/loop-10.c: New test.
15164 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15165 * libgomp.c++/loop-6.C (main): Likewise.
15166
15167 PR debug/36617
15168 * testsuite/libgomp.c/debug-1.c: New test.
15169
15170 2008-06-19 Jakub Jelinek <jakub@redhat.com>
15171
15172 * testsuite/libgomp.c/nqueens-1.c: New test.
15173
15174 PR c++/36523
15175 * testsuite/libgomp.c++/task-7.C: New function.
15176
15177 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15178
15179 * configure: Regenerate.
15180
15181 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15182
15183 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15184 mutex when HAVE_SYNC_BUILTINS isn't defined.
15185
15186 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15187
15188 * libgomp.texi (omp_test_lock): Fix typo.
15189
15190 2008-06-12 Tobias Burnus <burnus@net-b.de>
15191
15192 * omp_lib.f90.in: Add "implicit none".
15193
15194 2008-06-12 Jakub Jelinek <jakub@redhat.com>
15195
15196 PR middle-end/36506
15197 * testsuite/libgomp.c/reduction-5.c: New test.
15198
15199 2008-06-11 Jakub Jelinek <jakub@redhat.com>
15200
15201 * libgomp.h (struct gomp_task): Add in_tied_task field.
15202 * task.c (gomp_init_task): Initialize it.
15203 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15204 unconditionally. Don't call gomp_team_barrier_wake if
15205 current task is implicit or if(0) from implicit and number of
15206 running tasks is equal to nthreads - 1.
15207
15208 PR libgomp/36471
15209 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15210 omp_get_team_size_8): Fix pastos.
15211
15212 PR libgomp/36469
15213 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15214 * configure: Regenerated.
15215 * config.h.in: Regenerated.
15216 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15217 defined.
15218
15219 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15220
15221 PR bootstrap/36452
15222 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15223 (GOMP_loop_ull_dynamic_start): Likewise.
15224 (GOMP_loop_ull_guided_start): Likewise.
15225 (GOMP_loop_ull_ordered_static_start): Likewise.
15226 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15227 (GOMP_loop_ull_ordered_guided_start): Likewise.
15228
15229 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15230 Richard Henderson <rth@redhat.com>
15231 Ulrich Drepper <drepper@redhat.com>
15232 Jakob Blomer <jakob.blomer@ira.uka.de>
15233
15234 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15235 Substitute also OMP_*LOCK_25*.
15236 * configure: Regenerated.
15237 * config.h.in: Regenerated.
15238 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15239 ptrlock.c and task.c.
15240 * Makefile.in: Regenerated.
15241 * testsuite/Makefile.in: Regenerated.
15242 * task.c: New file.
15243 * loop_ull.c: New file.
15244 * iter_ull.c: New file.
15245 * libgomp.h: Include ptrlock.h.
15246 (enum gomp_task_kind): New type.
15247 (struct gomp_team): Add task_lock, task_queue, task_count,
15248 task_running_count, single_count fields. Add
15249 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15250 Remove work_share_lock, generation_mask,
15251 oldest_live_gen, num_live_gen and init_work_shares fields, add
15252 work work_share_list_alloc, work_share_list_free and work_share_chunk
15253 fields. Change work_shares from pointer to pointers into an array.
15254 Change ordered_release field into gomp_sem_t ** from flexible array
15255 member. Add implicit_task and initial_work_shares fields.
15256 Move close to the end of the struct.
15257 (struct gomp_team_state): Add single_count, last_work_share,
15258 active_level and level fields, remove work_share_generation.
15259 (gomp_barrier_handle_tasks): New prototype.
15260 (gomp_finish_task): New inline function.
15261 (struct gomp_work_share): Move chunk_size, end, incr into
15262 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15263 next_ll fields. Reshuffle fields. Add next_alloc,
15264 next_ws, next_free and inline_ordered_team_ids fields, change
15265 ordered_team_ids into pointer from flexible array member.
15266 Add mode field. Put lock and next into a different cache line
15267 from most of the write-once fields.
15268 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15269 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15270 gomp_iter_ull_guided_next): New prototypes.
15271 (gomp_new_icv): New prototype.
15272 (struct gomp_thread): Add thread_pool and task fields.
15273 (struct gomp_thread_pool): New type.
15274 (gomp_new_team): New prototype.
15275 (gomp_team_start): Change type of last argument.
15276 (gomp_new_work_share): Removed.
15277 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15278 (gomp_work_share_init_done): New static inline.
15279 (gomp_throttled_spin_count_var, gomp_available_cpus,
15280 gomp_managed_threads): New extern decls.
15281 (gomp_init_task): New prototype.
15282 (gomp_spin_count_var): New extern var decl.
15283 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15284 or no alias support, or if not PIC.
15285 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15286 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15287 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15288 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15289 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15290 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15291 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15292 gomp_test_nest_lock_25): New prototypes.
15293 (omp_lock_symver, strong_alias): Define.
15294 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15295 decls.
15296 (gomp_end_task): New.
15297 (struct gomp_task_icv, gomp_global_icv): New.
15298 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15299 (struct gomp_task): New.
15300 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15301 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15302 (gomp_icv): New.
15303 (gomp_schedule_type): Reorder enum to match
15304 omp_sched_t.
15305 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15306 fields.
15307 (gomp_thread_start): Add gomp_team_barrier_wait call.
15308 For non-nested case remove clearing of docked thread thr fields.
15309 Use pool fields instead of global gomp_* variables. Use
15310 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15311 Create tasks for each member thread.
15312 (free_team): Only destroy team barrier, task_lock here and free it.
15313 (gomp_free_thread): Free last_team if non-NULL.
15314 (gomp_team_end): Call gomp_team_barrier_wait instead of
15315 gomp_barrier_wait. For nested case call one extra
15316 gomp_barrier_wait. Move here some destruction from free_team.
15317 Call free_team on pool->last_team if any, rather than freeing
15318 current team. Destroy work_share_list_free_lock ifndef
15319 HAVE_SYNC_BUILTINS.
15320 (gomp_new_icv): New function.
15321 (gomp_threads, gomp_threads_size, gomp_threads_used,
15322 gomp_threads_dock): Removed.
15323 (gomp_thread_destructor): New variable.
15324 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15325 functions.
15326 (gomp_team_start): Create new pool if current thread doesn't have
15327 one. Use pool fields instead of global gomp_* variables.
15328 Initialize thread_pool field for new threads. Clear single_count.
15329 Change last argument from ws to team, don't create
15330 new team, set ts.work_share to &team->work_shares[0] and clear
15331 ts.last_work_share. Don't clear ts.work_share_generation.
15332 If number of threads changed, adjust atomically gomp_managed_threads.
15333 Use gomp_init_task instead of gomp_new_task,
15334 set thr->task to the corresponding implicit_task array entry.
15335 Create tasks for each member thread. Initialize ts.level.
15336 (initialize_team): Call pthread_key_create on
15337 gomp_thread_destructor.
15338 (team_destructor): New function.
15339 (new_team): Removed.
15340 (gomp_new_team): New function.
15341 (free_team): Free gomp_work_share blocks chained through next_alloc,
15342 instead of freeing work_shares and destroying work_share_lock.
15343 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15344 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15345 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15346 of gomp_barrier_wait.
15347 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15348 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15349 if gomp_work_share_start returned true. Don't unlock ws->lock.
15350 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15351 of gomp_barrier_wait.
15352 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15353 gomp_work_share_init_done if gomp_work_share_start returned true.
15354 Don't unlock ws->lock.
15355 * work.c: Include stddef.h.
15356 (free_work_share): Use work_share_list_free_lock instead
15357 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15358 Call gomp_fini_work_share and then either free ws if orphaned, or
15359 put it into work_share_list_free list of the current team.
15360 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15361 functions.
15362 (gomp_work_share_start, gomp_work_share_end,
15363 gomp_work_share_end_nowait): Rewritten.
15364 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15365 (openmp_version): Set to 200805.
15366 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15367 omp_sched_guided, omp_sched_auto): New parameters.
15368 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15369 omp_set_max_active_levels, omp_get_max_active_levels,
15370 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15371 omp_get_active_level): New interfaces.
15372 * omp_lib.h.in (openmp_version): Set to 200805.
15373 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15374 omp_sched_guided, omp_sched_auto): New parameters.
15375 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15376 omp_set_max_active_levels, omp_get_max_active_levels,
15377 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15378 omp_get_active_level): New externals.
15379 * loop.c: Include limits.h.
15380 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15381 GFS_AUTO.
15382 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15383 Likewise. Use gomp_icv.
15384 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15385 ts.static_trip here.
15386 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15387 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15388 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15389 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15390 don't unlock ws->lock, otherwise lock it.
15391 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15392 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15393 (gomp_parallel_loop_start): Call gomp_new_team instead of
15394 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15395 Adjust gomp_team_start caller. Pass 0 as second argument to
15396 gomp_resolve_num_threads.
15397 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15398 If adding ws->chunk_size nthreads + 1 times after end won't
15399 overflow, set ws->mode to 1.
15400 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15401 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15402 GOMP_loop_ull_ordered_static_start,
15403 GOMP_loop_ull_ordered_dynamic_start,
15404 GOMP_loop_ull_ordered_guided_start,
15405 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15406 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15407 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15408 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15409 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15410 prototypes.
15411 * libgomp.map: Export lock routines also @@OMP_2.0.
15412 (GOMP_loop_ordered_dynamic_first,
15413 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15414 GOMP_loop_ordered_static_first): Remove.
15415 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15416 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15417 GOMP_loop_ull_ordered_dynamic_next,
15418 GOMP_loop_ull_ordered_dynamic_start,
15419 GOMP_loop_ull_ordered_guided_next,
15420 GOMP_loop_ull_ordered_guided_start,
15421 GOMP_loop_ull_ordered_runtime_next,
15422 GOMP_loop_ull_ordered_runtime_start,
15423 GOMP_loop_ull_ordered_static_next,
15424 GOMP_loop_ull_ordered_static_start,
15425 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15426 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15427 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15428 (omp_set_schedule, omp_get_schedule,
15429 omp_get_thread_limit, omp_set_max_active_levels,
15430 omp_get_max_active_levels, omp_get_level,
15431 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15432 omp_set_schedule_, omp_set_schedule_8_,
15433 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15434 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15435 omp_get_max_active_levels_, omp_get_level_,
15436 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15437 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15438 New exports @@OMP_3.0.
15439 * omp.h.in (omp_sched_t): New type.
15440 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15441 omp_set_max_active_levels, omp_get_max_active_levels,
15442 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15443 omp_get_active_level): New prototypes.
15444 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15445 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15446 gomp_thread_limit_var, gomp_remaining_threads_count,
15447 gomp_remaining_threads_lock): New variables.
15448 (parse_spincount): New function.
15449 (initialize_env): Call gomp_init_num_threads unconditionally.
15450 Initialize gomp_available_cpus. Call parse_spincount,
15451 initialize gomp_{,throttled_}spin_count_var
15452 depending on presence and value of OMP_WAIT_POLICY and
15453 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15454 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15455 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15456 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15457 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15458 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15459 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15460 (gomp_global_icv): New.
15461 (parse_schedule): Use it. Parse "auto".
15462 (omp_set_num_threads): Use gomp_icv.
15463 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15464 Likewise.
15465 (omp_get_max_threads): Move from parallel.c.
15466 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15467 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15468 add ialias.
15469 (parse_stacksize, parse_wait_policy): New functions.
15470 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15471 both wrappers for compatibility and new locks.
15472 (omp_set_schedule, omp_get_schedule,
15473 omp_get_thread_limit, omp_set_max_active_levels,
15474 omp_get_max_active_levels, omp_get_level,
15475 omp_get_ancestor_thread_num, omp_get_team_size,
15476 omp_get_active_level): New ialias_redirect.
15477 (omp_set_schedule_, omp_set_schedule_8_,
15478 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15479 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15480 omp_get_max_active_levels_, omp_get_level_,
15481 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15482 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15483 New functions.
15484 * parallel.c: Include limits.h.
15485 (gomp_resolve_num_threads): Add count argument. Rewritten.
15486 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15487 argument to gomp_team_start. Pass 0 as second argument to
15488 gomp_resolve_num_threads.
15489 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15490 if gomp_thread_limit_var != ULONG_MAX.
15491 (omp_in_parallel): Implement using ts.active_level.
15492 (omp_get_max_threads): Move to env.c.
15493 (omp_get_level, omp_get_ancestor_thread_num,
15494 omp_get_team_size, omp_get_active_level): New functions,
15495 add ialias.
15496 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15497 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15498 gomp_iter_dynamic_next instead of the _locked variant and don't take
15499 lock around it, otherwise acquire it before calling
15500 gomp_iter_dynamic_next_locked.
15501 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15502 gomp_iter_dynamic_next instead of the _locked variant and don't take
15503 lock around it.
15504 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15505 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15506 Adjust gomp_team_start caller. Pass count as second argument to
15507 gomp_resolve_num_threads, don't adjust num_threads after the call.
15508 Use gomp_icv.
15509 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15510 ws->chunk_size by incr.
15511 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15512 code.
15513 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15514 types.
15515 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15516 (omp_check_defines): Check even the compat defines.
15517 * config/linux/ptrlock.c: New file.
15518 * config/linux/ptrlock.h: New file.
15519 * config/linux/wait.h: New file.
15520 * config/posix/ptrlock.c: New file.
15521 * config/posix/ptrlock.h: New file.
15522 * config/linux/bar.h (gomp_team_barrier_wait,
15523 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15524 (gomp_team_barrier_set_task_pending,
15525 gomp_team_barrier_clear_task_pending,
15526 gomp_team_barrier_set_waiting_for_tasks,
15527 gomp_team_barrier_waiting_for_tasks,
15528 gomp_team_barrier_done): New inlines.
15529 (gomp_barrier_t): Rewritten.
15530 (gomp_barrier_state_t): New typedef.
15531 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15532 gomp_barrier_wait_start): Rewritten.
15533 (gomp_barrier_wait_end): Change second argument to
15534 gomp_barrier_state_t.
15535 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15536 inlines.
15537 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15538 futex.h.
15539 (gomp_barrier_wait_end): Rewritten.
15540 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15541 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15542 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15543 (gomp_barrier_state_t): New typedef.
15544 (gomp_team_barrier_wait,
15545 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15546 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15547 into the return value. Return gomp_barrier_state_t.
15548 (gomp_team_barrier_set_task_pending,
15549 gomp_team_barrier_clear_task_pending,
15550 gomp_team_barrier_set_waiting_for_tasks,
15551 gomp_team_barrier_waiting_for_tasks,
15552 gomp_team_barrier_done): New inlines.
15553 (gomp_barrier_wait_end): Change second argument to
15554 gomp_barrier_state_t.
15555 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15556 inlines.
15557 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15558 (gomp_barrier_wait_end): Change second argument to
15559 gomp_barrier_state_t.
15560 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15561 gomp_team_barrier_wake): New functions.
15562 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15563 futex.h.
15564 (gomp_futex_wake, gomp_futex_wait): New variables.
15565 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15566 * config/linux/lock.c: Rewrite to make locks task owned,
15567 for backwards compatibility provide the old entrypoints
15568 if symbol versioning. Include wait.h instead of libgomp.h and
15569 futex.h.
15570 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15571 * config/posix95/lock.c: Rewrite to make locks task owned,
15572 for backwards compatibility provide the old entrypoints
15573 if symbol versioning.
15574 * config/posix/lock.c: Rewrite to make locks task owned,
15575 for backwards compatibility provide the old entrypoints
15576 if symbol versioning.
15577 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15578 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15579 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15580 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15581 (sys_futex0): Return error code.
15582 (futex_wake, futex_wait): If ENOSYS was returned, clear
15583 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15584 (cpu_relax, atomic_write_barrier): New static inlines.
15585 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15586 (futex_wake, futex_wait): If ENOSYS was returned, clear
15587 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15588 (cpu_relax, atomic_write_barrier): New static inlines.
15589 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15590 (sys_futex0): Return error code.
15591 (futex_wake, futex_wait): If ENOSYS was returned, clear
15592 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15593 (cpu_relax, atomic_write_barrier): New static inlines.
15594 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15595 (sys_futex0): Return error code.
15596 (futex_wake, futex_wait): If ENOSYS was returned, clear
15597 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15598 (cpu_relax, atomic_write_barrier): New static inlines.
15599 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15600 (sys_futex0): Return error code.
15601 (futex_wake, futex_wait): If ENOSYS was returned, clear
15602 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15603 (cpu_relax, atomic_write_barrier): New static inlines.
15604 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15605 (sys_futex0): Return error code.
15606 (futex_wake, futex_wait): If ENOSYS was returned, clear
15607 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15608 (cpu_relax, atomic_write_barrier): New static inlines.
15609 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15610 futex.h.
15611 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15612 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15613 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15614 types.
15615 (omp_nest_lock_t): Change owner into void *, add lock field.
15616 * config/posix95/omp-lock.h: Include semaphore.h.
15617 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15618 (omp_lock_t): Use sem_t instead of mutex if semaphores
15619 aren't broken.
15620 (omp_nest_lock_t): Likewise. Change owner to void *.
15621 * config/posix/omp-lock.h: Include semaphore.h.
15622 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15623 (omp_lock_t): Use sem_t instead of mutex if semaphores
15624 aren't broken.
15625 (omp_nest_lock_t): Likewise. Add owner field.
15626
15627 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15628
15629 * testsuite/libgomp.c/collapse-1.c: New test.
15630 * testsuite/libgomp.c/collapse-2.c: New test.
15631 * testsuite/libgomp.c/collapse-3.c: New test.
15632 * testsuite/libgomp.c/icv-1.c: New test.
15633 * testsuite/libgomp.c/icv-2.c: New test.
15634 * testsuite/libgomp.c/lib-2.c: New test.
15635 * testsuite/libgomp.c/lock-1.c: New test.
15636 * testsuite/libgomp.c/lock-2.c: New test.
15637 * testsuite/libgomp.c/lock-3.c: New test.
15638 * testsuite/libgomp.c/loop-4.c: New test.
15639 * testsuite/libgomp.c/loop-5.c: New test.
15640 * testsuite/libgomp.c/loop-6.c: New test.
15641 * testsuite/libgomp.c/loop-7.c: New test.
15642 * testsuite/libgomp.c/loop-8.c: New test.
15643 * testsuite/libgomp.c/loop-9.c: New test.
15644 * testsuite/libgomp.c/nested-3.c: New test.
15645 * testsuite/libgomp.c/nestedfn-6.c: New test.
15646 * testsuite/libgomp.c/sort-1.c: New test.
15647 * testsuite/libgomp.c/task-1.c: New test.
15648 * testsuite/libgomp.c/task-2.c: New test.
15649 * testsuite/libgomp.c/task-3.c: New test.
15650 * testsuite/libgomp.c/task-4.c: New test.
15651 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15652 to C++ testsuite default compiler options.
15653 * testsuite/libgomp.c++/collapse-1.C: New test.
15654 * testsuite/libgomp.c++/collapse-2.C: New test.
15655 * testsuite/libgomp.c++/ctor-10.C: New test.
15656 * testsuite/libgomp.c++/for-1.C: New test.
15657 * testsuite/libgomp.c++/for-2.C: New test.
15658 * testsuite/libgomp.c++/for-3.C: New test.
15659 * testsuite/libgomp.c++/for-4.C: New test.
15660 * testsuite/libgomp.c++/for-5.C: New test.
15661 * testsuite/libgomp.c++/loop-8.C: New test.
15662 * testsuite/libgomp.c++/loop-9.C: New test.
15663 * testsuite/libgomp.c++/loop-10.C: New test.
15664 * testsuite/libgomp.c++/task-1.C: New test.
15665 * testsuite/libgomp.c++/task-2.C: New test.
15666 * testsuite/libgomp.c++/task-3.C: New test.
15667 * testsuite/libgomp.c++/task-4.C: New test.
15668 * testsuite/libgomp.c++/task-5.C: New test.
15669 * testsuite/libgomp.c++/task-6.C: New test.
15670 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15671 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15672 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15673 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15674 * testsuite/libgomp.fortran/collapse1.f90: New test.
15675 * testsuite/libgomp.fortran/collapse2.f90: New test.
15676 * testsuite/libgomp.fortran/collapse3.f90: New test.
15677 * testsuite/libgomp.fortran/collapse4.f90: New test.
15678 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15679 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15680 * testsuite/libgomp.fortran/lib4.f90: New test.
15681 * testsuite/libgomp.fortran/lock-1.f90: New test.
15682 * testsuite/libgomp.fortran/lock-2.f90: New test.
15683 * testsuite/libgomp.fortran/nested1.f90: New test.
15684 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15685 * testsuite/libgomp.fortran/strassen.f90: New test.
15686 * testsuite/libgomp.fortran/tabs1.f90: New test.
15687 * testsuite/libgomp.fortran/tabs2.f: New test.
15688 * testsuite/libgomp.fortran/task1.f90: New test.
15689 * testsuite/libgomp.fortran/task2.f90: New test.
15690 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15691 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15692 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15693 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15694 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15695
15696 2008-05-23 Jakub Jelinek <jakub@redhat.com>
15697
15698 PR c++/36308
15699 * testsuite/libgomp.c++/ctor-11.C: New test.
15700 * testsuite/libgomp.c++/ctor-12.C: New test.
15701
15702 2008-05-15 Janis Johnson <janis187@us.ibm.com>
15703
15704 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15705
15706 2008-05-07 Jakub Jelinek <jakub@redhat.com>
15707
15708 PR middle-end/36106
15709 * testsuite/libgomp.c/atomic-5.c: New test.
15710 * testsuite/libgomp.c/atomic-6.c: New test.
15711 * testsuite/libgomp.c/autopar-1.c: New test.
15712
15713 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15714
15715 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15716 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15717 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15718 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15719 * configure: Regenerate.
15720 * Makefile.in, testsuite/Makefile.in: Likewise.
15721
15722 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
15723
15724 PR bootstrap/35457
15725 * aclocal.m4: Regenerate.
15726 * configure: Regenerate.
15727
15728 2008-03-18 Jakub Jelinek <jakub@redhat.com>
15729
15730 PR middle-end/35611
15731 * testsuite/libgomp.c/atomic-4.c: New test.
15732
15733 PR libgomp/35625
15734 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15735 (gomp_iter_guided_next): Likewise.
15736 * testsuite/libgomp.c/pr35625.c: New test.
15737
15738 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15739
15740 * aclocal.m4: Regenerate.
15741 * configure: Likewise.
15742 * Makefile.in: Likewise.
15743 * testsuite/Makefile.in: Likewise.
15744
15745 2008-03-13 Jakub Jelinek <jakub@redhat.com>
15746
15747 PR middle-end/35185
15748 * testsuite/libgomp.c++/pr35185.C: New test.
15749
15750 2008-03-12 Jakub Jelinek <jakub@redhat.com>
15751
15752 PR middle-end/35549
15753 * testsuite/libgomp.c/pr35549.c: New test.
15754
15755 2008-03-06 Jakub Jelinek <jakub@redhat.com>
15756
15757 * testsuite/libgomp.c/atomic-3.c: New test.
15758
15759 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15760
15761 PR fortran/33197
15762 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15763 .F08 file suffixes.
15764
15765 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
15766
15767 PR libgomp/33131
15768 * configure.ac: Add ACX_HEADER_STRING.
15769 * env.c: Include strings.h.
15770 * aclocal.m4: Regenerate.
15771 * config.h.in: Regenerate.
15772 * configure: Regenerate.
15773 * Makefile.in: Regenerate.
15774 * testsuite/Makefile.in: Regenerate.
15775
15776 2008-02-15 Jakub Jelinek <jakub@redhat.com>
15777
15778 PR middle-end/35196
15779 * testsuite/libgomp.c/pr35196.c: New test.
15780
15781 PR middle-end/35130
15782 * testsuite/libgomp.fortran/pr35130.f90: New test.
15783 * testsuite/libgomp.c/pr35130.c: New test.
15784
15785 2008-01-25 Jakub Jelinek <jakub@redhat.com>
15786
15787 PR middle-end/33880
15788 * testsuite/libgomp.c/pr33880.c: New test.
15789 * testsuite/libgomp.fortran/pr33880.f90: New test.
15790
15791 2008-01-24 David Edelsohn <edelsohn@gnu.org>
15792
15793 * configure: Regenerate.
15794
15795 2008-01-08 Jakub Jelinek <jakub@redhat.com>
15796
15797 * configure.ac: Move futex checking into ../config/futex.m4.
15798 * configure: Rebuilt.
15799 * aclocal.m4: Rebuilt.
15800 * Makefile.in: Rebuilt.
15801
15802 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15803 2007-10-15 ../config/tls.m4 change.
15804
15805 2007-12-19 Jakub Jelinek <jakub@redhat.com>
15806
15807 PR c++/34513
15808 * testsuite/libgomp.c/pr34513.c: New test.
15809 * testsuite/libgomp.c++/pr34513.C: New test.
15810
15811 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
15812
15813 PR target/32765
15814 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15815
15816 2007-12-04 Jakub Jelinek <jakub@redhat.com>
15817
15818 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15819
15820 2007-12-03 Jakub Jelinek <jakub@redhat.com>
15821
15822 * testsuite/libgomp.c/private-1.c: New test.
15823
15824 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
15825 Paolo Bonzini <bonzini@gnu.org>
15826
15827 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15828 instead of 'VPATH ='.
15829 * Makefile.in: Regenerate.
15830
15831 2007-11-23 Matthias Klose <doko@ubuntu.com>
15832
15833 * configure.ac: Adjust makeinfo version check.
15834 * configure: Regenerate.
15835
15836 2007-11-10 Jakub Jelinek <jakub@redhat.com>
15837
15838 PR fortran/34020
15839 * testsuite/libgomp.fortran/pr34020.f90: New test.
15840
15841 2007-11-06 Jakub Jelinek <jakub@redhat.com>
15842
15843 PR c++/33894
15844 * testsuite/libgomp.c++/atomic-1.C: New test.
15845
15846 2007-10-25 Jakub Jelinek <jakub@redhat.com>
15847
15848 PR libgomp/33275
15849 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15850 Make x and y integers rather than (implicit) reals. Add private (j)
15851 clause to the last omp parallel.
15852
15853 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
15854
15855 * configure: Regenerate following changes to ../config/tls.m4.
15856
15857 2007-09-28 Jakub Jelinek <jakub@redhat.com>
15858
15859 * testsuite/libgomp.fortran/stack.f90: New test.
15860
15861 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
15862
15863 * config/mingw32/proc.c: New file.
15864
15865 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
15866
15867 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15868 (main): Use __get_cpuid to get i386 target fetaures.
15869 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15870 (main): Use __get_cpuid to get x86_64 target fetaures.
15871
15872 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
15873
15874 PR target/32765
15875 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15876 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15877
15878 2007-07-12 Jakub Jelinek <jakub@redhat.com>
15879
15880 PR fortran/32550
15881 * testsuite/libgomp.fortran/pr32550.f90: New test.
15882 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15883
15884 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
15885
15886 * aclocal.m4: Regenerated.
15887
15888 2007-07-05 Tobias Burnus <burnus@net-b.de>
15889
15890 PR fortran/32359
15891 * testsuite/libgomp.fortran/pr32359.f90: New.
15892
15893 2007-07-02 Jakub Jelinek <jakub@redhat.com>
15894
15895 PR libgomp/32468
15896 * sections.c (GOMP_parallel_sections_start): Only decrease
15897 number of threads to COUNT if dyn_var is true.
15898 * testsuite/libgomp.c/pr32468.c: New test.
15899
15900 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15901
15902 PR libgomp/26308
15903 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15904
15905 2007-06-21 Jakub Jelinek <jakub@redhat.com>
15906
15907 PR middle-end/32362
15908 * testsuite/libgomp.c/pr32362-1.c: New test.
15909 * testsuite/libgomp.c/pr32362-2.c: New test.
15910 * testsuite/libgomp.c/pr32362-3.c: New test.
15911
15912 2007-06-07 Jakub Jelinek <jakub@redhat.com>
15913
15914 * team.c (gomp_team_start): Fix setting up thread_attr
15915 stack size.
15916
15917 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
15918
15919 * configure: Regenerate.
15920
15921 2007-05-23 Steve Ellcey <sje@cup.hp.com>
15922
15923 * Makefile.in: Regenerate.
15924 * configure: Regenerate.
15925 * aclocal.m4: Regenerate.
15926 * testsuite/Makefile.in: Regenerate.
15927
15928 2007-05-04 Jakub Jelinek <jakub@redhat.com>
15929
15930 * config/linux/proc.c: New file.
15931
15932 PR libgomp/28482
15933 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15934
15935 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
15936
15937 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15938
15939 2007-04-16 Matthias Klose <doko@debian.org>
15940
15941 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15942 flags if not building with -m64.
15943 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15944 flag for i?86-*-* targets, if current target matches -m64.
15945
15946 2007-04-14 Steve Ellcey <sje@cup.hp.com>
15947
15948 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15949 * Makefile.in: Regenerate.
15950
15951 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15952
15953 PR testsuite/31369
15954 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15955 ld_library_path.
15956 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15957
15958 2007-04-04 Jakub Jelinek <jakub@redhat.com>
15959
15960 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15961 decls.
15962 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15963 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15964 (parse_affinity): New function.
15965 (initialize_env): Call it and gomp_init_affinity.
15966 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15967 create new pthread_attr_t and call gomp_init_thread_affinity
15968 on it for each thread before passing the attribute to pthread_create.
15969 * config/linux/affinity.c: New file.
15970 * config/posix/affinity.c: New file.
15971 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15972 * configure: Rebuilt.
15973 * config.h.in: Rebuilt.
15974 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15975 * Makefile.in: Rebuilt.
15976
15977 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
15978
15979 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15980 *-*-darwin*.
15981 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15982 and use it if found.
15983
15984 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
15985
15986 * testsuite/config/default.exp: New file.
15987 * testsuite/lib/libgomp.exp: New file.
15988 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15989 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15990 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15991 (libgomp_load): Remove.
15992 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15993 always_ld_library_path, not ld_library_path. Set additional_flags
15994 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15995 (target_compile): Do not call libgomp_init. Append lang_library_path
15996 and lang_link_flags to options.
15997 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15998 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15999 here.
16000 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16001 always_ld_library_path. Set LD_LIBRARY_PATH here.
16002 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16003 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16004 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16005 CX8 flag.
16006 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16007 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16008 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16009 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16010 * testsuite/libgomp.c/atomic-10.c: Ditto.
16011
16012 2007-03-21 Jakub Jelinek <jakub@redhat.com>
16013
16014 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16015 dg-final cleanup-modules line.
16016 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16017 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16018 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16019 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16020 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16021 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16022 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16023
16024 2007-03-18 Andreas Schwab <schwab@suse.de>
16025
16026 * acinclude.m4: Adjust regular expression for ld version
16027 extraction.
16028 * configure: Regenerate.
16029
16030 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16031
16032 * Makefile.am: Add install-pdf target as copied from
16033 automake v1.10 rules.
16034 * Makefile.in: Regenerate
16035
16036 2007-02-07 Jakub Jelinek <jakub@redhat.com>
16037
16038 PR libgomp/28486
16039 * configure: Regenerate.
16040
16041 PR c++/30703
16042 * testsuite/libgomp.c++/pr30703.C: New test.
16043
16044 2007-02-02 Jakub Jelinek <jakub@redhat.com>
16045
16046 Revert:
16047 2006-07-05 Eric Christopher <echristo@apple.com>
16048 * configure.ac: Depend addition of -pthread on host OS.
16049 * configure: Regenerate.
16050
16051 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16052
16053 * libgomp.texi: Fix spacing after abbreviations.
16054
16055 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
16056
16057 PR libgomp/30546
16058 * configure.ac: Add check for makeinfo
16059 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16060 if an appropriate version of makeinfo is found.
16061 * aclocal.m4: Regenerated.
16062 * configure: Regenerated.
16063 * Makefile.in: Regenerated.
16064 * testsuite/Makefile.in: Regenerated.
16065
16066 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
16067
16068 PR libgomp/30540
16069 * libgomp.texi: More about implementation-dependent settings.
16070
16071 2007-01-26 Tobias Burnus <burnus@net-b.de>
16072
16073 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16074
16075 2007-01-24 Jakub Jelinek <jakub@redhat.com>
16076
16077 PR middle-end/30494
16078 * testsuite/libgomp.c/pr30494.c: New test.
16079
16080 2007-01-15 Tom Tromey <tromey@redhat.com>
16081
16082 * configure: Rebuilt.
16083 * configure.ac: Fixed comment.
16084
16085 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
16086
16087 * libgomp.texi: Document implementation specific default values of
16088 environment variables.
16089
16090 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
16091
16092 PR libgomp/28209
16093 * libgomp.texi: New file.
16094 * configure.ac: Add --enable-generated-files-in-srcdir option.
16095 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16096 files to srcdir.
16097 * Makefile.in: Regenerated.
16098 * config.h.in: Regenerated.
16099 * testsuite/Makefile.in: Regenerated.
16100 * NOTES: Removed.
16101
16102 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
16103
16104 PR libgomp/29949
16105 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16106
16107 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16108
16109 * configure: Regenerate.
16110
16111 2006-12-04 Jakub Jelinek <jakub@redhat.com>
16112
16113 PR libgomp/29947
16114 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16115 start if there shouldn't be any loop iterations.
16116 (gomp_loop_ordered_static_start): Remove start == end test.
16117 * testsuite/libgomp.c/pr29947-1.c: New test.
16118 * testsuite/libgomp.c/pr29947-2.c: New test.
16119
16120 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16121
16122 * configure.tgt: Force initial-exec TLS model on Linux only.
16123
16124 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16125
16126 * configure: Regenerated.
16127
16128 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
16129
16130 * env.c (parse_schedule): Reject out of range values.
16131 (parse_unsigned_long): Reject out of range, negative or zero values.
16132
16133 2006-10-29 Jakub Jelinek <jakub@redhat.com>
16134
16135 PR fortran/29629
16136 * testsuite/libgomp.fortran/pr29629.f90: New test.
16137
16138 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16139
16140 PR libgomp/29494
16141 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16142 * config/posix95: New directory.
16143 * config/posix95/omp-lock.h: New file.
16144 * config/posix95/lock.c: Likewise.
16145
16146 2006-10-14 Geoffrey Keating <geoffk@apple.com>
16147
16148 * aclocal.m4: Regenerate.
16149 * configure: Regenerate.
16150
16151 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16152
16153 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16154 '<' to '<='.
16155
16156 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16157
16158 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16159 test.
16160 * configure: Regenerate.
16161 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16162
16163 2006-09-26 Jakub Jelinek <jakub@redhat.com>
16164
16165 PR middle-end/25261
16166 PR middle-end/28790
16167 * testsuite/libgomp.c/nestedfn-4.c: New test.
16168 * testsuite/libgomp.c/nestedfn-5.c: New test.
16169 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16170
16171 PR fortran/29097
16172 * testsuite/libgomp.fortran/condinc1.f: New test.
16173 * testsuite/libgomp.fortran/condinc2.f: New test.
16174 * testsuite/libgomp.fortran/condinc3.f90: New test.
16175 * testsuite/libgomp.fortran/condinc4.f90: New test.
16176 * testsuite/libgomp.fortran/condinc1.inc: New file.
16177
16178 2006-09-18 Tom Tromey <tromey@redhat.com>
16179
16180 * configure: Rebuilt.
16181
16182 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16183
16184 PR c/28768
16185 PR preprocessor/14634
16186 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16187 to AC_DEFINE.
16188 * configure: Regenerate.
16189
16190 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16191
16192 * testsuite/libgomp.fortran/reduction3.f90: Change
16193 -2147483648 to -huge(i)-1 to avoid overflow.
16194 * testsuite/libgomp.fortran/reduction4.f90: Change
16195 Z'ffffffff' to not(0) to avoid overflow.
16196
16197 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16198
16199 PR libgomp/25938
16200 * Makefile.am (libsubincludedir): New.
16201 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16202 * Makefile.in: Regenerate.
16203
16204 2006-08-17 Jakub Jelinek <jakub@redhat.com>
16205
16206 PR libgomp/28725
16207 * env.c: Include ctype.h.
16208 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16209 leading and/or trailing whitespace and compare strings case
16210 insensitively.
16211
16212 2006-07-16 Jakub Jelinek <jakub@redhat.com>
16213
16214 PR fortran/28390
16215 * testsuite/libgomp.fortran/pr28390.f: New test.
16216
16217 2006-07-05 Eric Christopher <echristo@apple.com>
16218
16219 * configure.ac: Depend addition of -pthread on host OS.
16220 * configure: Regenerate.
16221
16222 2006-06-21 Jakub Jelinek <jakub@redhat.com>
16223
16224 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16225 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16226 defined.
16227
16228 2006-06-20 Jakub Jelinek <jakub@redhat.com>
16229
16230 PR libgomp/26175
16231 PR libgomp/26477
16232 * configure.ac: If neither --enable-linux-futex nor
16233 --disable-linux-futex is passed, determine the default by checking
16234 for compiling and/or running against NPTL. With --enable-linux-futex,
16235 check if SYS_gettid and SYS_futex are defined.
16236 * configure: Rebuilt.
16237
16238 2006-06-14 Richard Henderson <rth@redhat.com>
16239
16240 PR libgomp/28008
16241 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16242 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16243
16244 2006-06-09 Richard Henderson <rth@redhat.com>
16245
16246 * env.c (gomp_nthreads_var): Change to unsigned long.
16247 (gomp_run_sched_chunk): Likewise.
16248 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16249 (initialize_env): Initialize gomp_thread_attr.
16250 * libgomp.h (gomp_nthreads_var): Update decl.
16251 (gomp_run_sched_chunk): Likewise.
16252 (gomp_thread_attr): Declare.
16253 * team.c (gomp_thread_attr): Export.
16254 (initialize_team): Don't initialize it.
16255
16256 2006-06-09 Jakub Jelinek <jakub@redhat.com>
16257
16258 PR fortran/27916
16259 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16260 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16261
16262 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16263
16264 * config/mingw32/time.c: New file.
16265 * configure.tgt: Use it.
16266
16267 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16268
16269 * Makefile.am: Add install-html target. Add install-html to .PHONY
16270 * Makefile.in: Regenerate.
16271
16272 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16273
16274 PR libgomp/27612
16275 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16276 * testsuite/libgomp.c/critical-1.c: Likewise.
16277 * testsuite/libgomp.c/loop-1.c: Likewise.
16278 * testsuite/libgomp.c/loop-2.c: Likewise.
16279 * testsuite/libgomp.c/single-1.c: Likewise.
16280 * testsuite/libgomp.c/ordered-1.c: Likewise.
16281 * testsuite/libgomp.c/ordered-2.c: Likewise.
16282
16283 2006-05-15 Jakub Jelinek <jakub@redhat.com>
16284
16285 PR middle-end/27416
16286 * libgomp.fortran/pr27416-1.f90: New test.
16287
16288 2006-05-03 Jakub Jelinek <jakub@redhat.com>
16289
16290 PR fortran/27395
16291 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16292 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16293
16294 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16295
16296 PR c++/26943
16297 * testsuite/libgomp.c/pr26943-1.c: New test.
16298 * testsuite/libgomp.c/pr26943-2.c: New test.
16299 * testsuite/libgomp.c/pr26943-3.c: New test.
16300 * testsuite/libgomp.c/pr26943-4.c: New test.
16301 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16302 * testsuite/libgomp.c++/pr26943.C: New test.
16303
16304 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16305
16306 PR middle-end/27337
16307 * testsuite/libgomp.c++/pr27337.C: New test.
16308
16309 2006-04-26 Jakub Jelinek <jakub@redhat.com>
16310
16311 PR c/26171
16312 * testsuite/libgomp.c/pr26171.c: New test.
16313
16314 2006-04-25 Richard Henderson <rth@redhat.com>
16315
16316 PR libgomp/25865
16317 * configure.ac: Use GCC_CHECK_TLS.
16318 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16319 * Makefile.in, aclocal.m4, configure: Regenerate.
16320
16321 2006-04-10 Matthias Klose <doko@debian.org>
16322
16323 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16324 directory names containing underscores.
16325
16326 2006-03-21 Jakub Jelinek <jakub@redhat.com>
16327
16328 PR c++/26691
16329 * testsuite/libgomp.c++/pr26691.C: New test.
16330
16331 2006-03-13 Jakub Jelinek <jakub@redhat.com>
16332
16333 * testsuite/libgomp.fortran/retval2.f90: New test.
16334
16335 2006-03-09 Diego Novillo <dnovillo@redhat.com>
16336
16337 * testsuite/libgomp.c++: New directory.
16338
16339 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
16340
16341 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16342 * config/posix/sem.c: Implement the above.
16343
16344 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
16345
16346 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16347 define HAVE_BROKEN_POSIX_SEMAPHORES.
16348 * configure: Rebuilt.
16349 * config.h.in: Rebuilt.
16350
16351 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16352
16353 PR bootstrap/26161
16354 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16355 for the other pthread check.
16356 * configure: Regenerate.
16357 * config.h.in: Regenerate.
16358
16359 2006-02-15 Jakub Jelinek <jakub@redhat.com>
16360
16361 PR libgomp/25938
16362 PR libgomp/25984
16363 * Makefile.am (fincludedir): New variable.
16364 (nodist_include_HEADERS): Remove Fortran files.
16365 (nodist_finclude_HEADERS): New variable.
16366 * Makefile.in: Regenerated.
16367
16368 2006-02-13 Jakub Jelinek <jakub@redhat.com>
16369
16370 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16371 Remove tests for returning assumed character length arrays.
16372
16373 2006-02-12 Roger Sayle <roger@eyesopen.com>
16374 John David Anglin <dave@hiauly1.hia.nrc.ca>
16375
16376 PR libgomp/25936
16377 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16378
16379 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
16380
16381 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16382
16383 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
16384
16385 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16386 part of LD_LIBRARY_PATH manually.
16387
16388 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
16389
16390 PR libgomp/25852
16391 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16392 libgomp_init.
16393
16394 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
16395
16396 PR libgomp/25884
16397 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16398 * configure.ac (PERL): Don't set.
16399 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16400 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16401 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16402 * omp.h.in: Wrap the new configure substitutions with @ characters.
16403 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16404 * aclocal.m4, configure, Makefile.in: Regenerate.
16405 * mkomp_h.pl: Delete.
16406
16407 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
16408
16409 PR libgomp/25259
16410 * configure.ac: Use GCC_HEADER_STDINT.
16411 * libgomp.h: Include gstdint.h.
16412 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16413 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16414
16415 2006-01-24 Richard Henderson <rth@redhat.com>
16416
16417 PR libgomp/25942
16418 * configure.ac: Add AM_MAINTAINER_MODE.
16419 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16420
16421 2006-01-24 Diego Novillo <dnovillo@redhat.com>
16422
16423 * Makefile.in: Regenerate.
16424 * testsuite/Makefile.in: Regenerate.
16425 * aclocal.m4: Regenerate.
16426
16427 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
16428
16429 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16430 Solaris.
16431 * configure.ac: Add check for loadavg.h.
16432 (link_gomp): Adjust comment.
16433 * configure: Regenerate.
16434 * config.h.in: Regenerate.
16435
16436 2006-01-21 Steve Ellcey <sje@cup.hp.com>
16437
16438 PR libgomp/25877
16439 * configure.ac: Remove check for alloca.h.
16440 * configure: Regenerate.
16441 * config.h.in: Regenerate.
16442 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16443 * team.c: Remove use of alloca.h.
16444 Call gomp_alloca instead of alloca.
16445
16446 2006-01-20 Steve Ellcey <sje@cup.hp.com>
16447
16448 PR libgomp/25877
16449 * team.c: Add include of alloca.h.
16450 * configure.ac: Add check for alloca.h.
16451 * configure: Regenerate.
16452 * config.h.in: Regenerate.
16453
16454 2006-01-17 Jakub Jelinek <jakub@redhat.com>
16455
16456 PR fortran/25219
16457 * testsuite/libgomp.fortran/pr25219.f90: New test.
16458
16459 2005-12-05 Uros Bizjak <uros@kss-loka.si>
16460
16461 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16462 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16463 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16464 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16465 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16466 testsuite/libgomp.fortran/threadprivate1.f90,
16467 testsuite/libgomp.fortran/threadprivate2.f90,
16468 testsuite/libgomp.fortran/threadprivate3.f90,
16469 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16470 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16471 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16472 effective-target to TLS runtime.
16473
16474 * testsuite/libgomp.fortran/pr25162.f: Require
16475 effective-target TLS runtime.
16476
16477 2005-12-01 Jakub Jelinek <jakub@redhat.com>
16478
16479 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16480 * testsuite/libgomp.c/nestedfn-3.c: New test.
16481
16482 2005-11-30 Jakub Jelinek <jakub@redhat.com>
16483
16484 PR fortran/25162
16485 * testsuite/libgomp.fortran/pr25162.f: New test.
16486
16487 2005-11-28 Jakub Jelinek <jakub@redhat.com>
16488
16489 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16490 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16491
16492 2005-11-25 Jakub Jelinek <jakub@redhat.com>
16493
16494 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16495 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16496 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16497 single.c, team.c, work.c, config/linux/alpha/futex.h,
16498 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16499 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16500 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16501 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16502 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16503 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16504 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16505 FSF address.
16506
16507 2005-11-18 Jakub Jelinek <jakub@redhat.com>
16508
16509 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16510 to nodist_noinst_HEADERS.
16511 * Makefile.in: Rebuilt.
16512
16513 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16514 add integer count field.
16515 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16516 omp_nest_lock_t type change.
16517 (omp_init_nest_lock): Likewise. Initialize count to 0.
16518 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16519 Increment count.
16520 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16521 Decrement count.
16522 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16523 Increment count if successful and return the new nesting level.
16524 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16525 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16526 * testsuite/libgomp.c/lib-1.c: New test.
16527 * testsuite/libgomp.fortran/lib1.f90: New test.
16528 * testsuite/libgomp.fortran/lib2.f: New test.
16529 * testsuite/libgomp.fortran/lib3.f: New test.
16530
16531 2005-11-17 Richard Henderson <rth@redhat.com>
16532
16533 PR 24845
16534 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16535 * configure.ac (link_gomp): New. Substitute it.
16536 (AC_CONFIG_FILES): Add libgomp.spec.
16537 * libgomp.spec.in: New file.
16538 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16539 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16540
16541 2005-11-18 Jakub Jelinek <jakub@redhat.com>
16542
16543 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16544 reduction(-:var) behaving the same as reduction(+:var).
16545 * testsuite/libgomp.c/reduction-4.c: New test.
16546
16547 2005-11-15 Uros Bizjak <uros@kss-loka.si>
16548
16549 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16550 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16551 testsuite/libgomp.c/copyin-3.c,
16552 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16553 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16554 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16555 testsuite/libgomp.c++/pr24455.C,
16556 testsuite/libgomp.fortran/threadprivate1.f90,
16557 testsuite/libgomp.fortran/threadprivate2.f90,
16558 testsuite/libgomp.fortran/threadprivate3.f90,
16559 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16560 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16561 testsuite/libgomp.fortran/omp_parse3.f90: Require
16562 effective-target TLS.
16563
16564 2005-11-14 Diego Novillo <dnovillo@redhat.com>
16565
16566 * HEADER: Remove.
16567
16568 2005-11-13 Jakub Jelinek <jakub@redhat.com>
16569
16570 PR libgomp/24797
16571 * team.c (initialize_team): Pass NULL rather than free as
16572 pthread_key_create destructor. Initialize thread specific data
16573 pointer in initial thread to a static local variable rather than
16574 malloced memory.
16575
16576 2005-11-11 Uros Bizjak <uros@kss-loka.si>
16577
16578 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16579 its location to ld_library_path.
16580
16581 2005-11-10 Diego Novillo <dnovillo@redhat.com>
16582
16583 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16584
16585 2005-11-10 Diego Novillo <dnovillo@redhat.com>
16586
16587 * testsuite/libgomp.c: Rename from libgomp.dg.
16588
16589 2005-11-09 Diego Novillo <dnovillo@redhat.com>
16590
16591 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16592 threadprivate variable 'i'.
16593
16594 2005-11-09 Jakub Jelinek <jakub@redhat.com>
16595
16596 * config/linux/s390/futex.h: New file.
16597 * configure.tgt: Use it.
16598
16599 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16600 before the parallel.
16601
16602 2005-11-08 Jakub Jelinek <jakub@redhat.com>
16603
16604 PR c++/24734
16605 * testsuite/libgomp.c++/master-1.C: New test.
16606
16607 2005-11-07 Jakub Jelinek <jakub@redhat.com>
16608
16609 * testsuite/libgomp.dg/copyin-3.c: New test.
16610
16611 2005-11-07 Jakub Jelinek <jakub@redhat.com>
16612
16613 * testsuite/libgomp.fortran/retval1.f90: New test.
16614 * testsuite/libgomp.fortran/vla7.f90: New test.
16615
16616 2005-11-06 Jakub Jelinek <jakub@redhat.com>
16617
16618 * testsuite/libgomp.fortran/vla2.f90: New test.
16619 * testsuite/libgomp.fortran/vla3.f90: New test.
16620 * testsuite/libgomp.fortran/vla4.f90: New test.
16621 * testsuite/libgomp.fortran/vla5.f90: New test.
16622 * testsuite/libgomp.fortran/vla6.f90: New test.
16623
16624 2005-11-01 Jakub Jelinek <jakub@redhat.com>
16625
16626 * config/linux/sparc/futex.h: New file.
16627 * configure.tgt: Use it.
16628 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16629
16630 * critical.c: Include stdlib.h.
16631 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16632 ignoring return value.
16633 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16634 LIBGOMP_CHECK_SYNC_BUILTINS check.
16635 * configure: Rebuilt.
16636
16637 2005-10-31 Jakub Jelinek <jakub@redhat.com>
16638
16639 * testsuite/libgomp.fortran/vla1.f90: New test.
16640
16641 2005-10-31 Richard Henderson <rth@redhat.com>
16642
16643 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16644 setting 's' in different threads.
16645
16646 2005-10-31 Jakub Jelinek <jakub@redhat.com>
16647
16648 * libgomp.h (attribute_hidden, ialias): Define.
16649 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16650 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16651 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16652 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16653 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16654 omp_test_lock, omp_test_nest_lock): Likewise.
16655 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16656 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16657 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16658 omp_test_lock, omp_test_nest_lock): Likewise.
16659 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16660 omp_get_dynamic, omp_get_nested): Likewise.
16661 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16662 omp_get_thread_num, omp_in_parallel): Likewise.
16663 * fortran.c (ialias_redirect): Define.
16664 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16665 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16666 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16667 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16668 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16669 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16670 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16671 omp_get_wtime): Add ialias_redirect.
16672
16673 2005-10-30 Jakub Jelinek <jakub@redhat.com>
16674
16675 * fortran.c: Include stdlib.h.
16676
16677 2005-10-29 Jakub Jelinek <jakub@redhat.com>
16678
16679 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16680 * Makefile.in: Regenerated.
16681
16682 2005-10-28 Jakub Jelinek <jakub@redhat.com>
16683
16684 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16685 * libgomp_f.h.in (omp_check_defines): New function.
16686 * env.c: Include libgomp_f.h.
16687 (initialize_env): Call omp_check_defines.
16688
16689 * testsuite/libgomp.dg/copyin-2.c: New test.
16690 * testsuite/libgomp.c++/copyin-2.C: New test.
16691 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16692
16693 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16694 * testsuite/libgomp.fortran/sharing2.f90: New test.
16695
16696 * testsuite/libgomp.dg/copyin-1.c: New test.
16697 * testsuite/libgomp.c++/copyin-1.C: New test.
16698
16699 2005-10-26 Jakub Jelinek <jakub@redhat.com>
16700
16701 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16702
16703 * testsuite/libgomp.fortran/workshare1.f90: New test.
16704
16705 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16706 only test.
16707 * libgomp.fortran/sharing1.f90: New test.
16708
16709 2005-10-24 Jakub Jelinek <jakub@redhat.com>
16710
16711 PR c++/24502
16712 * testsuite/libgomp.c++/loop-7.C: New test.
16713
16714 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16715
16716 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16717 * testsuite/libgomp.fortran/reduction6.f90: New test.
16718 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16719
16720 2005-10-23 Richard Henderson <rth@redhat.com>
16721
16722 * testsuite/libgomp.c++/ctor-1.C: New.
16723 * testsuite/libgomp.c++/ctor-2.C: New.
16724 * testsuite/libgomp.c++/ctor-3.C: New.
16725 * testsuite/libgomp.c++/ctor-4.C: New.
16726 * testsuite/libgomp.c++/ctor-5.C: New.
16727 * testsuite/libgomp.c++/ctor-6.C: New.
16728 * testsuite/libgomp.c++/ctor-7.C: New.
16729 * testsuite/libgomp.c++/ctor-8.C: New.
16730 * testsuite/libgomp.c++/ctor-9.C: New.
16731
16732 2005-10-21 Diego Novillo <dnovillo@redhat.com>
16733
16734 PR 24455
16735 * testsuite/libgomp.c++/pr24455-1.C: New test.
16736 * testsuite/libgomp.c++/pr24455.C: New test.
16737 * testsuite/libgomp.dg/pr24455-1.c: New test.
16738 * testsuite/libgomp.dg/pr24455.c: New test.
16739
16740 2005-10-20 Richard Henderson <rth@redhat.com>
16741
16742 * testsuite/libgomp.c++/loop-6.C: New.
16743 * testsuite/libgomp.dg/loop-3.c: New.
16744
16745 2005-10-20 Jakub Jelinek <jakub@redhat.com>
16746
16747 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16748 explicitly private.
16749 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16750 explicitly shared.
16751
16752 2005-10-19 Diego Novillo <dnovillo@redhat.com>
16753
16754 * testsuite/libgomp.fortran/jacobi.f: New test.
16755
16756 2005-10-19 Richard Henderson <rth@redhat.com>
16757
16758 * configure.tgt (i?86-linux): Default to with_arch instead of
16759 CFLAGS. Add -mtune to match target_cpu.
16760 (x86_64-linux): Tune to i686.
16761
16762 * fortran.c (omp_test_nest_lock_): Fix typo.
16763
16764 2005-10-19 Jakub Jelinek <jakub@redhat.com>
16765
16766 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16767 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16768 * testsuite/libgomp.dg/ordered-3.c: New test.
16769
16770 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16771 Remove volatile keyword.
16772
16773 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16774 in COMMON block to avoid warnings on 64-bit targets.
16775
16776 2005-10-18 Diego Novillo <dnovillo@redhat.com>
16777
16778 * testsuite/libgomp.dg/shared-3.c: New test.
16779
16780 2005-10-18 Jakub Jelinek <jakub@redhat.com>
16781
16782 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16783 * testsuite/libgomp.fortran/reduction5.f90: New test.
16784
16785 2005-10-18 Jakub Jelinek <jakub@redhat.com>
16786
16787 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16788 dg-options.
16789 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16790 flush loop now that __sync_synchronize has proper memory barrier.
16791 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16792 Add -ffixed-form to dg-options.
16793
16794 2005-10-17 Diego Novillo <dnovillo@redhat.com>
16795
16796 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16797 from subdirectories.
16798 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16799 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16800 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16801 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16802 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16803 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16804 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16805 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16806 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16807 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16808 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16809 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16810 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16811 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16812 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16813 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16814 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16815 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16816 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16817 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16818 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16819 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16820 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16821 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16822 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16823
16824 2005-10-17 Jakub Jelinek <jakub@redhat.com>
16825
16826 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16827 lang_library_path exists. Use find instead of glob to gather tests.
16828 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16829
16830 2005-10-17 Diego Novillo <dnovillo@redhat.com>
16831
16832 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16833 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16834 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16835 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16836 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16837 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16838 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16839 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16840 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16841 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16842 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16843 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16844 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16845
16846 2005-10-15 Jakub Jelinek <jakub@redhat.com>
16847
16848 * testsuite/libgomp.dg/vla-1.c: New test.
16849
16850 * testsuite/libgomp.fortran/reference2.f90: New test.
16851
16852 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16853 declaration of omp_get_thread_num.
16854 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16855 use omp_lib.
16856
16857 * testsuite/libgomp.fortran/reduction1.f90: New test.
16858 * testsuite/libgomp.fortran/reduction2.f90: New test.
16859 * testsuite/libgomp.fortran/reduction3.f90: New test.
16860 * testsuite/libgomp.fortran/reduction4.f90: New test.
16861
16862 2005-10-13 Richard Henderson <rth@redhat.com>
16863
16864 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16865 * Makefile.in: Regenerate.
16866 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16867 * libgomp.h: Include bar.h.
16868 (struct gomp_barrier): Remove.
16869 (struct gomp_team): Add barrier. Replace master_barrier with
16870 master_release. Replace threads with ordered_release.
16871 (struct gomp_thread): Replace barrier with release.
16872 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16873 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16874 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16875 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16876 (GOMP_single_copy_end): Likewise.
16877 * team.c (gomp_threads_dock): New.
16878 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16879 (gomp_thread_start): Use gomp_barrier_wait.
16880 (new_team, free_team): Update for gomp_team changes.
16881 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16882 (gomp_team_end): Use gomp_barrier_wait.
16883 (initialize_team): Update for gomp_thread changes.
16884 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16885 (gomp_work_share_end_nowait): Use atomic ops when available.
16886 * config/linux/bar.c, config/linux/bar.h: New files.
16887 * config/posix/bar.c, config/posix/bar.h: New files.
16888
16889 2005-10-13 Jakub Jelinek <jakub@redhat.com>
16890
16891 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16892 * testsuite/libgomp.dg/single-2.c: New test.
16893
16894 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16895 lang_link_flags): Unset, so that they aren't inherited from previously
16896 sourced *.exp.
16897
16898 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16899
16900 2005-10-12 Richard Henderson <rth@redhat.com>
16901
16902 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16903 (libgomp_init): Use lang_test_file, lang_library_path, and
16904 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16905
16906 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16907 (lang_test_file, lang_link_flags): New.
16908 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16909
16910 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16911 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16912 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16913 testsuite/libgomp.c++/parallel-1.C,
16914 testsuite/libgomp.c++/reduction-1.C,
16915 testsuite/libgomp.c++/reduction-2.C,
16916 testsuite/libgomp.c++/reduction-3.C,
16917 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16918 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16919 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16920 New files, largely cribbed from the C testsuite.
16921
16922 2005-10-12 Jakub Jelinek <jakub@redhat.com>
16923
16924 * testsuite/libgomp.fortran/character1.f90: New test.
16925 * testsuite/libgomp.fortran/character2.f90: New test.
16926
16927 * testsuite/libgomp.dg/nested-1.c: New test.
16928 * testsuite/libgomp.dg/nested-2.c: New test.
16929 * testsuite/libgomp.fortran/do1.f90: New test.
16930 * testsuite/libgomp.fortran/do2.f90: New test.
16931
16932 * testsuite/libgomp.fortran/reference1.f90: New test.
16933
16934 2005-10-11 Jakub Jelinek <jakub@redhat.com>
16935
16936 * testsuite/libgomp.dg/reduction-1.c: New test.
16937 * testsuite/libgomp.dg/reduction-2.c: New test.
16938 * testsuite/libgomp.dg/reduction-3.c: New test.
16939
16940 2005-10-10 Jakub Jelinek <jakub@redhat.com>
16941
16942 * testsuite/libgomp.dg/atomic-1.c: New test.
16943 * testsuite/libgomp.dg/atomic-2.c: New test.
16944
16945 2005-10-09 Richard Henderson <rth@redhat.com>
16946
16947 * critical.c (atomic_lock): New.
16948 (initialize_critical): Initialize it.
16949 (GOMP_atomic_start, GOMP_atomic_end): New.
16950 * libgomp.map: Export them.
16951 * libgomp_g.h: Declare them.
16952
16953 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16954
16955 2005-10-02 Richard Henderson <rth@redhat.com>
16956
16957 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
16958 to XCFLAGS instead of CFLAGS.
16959
16960 2005-09-30 Richard Henderson <rth@redhat.com>
16961
16962 * configure.ac: Determine whether -pthread or -lpthread is needed.
16963 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
16964 * Makefile.in, configure: Rebuild.
16965
16966 2005-09-28 Richard Henderson <rth@redhat.com>
16967
16968 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16969 * testsuite/libgomp.dg/omp-single-3.c: New test.
16970
16971 2005-09-28 Diego Novillo <dnovillo@redhat.com>
16972
16973 * testsuite/libgomp.dg/omp-single-2.c: New test.
16974 * testsuite/libgomp.dg/shared-2.c: Fix return code.
16975
16976 2005-09-27 Richard Henderson <rth@redhat.com>
16977
16978 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16979 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16980
16981 2005-09-27 Jakub Jelinek <jakub@redhat.com>
16982
16983 * testsuite/libgomp.dg/omp-loop03.c: New test.
16984
16985 2005-09-27 Diego Novillo <dnovillo@redhat.com>
16986
16987 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16988
16989 2005-09-27 Diego Novillo <dnovillo@redhat.com>
16990
16991 * testsuite/libgomp.dg/omp-single-1.c: New test.
16992 * testsuite/libgomp.dg/shared-1.c: Return 0.
16993 Add prototype for abort.
16994 * testsuite/libgomp.dg/shared-2.c: Likewise.
16995
16996 2005-09-26 Jakub Jelinek <jakub@redhat.com>
16997
16998 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16999 constructs.
17000
17001 2005-09-26 Diego Novillo <dnovillo@redhat.com>
17002
17003 * testsuite/libgomp.dg/shared-1.c: New test.
17004 * testsuite/libgomp.dg/shared-2.c: New test.
17005
17006 2005-09-24 Richard Henderson <rth@redhat.com>
17007
17008 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17009
17010 2005-09-24 Richard Henderson <rth@redhat.com>
17011
17012 * iter.c (gomp_iter_static_next): Round up when computing number
17013 of iterations. Don't bother distributing a remainder equally.
17014
17015 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17016 Don't call srand. Zero b before testing.
17017 (main): New.
17018
17019 2005-09-24 Jakub Jelinek <jakub@redhat.com>
17020
17021 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17022 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17023
17024 2005-09-23 Jakub Jelinek <jakub@redhat.com>
17025
17026 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17027 without !$omp end do, followed immediately by subroutine end.
17028
17029 2005-09-23 Diego Novillo <dnovillo@redhat.com>
17030
17031 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17032
17033 2005-09-22 Richard Henderson <rth@redhat.com>
17034
17035 * critical.c (GOMP_critical_name_start): Change argument to void**.
17036 Reuse the pointer space if the mutex fits.
17037 (GOMP_critical_name_end): Likewise.
17038 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17039 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17040 (GOMP_critical_name_end): Likewise.
17041 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17042 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17043
17044 2005-09-20 Richard Henderson <rth@redhat.com>
17045
17046 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17047 (create_lock_lock): New.
17048 (initialize_critical): Initialize it.
17049 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17050 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17051
17052 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17053
17054 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17055
17056 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17057
17058 * testsuite/libgomp.dg/omp-loop01.c: New test.
17059 * testsuite/libgomp.dg/omp-loop02.c: New test.
17060
17061 2005-09-20 Jakub Jelinek <jakub@redhat.com>
17062
17063 * configure.ac (AC_PROG_FC): Add.
17064 (USE_FORTRAN): New automake conditional.
17065 * configure: Rebuilt.
17066 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17067 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17068 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17069 Add rules to build them.
17070 * Makefile.in: Rebuilt.
17071 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17072 OMP_NEST_LOCK_KIND.
17073 * libgomp.map: Add Fortran wrappers.
17074 * libgomp_f.h.in: New file.
17075 * omp_lib.h.in: New file.
17076 * omp_lib.f90.in: New file.
17077 * fortran.c: New file.
17078 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17079 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17080 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17081 libgfortran has been built.
17082 * testsuite/libgomp.fortran/fortran.exp: New file.
17083 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17084 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17085 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17086 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17087 * testsuite/libgomp.fortran/omp_hello.f: New test.
17088 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17089 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17090 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17091 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17092 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17093 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17094 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17095 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17096
17097 2005-08-30 Richard Henderson <rth@redhat.com>
17098
17099 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17100 function for when aliases are not usable.
17101 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17102 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17103 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17104 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17105 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17106 GOMP_loop_ordered_guided_next): Likewise.
17107 * ordered.c (GOMP_ordered_start): Likewise.
17108
17109 2005-08-01 Diego Novillo <dnovillo@redhat.com>
17110
17111 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17112 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17113 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17114 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17115 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17116 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17117 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17118 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17119 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17120
17121 2005-07-07 Eric Christopher <echristo@redhat.com>
17122 Diego Novillo <dnovillo@redhat.com>
17123
17124 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17125 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17126 up code.
17127 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17128 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17129 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17130 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17131 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17132 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17133 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17134
17135 2005-06-13 Diego Novillo <dnovillo@redhat.com>
17136
17137 * TOPLEVEL.patch: Remove.
17138
17139 2005-05-16 Richard Henderson <rth@redhat.com>
17140
17141 * configure.ac: Test for clock_gettime.
17142 * config.h.in, configure: Rebuild.
17143 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17144 (omp_get_wtime): Use clock_gettime if available.
17145 (omp_get_wtick): Use clock_getres if available.
17146
17147 2005-05-11 Richard Henderson <rth@redhat.com>
17148
17149 * config/linux/ia64/futex.h: New file.
17150 * configure.tgt: Use it.
17151
17152 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17153
17154 2005-05-07 Richard Henderson <rth@redhat.com>
17155
17156 * config/linux/powerpc/futex.h: New file.
17157 * configure.tgt: Use it.
17158
17159 * config/linux/i486/futex.h: Merge ...
17160 * config/linux/x86_64/futex.h: ... into ...
17161 * config/linux/x86/futex.h: ... here.
17162 * configure.tgt: Update to match.
17163
17164 2005-05-06 Richard Henderson <rth@redhat.com>
17165
17166 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17167 * config/linux/i486/futex.h: Likewise.
17168 * config/linux/x86_64/futex.h: Likewise.
17169
17170 * config/linux/lock.c: New file.
17171 * config/linux/omp-lock.h: New file.
17172
17173 * critical.c, env.h: Don't include omp.h
17174 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17175 * config/posix/time.c: Likewise.
17176 * config/posix/omp-lock.h: New file.
17177 * libgomp.h: Include omp-lock.h and omp.h.
17178 * Makefile.am (nodist_include_HEADERS): New.
17179 (omp.h): New rule.
17180 * configure.ac (PERL): New.
17181 * mkomp_h.pl: New file.
17182 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17183 with templates.
17184 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17185
17186 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17187 build directory. Re-add -march=i486 hack.
17188
17189 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17190 (libgomp_link_flags): Remove.
17191 (libgomp_initialized): Remove.
17192 (libgomp_init): Don't protect from reinitialization. Copy code
17193 from libstdc++ for getting the multilib set correctly.
17194
17195 2005-05-05 Richard Henderson <rth@redhat.com>
17196
17197 * config/linux/alpha/futex.h: New file.
17198 * configure.tgt (alpha*-*-linux*): Use it.
17199
17200 * config/posix/mutex.c: New file.
17201 * config/posix/sem.c: Use libgomp.h.
17202
17203 * configure.tgt (x86_64-linux): Also test CC for -m32.
17204 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17205
17206 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17207 after $gccpath.
17208
17209 * Makefile.am (SUBDIRS): New.
17210 (libgomp_la_LDFLAGS): Add -lpthread.
17211 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17212 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17213
17214 * libgomp_g.h: New file.
17215 * libgomp.h: Split out all public declarations to libgomp_g.h.
17216 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17217 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17218 * config/linux/sem.h: Likewise.
17219 * config/posix/sem.h: Likewise.
17220
17221 * Makefile.am (AM_LDFLAGS): New.
17222 (libgomp_version_script): Split out from ...
17223 (libgomp_la_LDFLAGS): ... here.
17224 (libgomp_version_info): New.
17225 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17226 (LIBGOMP_ENABLE): New.
17227 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17228 (LIBGOMP_ENABLE_SYMVERS): New.
17229 * configure.ac (AC_INIT): Version 1.0.
17230 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17231 (enable-linux-futex): Likewise. Rename from enable-futex.
17232 (libtool_VERSION): New.
17233 (LIBGOMP_ENABLE_SYMVERS): Use it.
17234 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17235 * Makefile.in, aclocal.m4, configure: Rebuild.
17236
17237 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17238 (gomp_mutex_unlock_slow): Fix typo.
17239 * config/linux/sem.c: Similarly.
17240 (gomp_sem_post_slow): Fix typo.
17241 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17242 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17243 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17244
17245 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17246 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17247 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17248 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17249 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17250 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17251 LDFLAGS. Pull enable_futex check to top-level.
17252 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17253 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17254
17255 First attempt at real configury.
17256 * Makefile, config.h: Remove file.
17257 * Makefile.am, Makefile.in: New file.
17258 * acinclude.m4 aclocal.m4: New file.
17259 * configure.ac, configure.tgt, configure: New file.
17260
17261 * config/posix/lock.c: Rename from sys-lock.c.
17262 * config/posix/mutex.h: Rename from sys-mutex.h.
17263 * config/posix/sem.c: Rename from sys-sem.c.
17264 * config/posix/sem.h: Rename from sys-sem.h.
17265 * config/posix/proc.c: Rename from sys-proc.c.
17266 * config/posix/time.c: Rename from sys-proc.c.
17267
17268 * config/linux/mutex.c: New file.
17269 * config/linux/mutex.h: New file.
17270 * config/linux/sem.c: New file.
17271 * config/linux/sem.h: New file.
17272 * config/linux/i486/futex.h: New file.
17273 * config/linux/x86_64/futex.h: New file.
17274
17275 2005-05-04 Richard Henderson <rth@redhat.com>
17276
17277 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17278 * libgomp.h: Declare them.
17279 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17280 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17281
17282 2005-05-04 Richard Henderson <rth@redhat.com>
17283
17284 * libgomp-1 code drop
17285
17286 2005-05-04 Richard Henderson <rth@redhat.com>
17287
17288 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17289 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17290 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17291 (gomp_iter_static_next): Update.
17292 (gomp_ordered_static_next): Update.
17293 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17294 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17295 totally empty range.
17296 (gomp_loop_ordered_static_next): Refine test for calling
17297 gomp_ordered_static_next.
17298 * testsuite/ordered-1.c: Add case for more threads than iterations.
17299
17300 * iter.c (gomp_iter_runtime_next_locked): Remove.
17301 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17302 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17303 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17304 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17305 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17306 gomp_loop_ordered_guided_next): Downcase name, make static, add
17307 an external alias with the old name.
17308 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17309 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17310 switch and call one of the above static functions.
17311 * libgomp.h: Update.
17312
17313 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17314 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17315 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17316 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17317 GOMP_loop_ordered_guided_start): Update to match.
17318 * sections.c (GOMP_sections_start): Likewise.
17319 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17320
17321 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17322 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17323 Use bounds check instead of modulus.
17324 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17325 (gomp_ordered_last): Don't sync with ordered_owner here.
17326 (gomp_ordered_next): Likewise.
17327 (gomp_ordered_static_loop_next): Likewise.
17328 * loop.c, libgomp.h: Update to match.
17329
17330 * libgomp.h (GOMP_barrier): Declare.
17331
17332 * testsuite/barrier-1.c: New file.
17333 * testsuite/critical-1.c: New file.
17334 * testsuite/ordered-2.c: New file.
17335 * testsuite/ordered-1.c: New file.
17336 * testsuite/sections-1.c: New file.
17337 * testsuite/single-1.c: New file.
17338 * testsuite/Makefile (TESTS): Add them.
17339
17340 2005-05-04 Richard Henderson <rth@redhat.com>
17341
17342 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17343 * loop.c (GOMP_loop_static_start): If not the startup thread,
17344 acquire the mutex to wait for initialization complete.
17345 (GOMP_loop_ordered_static_start): Likewise.
17346 (GOMP_loop_ordered_runtime_start): Likewise.
17347 (GOMP_loop_ordered_static_first): Remove.
17348 (GOMP_loop_ordered_dynamic_first): Remove.
17349 (GOMP_loop_ordered_guided_first): Remove.
17350 (GOMP_loop_ordered_runtime_first): Remove.
17351 * ordered.c (gomp_ordered_loop_first): Post to own release when
17352 we're the first thread.
17353 (gomp_ordered_loop_last): Wait on release if not owner.
17354 (gomp_ordered_loop_next): Likewise.
17355 (gomp_ordered_static_loop_init): New.
17356 (gomp_ordered_static_loop_next): Use ordered_owner.
17357 (GOMP_ordered_start): Likewise.
17358 * work.c (gomp_new_work_share): Initialize ordered_owner.
17359
17360 2005-05-03 Richard Henderson <rth@redhat.com>
17361
17362 * Makefile (OPT): New.
17363 (CFLAGS): Use it.
17364
17365 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17366 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17367 * libgomp.h, libgomp.map, NOTES: Update to match.
17368
17369 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17370 Add initialized and thr members.
17371 (gomp_thread_start): Pause when initially spawned to wait for
17372 the whole team to be created.
17373 (gomp_team_start): Release team members at the end.
17374
17375 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17376 (f_foo_1): Use GOMP_loop_end.
17377 (f_foo_2): Use GOMP_loop_end_nowait.
17378
17379 * testsuite/loop-2.c: New file.
17380 * testsuite/Makefile (TESTS): Add it.
17381
17382 2005-05-03 Richard Henderson <rth@redhat.com>
17383
17384 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17385 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17386 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17387 initial work_share.
17388
17389 * testsuite/Makefile: New file.
17390 * testsuite/loop-1.c: New file.
17391
17392 2005-05-03 Richard Henderson <rth@redhat.com>
17393
17394 Initial implementation and checkin.
17395 \f
17396 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17397
17398 Copying and distribution of this file, with or without modification,
17399 are permitted in any medium without royalty provided the copyright
17400 notice and this notice are preserved.