12024-06-20  Release Manager
2
3	* GCC 12.4.0 released.
4
52024-06-11  Jakub Jelinek  <jakub@redhat.com>
6
7	Backported from master:
8	2024-04-05  Jakub Jelinek  <jakub@redhat.com>
9
10	PR c++/114572
11	* testsuite/libgomp.c++/pr114572.C: New test.
12
132024-06-11  Jakub Jelinek  <jakub@redhat.com>
14
15	Backported from master:
16	2024-01-10  Jakub Jelinek  <jakub@redhat.com>
17
18	PR libgomp/113192
19	* configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
20	instead of \$(abs_top_srcdir)/testsuite/flock.
21	* configure: Regenerated.
22
232023-09-01  Tobias Burnus  <tobias@codesourcery.com>
24
25	Backported from master:
26	2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
27
28	PR middle-end/111017
29	* testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
30
312023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
32
33	Backported from master:
34	2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
35
36	PR testsuite/66005
37	* testsuite/lib/libgomp.exp: 'flock' through stdout.
38	* testsuite/flock: New.
39	* configure.ac (FLOCK): Point to that if no 'flock' available, but
40	'perl' is.
41	* configure: Regenerate.
42
432023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
44
45	Backported from master:
46	2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
47
48	PR testsuite/66005
49	* configure.ac: Look for 'flock'.
50	* testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
51	* testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
52	* testsuite/lib/libgomp.exp: ... but here, instead.
53	(libgomp_load): Override for parallel testing.
54	* testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
55	* configure: Regenerate.
56	* Makefile.in: Regenerate.
57	* testsuite/Makefile.in: Regenerate.
58
592023-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
60
61	Backported from master:
62	2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
63		    Thomas Schwinge  <thomas@codesourcery.com>
64
65	PR testsuite/66005
66	* testsuite/Makefile.am (PWD_COMMAND): New variable.
67	(%/site.exp): New target.
68	(check_p_numbers0, check_p_numbers1, check_p_numbers2)
69	(check_p_numbers3, check_p_numbers4, check_p_numbers5)
70	(check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
71	(check_p_subdirs)
72	(check_DEJAGNU_libgomp_targets): New variables.
73	($(check_DEJAGNU_libgomp_targets)): New target.
74	($(check_DEJAGNU_libgomp_targets)): New dependency.
75	(check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
76	* testsuite/Makefile.in: Regenerate.
77	* testsuite/lib/libgomp.exp: For parallel testing,
78	'load_file ../libgomp-test-support.exp'.
79
802023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
81
82	Backported from master:
83	2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
84
85	* testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
86	of 'libstdcxx_includes'.
87	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
88
892023-05-08  Release Manager
90
91	* GCC 12.3.0 released.
92
932023-03-19  Jakub Jelinek  <jakub@redhat.com>
94
95	Backported from master:
96	2023-02-16  Jakub Jelinek  <jakub@redhat.com>
97
98	* libgomp.texi: Fix typos - theads -> threads.
99
1002023-03-08  Tobias Burnus  <tobias@codesourcery.com>
101
102	Backported from master:
103	2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
104
105	PR middle-end/108546
106	* testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
107	* testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
108
1092023-02-10  Jakub Jelinek  <jakub@redhat.com>
110
111	Backported from master:
112	2023-01-19  Jakub Jelinek  <jakub@redhat.com>
113
114	PR middle-end/108459
115	* testsuite/libgomp.c/pr108459.c: New test.
116
1172023-02-10  Jakub Jelinek  <jakub@redhat.com>
118
119	Backported from master:
120	2023-01-05  Jakub Jelinek  <jakub@redhat.com>
121
122	PR c++/108286
123	* testsuite/libgomp.c++/pr108286.C: New test.
124
1252023-02-10  Jakub Jelinek  <jakub@redhat.com>
126
127	Backported from master:
128	2022-12-21  Jakub Jelinek  <jakub@redhat.com>
129
130	PR c++/108180
131	* testsuite/libgomp.c++/pr108180.C: New test.
132
1332023-01-30  Tobias Burnus  <tobias@codesourcery.com>
134
135	Backported from master:
136	2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
137
138	PR fortran/108558
139	* testsuite/libgomp.fortran/has_device_addr.f90: New test.
140
1412022-11-03  Jakub Jelinek  <jakub@redhat.com>
142
143	Backported from master:
144	2022-10-12  Jakub Jelinek  <jakub@redhat.com>
145
146	* task.c (gomp_create_artificial_team): Fix up handling of invocations
147	from within explicit task.
148	* target.c (GOMP_target_ext): Likewise.
149	* testsuite/libgomp.c/task-7.c: New test.
150	* testsuite/libgomp.c/task-8.c: New test.
151	* testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
152	* testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
153
1542022-11-03  Jakub Jelinek  <jakub@redhat.com>
155
156	Backported from master:
157	2022-09-24  Jakub Jelinek  <jakub@redhat.com>
158
159	PR c/106981
160	* testsuite/libgomp.c-c++-common/pr106981.c: New test.
161
1622022-10-28  Julian Brown  <julian@codesourcery.com>
163
164	Backported from master:
165	2022-10-28  Julian Brown  <julian@codesourcery.com>
166		    Thomas Schwinge  <thomas@codesourcery.com>
167
168	PR middle-end/90115
169	* testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
170	* testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
171	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
172	* testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
173	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
174
1752022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
176
177	Backported from master:
178	2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
179
180	PR target/105421
181	* testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
182
1832022-08-23  Tobias Burnus  <tobias@codesourcery.com>
184
185	Backported from master:
186	2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
187
188	PR middle-end/106548
189	* testsuite/libgomp.c/linear-2.c: New test.
190
1912022-08-19  Release Manager
192
193	* GCC 12.2.0 released.
194
1952022-08-01  Lewis Hyatt  <lhyatt@gmail.com>
196
197	Backported from master:
198	2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
199
200	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
201	improved warning locations.
202	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
203
2042022-07-30  Jakub Jelinek  <jakub@redhat.com>
205
206	Backported from master:
207	2022-07-29  Jakub Jelinek  <jakub@redhat.com>
208
209	PR middle-end/106449
210	* testsuite/libgomp.c-c++-common/pr106449.c: New test.
211
2122022-06-28  Jakub Jelinek  <jakub@redhat.com>
213
214	Backported from master:
215	2022-06-21  Jakub Jelinek  <jakub@redhat.com>
216		    Paul Iannetta  <piannetta@kalrayinc.com>
217
218	PR libgomp/106045
219	* testsuite/libgomp.c/target-31.c: Add private (i) clause.
220
2212022-06-28  Martin Liska  <mliska@suse.cz>
222
223	Backported from master:
224	2022-06-28  Martin Liska  <mliska@suse.cz>
225
226	* acinclude.m4: Fix typo in mold linker detection.
227	* Makefile.in: Regenerate.
228	* configure: Regenerate.
229
2302022-05-30  Jakub Jelinek  <jakub@redhat.com>
231
232	Backported from master:
233	2022-05-28  Jakub Jelinek  <jakub@redhat.com>
234
235	PR libgomp/105745
236	* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
237	defined(HAVE__ALIGNED_MALLOC) case.
238	* alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
239	handling as last option before fallback instead of first.
240	(gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
241	_aligned_free.
242
2432022-05-17  Jakub Jelinek  <jakub@redhat.com>
244
245	Backported from master:
246	2022-05-17  Jakub Jelinek  <jakub@redhat.com>
247
248	* libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
249	comment for omp_display_env feature.
250
2512022-05-06  Release Manager
252
253	* GCC 12.1.0 released.
254
2552022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
256
257	PR fortran/104717
258	* testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
259	privatization scanning.  For GCN offloading compilation, raise
260	'-mgang-private-size'.
261
2622022-04-26  Jakub Jelinek  <jakub@redhat.com>
263
264	PR libgomp/105358
265	* work.c (gomp_init_work_share): Don't mask of adjustment for
266	dynamic long long realignment if struct gomp_work_share has smaller
267	alignof than long long.
268	* loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
269	struct gomp_work_share has smaller alignof than long long or if
270	sizeof (struct gomp_work_share) is smaller than
271	INLINE_ORDERED_TEAM_IDS_OFF.
272	* loop_ull.c (GOMP_loop_ull_start): Likewise.
273	* sections.c (GOMP_sections2_start): Likewise.
274
2752022-04-25  Jakub Jelinek  <jakub@redhat.com>
276	    Thomas Schwinge  <thomas@codesourcery.com>
277
278	PR fortran/104717
279	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
280
2812022-04-13  Jakub Jelinek  <jakub@redhat.com>
282
283	* libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
284
2852022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
286
287	* plugin/cuda/cuda.h: Remove file.
288	* plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
289	"cuda/cuda.h" instead of <cuda.h>.
290	* plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
291	'PLUGIN_NVPTX_CPPFLAGS'.
292	* configure: Regenerate.
293
2942022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
295
296	* testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
297
2982022-04-04  Tom de Vries  <tdevries@suse.de>
299
300	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
301	on_device_arch_nvptx instead of offload_target_nvptx.
302	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
303
3042022-04-01  Tom de Vries  <tdevries@suse.de>
305
306	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
307	and use REC_DEPTH.
308	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
309
3102022-04-01  Tom de Vries  <tdevries@suse.de>
311
312	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
313	num_workers check.
314
3152022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
316	    Lulu Cheng  <chenglulu@loongson.cn>
317
318	* configure.tgt: Add LoongArch triplet.
319
3202022-03-28  Tom de Vries  <tdevries@suse.de>
321
322	* plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
323	instead of /libexec/.
324	* configure: Regenerate.
325
3262022-03-25  Tom de Vries  <tdevries@suse.de>
327
328	PR libgomp/105042
329	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
330	execution time.
331	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
332	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
333
3342022-03-23  Tobias Burnus  <tobias@codesourcery.com>
335
336	PR middle-end/104285
337	* testsuite/libgomp.c++/target-same-name-2-a.C: New test.
338	* testsuite/libgomp.c++/target-same-name-2-b.C: New test.
339	* testsuite/libgomp.c++/target-same-name-2.C: New test.
340	* testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
341	* testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
342	* testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
343
3442022-03-22  Tom de Vries  <tdevries@suse.de>
345
346	PR target/104916
347	PR target/104783
348	* testsuite/libgomp.c/pr104783-2.c: New test.
349
3502022-03-18  Tobias Burnus  <tobias@codesourcery.com>
351
352	PR fortran/103039
353	* testsuite/libgomp.fortran/associate4.f90: New test.
354
3552022-03-18  Tom de Vries  <tdevries@suse.de>
356
357	PR target/104952
358	* testsuite/libgomp.c/pr104952-1.c: New test.
359	* testsuite/libgomp.c/pr104952-2.c: New test.
360
3612022-03-18  Jakub Jelinek  <jakub@redhat.com>
362
363	* config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
364	variable next to pl variable.
365
3662022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
367
368	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
369	Enhance.
370	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
371	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
372
3732022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
374
375	PR middle-end/90115
376	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
377	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
378
3792022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
380
381	* fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
382	omp_set_max_active_levels.
383	* testsuite/libgomp.fortran/icv-8.f90: New test.
384
3852022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
386
387	PR testsuite/102841
388	* testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
389
3902022-03-13  Tobias Burnus  <tobias@codesourcery.com>
391
392	* libgomp.texi: Fix typo.
393
3942022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
395
396	PR middle-end/100280
397	PR middle-end/104892
398	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
399	* testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
400	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
401	Likewise.
402	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
403	Likewise.
404	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
405	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
406	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
407	Likewise.
408
4092022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
410
411	PR middle-end/104892
412	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
413	to PR104892.
414	* testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
415	enable '--param=openacc-kernels=decompose' and adjust.
416	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
417	Likewise.
418	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
419	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
420	Likewise.
421
4222022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
423
424	PR middle-end/90115
425	* testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
426	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
427	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
428	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
429
4302022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
431
432	PR middle-end/100280
433	PR middle-end/104086
434	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
435	Merge this...
436	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
437	..., and this...
438	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
439	this, and adjust.
440	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
441	Extend.
442
4432022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
444
445	* testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
446	trait.  Test last index in w and v array.  Remove redundant
447	assignment to V(1).  Move alignment checks at the end of
448	parallel region.
449
4502022-03-10  Tom de Vries  <tdevries@suse.de>
451
452	* testsuite/libgomp.c/pr104783.c: New test.
453
4542022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
455
456	PR middle-end/90115
457	PR middle-end/102330
458	PR middle-end/104774
459	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
460	Enhance.
461	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
462	Adjust.
463	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
464	Likewise.
465	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
466	Likewise.
467	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
468	Likewise.
469	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
470	Likewise.
471	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
472	Likewise.
473	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
474	Likewise.
475	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
476	Likewise.
477	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
478	Likewise.
479	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
480	Likewise.
481	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
482	Likewise.
483	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
484	Likewise.
485	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
486	Likewise.
487	* testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
488	* testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
489	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
490
4912022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
492
493	PR middle-end/90115
494	* testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
495	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
496	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
497	* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
498
4992022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
500
501	PR testsuite/104791
502	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
503	expected diagnostics.
504
5052022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
506
507	PR middle-end/104784
508	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
509	Test with '--param=openacc-kernels=decompose'.
510	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
511	Likewise.
512	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
513	Likewise.
514	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
515	Likewise.
516	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
517	Likewise.
518	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
519	Likewise.
520	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
521	Likewise.
522	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
523	Likewise.
524	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
525	Likewise.
526	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
527	Likewise.
528	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
529	Likewise.
530	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
531	Likewise.
532	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
533	Likewise.
534	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
535	Likewise.
536	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
537	Likewise.
538	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
539	Likewise.
540	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
541	Likewise.
542	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
543	Likewise.
544	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
545	Likewise.
546	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
547	Likewise.
548	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
549	Likewise.
550	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
551	Likewise.
552	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
553	Likewise.
554	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
555	Likewise.
556	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
557	Likewise.
558	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
559	Likewise.
560	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
561	Likewise.
562	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
563	Likewise.
564	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
565	Likewise.
566	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
567	Likewise.
568	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
569	Likewise.
570	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
571	Likewise.
572	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
573	Likewise.
574
5752022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
576
577	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
578	Test '-fopt-info-omp-all'.
579	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
580	Likewise.
581	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
582	Likewise.
583	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
584	Likewise.
585	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
586	Likewise.
587	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
588	Likewise.
589	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
590	Likewise.
591	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
592	Likewise.
593	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
594	Likewise.
595	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
596	Likewise.
597	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
598	Likewise.
599	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
600	Likewise.
601	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
602	Likewise.
603	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
604	Likewise.
605	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
606	Likewise.
607	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
608	Likewise.
609	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
610	Likewise.
611	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
612	Likewise.
613	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
614	Likewise.
615	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
616	Likewise.
617	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
618	Likewise.
619	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
620	Likewise.
621	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
622	Likewise.
623	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
624	Likewise.
625	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
626	Likewise.
627	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
628	Likewise.
629	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
630	Likewise.
631	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
632	Likewise.
633	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
634	Likewise.
635	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
636	Likewise.
637	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
638	Likewise.
639	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
640	Likewise.
641	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
642	Likewise.
643
6442022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
645
646	PR middle-end/100280
647	PR middle-end/104132
648	PR middle-end/104133
649	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
650	Extend.
651
6522022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
653
654	PR middle-end/100280
655	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
656	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
657	Likewise.
658
6592022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
660
661	PR middle-end/100280
662	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
663	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
664	Likewise.
665
6662022-02-28  Tom de Vries  <tdevries@suse.de>
667
668	* testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
669	* testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
670	* testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
671	* testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
672	* testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
673	* testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
674
6752022-02-24  Tom de Vries  <tdevries@suse.de>
676
677	* testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
678	* testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
679	* testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
680	* testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
681	* testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
682	* testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
683	* testsuite/libgomp.c/declare-variant-3.h: New header file.
684
6852022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
686
687	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
688	gang-redundant execution.
689
6902022-02-22  Tom de Vries  <tdevries@suse.de>
691
692	PR target/99555
693	* config/nvptx/bar.c (generation_to_barrier): New function, copied
694	from config/rtems/bar.c.
695	(futex_wait, futex_wake): New function.
696	(do_spin, do_wait): New function, copied from config/linux/wait.h.
697	(gomp_barrier_wait_end, gomp_barrier_wait_last)
698	(gomp_team_barrier_wake, gomp_team_barrier_wait_end):
699	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
700	and replace with include of config/linux/bar.c.
701	* config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
702	(gomp_barrier_init): Init new fields.
703	* testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
704	workarounds.
705	* testsuite/libgomp.c/pr99555-1.c: Same.
706	* testsuite/libgomp.fortran/task-detach-6.f90: Same.
707
7082022-02-22  Tom de Vries  <tdevries@suse.de>
709
710	PR testsuite/104146
711	* testsuite/libgomp.c++/pr96390.C: Add additional-option
712	-foffload=-Wa,--verify for nvptx.
713	* testsuite/libgomp.c-c++-common/pr96390.c: Same.
714
7152022-02-15  Tobias Burnus  <tobias@codesourcery.com>
716
717	* testsuite/libgomp.fortran/depend-4.f90: New test.
718
7192022-02-10  Tobias Burnus  <tobias@codesourcery.com>
720
721	PR c++/102204
722	* testsuite/libgomp.c++/target-virtual-1.C: New test.
723
7242022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
725
726	* libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
727	* target.c (copy_firstprivate_data): Copy only if host address is not
728	NULL.
729	* testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
730	* testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
731	* testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
732	* testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
733	* testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
734	* testsuite/libgomp.c/target-has-device-addr-3.c: New test.
735	* testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
736	* testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
737	* testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
738	* testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
739
7402022-02-08  Jakub Jelinek  <jakub@redhat.com>
741
742	PR libgomp/104385
743	* task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
744	clear task->parent.
745	* testsuite/libgomp.c/pr104385.c: New test.
746
7472022-02-04  Tobias Burnus  <tobias@codesourcery.com>
748
749	* testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
750	STOP of previous commit.
751
7522022-02-04  Tobias Burnus  <tobias@codesourcery.com>
753
754	* testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
755	from is_64bit_aligned_.
756	* testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
757	and use it, more implicit none, remove unused argument.
758
7592022-02-03  David Seifert  <soap@gentoo.org>
760	    Jakub Jelinek  <jakub@redhat.com>
761
762	* configure.ac: Support --disable-werror.
763	* configure: Regenerate.
764
7652022-02-01  Tom de Vries  <tdevries@suse.de>
766
767	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
768	PR83812 workaround.
769	* testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
770	* testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
771
7722022-02-01  Tom de Vries  <tdevries@suse.de>
773
774	* testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
775	num_workers for nvidia accelerator to fix libgomp error 'insufficient
776	resources'.
777	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
778	Same.
779	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
780
7812022-02-01  Tom de Vries  <tdevries@suse.de>
782
783	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
784	recursion depth.
785	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
786
7872022-01-31  Martin Liska  <mliska@suse.cz>
788
789	* acinclude.m4: Detect *_ld_is_mold and use it.
790	* configure: Regenerate.
791
7922022-01-27  Tobias Burnus  <tobias@codesourcery.com>
793
794	* libgomp.texi (OpenMP 5.0): Update implementation status.
795
7962022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
797
798	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
799	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
800	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
801	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
802	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
803	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
804	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
805	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
806	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
807	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
808	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
809	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
810	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
811	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
812	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
813
8142022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
815
816	* config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
817	"static") to make the device num available in the offload image.
818
8192022-01-19  Martin Liska  <mliska@suse.cz>
820	    Thomas Schwinge  <thomas@codesourcery.com>
821
822	* testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
823	patterns.
824	* testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
825	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
826	Likewise.
827	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
828	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
829	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
830	* testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
831	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
832	Likewise.
833	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
834	Likewise.
835	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
836	Likewise.
837	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
838	Likewise.
839	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
840	Likewise.
841	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
842	Likewise.
843	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
844	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
845	* testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
846
8472022-01-18  Martin Liska  <mliska@suse.cz>
848
849	* testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
850	in dg-warning.
851	* testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
852	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
853	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
854	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
855	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
856	* testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
857	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
858	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
859	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
860	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
861	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
862	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
863	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
864	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
865	* testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
866
8672022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
868
869	* testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
870	* testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
871	* testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
872
8732022-01-17  Julian Brown  <julian@codesourcery.com>
874	    Thomas Schwinge  <thomas@codesourcery.com>
875
876	* testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
877	* testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
878	* testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
879
8802022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
881	    Andrew Stubbs   <ams@codesourcery.com>
882
883	* plugin/plugin-gcn.c (parse_target_attributes): Automatically set
884	the number of teams and threads if necessary.
885	(gcn_exec): Automatically set the number of gangs and workers if
886	necessary.
887
8882022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
889
890	* testsuite/libgomp.fortran/allocate-1.c: New test.
891	* testsuite/libgomp.fortran/allocate-1.f90: New test.
892	* libgomp.texi: Remove string that says that allocate clause
893	support is for C/C++ only.
894
8952022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
896
897	* testsuite/libgomp.c-c++-common/on_device_arch.h
898	(any_device_arch, any_device_arch_intel_mic): New.
899	* testsuite/lib/libgomp.exp
900	(check_effective_target_offload_device_any_intel_mic): New.
901	* testsuite/libgomp.c-c++-common/target-45.c: Use it.
902	* testsuite/libgomp.fortran/target10.f90: Likewise.
903
9042022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
905
906	PR tree-optimization/102192
907	* testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
908	'-Wuninitialized' diagnostics.
909
9102022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
911
912	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
913	current '-Wuninitialized' diagnostics.
914	* testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
915	* testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
916	* testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
917	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
918	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
919	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
920	* testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
921	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
922	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
923	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
924	* testsuite/libgomp.oacc-fortran/reference-reductions.f90:
925	Likewise.
926
9272022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
928
929	* testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
930	for 'offload_device_intel_mic'.
931
9322022-01-13  Julian Brown  <julian@codesourcery.com>
933	    Thomas Schwinge  <thomas@codesourcery.com>
934
935	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
936	offloading execution XFAIL.
937
9382022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
939
940	PR middle-end/100280
941	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
942	Update.
943	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
944	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
945	Likewise.
946
9472022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
948
949	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
950	Enhance.
951	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
952	Likewise.
953	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
954	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
955	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
956	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
957	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
958	Likewise.
959	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
960	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
961	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
962	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
963
9642022-01-04  Tobias Burnus  <tobias@codesourcery.com>
965
966	* testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
967	* testsuite/libgomp.fortran/target10.f90: Likewise.
968
9692022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
970
971	* plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
972	into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
973	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
974
9752022-01-03  Jakub Jelinek  <jakub@redhat.com>
976
977	* libgomp.texi: Bump @copying's copyright year.
978
9792021-12-13  Tobias Burnus  <tobias@codesourcery.com>
980
981	* libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
982	* testsuite/libgomp.fortran/atomic-19.f90: New test.
983
9842021-12-10  Andrew Stubbs  <ams@codesourcery.com>
985
986	* plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
987	(GOMP_OFFLOAD_load_image): Locate the offload variables via the
988	table, not individual symbols.
989
9902021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
991
992	* testsuite/libgomp.c++/target-lambda-1.C: Only run under
993	"target offload_device_nonshared_as"
994	* testsuite/libgomp.c++/target-this-3.C: Likewise.
995	* testsuite/libgomp.c++/target-this-4.C: Likewise.
996
9972021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
998
999	* target.c (gomp_map_vars_existing): Make sure attached pointer is
1000	not overwritten during cross-host/device copying.
1001	(gomp_update): Likewise.
1002	(gomp_exit_data): Likewise.
1003	* testsuite/libgomp.c++/target-11.C: Adjust testcase.
1004	* testsuite/libgomp.c++/target-12.C: Likewise.
1005	* testsuite/libgomp.c++/target-15.C: Likewise.
1006	* testsuite/libgomp.c++/target-16.C: Likewise.
1007	* testsuite/libgomp.c++/target-17.C: Likewise.
1008	* testsuite/libgomp.c++/target-21.C: Likewise.
1009	* testsuite/libgomp.c++/target-23.C: Likewise.
1010	* testsuite/libgomp.c/target-23.c: Likewise.
1011	* testsuite/libgomp.c/target-29.c: Likewise.
1012	* testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1013
10142021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
1015
1016	PR middle-end/92120
1017	* libgomp.h (gomp_attach_pointer): Add bool parameter.
1018	* oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1019	(goacc_enter_data_internal): Likewise.
1020	* target.c (gomp_map_vars_existing): Update assert condition to
1021	include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1022	(gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1023	parameter, add support for mapping a pointer with NULL target.
1024	(gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1025	parameter, add support for attaching a pointer with NULL target.
1026	(gomp_map_vars_internal): Update calls to gomp_map_pointer and
1027	gomp_attach_pointer, add handling for
1028	GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1029	GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1030	* testsuite/libgomp.c++/target-23.C: New testcase.
1031	* testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1032	* testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1033	* testsuite/libgomp.c++/target-this-1.C: New testcase.
1034	* testsuite/libgomp.c++/target-this-2.C: New testcase.
1035	* testsuite/libgomp.c++/target-this-3.C: New testcase.
1036	* testsuite/libgomp.c++/target-this-4.C: New testcase.
1037	* testsuite/libgomp.c++/target-this-5.C: New testcase.
1038
10392021-12-04  Tobias Burnus  <tobias@codesourcery.com>
1040
1041	* libgomp.texi (OpenMP 5.1): Update status.
1042
10432021-12-04  Tobias Burnus  <tobias@codesourcery.com>
1044
1045	* libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1046
10472021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
1048
1049	PR fortran/90030
1050	* testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1051	* testsuite/libgomp.fortran/pr90030.f90: New test.
1052
10532021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
1054	    Thomas Schwinge  <thomas@codesourcery.com>
1055
1056	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1057	temporary skip.
1058
10592021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
1060	    Thomas Schwinge  <thomas@codesourcery.com>
1061
1062	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1063	skip.
1064
10652021-11-29  Richard Biener  <rguenther@suse.de>
1066
1067	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1068	return.
1069
10702021-11-24  Jakub Jelinek  <jakub@redhat.com>
1071
1072	PR middle-end/103384
1073	* testsuite/libgomp.c/declare-variant-2.c: New test.
1074
10752021-11-18  David Edelsohn  <dje.gcc@gmail.com>
1076
1077	* alloc.c (gomp_aligned_alloc): Fix typo.
1078
10792021-11-18  Jakub Jelinek  <jakub@redhat.com>
1080
1081	PR libgomp/102838
1082	* libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1083	GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1084	(struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1085	GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1086	* work.c (alloc_work_share, gomp_work_share_start): Likewise.
1087	* team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1088	gomp_aligned_alloc instead of team_malloc.
1089
10902021-11-18  Jakub Jelinek  <jakub@redhat.com>
1091
1092	PR libgomp/102838
1093	* alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1094	memalign over posix_memalign over aligned_alloc over fallback
1095	with malloc instead of aligned_alloc over _aligned_alloc over
1096	posix_memalign over memalign over fallback with malloc.  For
1097	aligned_alloc, round up size up to multiple of al.
1098
10992021-11-16  Jakub Jelinek  <jakub@redhat.com>
1100
1101	* libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1102	construct as implemented.
1103
11042021-11-15  Tobias Burnus  <tobias@codesourcery.com>
1105
1106	* testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1107
11082021-11-15  Jakub Jelinek  <jakub@redhat.com>
1109
1110	* task.c (gomp_create_target_task): Copy args array as well.
1111	* target.c (gomp_target_fallback): Add args argument.
1112	Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1113	(GOMP_target): Adjust gomp_target_fallback caller.
1114	(GOMP_target_ext): Likewise.
1115	(gomp_target_task_fn): Likewise.
1116	* config/nvptx/team.c (gomp_nvptx_main): Set
1117	gomp_global_icv.thread_limit_var.
1118	* testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1119
11202021-11-15  Jakub Jelinek  <jakub@redhat.com>
1121
1122	* config/nvptx/team.c (__gomp_team_num): Define as
1123	__attribute__((shared)) var.
1124	(gomp_nvptx_main): Initialize __gomp_team_num to 0.
1125	* config/nvptx/target.c (__gomp_team_num): Declare as
1126	extern __attribute__((shared)) var.
1127	(GOMP_teams4): Use __gomp_team_num as the team number instead of
1128	%ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
1129	is bigger than num_blocks, use num_teams_lower teams and arrange for
1130	bumping of __gomp_team_num if !first and returning false once we run
1131	out of teams.
1132	* config/nvptx/teams.c (__gomp_team_num): Declare as
1133	extern __attribute__((shared)) var.
1134	(omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1135
11362021-11-15  Jakub Jelinek  <jakub@redhat.com>
1137
1138	* testsuite/libgomp.c/teams-5.c: New test.
1139
11402021-11-12  Jakub Jelinek  <jakub@redhat.com>
1141
1142	PR target/103201
1143	* config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1144	to ...
1145	* config/gcn/teams.c: ... here.  New file.
1146
11472021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
1148
1149	* target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1150	implicit map handling to allow a "superset" existing map as valid case.
1151	(get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1152	(get_implicit): New function to extract implicit status.
1153	(gomp_map_fields_existing): Adjust arguments in calls to
1154	gomp_map_vars_existing, and add uses of get_implicit.
1155	(gomp_map_vars_internal): Likewise.
1156	* testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1157
11582021-11-12  Jakub Jelinek  <jakub@redhat.com>
1159
1160	* libgomp_g.h (GOMP_teams4): Declare.
1161	* libgomp.map (GOMP_5.1): Export GOMP_teams4.
1162	* target.c (GOMP_teams4): New function.
1163	* config/nvptx/target.c (GOMP_teams): Remove.
1164	(GOMP_teams4): New function.
1165	* config/gcn/target.c (GOMP_teams): Remove.
1166	(GOMP_teams4): New function.
1167	* testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1168	teams instead of <= 2.
1169	* testsuite/libgomp.c-c++-common/teams-2.c: New test.
1170
11712021-11-11  Tobias Burnus  <tobias@codesourcery.com>
1172
1173	* testsuite/libgomp.fortran/teams-1.f90: New test.
1174
11752021-11-11  Jakub Jelinek  <jakub@redhat.com>
1176
1177	* libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1178	* team.c (struct gomp_thread_start_data): Likewise.
1179	(gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1180	(gomp_team_start): Initialize start_data->num_teams and
1181	start_data->team_num.  Update nthr->num_teams and nthr->team_num.
1182	* teams.c (gomp_num_teams, gomp_team_num): Remove.
1183	(GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1184	instead of gomp_num_teams and gomp_team_num.
1185	(omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1186	(omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1187	* testsuite/libgomp.c/teams-4.c: New test.
1188
11892021-11-11  Jakub Jelinek  <jakub@redhat.com>
1190
1191	* testsuite/libgomp.c-c++-common/teams-1.c: New test.
1192
11932021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
1194
1195	* env.c (parse_gomp_openacc_dim): Restore parsing.
1196
11972021-10-30  Tobias Burnus  <tobias@codesourcery.com>
1198
1199	PR middle-end/102972
1200	* testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1201	parallel construct.
1202	* testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1203	* testsuite/libgomp.c/target-3.c: Likewise.
1204	* testsuite/libgomp.c/target-5.c: Likewise.
1205	* testsuite/libgomp.c/target-6.c: Likewise.
1206	* testsuite/libgomp.c/target-teams-1.c: Likewise.
1207	* testsuite/libgomp.c/teams-1.c: Likewise.
1208	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
1209	* testsuite/libgomp.c/thread-limit-3.c: Likewise.
1210	* testsuite/libgomp.c/thread-limit-4.c: Likewise.
1211	* testsuite/libgomp.c/thread-limit-5.c: Likewise.
1212	* testsuite/libgomp.fortran/icv-3.f90: Likewise.
1213	* testsuite/libgomp.fortran/icv-4.f90: Likewise.
1214	* testsuite/libgomp.fortran/teams1.f90: Likewise.
1215
12162021-10-29  Aldy Hernandez  <aldyh@redhat.com>
1217
1218	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1219	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
1220
12212021-10-27  Jakub Jelinek  <jakub@redhat.com>
1222
1223	* libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1224	aren't implemented for Fortran yet.
1225
12262021-10-27  Jakub Jelinek  <jakub@redhat.com>
1227
1228	* testsuite/libgomp.c/loop-26.c: New test.
1229	* testsuite/libgomp.c/loop-27.c: New test.
1230
12312021-10-25  Tobias Burnus  <tobias@codesourcery.com>
1232
1233	PR testsuite/102910
1234	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1235	instead of #include <alloca.h> + alloca.
1236
12372021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
1238
1239	* libgomp.texi (Support of strictly structured blocks in Fortran):
1240	Adjust to 'Y'.
1241	* testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1242
12432021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
1244
1245	* testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1246	* testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1247
12482021-10-20  Jakub Jelinek  <jakub@redhat.com>
1249
1250	PR libgomp/102838
1251	* libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1252	(struct gomp_work_share): Only use aligned(64) attribute if
1253	GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1254	add padding before lock to ensure lock is at offset 64 bytes
1255	into the structure.
1256	(gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1257	New poor man's static assertions.
1258	* work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1259	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1260
12612021-10-20  Aldy Hernandez  <aldyh@redhat.com>
1262	    Richard Biener  <rguenther@suse.de>
1263
1264	* testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1265
12662021-10-18  Jakub Jelinek  <jakub@redhat.com>
1267
1268	* config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1269	&& gomp_places_list_len < count after nfirst <= nlast loop condition.
1270
12712021-10-18  Tobias Burnus  <tobias@codesourcery.com>
1272
1273	PR fortran/102086
1274	PR fortran/92189
1275	PR fortran/92621
1276	PR fortran/101308
1277	PR fortran/101309
1278	PR fortran/101635
1279	PR fortran/92482
1280	* testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1281
12822021-10-15  Jakub Jelinek  <jakub@redhat.com>
1283
1284	* testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1285	type from char [50] to const char *.
1286	(places_array): Add a testcase for simplified syntax place followed
1287	by length or length and stride.
1288
12892021-10-15  Jakub Jelinek  <jakub@redhat.com>
1290
1291	* env.c (parse_one_place): Handle non-negative-number the same
1292	as { non-negative-number }.  Reject even !number:1 and
1293	!number:1:stride or !place:1 or !place:1:stride instead of just
1294	length other than 1.
1295	* libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1296	and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1297	omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1298	as implemented.
1299	* testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1300	simplified syntax.
1301
13022021-10-15  Jakub Jelinek  <jakub@redhat.com>
1303
1304	* env.c (parse_schedule): For strtoul or strtoull calls which don't
1305	clearly reject return value 0 as invalid handle the case where end
1306	pointer is the same as first argument as invalid.
1307	(parse_unsigned_long_1): Likewise.
1308	(parse_one_place): Likewise.
1309	(parse_places_var): Likewise.
1310	(parse_stacksize): Likewise.
1311	(parse_spincount): Likewise.
1312	(parse_affinity): Likewise.
1313	(parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
1314	Make code valid C89.
1315	* config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1316	For strtoul calls which don't clearly reject return value 0 as
1317	invalid handle the case where end pointer is the same as first
1318	argument as invalid.
1319	(gomp_affinity_init_level_1): Likewise.
1320	(gomp_affinity_init_numa_domains): Likewise.
1321	* config/rtems/proc.c (parse_thread_pools): Likewise.
1322
13232021-10-15  Jakub Jelinek  <jakub@redhat.com>
1324
1325	* config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1326	after creating count places clean up and return immediately.
1327	* testsuite/libgomp.c/places-6.c: New test.
1328	* testsuite/libgomp.c/places-7.c: New test.
1329	* testsuite/libgomp.c/places-8.c: New test.
1330	* testsuite/libgomp.c/places-9.c: New test.
1331	* testsuite/libgomp.c/places-10.c: New test.
1332
13332021-10-15  Jakub Jelinek  <jakub@redhat.com>
1334
1335	* env.c (parse_places_var): Handle numa_domains as level 5.
1336	* config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1337	function.
1338	(gomp_affinity_init_level): Use it instead of
1339	gomp_affinity_init_level_1 for level == 5.
1340	* testsuite/libgomp.c/places-5.c: New test.
1341
13422021-10-15  Jakub Jelinek  <jakub@redhat.com>
1343
1344	* env.c (parse_places_var): Handle ll_caches as level 4.
1345	* config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1346	function.
1347	(gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1348	last level cache.
1349	(gomp_affinity_init_level): Likewise.
1350	* testsuite/libgomp.c/places-1.c: New test.
1351	* testsuite/libgomp.c/places-2.c: New test.
1352	* testsuite/libgomp.c/places-3.c: New test.
1353	* testsuite/libgomp.c/places-4.c: New test.
1354
13552021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
1356
1357	* libgomp.texi (OpenMP 5.0): Update entry for declare variant
1358	directive.
1359
13602021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
1361
1362	* testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1363
13642021-10-12  Julian Brown  <julian@codesourcery.com>
1365
1366	* target.c (gomp_copy_host2dev): Release device lock on cbuf
1367	error path.
1368
13692021-10-12  Tobias Burnus  <tobias@codesourcery.com>
1370
1371	* testsuite/libgomp.fortran/icv-3.f90: New.
1372	* testsuite/libgomp.fortran/icv-4.f90: New.
1373
13742021-10-12  Jakub Jelinek  <jakub@redhat.com>
1375
1376	* libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1377	omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1378	OMP_TEAMS_THREAD_LIMIT): Document.
1379
13802021-10-12  Jakub Jelinek  <jakub@redhat.com>
1381
1382	* libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1383	to avoid makeinfo warnings.
1384
13852021-10-12  Jakub Jelinek  <jakub@redhat.com>
1386
1387	* testsuite/libgomp.c-c++-common/icv-3.c: New test.
1388	* testsuite/libgomp.c-c++-common/icv-4.c: New test.
1389
13902021-10-12  Jakub Jelinek  <jakub@redhat.com>
1391
1392	PR libgomp/102628
1393	PR libgomp/102668
1394	* testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1395	allocation sizes from 420 to 320 and from 768 to 568.
1396	* testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1397	* testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1398	for cr from 16 to 4.
1399
14002021-10-12  Jakub Jelinek  <jakub@redhat.com>
1401
1402	* testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1403	* testsuite/libgomp.c/scan-12.c: Likewise.
1404	* testsuite/libgomp.c/scan-13.c: Likewise.
1405	* testsuite/libgomp.c/scan-14.c: Likewise.
1406	* testsuite/libgomp.c/scan-15.c: Likewise.
1407	* testsuite/libgomp.c/scan-16.c: Likewise.
1408	* testsuite/libgomp.c/scan-17.c: Likewise.
1409	* testsuite/libgomp.c/scan-18.c: Likewise.
1410	* testsuite/libgomp.c/scan-19.c: Likewise.
1411	* testsuite/libgomp.c/scan-20.c: Likewise.
1412	* testsuite/libgomp.c/scan-21.c: Likewise.
1413	* testsuite/libgomp.c/scan-22.c: Likewise.
1414	* testsuite/libgomp.c++/scan-9.C: Likewise.
1415	* testsuite/libgomp.c++/scan-10.C: Likewise.
1416	* testsuite/libgomp.c++/scan-11.C: Likewise.
1417	* testsuite/libgomp.c++/scan-12.C: Likewise.
1418	* testsuite/libgomp.c++/scan-13.C: Likewise.
1419	* testsuite/libgomp.c++/scan-14.C: Likewise.
1420	* testsuite/libgomp.c++/scan-15.C: Likewise.
1421	* testsuite/libgomp.c++/scan-16.C: Likewise.
1422
14232021-10-12  Kewen Lin  <linkw@linux.ibm.com>
1424
1425	* testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1426
14272021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
1428
1429	* allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1430	omp_atv_serialized.
1431	* omp.h.in: Add deprecated flag for omp_atv_sequential.
1432	* omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1433	* testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1434	* testsuite/libgomp.fortran/alloc-12.f90: New test.
1435
14362021-10-11  Jakub Jelinek  <jakub@redhat.com>
1437
1438	* omp.h.in (omp_set_num_teams, omp_get_max_teams,
1439	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1440	* omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1441	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1442	* omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1443	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1444	* libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1445	* libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1446	omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1447	omp_set_teams_thread_limit{,_,_8_}.
1448	* icv.c (omp_set_num_teams, omp_get_max_teams,
1449	omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1450	functions.
1451	* env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1452	(omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1453	(initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1454	vars.
1455	* teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1456	gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
1457	is not specified, use gomp_nteams_var.
1458	* fortran.c (omp_set_num_teams, omp_get_max_teams,
1459	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1460	ialias_redirect.
1461	(omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1462	omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1463	omp_get_teams_thread_limit_): New functions.
1464
14652021-10-09  liuhongt  <hongtao.liu@intel.com>
1466
1467	* testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1468	* testsuite/libgomp.c++/scan-11.C: Ditto.
1469	* testsuite/libgomp.c++/scan-12.C: Ditto.
1470	* testsuite/libgomp.c++/scan-13.C: Ditto.
1471	* testsuite/libgomp.c++/scan-14.C: Ditto.
1472	* testsuite/libgomp.c++/scan-15.C: Ditto.
1473	* testsuite/libgomp.c++/scan-16.C: Ditto.
1474	* testsuite/libgomp.c++/scan-9.C: Ditto.
1475	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1476	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1477	* testsuite/libgomp.c/scan-11.c: Ditto.
1478	* testsuite/libgomp.c/scan-12.c: Ditto.
1479	* testsuite/libgomp.c/scan-13.c: Ditto.
1480	* testsuite/libgomp.c/scan-14.c: Ditto.
1481	* testsuite/libgomp.c/scan-15.c: Ditto.
1482	* testsuite/libgomp.c/scan-16.c: Ditto.
1483	* testsuite/libgomp.c/scan-17.c: Ditto.
1484	* testsuite/libgomp.c/scan-18.c: Ditto.
1485	* testsuite/libgomp.c/scan-19.c: Ditto.
1486	* testsuite/libgomp.c/scan-20.c: Ditto.
1487	* testsuite/libgomp.c/scan-21.c: Ditto.
1488	* testsuite/libgomp.c/scan-22.c: Ditto.
1489
14902021-10-09  Jakub Jelinek  <jakub@redhat.com>
1491
1492	* libgomp.texi (OpenMP 5.1): Mention implemented support for
1493	structured block sequences in C/C++.  Mention support for
1494	unconstrained/reproducible modifiers on order clause.
1495	Mention partial (C/C++ only) support of extentensions to atomics
1496	construct.  Mention partial (C/C++ on clause only) support of
1497	align/allocator modifiers on allocate clause.
1498
14992021-10-02  Tobias Burnus  <tobias@codesourcery.com>
1500
1501	* testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1502	based on libgomp.c-c++-common/order-reproducible-1.c.
1503	* testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1504	* testsuite/libgomp.fortran/my-usleep.c: New test.
1505
15062021-10-01  Tobias Burnus  <tobias@codesourcery.com>
1507
1508	* testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1509	* testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1510	* testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1511	* testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1512	based on libgomp.c-c++-common/alloc-9.c.
1513
15142021-10-01  Jakub Jelinek  <jakub@redhat.com>
1515
1516	* testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1517	* testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1518
15192021-10-01  Jakub Jelinek  <jakub@redhat.com>
1520
1521	* affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1522	ialias_redirect.
1523	* env.c (handle_omp_display_env): Use ialias_call.
1524	* icv-device.c: Move ialias right below each function.
1525	(omp_get_device_num): Use ialias_call.
1526	* fortran.c (omp_fulfill_event): Add ialias_redirect.
1527	* icv.c (omp_get_active_level): Add ialias_redirect.
1528
15292021-10-01  Jakub Jelinek  <jakub@redhat.com>
1530
1531	* omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1532	__alloc_align__ (1) attribute.
1533	* testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1534
15352021-09-30  Tobias Burnus  <tobias@codesourcery.com>
1536
1537	* testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1538	for -fintrinsic-modules-path= warning of the C compiler.
1539	* testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1540	* testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1541
15422021-09-30  Tobias Burnus  <tobias@codesourcery.com>
1543
1544	* libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1545	omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1546	* omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1547	omp_realloc): Add.
1548	* omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1549	omp_realloc): Add.
1550	* testsuite/libgomp.fortran/alloc-10.f90: New test.
1551	* testsuite/libgomp.fortran/alloc-6.f90: New test.
1552	* testsuite/libgomp.fortran/alloc-7.c: New test.
1553	* testsuite/libgomp.fortran/alloc-7.f90: New test.
1554	* testsuite/libgomp.fortran/alloc-8.f90: New test.
1555	* testsuite/libgomp.fortran/alloc-9.f90: New test.
1556
15572021-09-30  Jakub Jelinek  <jakub@redhat.com>
1558
1559	* omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1560	omp_realloc): New prototypes.
1561	(omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1562	attribute.
1563	* allocator.c: Include string.h.
1564	(omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
1565	variable and use it instead of alignment so that when retrying the old
1566	alignment is used again.  Don't retry if new alignment is the same
1567	as old alignment, unless allocator had pool size.
1568	(omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1569	(omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1570	* libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1571	omp_aligned_calloc and omp_realloc.
1572	* testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1573	omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1574	* testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1575	* testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1576	* testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1577	* testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1578
15792021-09-28  Tobias Burnus  <tobias@codesourcery.com>
1580
1581	PR libgomp/96661
1582	* configure.ac: Only check for int-type = 2*size_t support when
1583	building with Fortran support.
1584	* configure: Regenerate.
1585
15862021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
1587
1588	* testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1589	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1590
15912021-09-27  Aldy Hernandez  <aldyh@redhat.com>
1592
1593	* team.c: Initialize start_data.
1594	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1595	* testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1596
15972021-09-27  Tobias Burnus  <tobias@codesourcery.com>
1598
1599	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1600	dg-message back to dg-note.
1601
16022021-09-27  Tobias Burnus  <tobias@codesourcery.com>
1603
1604	PR fortran/94070
1605	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1606	expected dg-note output.
1607
16082021-09-22  Tobias Burnus  <tobias@codesourcery.com>
1609
1610	PR fortran/55534
1611	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1612	r12-3722 by removing -Wno-missing-include-dirs.
1613	* testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1614
16152021-09-22  Jakub Jelinek  <jakub@redhat.com>
1616
1617	* testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1618	* testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1619
16202021-09-21  Tobias Burnus  <tobias@codesourcery.com>
1621
1622	PR fortran/55534
1623	* testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1624	to ALWAYS_CFLAGS.
1625	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1626
16272021-09-18  Jakub Jelinek  <jakub@redhat.com>
1628
1629	* testsuite/libgomp.c++/default-1.C: New test.
1630	* testsuite/libgomp.c-c++-common/default-1.c: New test.
1631	* libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1632	to default clause in C and C++" as implemented.
1633
16342021-09-17  Julian Brown  <julian@codesourcery.com>
1635
1636	* testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1637
16382021-09-17  Julian Brown  <julian@codesourcery.com>
1639
1640	* testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1641
16422021-09-17  Jakub Jelinek  <jakub@redhat.com>
1643
1644	* libgomp.texi (OpenMP 5.1): Spelling fix,
1645	declare variante -> declare variant.
1646
16472021-09-17  Jakub Jelinek  <jakub@redhat.com>
1648
1649	* testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1650	Use /* */ comments instead of //.
1651	* testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1652	* testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1653	* testsuite/libgomp.c++/atomic-16.C: New test.
1654	* testsuite/libgomp.c++/atomic-17.C: New test.
1655
16562021-09-10  Jakub Jelinek  <jakub@redhat.com>
1657
1658	* testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1659	* testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1660	* testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1661
16622021-09-07  Tobias Burnus  <tobias@codesourcery.com>
1663
1664	* libgomp.texi (OpenMP Implementation Status): Extend
1665	OpenMP 5.0 section.
1666	(OpenACC Profiling Interface): Fix typo.
1667
16682021-09-07  Tobias Burnus  <tobias@codesourcery.com>
1669
1670	* libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1671	not to 4.5; link to new section.
1672	(OpenMP Implementation Status): New.
1673
16742021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
1675
1676	* testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1677
16782021-09-03  Tobias Burnus  <tobias@codesourcery.com>
1679
1680	* testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1681	dg-output.
1682	* testsuite/libgomp.fortran/error-1.f90: Likewise.
1683
16842021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
1685	    Jakub Jelinek  <jakub@redhat.com>
1686
1687	* testsuite/libgomp.c/address-space-1.c: New file.
1688
16892021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
1690
1691	* testsuite/lib/libgomp.exp
1692	(check_effective_target_offload_target_intelmic): Remove 'proc'.
1693	(check_effective_target_offload_device_intel_mic): New 'proc'.
1694	* testsuite/libgomp.c-c++-common/on_device_arch.h
1695	(device_arch_intel_mic, on_device_arch_intel_mic): New.
1696	* testsuite/libgomp.c-c++-common/target-45.c: Use that for
1697	'dg-xfail-run-if'.
1698	* testsuite/libgomp.fortran/target10.f90: Likewise.
1699
17002021-08-23  Tobias Burnus  <tobias@codesourcery.com>
1701
1702	* testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1703	* testsuite/libgomp.fortran/taskloop-4.f90: New test.
1704	* testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1705	* testsuite/libgomp.fortran/taskloop-5.f90: New test.
1706
17072021-08-23  Jakub Jelinek  <jakub@redhat.com>
1708
1709	* taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1710	* testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1711	* testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1712
17132021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
1714
1715	* config/nvptx/error.c (fwrite, exit): Override, too.
1716	* testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1717	of offloading testing.
1718	* testsuite/libgomp.fortran/error-1.f90: Likewise.
1719
17202021-08-20  Tobias Burnus  <tobias@codesourcery.com>
1721
1722	* testsuite/libgomp.fortran/error-1.f90: New test.
1723
17242021-08-20  Jakub Jelinek  <jakub@redhat.com>
1725
1726	* libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1727	* libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1728	* error.c (GOMP_warning, GOMP_error): New functions.
1729	* testsuite/libgomp.c-c++-common/error-1.c: New test.
1730
17312021-08-18  Tobias Burnus  <tobias@codesourcery.com>
1732
1733	* omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1734	omp_target_free. omp_target_is_present, omp_target_memcpy,
1735	omp_target_memcpy_rect, omp_target_associate_ptr,
1736	omp_target_disassociate_ptr): Add interface.
1737	* omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1738	omp_target_free. omp_target_is_present, omp_target_memcpy,
1739	omp_target_memcpy_rect, omp_target_associate_ptr,
1740	omp_target_disassociate_ptr): Add interface.
1741	* testsuite/libgomp.fortran/alloc-1.F90: Remove local
1742	interface block for omp_alloc + omp_free.
1743	* testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1744	* testsuite/libgomp.fortran/refcount-1.f90: New test.
1745	* testsuite/libgomp.fortran/target-12.f90: New test.
1746
17472021-08-18  Jakub Jelinek  <jakub@redhat.com>
1748
1749	* testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1750
17512021-08-17  Tobias Burnus  <tobias@codesourcery.com>
1752
1753	* testsuite/libgomp.fortran/scope-1.f90: New test.
1754	* testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1755
17562021-08-17  Jakub Jelinek  <jakub@redhat.com>
1757
1758	* Makefile.am (libgomp_la_SOURCES): Add scope.c
1759	* Makefile.in: Regenerated.
1760	* libgomp_g.h (GOMP_scope_start): Declare.
1761	* libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1762	* scope.c: New file.
1763	* testsuite/libgomp.c-c++-common/scope-1.c: New test.
1764	* testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1765
17662021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
1767
1768	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1769	'?:' issues.
1770
17712021-08-16  Tobias Burnus  <tobias@codesourcery.com>
1772
1773	* testsuite/libgomp.fortran/masked-1.f90: New test.
1774
17752021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
1776
1777	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1778
17792021-08-12  Jakub Jelinek  <jakub@redhat.com>
1780
1781	* testsuite/libgomp.c-c++-common/masked-1.c: New test.
1782
17832021-08-12  Tobias Burnus  <tobias@codesourcery.com>
1784
1785	* env.c (parse_bind_var): Accept 'primary' as alias for
1786	'master'.
1787	(omp_display_env): Add TODO comment to
1788	change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1789	* libgomp.texi: Change 'master thread' to 'primary thread'
1790	in line with OpenMP 5.1.
1791	(omp_get_proc_bind): Add omp_proc_bind_primary and note that
1792	omp_proc_bind_master is an alias of it.
1793	(OMP_PROC_BIND): Mention 'PRIMARY'.
1794	* omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1795	(omp_proc_bind_primary): Add.
1796	(omp_proc_bind_master): Deprecate for OpenMP 5.1.
1797	* omp_lib.f90.in (omp_proc_bind_primary): Add.
1798	(omp_proc_bind_master): Deprecate for OpenMP 5.1.
1799	* omp_lib.h.in (omp_proc_bind_primary): Add.
1800	* testsuite/libgomp.c/affinity-1.c: Check that
1801	'primary' works and is identical to 'master'.
1802
18032021-08-09  Julian Brown  <julian@codesourcery.com>
1804	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1805	    Thomas Schwinge  <thomas@codesourcery.com>
1806
1807	* plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1808	16.
1809	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1810	[acc_device_radeon]: Update.
1811	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1812	[ACC_DEVICE_TYPE_radeon]: Likewise.
1813	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1814	[acc_device_radeon]: Likewise.
1815	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1816	[ACC_DEVICE_TYPE_radeon]: Likewise.
1817	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1818	'openacc_radeon_accel_selected' and '-O0'.
1819	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1820
18212021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
1822
1823	* icv-device.c (omp_get_device_num): New API function, host side.
1824	* fortran.c (omp_get_device_num_): New interface function.
1825	* libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1826	* libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1827	omp_get_device_num_.
1828	* libgomp.texi (omp_get_device_num): Add documentation for new API
1829	function.
1830	* omp.h.in (omp_get_device_num): Add declaration.
1831	* omp_lib.f90.in (omp_get_device_num): Likewise.
1832	* omp_lib.h.in (omp_get_device_num): Likewise.
1833	* target.c (gomp_load_image_to_device): If additional entry for device
1834	number exists at end of returned entries from 'load_image_func' hook,
1835	copy the assigned device number over to the device variable.
1836	* config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1837	(omp_get_device_num): New API function, device side.
1838	* plugin/plugin-gcn.c ("symcat.h"): Add include.
1839	(GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1840	at end of returned 'target_table' entries.
1841	* config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1842	(omp_get_device_num): New API function, device side.
1843	* plugin/plugin-nvptx.c ("symcat.h"): Add include.
1844	(GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1845	at end of returned 'target_table' entries.
1846	* testsuite/lib/libgomp.exp
1847	(check_effective_target_offload_target_intelmic): New function for
1848	testing for intelmic offloading.
1849	* testsuite/libgomp.c-c++-common/target-45.c: New test.
1850	* testsuite/libgomp.fortran/target10.f90: New test.
1851
18522021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
1853	    Ulrich Drepper  <drepper@redhat.com>
1854
1855	* fortran.c (omp_display_env_, omp_display_env_8_): Only
1856	'#ifndef LIBGOMP_OFFLOADED_ONLY'.
1857
18582021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
1859	    Julian Brown  <julian@codesourcery.com>
1860	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1861
1862	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1863	's%oaccdevlow%oaccloops%g'.
1864	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1865	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1866	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1867	Likewise.
1868	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1869	Likewise.
1870	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1871	Likewise.
1872	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1873	Likewise.
1874	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1875	Likewise.
1876	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1877	Likewise.
1878	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1879	Likewise.
1880	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1881	Likewise.
1882	* testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1883
18842021-07-29  Aldy Hernandez  <aldyh@redhat.com>
1885
1886	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1887	threader.
1888	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
1889
18902021-07-27  Ulrich Drepper  <drepper@gmail.com>
1891
1892	* env.c (wait_policy, stacksize): New static variables,
1893	move out of handle_omp_display_env.
1894	(omp_display_env): New function.  The meat of the old
1895	handle_omp_display_env function.
1896	(handle_omp_display_env): Change to not take parameters
1897	and instead use the global variables.  Only perform
1898	parsing, defer to omp_display_env for the implementation.
1899	(initialize_env): Remove local variables wait_policy and
1900	stacksize.  Don't pass parameters to handle_omp_display_env.
1901	* fortran.c: Add ialias_redirect for omp_display_env.
1902	(omp_display_env_, omp_display_env_8_): New functions.
1903	* libgomp.map (OMP_5.1): New version.  Add omp_display_env,
1904	omp_display_env_, and omp_display_env_8_.
1905	* omp.h.in: Declare omp_display_env.
1906	* omp_lib.f90.in: Likewise.
1907	* omp_lib.h.in: Likewise.
1908
19092021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1910	    Julian Brown  <julian@codesourcery.com>
1911
1912	* target.c (gomp_coalesce_buf_add): Update comment.
1913	(gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1914	'aq && cbuf'.
1915	(gomp_map_vars_internal): Only 'if (!aq)', do
1916	'gomp_coalesce_buf_add'.
1917	* testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1918	XFAIL.
1919
19202021-07-27  Julian Brown  <julian@codesourcery.com>
1921	    Thomas Schwinge  <thomas@codesourcery.com>
1922
1923	* libgomp.h (gomp_copy_host2dev): Update prototype.
1924	* oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1925	argument to gomp_copy_host2dev (false).
1926	* plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1927	(copy_data): Don't free src.
1928	(queue_push_copy): Remove free_src handling.
1929	(GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1930	(GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1931	snapshotting.
1932	(GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1933	queue_push_copy.
1934	* target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1935	(gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
1936	data when true, and set up deferred freeing of temporary buffer.
1937	(gomp_copy_dev2host): Update call to goacc_device_copy_async.
1938	(gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1939	(gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1940	calls to gomp_copy_host2dev with appropriate ephemeral argument.
1941	* testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1942	XFAIL.
1943
19442021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1945	    Tom de Vries  <tom@codesourcery.com>
1946
1947	* testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1948	* testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1949
19502021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1951
1952	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1953	sequencing of 'async' data copying vs. profiling events.
1954	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1955	Likewise.
1956
19572021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1958	    Julian Brown  <julian@codesourcery.com>
1959
1960	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1961	'async'/'wait' issue.
1962	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1963	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1964	* testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1965
19662021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
1967	    Joseph Myers  <joseph@codesourcery.com>
1968	    Cesar Philippidis  <cesar@codesourcery.com>
1969
1970	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1971	file.
1972	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1973	Likewise.
1974	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1975	Likewise.
1976	* testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1977
19782021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
1979
1980	PR target/101484
1981	* configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1982	'-Wno-error=array-bounds'.
1983	* config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1984	* libgomp.h [__AMDGCN__]: Likewise.
1985
19862021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
1987
1988	PR target/101484
1989	* config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1990	* libgomp.h [__AMDGCN__]: Likewise.
1991
19922021-07-13  Jakub Jelinek  <jakub@redhat.com>
1993	    Florian Weimer  <fweimer@redhat.com>
1994
1995	* config/linux/sem.h: Don't include limits.h.
1996	(SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1997	* config/linux/affinity.c: Include limits.h.
1998
19992021-07-01  Jakub Jelinek  <jakub@redhat.com>
2000
2001	PR middle-end/94366
2002	* testsuite/libgomp.c-c++-common/pr94366.c: New test.
2003
20042021-06-29  Tobias Burnus  <tobias@codesourcery.com>
2005
2006	PR other/67300
2007	* testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2008	-foffload=nvptx-none= by -foffload-options=nvptx-none= to
2009	avoid disabling other offload targets.
2010	* testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2011	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2012	* testsuite/libgomp.c/target-44.c: Likewise.
2013
20142021-06-29  Tobias Burnus  <tobias@codesourcery.com>
2015
2016	* testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2017	target has shared memory and disable some scalar pointer/allocatable
2018	checks if not as firstprivate does not work.
2019
20202021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
2021
2022	PR testsuite/101114
2023	* testsuite/libgomp.c-c++-common/struct-elem-5.c:
2024	Add "target offload_device_nonshared_as" condition for enabling test.
2025
20262021-06-24  Jakub Jelinek  <jakub@redhat.com>
2027
2028	* testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2029	* testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2030	* testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2031	* testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2032
20332021-06-23  Jakub Jelinek  <jakub@redhat.com>
2034
2035	PR middle-end/101167
2036	* testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2037
20382021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
2039
2040	* hashtab.h (htab_clear): New function with initialization code
2041	factored out from...
2042	(htab_create): ...here, adjust to use htab_clear function.
2043	* libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2044	special refcount values, add comments.
2045	(REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2046	(REFCOUNT_LINK): Likewise.
2047	(REFCOUNT_STRUCTELEM): New special refcount range for structure
2048	element siblings.
2049	(REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2050	sibling maps.
2051	(REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2052	(REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
2053	(REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2054	(REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2055	(struct splay_tree_key_s): Add structelem_refcount and
2056	structelem_refcount_ptr fields into a union with dynamic_refcount.
2057	Add comments.
2058	(gomp_map_vars): Delete declaration.
2059	(gomp_map_vars_async): Likewise.
2060	(gomp_unmap_vars): Likewise.
2061	(gomp_unmap_vars_async): Likewise.
2062	(goacc_map_vars): New declaration.
2063	(goacc_unmap_vars): Likewise.
2064	* oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2065	(goacc_enter_datum): Likewise.
2066	(goacc_enter_data_internal): Likewise.
2067	* oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2068	and goacc_unmap_vars.
2069	(GOACC_data_start): Adjust to use goacc_map_vars.
2070	(GOACC_data_end): Adjust to use goacc_unmap_vars.
2071	* target.c (hash_entry_type): New typedef.
2072	(htab_alloc): New function hook for hashtab.h.
2073	(htab_free): Likewise.
2074	(htab_hash): Likewise.
2075	(htab_eq): Likewise.
2076	(hashtab.h): Add file include.
2077	(gomp_increment_refcount): New function.
2078	(gomp_decrement_refcount): Likewise.
2079	(gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2080	gomp_increment_refcount.
2081	(gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2082	to gomp_map_vars_existing.
2083	(gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2084	variable to guard OpenMP specific paths, adjust calls to
2085	gomp_map_vars_existing, add structure element sibling splay_tree_key
2086	sequence creation code, adjust Fortran map case to avoid increment
2087	under OpenMP.
2088	(gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2089	local refcount_set if caller passed in NULL, adjust call to
2090	gomp_map_vars_internal.
2091	(gomp_map_vars_async): Adjust and rename into...
2092	(goacc_map_vars): ...this new function, adjust call to
2093	gomp_map_vars_internal.
2094	(gomp_remove_splay_tree_key): New function with code factored out from
2095	gomp_remove_var_internal.
2096	(gomp_remove_var_internal): Add code to handle removing multiple
2097	splay_tree_key sequence for structure elements, adjust code to use
2098	gomp_remove_splay_tree_key for splay-tree key removal.
2099	(gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2100	gomp_decrement_refcount.
2101	(gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2102	local refcount_set if caller passed in NULL, adjust call to
2103	gomp_unmap_vars_internal.
2104	(gomp_unmap_vars_async): Adjust and rename into...
2105	(goacc_unmap_vars): ...this new function, adjust call to
2106	gomp_unmap_vars_internal.
2107	(GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2108	gomp_unmap_vars.
2109	(GOMP_target_ext): Likewise.
2110	(gomp_target_data_fallback): Adjust call to gomp_map_vars.
2111	(GOMP_target_data): Likewise.
2112	(GOMP_target_data_ext): Likewise.
2113	(GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2114	(gomp_exit_data): Add refcount_set parameter, adjust to use
2115	gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2116	after main loop.
2117	(GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2118	gomp_map_vars and gomp_exit_data.
2119	(gomp_target_task_fn): Likewise.
2120	* testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2121	* testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2122	* testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2123	* testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2124	* testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2125	* testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2126
21272021-06-15  Tobias Burnus  <tobias@codesourcery.com>
2128
2129	PR fortran/92568
2130	* testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2131
21322021-06-10  Andrew Stubbs  <ams@codesourcery.com>
2133	    Thomas Schwinge  <thomas@codesourcery.com>
2134
2135	* libgomp.map (GOACC_2.0.2): New symbol version.
2136	* libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2137	* oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2138
21392021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2140	    Andrew Stubbs  <ams@codesourcery.com>
2141
2142	* oacc-mem.c (goacc_enter_exit_data_internal): New function,
2143	extracted from...
2144	(GOACC_enter_exit_data): ... here.
2145	(GOACC_declare): Use it.
2146
21472021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2148
2149	* oacc-parallel.c (GOACC_declare): Move...
2150	* oacc-mem.c: ... here.
2151	* libgomp_g.h: Adjust.
2152
21532021-06-10  Andrew Stubbs  <ams@codesourcery.com>
2154	    Thomas Schwinge  <thomas@codesourcery.com>
2155
2156	* oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2157	handling.
2158
21592021-06-10  Jakub Jelinek  <jakub@redhat.com>
2160
2161	PR tree-optimization/100981
2162	* testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2163	dsdotr and dsdoti to 0.
2164
21652021-06-09  H.J. Lu  <hjl.tools@gmail.com>
2166
2167	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2168	if atomic compare-and-swap is supported on 'int'.
2169
21702021-06-09  Richard Biener  <rguenther@suse.de>
2171
2172	PR tree-optimization/100981
2173	* testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2174
21752021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2176
2177	* plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2178	unconditionally.
2179	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2180	Update.
2181	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2182	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2183
21842021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2185
2186	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2187	'-DACC_MEM_SHARED=0'.
2188	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2189	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2190	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2191	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2192	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2193	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2194	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2195	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2196	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2197	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2198	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2199	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2200	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2201	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2202	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2203	'acc_device_radeon' testing.
2204	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2205	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2206	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2207	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2208	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2209	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2210	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2211	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2212	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2213	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2214	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2215	for non-'openacc_nvidia_accel_selected'.
2216	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2217	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2218	all implement this checking".
2219	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2220	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2221	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2222	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2223	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2224
22252021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2226
2227	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2228	* testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2229
22302021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2231
2232	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2233	for 'acc_device_radeon'.
2234
22352021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2236
2237	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2238	for non-'acc_device_nvidia'.
2239
22402021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2241
2242	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2243	'acc_device_radeon' testing.
2244	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2245	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2246	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2247
22482021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2249
2250	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2251	require 'openacc_nvidia_accel_selected'.  Fix up for
2252	'ACC_DEVICE_TYPE_radeon'.
2253
22542021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2255
2256	* testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2257	'openacc_nvidia_accel_selected'.
2258	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2259
22602021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2261
2262	* testsuite/lib/libgomp.exp
2263	(check_effective_target_openacc_radeon_accel_selected):
2264	Streamline.
2265
22662021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2267
2268	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2269	PR80547 workaround.
2270
22712021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2272
2273	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2274	<acc_device_nvidia>: Update comment.
2275
22762021-05-28  Tobias Burnus  <tobias@codesourcery.com>
2277
2278	* testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2279
22802021-05-27  Jakub Jelinek  <jakub@redhat.com>
2281
2282	* testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2283	check_effective_target_openacc_cublas,
2284	check_effective_target_openacc_cudart): New.
2285	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2286	target openacc_cublas.
2287	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2288	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2289	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2290	target openacc_cuda.
2291	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2292	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2293	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2294	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2295	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2296	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2297	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2298	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2299	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2300	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2301	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2302	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2303	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2304	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2305	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2306	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2307	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2308	targets openacc_cublas and openacc_cudart.
2309	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2310	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2311	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2312	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2313	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2314	Require effective target openacc_cudart.
2315	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2316	for effective target openacc_cuda and add && defined USE_CUDA_H to
2317	preprocessor conditionals.  Guard -lcuda also on openacc_cuda
2318	effective target.
2319
23202021-05-26  Jakub Jelinek  <jakub@redhat.com>
2321
2322	PR libgomp/100573
2323	* config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2324	GOMP_target_end_data, GOMP_target_update_ext,
2325	GOMP_target_enter_exit_data): New dummy entrypoints.
2326	* config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2327	GOMP_target_end_data, GOMP_target_update_ext,
2328	GOMP_target_enter_exit_data): Likewise.
2329	* testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2330	OMPFROM, OMPTO): Define.
2331	(main): Remove #pragma omp target teams around all the tests.
2332	* testsuite/libgomp.c-c++-common/target-41.c: New test.
2333	* testsuite/libgomp.c-c++-common/target-42.c: New test.
2334
23352021-05-25  Jakub Jelinek  <jakub@redhat.com>
2336
2337	PR middle-end/99928
2338	* testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2339
23402021-05-24  Tobias Burnus  <tobias@codesourcery.com>
2341
2342	PR fortran/86470
2343	* testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2344	* testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2345	* testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2346
23472021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
2348
2349	PR testsuite/90115
2350	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2351	uninteresting/varying diagnostics.
2352
23532021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2354
2355	PR middle-end/90115
2356	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2357	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2358
23592021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2360
2361	PR middle-end/90115
2362	* testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2363	file.
2364	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2365	* testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2366	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2367	Likewise.
2368	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2369	Likewise.
2370	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2371	Likewise.
2372	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2373	Likewise.
2374	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2375	Likewise.
2376	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2377	Likewise.
2378	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2379	Likewise.
2380	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2381	Likewise.
2382	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2383	Likewise.
2384	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2385	Likewise.
2386	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2387	Likewise.
2388	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2389	Likewise.
2390	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2391	Likewise.
2392	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2393	Likewise.
2394	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2395	Likewise.
2396	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2397	Likewise.
2398	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2399	Likewise.
2400	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2401	Likewise.
2402	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2403	Likewise.
2404	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2405	Likewise.
2406	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2407	Likewise.
2408	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2409	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2410	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2411	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2412	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2413	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2414	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2415	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2416	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2417	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2418	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2419	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2420	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2421	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2422	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2423	Likewise.
2424	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2425	Likewise.
2426	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2427	Likewise.
2428	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2429	Likewise.
2430	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2431	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2432	Likewise.
2433	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2434	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2435	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2436	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2437	* testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2438	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2439	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2440	Likewise.
2441	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2442	Likewise.
2443	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2444	Likewise.
2445	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2446	Likewise.
2447	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2448	Likewise.
2449	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2450	Likewise.
2451	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2452	Likewise.
2453	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2454	Likewise.
2455	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2456	Likewise.
2457	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2458	Likewise.
2459	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2460	Likewise.
2461	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2462	Likewise.
2463	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2464	Likewise.
2465	* testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2466	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2467	* testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2468	Likewise.
2469	* testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2470	Likewise.
2471	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2472	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2473	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2474
24752021-05-21  Julian Brown  <julian@codesourcery.com>
2476	    Chung-Lin Tang  <cltang@codesourcery.com>
2477	    Thomas Schwinge  <thomas@codesourcery.com>
2478
2479	PR middle-end/90115
2480	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2481	test.
2482	* testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2483	Likewise.
2484	* testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2485	Likewise.
2486
24872021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2488
2489	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2490	for nvptx offloading.
2491
24922021-05-21  Tobias Burnus  <tobias@codesourcery.com>
2493
2494	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2495
24962021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
2497
2498	PR target/83812
2499	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2500
25012021-05-19  Julian Brown  <julian@codesourcery.com>
2502
2503	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2504
25052021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2506
2507	* testsuite/lib/libgomp.exp
2508	(check_effective_target_offload_target_nvptx): Don't shadow global
2509	'offload_targets' variable.
2510
25112021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2512
2513	* testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2514	'-latomic' to nvptx offloading compilation.
2515	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2516
25172021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2518
2519	* testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2520	offloading compilation.
2521
25222021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
2523
2524	* task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2525	if new tasks generated.
2526	* testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2527
25282021-05-14  Tobias Burnus  <tobias@codesourcery.com>
2529
2530	* testsuite/libgomp.fortran/parallel-master.f90: New test.
2531
25322021-05-13  Martin Liska  <mliska@suse.cz>
2533
2534	PR testsuite/100569
2535	* testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2536	* testsuite/libgomp.c/pr46032-2.c: Likewise.
2537	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2538	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2539
25402021-05-12  Tobias Burnus  <tobias@codesourcery.com>
2541
2542	* testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2543	* testsuite/libgomp.fortran/task-detach-12.f90: New test.
2544
25452021-05-11  Jakub Jelinek  <jakub@redhat.com>
2546
2547	PR middle-end/100471
2548	* taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2549	GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2550	reduction pointer.
2551	* testsuite/libgomp.c/task-reduction-4.c: New test.
2552
25532021-05-07  Tobias Burnus  <tobias@codesourcery.com>
2554	    Tom de Vries  <tdevries@suse.de>
2555
2556	* testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2557	complex/floating-point || + && reduction with 'omp target'.
2558	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2559
25602021-05-04  Tobias Burnus  <tobias@codesourcery.com>
2561
2562	* testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2563	* testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2564	* testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2565	* testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2566
25672021-05-04  Tobias Burnus  <tobias@codesourcery.com>
2568
2569	PR testsuite/100397
2570	* testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2571	declaration to scope of non-'depend'-guarded assignment to avoid races.
2572
25732021-05-03  Tom de Vries  <tdevries@suse.de>
2574
2575	PR target/100321
2576	* testsuite/libgomp.c/target-44.c: New test.
2577
25782021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
2579
2580	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2581
25822021-04-29  Tom de Vries  <tdevries@suse.de>
2583
2584	* testsuite/libgomp.c/pr81778.c: New test.
2585
25862021-04-29  Tom de Vries  <tdevries@suse.de>
2587
2588	PR target/100232
2589	* testsuite/libgomp.c/target-43.c: New file.
2590
25912021-04-28  Jakub Jelinek  <jakub@redhat.com>
2592	    Tobias Burnus  <tobias@codesourcery.com>
2593
2594	* configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2595	* target.c (gomp_load_plugin_for_device): If set and if a plugin
2596	can't be dlopened, silently assume it has no devices.
2597	* Makefile.in: Regenerate.
2598	* config.h.in: Regenerate.
2599	* configure: Regenerate.
2600
26012021-04-26  Tobias Burnus  <tobias@codesourcery.com>
2602
2603	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2604	Use [Ww]arning in dg-bogus as FE diagnostic and default
2605	diagnostic differ and the result depends on ENABLE_OFFLOAD.
2606	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2607	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2608	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2609
26102021-04-26  Tobias Burnus  <tobias@codesourcery.com>
2611
2612	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2613	Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2614	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2615	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2616	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2617
26182021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
2619	    Nathan Sidwell  <nathan@codesourcery.com>
2620	    Tom de Vries  <vries@codesourcery.com>
2621	    Julian Brown  <julian@codesourcery.com>
2622	    Kwok Cheung Yeung  <kcy@codesourcery.com>
2623
2624	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2625	'-Wopenacc-parallelism', and match diagnostics, as appropriate.
2626	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2627	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2628	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2629	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2630	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2631	Likewise.
2632	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2633	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2634	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2635	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2636	Likewise.
2637	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2638	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2639	Likewise.
2640	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2641	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2642	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2643	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2644	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2645	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2646	Likewise.
2647	* testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2648	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2649	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2650	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2651	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2652	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2653	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2654	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2655	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2656	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2657	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2658
26592021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
2660
2661	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2662	compile with '-w'.
2663	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2664	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2665	Likewise.
2666	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2667	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2668	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2669	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2670	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2671	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2672	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2673
26742021-04-22  Richard Biener  <rguenther@suse.de>
2675
2676	* testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2677	only on nvptx-none.
2678
26792021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2680
2681	* testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2682	omp_depend_kind instead of defining it as 16.
2683
26842021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2685
2686	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2687	New, based on check_effective_target_offload_target_nvptx.
2688	(check_effective_target_offload_target_nvptx): Call it.
2689	(check_effective_target_offload_target_amdgcn): New.
2690	* testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2691	Require target offload_target_nvptx || offload_target_amdgcn.
2692	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2693	* testsuite/libgomp.c/pr86416-1.c: Likewise.
2694	* testsuite/libgomp.c/pr86416-2.c: Likewise.
2695
26962021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2697
2698	* testsuite/libgomp.fortran/depobj-1.f90: New test.
2699
27002021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
2701
2702	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2703	'-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2704	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2705	Likewise.
2706	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2707	Likewise.
2708	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2709
27102021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
2711
2712	PR target/99555
2713	* testsuite/lib/libgomp.exp
2714	(check_effective_target_offload_device_nvptx): New.
2715	* testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2716	resolved, make sure that we exit quickly, with error status,
2717	XFAILed.
2718	* testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2719	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2720
27212021-04-14  Jakub Jelinek  <jakub@redhat.com>
2722
2723	PR testsuite/100071
2724	* testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2725	cp = omp_alloc with cp, p arguments instead of cq, q and call
2726	c_f_pointer after last cq = omp_alloc with cq, q.
2727
27282021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2729
2730	PR middle-end/98088
2731	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2732	for loop with GT/GE condition.
2733	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2734
27352021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
2736
2737	PR middle-end/84991
2738	PR middle-end/84992
2739	PR middle-end/90779
2740	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2741
27422021-04-09  Jakub Jelinek  <jakub@redhat.com>
2743
2744	PR libgomp/99984
2745	* team.c (gomp_thread_start): Call pthread_setspecific for
2746	!(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2747	has been initialized to avoid false positive warning.
2748
27492021-03-29  Tobias Burnus  <tobias@codesourcery.com>
2750
2751	PR target/99555
2752	* testsuite/lib/on_device_arch.c: Move to ...
2753	* testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2754	* testsuite/libgomp.fortran/on_device_arch.c: New file;
2755	#include on_device_arch.h.
2756	* testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2757	on_device_arch.h instead of using dg-additional-source.
2758	* testsuite/libgomp.c/pr99555-1.c: Likewise.
2759	* testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2760	on_device_arch.c without relative paths.
2761
27622021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2763
2764	* plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2765	the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2766	* plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2767	* config.h.in: Regenerate.
2768	* configure: Likewise.
2769
27702021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2771
2772	PR target/99555
2773	* testsuite/lib/on_device_arch.c: New file.
2774	* testsuite/libgomp.c/pr99555-1.c: Likewise.
2775	* testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2776	skip for nvptx offloading, with error status.
2777	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2778
27792021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2780
2781	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2782	OpenACC 'serial' construct diagnostic for nvptx offloading.
2783
27842021-03-15  Tobias Burnus  <tobias@codesourcery.com>
2785
2786	PR c++/99509
2787	* testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2788
27892021-03-12  Tobias Burnus  <tobias@codesourcery.com>
2790
2791	PR fortran/98858
2792	* testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2793
27942021-03-04  Jakub Jelinek  <jakub@redhat.com>
2795
2796	* configure.ac: Add AC_CHECK_SIZEOF([void *]).
2797	* plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2798	checking of -m32 or -mx32 options on the command line.
2799	* config.h.in: Regenerated.
2800	* configure: Regenerated.
2801
28022021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
2803
2804	* testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2805	support from the target.
2806
28072021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
2808	    Jakub Jelinek  <jakub@redhat.com>
2809
2810	PR libgomp/98738
2811	* libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2812	(struct gomp_task): Replace detach and completion_sem fields with
2813	union containing completion_sem and detach_team.  Add deferred_p
2814	field.
2815	(struct gomp_team): Remove task_detach_queue.
2816	* task.c: Include assert.h.
2817	(gomp_init_task): Initialize deferred_p and completion_sem fields.
2818	Rearrange initialization order of fields.
2819	(task_fulfilled_p): Delete.
2820	(GOMP_task): Use address of task as the event handle.  Remove
2821	initialization of detach field.  Initialize deferred_p field.
2822	Use automatic local for completion_sem.  Initialize detach_team field
2823	for deferred tasks.
2824	(gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2825	Set kind of suspended detach task to GOMP_TASK_DETACHED and
2826	decrement task_running_count.  Move finish_cancelled block out of
2827	else branch.  Relocate call to gomp_team_barrier_done.
2828	(GOMP_taskwait): Handle tasks with completion events that have not
2829	been fulfilled.
2830	(GOMP_taskgroup_end): Likewise.
2831	(omp_fulfill_event): Use address of task as event handle.  Post to
2832	completion_sem for undeferred tasks.  Clear detach_team if task
2833	has not finished.  For finished tasks, handle post-execution tasks,
2834	call gomp_team_barrier_wake if necessary, and free task.
2835	* team.c (gomp_new_team): Remove initialization of task_detach_queue.
2836	(free_team): Remove free of task_detach_queue.
2837	* testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2838	* testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2839	* testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2840	* testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2841	* testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2842	Change data-sharing of detach events on enclosing parallel to private.
2843	* testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
2844	taskwait directive.
2845	* testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2846	* testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2847	* testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2848	* testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2849	* testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2850	* testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2851	* testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2852	* testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2853	* testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2854	* testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2855	Change data-sharing of detach events on enclosing parallel to private.
2856	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
2857	taskwait directive.
2858	* testsuite/libgomp.fortran/task-detach-7.f90: New.
2859	* testsuite/libgomp.fortran/task-detach-8.f90: New.
2860	* testsuite/libgomp.fortran/task-detach-9.f90: New.
2861	* testsuite/libgomp.fortran/task-detach-10.f90: New.
2862	* testsuite/libgomp.fortran/task-detach-11.f90: New.
2863
28642021-02-22  Tobias Burnus  <tobias@codesourcery.com>
2865
2866	PR fortran/99171
2867	* testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2868
28692021-02-17  Julian Brown  <julian@codesourcery.com>
2870
2871	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2872	expected errors.
2873
28742021-02-17  Julian Brown  <julian@codesourcery.com>
2875
2876	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2877	* testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2878
28792021-02-11  Uro�� Bizjak  <ubizjak@gmail.com>
2880
2881	* config/linux/x86/futex.h (__futex_wait):
2882	Revert output type back to long.
2883	(__futex_wake): Ditto.
2884	(futex_wait): Update for revert.
2885	(futex_wake): Ditto.
2886
28872021-02-11  Uro�� Bizjak  <ubizjak@gmail.com>
2888
2889	* config/linux/x86/futex.h (__futex_wait): New static inline
2890	wrapper function.  Correct output type to int and
2891	timeout type to void *.
2892	(__futex_wake): New static inline wrapper function.
2893	Correct output type to int.
2894	(futex_wait): Use __futex_wait.
2895	(futex_wake): Use __futex_wake.
2896
28972021-02-10  Julian Brown  <julian@codesourcery.com>
2898
2899	PR fortran/98979
2900	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2901	errors.
2902
29032021-02-04  Julian Brown  <julian@codesourcery.com>
2904
2905	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2906
29072021-02-03  Andrew Stubbs  <ams@codesourcery.com>
2908
2909	* plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2910	EF_AMDGPU_MACH_AMDGCN_GFX908.
2911	(gcn_gfx908_s): New constant string.
2912	(isa_hsa_name): Add gfx908.
2913	(isa_code): Add gfx908.
2914
29152021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
2916
2917	* libgomp.texi (omp_fulfill_event): New entry.
2918
29192021-01-20  Jakub Jelinek  <jakub@redhat.com>
2920
2921	* task.c (GOMP_task): Rename priority argument to priority_arg,
2922	add priority automatic variable and modify that variable.  Instead of
2923	clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2924	check flags for that bit.
2925
29262021-01-19  Tobias Burnus  <tobias@codesourcery.com>
2927
2928	PR fortran/98476
2929	* testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2930
29312021-01-18  Andreas Schwab  <schwab@suse.de>
2932
2933	* configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2934
29352021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2936
2937	* config/rtems/sem.h (gomp_sem_getcount): New function.
2938
29392021-01-18  Jakub Jelinek  <jakub@redhat.com>
2940
2941	* config/linux/sem.h (gomp_sem_getcount): New function.
2942	* config/posix/sem.h (gomp_sem_getcount): New function.
2943	* config/posix/sem.c (gomp_sem_getcount): New function.
2944	* config/accel/sem.h (gomp_sem_getcount): New function.
2945	* task.c (task_fulfilled_p): Use gomp_sem_getcount.
2946	(omp_fulfill_event): Likewise.
2947
29482021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
2949
2950	* fortran.c (omp_fulfill_event_): New.
2951	* libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2952	(struct gomp_team): Add task_detach_queue and task_detach_count
2953	fields.
2954	* libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2955	* libgomp_g.h (GOMP_task): Add extra argument.
2956	* omp.h.in (enum omp_event_handle_t): New.
2957	(omp_fulfill_event): New.
2958	* omp_lib.f90.in (omp_event_handle_kind): New.
2959	(omp_fulfill_event): New.
2960	* omp_lib.h.in (omp_event_handle_kind): New.
2961	(omp_fulfill_event): Declare.
2962	* priority_queue.c (priority_tree_find): New.
2963	(priority_list_find): New.
2964	(priority_queue_find): New.
2965	* priority_queue.h (priority_queue_predicate): New.
2966	(priority_queue_find): New.
2967	* task.c (gomp_init_task): Initialize detach field.
2968	(task_fulfilled_p): New.
2969	(GOMP_task): Add detach argument.  Ignore detach argument if
2970	GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
2971	field.	Copy address of completion_sem into detach argument and
2972	into the start of the data record.  Wait for detach event if task
2973	not deferred.
2974	(gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2975	Remove completed tasks and requeue dependent tasks.
2976	(omp_fulfill_event): New.
2977	* team.c (gomp_new_team): Initialize task_detach_queue and
2978	task_detach_count fields.
2979	(free_team): Free task_detach_queue field.
2980	* testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2981	* testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2982	* testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2983	* testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2984	* testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2985	* testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2986	* testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2987	* testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2988	* testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2989	* testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2990	* testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2991	* testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2992
29932021-01-15  Jakub Jelinek  <jakub@redhat.com>
2994
2995	PR target/70454
2996	* configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2997	be added through preprocessor check on
2998	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2999
30002021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
3001
3002	PR libgomp/65099
3003	* plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3004	configurations.
3005	* configure: Regenerate.
3006	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3007	check.
3008
30092021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
3010
3011	* configure: Re-generate.
3012
30132021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
3014
3015	* configure: Re-generate.
3016
30172021-01-05  Julian Brown  <julian@codesourcery.com>
3018
3019	* plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3020	(struct ptx_device): Add omp_stacks struct.
3021	(nvptx_open_device): Initialise cached-stacks housekeeping info.
3022	(nvptx_close_device): Free cached stacks block and mutex.
3023	(nvptx_stacks_free): New function.
3024	(nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3025	(GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3026	(nvptx_stacks_alloc): Rename to...
3027	(nvptx_stacks_acquire): This.  Cache stacks block between runs if same
3028	size or smaller is required.
3029	(nvptx_stacks_free): Remove.
3030	(GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3031	during kernel execution.
3032
30332021-01-01  Jakub Jelinek  <jakub@redhat.com>
3034
3035	* libgomp.texi: Bump @copying's copyright year.
3036
30372020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
3038
3039	* libgomp.texi (Top): Avoid bad "up" link.
3040
30412020-12-18  Jakub Jelinek  <jakub@redhat.com>
3042
3043	* testsuite/libgomp.c/task-6.c: New test.
3044
30452020-12-09  Andrew Stubbs  <ams@codesourcery.com>
3046
3047	* plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3048	(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3049
30502020-12-08  Tobias Burnus  <tobias@codesourcery.com>
3051
3052	* testsuite/libgomp.fortran/scan-1.f90: New test.
3053
30542020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
3055
3056	PR target/97865
3057	* configure: Regenerate.
3058
30592020-11-29  John David Anglin  <danglin@gcc.gnu.org>
3060
3061	* configure: Regenerate.
3062
30632020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
3064
3065	* testsuite/libgomp.oacc-c++/cache-1.C: New.
3066	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3067
30682020-11-25  Andrew Stubbs  <ams@codesourcery.com>
3069
3070	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3071	expected results.
3072
30732020-11-24  Andrew Stubbs  <ams@codesourcery.com>
3074
3075	* plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3076	(reserved): Delete unused define.
3077
30782020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
3079
3080	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3081	Tcl 8.5-specific behavior.
3082	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3083
30842020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
3085
3086	* env.c (gomp_global_icv): Remove nest_var field.  Add
3087	max_active_levels_var field.
3088	(gomp_max_active_levels_var): Remove.
3089	(parse_boolean): Return true on success.
3090	(handle_omp_display_env): Express OMP_NESTED in terms of
3091	max_active_levels_var.  Change format specifier for
3092	max_active_levels_var.
3093	(initialize_env): Set max_active_levels_var from
3094	OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3095	OMP_PROC_BIND.
3096	* icv.c (omp_set_nested): Express in terms of
3097	max_active_levels_var.
3098	(omp_get_nested): Likewise.
3099	(omp_set_max_active_levels): Use max_active_levels_var field instead
3100	of gomp_max_active_levels_var.
3101	(omp_get_max_active_levels): Likewise.
3102	* libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
3103	max_active_levels_var field.
3104	(gomp_supported_active_levels): Set to UCHAR_MAX.
3105	(gomp_max_active_levels_var): Delete.
3106	* libgomp.texi (omp_get_nested): Update documentation.
3107	(omp_set_nested): Likewise.
3108	(OMP_MAX_ACTIVE_LEVELS): Likewise.
3109	(OMP_NESTED): Likewise.
3110	(OMP_NUM_THREADS): Likewise.
3111	(OMP_PROC_BIND): Likewise.
3112	* parallel.c (gomp_resolve_num_threads): Replace reference
3113	to nest_var with max_active_levels_var.  Use max_active_levels_var
3114	field instead of gomp_max_active_levels_var.
3115
31162020-11-18  Tobias Burnus  <tobias@codesourcery.com>
3117
3118	* testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3119	nvptx_usleep; use also for device={arch(gcn)}.
3120
31212020-11-14  Jakub Jelinek  <jakub@redhat.com>
3122
3123	* testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3124	(foo): Add tests for non-VLA private and firstprivate clauses on
3125	omp task.
3126	(bar): Likewise.  Remove taking of address from private/firstprivate
3127	variables.
3128	* testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3129	(foo): Add p, q, px and s arguments.  Add tests for array reductions
3130	and for non-VLA private and firstprivate clauses on omp task.
3131	(bar): Removed.
3132	(main): Adjust foo caller.  Don't call bar.
3133
31342020-11-13  Gerg�� Barany  <gergo@codesourcery.com>
3135	    Thomas Schwinge  <thomas@codesourcery.com>
3136
3137	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3138	New.
3139	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3140	Likewise.
3141	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3142	Likewise.
3143	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3144	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3145
31462020-11-13  Gerg�� Barany  <gergo@codesourcery.com>
3147	    Thomas Schwinge  <thomas@codesourcery.com>
3148
3149	PR fortran/94358
3150	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3151
31522020-11-13  Jakub Jelinek  <jakub@redhat.com>
3153
3154	* testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3155	for array reductions.
3156	(main): Adjust foo callers.
3157
31582020-11-12  Jakub Jelinek  <jakub@redhat.com>
3159
3160	* libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3161	* omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3162	* libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3163	* allocator.c (omp_aligned_alloc): New for now static function,
3164	add alignment argument and handle it.
3165	(omp_alloc): Reimplement using omp_aligned_alloc.
3166	(GOMP_alloc, GOMP_free): New functions.
3167	(omp_free): Add ialias.
3168	* testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3169	* testsuite/libgomp.c++/allocate-1.C: New test.
3170
31712020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
3172
3173	PR fortran/97782
3174	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3175
31762020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
3177
3178	* libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3179	usable.
3180	* oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3181	'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3182	(goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3183	(goacc_enter_data_internal): Likewise.
3184	* target.c (gomp_map_vars_internal):
3185	Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3186	of gomp_attach_pointer for OpenMP cases.
3187	(gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3188	(GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3189	* testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3190
31912020-11-05  Ulrich Drepper  <drepper@redhat.com>
3192	    Kwok Cheung Yeung  <kcy@codesourcery.com>
3193
3194	* Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3195	* Makefile.in: Regenerate.
3196	* fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3197	pragmas to ignore -Wdeprecated-declarations warnings.
3198	* icv.c: Likewise.
3199	* omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3200	Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3201	and omp_get_nested with __GOMP_DEPRECATED_5_0.
3202	* omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3203	deprecated.
3204	* testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3205	to test options.
3206	* testsuite/libgomp.c/affinity-1.c: Likewise.
3207	* testsuite/libgomp.c/affinity-2.c: Likewise.
3208	* testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3209	* testsuite/libgomp.c/lib-1.c: Likewise.
3210	* testsuite/libgomp.c/nested-1.c: Likewise.
3211	* testsuite/libgomp.c/nested-2.c: Likewise.
3212	* testsuite/libgomp.c/nested-3.c: Likewise.
3213	* testsuite/libgomp.c/pr32362-1.c: Likewise.
3214	* testsuite/libgomp.c/pr32362-2.c: Likewise.
3215	* testsuite/libgomp.c/pr32362-3.c: Likewise.
3216	* testsuite/libgomp.c/pr35549.c: Likewise.
3217	* testsuite/libgomp.c/pr42942.c: Likewise.
3218	* testsuite/libgomp.c/pr61200.c: Likewise.
3219	* testsuite/libgomp.c/sort-1.c: Likewise.
3220	* testsuite/libgomp.c/target-5.c: Likewise.
3221	* testsuite/libgomp.c/target-6.c: Likewise.
3222	* testsuite/libgomp.c/teams-1.c: Likewise.
3223	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
3224	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
3225	* testsuite/libgomp.c/thread-limit-4.c: Likewise.
3226	* testsuite/libgomp.fortran/affinity1.f90: Likewise.
3227	* testsuite/libgomp.fortran/lib1.f90: Likewise.
3228	* testsuite/libgomp.fortran/lib2.f: Likewise.
3229	* testsuite/libgomp.fortran/nested1.f90: Likewise.
3230	* testsuite/libgomp.fortran/teams1.f90: Likewise.
3231
32322020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3233
3234	PR target/85486
3235	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3236	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3237	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3238
32392020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3240
3241	PR testsuite/80219
3242	PR testsuite/85303
3243	* testsuite/lib/libgomp.exp (libgomp_init): Set
3244	'gcc_warning_prefix', 'gcc_error_prefix'.
3245
32462020-10-30  Jakub Jelinek  <jakub@redhat.com>
3247
3248	* target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3249	even in field_tgt_clear initializer.
3250
32512020-10-28  Jakub Jelinek  <jakub@redhat.com>
3252
3253	* testsuite/libgomp.c/target-42.c: New test.
3254
32552020-10-28  Jakub Jelinek  <jakub@redhat.com>
3256	    Tom de Vries  <tdevries@suse.de>
3257
3258	PR testsuite/81690
3259	* testsuite/libgomp.c/usleep.h: New file.
3260	* testsuite/libgomp.c/target-32.c: Include usleep.h.
3261	(main): Use tgt_usleep instead of usleep.
3262	* testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3263	(main): Use tgt_usleep instead of usleep.
3264
32652020-10-28  Jakub Jelinek  <jakub@redhat.com>
3266
3267	PR lto/96680
3268	* testsuite/libgomp.c/declare-variant-1.c: New test.
3269
32702020-10-22  Jakub Jelinek  <jakub@redhat.com>
3271
3272	* testsuite/libgomp.c/target-41.c: New test.
3273
32742020-10-22  Jakub Jelinek  <jakub@redhat.com>
3275
3276	* icv.c (omp_get_initial_device): Remove including corresponding
3277	ialias.
3278	* icv-device.c (omp_get_initial_device): New function.  Return
3279	gomp_get_num_devices ().  Add ialias.
3280	* target.c (resolve_device): Don't fail with
3281	OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3282	gomp_get_num_devices ().
3283	(omp_target_alloc, omp_target_free, omp_target_is_present,
3284	omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3285	omp_target_disassociate_ptr, omp_pause_resource): Use
3286	gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3287	first use in the functions, in uses dominated by the
3288	gomp_get_num_devices call use num_devices_openmp instead.
3289	* libgomp.texi (omp_get_initial_device): Document.
3290	* config/gcn/icv-device.c (omp_get_initial_device): New function.
3291	Add ialias.
3292	* config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3293	* testsuite/libgomp.c/target-40.c: New test.
3294
32952020-10-21  Jakub Jelinek  <jakub@redhat.com>
3296
3297	* env.c (parse_target_offload): Change new_offload var type to int,
3298	preinitialize to -1, remove found var and test new_offload != -1
3299	instead of found.
3300
33012020-10-20  Jakub Jelinek  <jakub@redhat.com>
3302
3303	* target.c (gomp_target_init): Inside of the function, use automatic
3304	variables corresponding to num_devices, num_devices_openmp and devices
3305	global variables and update the globals only at the end of the
3306	function.
3307
33082020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
3309
3310	* env.c (gomp_target_offload_var): New.
3311	(parse_target_offload): New.
3312	(handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3313	(initialize_env): Parse OMP_TARGET_OFFLOAD.
3314	* libgomp.h (gomp_target_offload_t): New.
3315	(gomp_target_offload_var): New.
3316	* libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3317	* target.c (resolve_device): Generate error if device not found and
3318	offloading is mandatory.
3319	(gomp_target_fallback): Generate error if offloading is mandatory.
3320	(GOMP_target): Add argument in call to gomp_target_fallback.
3321	(GOMP_target_ext): Likewise.
3322	(gomp_target_data_fallback): Generate error if offloading is mandatory.
3323	(GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3324	(GOMP_target_data_ext): Likewise.
3325	(gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3326	(gomp_target_init): Return early if offloading is disabled.
3327
33282020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
3329
3330	* libgomp.texi (omp_get_max_active_levels): Modify description.
3331	(omp_get_supported_active_levels): Make descriptions consistent.
3332
33332020-10-14  Jakub Jelinek  <jakub@redhat.com>
3334
3335	* libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3336
33372020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3338
3339	* env.c (gomp_max_active_levels_var): Initialize to
3340	gomp_supported_active_levels.
3341	(initialize_env): Limit gomp_max_active_levels_var to be at most
3342	equal to gomp_supported_active_levels.
3343	* fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3344	(omp_get_supported_active_levels_): New.
3345	* icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3346	to at most equal to gomp_supported_active_levels.
3347	(omp_get_supported_active_levels): New.
3348	* libgomp.h (gomp_supported_active_levels): New.
3349	* libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3350	omp_get_supported_active_levels_.
3351	* libgomp.texi (omp_get_supported_active_levels): New.
3352	(omp_set_max_active_levels): Update.  Add reference to
3353	omp_get_supported_active_levels.
3354	* omp.h.in (omp_get_supported_active_levels): New.
3355	* omp_lib.f90.in (omp_get_supported_active_levels): New.
3356	* omp_lib.h.in (omp_get_supported_active_levels): New.
3357	* testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3358	against omp_get_supported_active_levels.
3359	* testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3360
33612020-10-11  Clement Chigot  <clement.chigot@atos.net>
3362
3363	* config/t-aix: Delete and recreate libgomp before creating
3364	FAT library.
3365
33662020-10-08  Tom de Vries  <tdevries@suse.de>
3367
3368	PR libgomp/81802
3369	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3370	dimensions.
3371
33722020-10-06  Tom de Vries  <tdevries@suse.de>
3373
3374	* testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3375
33762020-10-06  Tom de Vries  <tdevries@suse.de>
3377
3378	PR middle-end/90861
3379	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3380
33812020-10-05  Tom de Vries  <tdevries@suse.de>
3382
3383	PR fortran/95654
3384	* testsuite/libgomp.fortran/pr95654.f90: New test.
3385
33862020-10-02  Tobias Burnus  <tobias@codesourcery.com>
3387
3388	* Makefile.in: Regenerate with automake 1.15.1.
3389	* aclocal.m4: Likewise.
3390	* configure: Likewise.
3391	* testsuite/Makefile.in: Likewise.
3392
33932020-09-30  Andrew Stubbs  <ams@codesourcery.com>
3394
3395	* parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3396	and amdgcn targets.
3397
33982020-09-30  Tobias Burnus  <tobias@codesourcery.com>
3399
3400	* testsuite/libgomp.fortran/declare-target-3.f90: New test.
3401
34022020-09-29  Andrew Stubbs  <ams@codesourcery.com>
3403
3404	* config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3405	total number of threads is one.
3406	(gomp_team_barrier_wake): Likewise.
3407	(gomp_team_barrier_wait_end): Likewise.
3408	(gomp_team_barrier_wait_cancel_end): Likewise.
3409	* config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3410	(gomp_team_barrier_wake): Likewise.
3411	(gomp_team_barrier_wait_end): Likewise.
3412	(gomp_team_barrier_wait_cancel_end): Likewise.
3413	* testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3414
34152020-09-28  Tobias Burnus  <tobias@codesourcery.com>
3416
3417	PR middle-end/96390
3418	* testsuite/libgomp.c++/pr96390.C: New test.
3419	* testsuite/libgomp.c-c++-common/pr96390.c: New test.
3420
34212020-09-27  Clement Chigot  <clement.chigot@atos.net>
3422
3423	* config/t-aix: Use $(AR) without -X32_64.
3424
34252020-09-25  Jakub Jelinek  <jakub@redhat.com>
3426
3427	* testsuite/libgomp.c/loop-25.c: New test.
3428
34292020-09-22  Tobias Burnus  <tobias@codesourcery.com>
3430
3431	PR fortran/95654
3432	* testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3433
34342020-09-22  Tom de Vries  <tdevries@suse.de>
3435
3436	* plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3437	fails.
3438
34392020-09-16  Nathan Sidwell  <nathan@acm.org>
3440
3441	* testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3442
34432020-09-15  Tobias Burnus  <tobias@codesourcery.com>
3444
3445	PR fortran/96668
3446	* target.c (gomp_map_vars_internal): Initialize has_nullptr.
3447
34482020-09-15  Tobias Burnus  <tobias@codesourcery.com>
3449
3450	PR fortran/96668
3451	* libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3452	* target.c (gomp_map_vars_existing): Add always_to_flag flag.
3453	(gomp_map_vars_existing): Update call to it.
3454	(gomp_map_fields_existing): Likewise
3455	(gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3456	now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3457	remapped.
3458	(GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3459	GOMP_MAP_POINTER.
3460	* testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3461	* testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3462
34632020-09-14  Tom de Vries  <tdevries@suse.de>
3464
3465	* config/nvptx/atomic.c: New file.  Add
3466	__sync_val_compare_and_swap_16.
3467	* testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3468	target offload_target_nvptx.
3469
34702020-09-08  Julian Brown  <julian@codesourcery.com>
3471
3472	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3473	iteration-ordering assumptions.
3474
34752020-09-08  Julian Brown  <julian@codesourcery.com>
3476
3477	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3478	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3479
34802020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
3481
3482	* plugin/plugin-nvptx.c (nvptx_free):
3483	Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3484	CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3485	comments.
3486
34872020-08-20  Tobias Burnus  <tobias@codesourcery.com>
3488
3489	* testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3490
34912020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3492
3493	* testsuite/libgomp.c-c++-common/reduction-16.c: New.
3494
34952020-08-13  Jakub Jelinek  <jakub@redhat.com>
3496
3497	* testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3498	* testsuite/libgomp.c/loop-23.c (main): Likewise.
3499	* testsuite/libgomp.c/loop-24.c: New test.
3500
35012020-08-08  Jakub Jelinek  <jakub@redhat.com>
3502	    Tobias Burnus  <tobias@codesourcery.com>
3503
3504	PR fortran/93553
3505	* testsuite/libgomp.fortran/pr93553.f90: New test.
3506
35072020-08-05  Jakub Jelinek  <jakub@redhat.com>
3508
3509	* testsuite/libgomp.c/loop-22.c: New test.
3510	* testsuite/libgomp.c/loop-23.c: New test.
3511
35122020-08-05  Jakub Jelinek  <jakub@redhat.com>
3513
3514	PR middle-end/96459
3515	* testsuite/libgomp.c/teams-3.c: New test.
3516	* testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3517	if not defined yet.
3518	(N(test)): Use it before all N(f*) calls.
3519	* testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3520	(main): Don't call all test_* functions from within
3521	#pragma omp teams reduction(|:err), call them directly.
3522
35232020-08-04  Tom de Vries  <tdevries@suse.de>
3524
3525	PR target/96428
3526	* testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3527	* testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3528
35292020-08-03  Julian Brown  <julian@codesourcery.com>
3530	    Thomas Schwinge  <thomas@codesourcery.com>
3531
3532	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3533	shared-memory devices.  Extend with further checking.
3534
35352020-08-03  Martin Jambor  <mjambor@suse.cz>
3536
3537	* plugin/Makefrag.am: Remove configuration of HSA plugin.
3538	* aclocal.m4: Regenerated.
3539	* Makefile.in: Regenerated.
3540	* config.h.in: Regenerated.
3541	* configure: Regenerated.
3542	* plugin/configfrag.ac: Likewise.
3543	* plugin/hsa_ext_finalize.h: Removed.
3544	* plugin/plugin-hsa.c: Likewise.
3545	* testsuite/Makefile.in: Regenerated.
3546	* testsuite/lib/libgomp.exp
3547	(offload_target_to_openacc_device_type): Remove hsa case.
3548	(check_effective_target_hsa_offloading_selected_nocache): Removed
3549	(check_effective_target_hsa_offloading_selected): Likewise.
3550	(libgomp_init): Do not add -Wno-hsa to additional_flags.
3551	* testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3552	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3553	* testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3554	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3555	* testsuite/libgomp.hsa.c/c.exp: Likewise.
3556	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3557	* testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3558	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3559	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3560	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3561	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3562	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3563	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3564	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3565	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3566	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3567	* testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3568	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3569	* testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3570	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3571	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3572	* testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3573	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3574	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3575
35762020-07-27  Julian Brown  <julian@codesourcery.com>
3577	    Thomas Schwinge  <thomas@codesourcery.com>
3578
3579	* libgomp.h (struct target_var_desc): Rename do_detach field to
3580	is_attach.
3581	* oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
3582	GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3583	(goacc_enter_data_internal): Don't affect reference counts
3584	for attach mappings.
3585	(goacc_exit_data_internal): Don't affect reference counts for detach
3586	mappings.
3587	* target.c (gomp_map_vars_existing): Don't affect reference counts for
3588	attach mappings.
3589	(gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3590	mark attach mappings.
3591	(gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3592	reference count for attach mappings.
3593	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3594	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3595	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3596	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3597	test as shouldfail.
3598	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3599	gracefully in no-finalize mode.
3600	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3601
36022020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
3603
3604	* testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3605	use.
3606	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3607	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3608
36092020-07-23  Julian Brown  <julian@codesourcery.com>
3610	    Thomas Schwinge  <thomas@codesourcery.com>
3611
3612	* target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3613	finalization for detach operation.
3614	* testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3615	New test.
3616
36172020-07-23  Tobias Burnus  <tobias@codesourcery.com>
3618
3619	* configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3620	* libgomp_f.h.in (omp_check_defines): Check whether
3621	sizeof of determined Fortran kind and C typedef match.
3622	* omp_lib.f90.in: Add omp_depened_kind.
3623	* omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3624	* configure: Regenerate.
3625	* Makefile.in: Regenerate.
3626	* testsuite/Makefile.in: Regenerate.
3627
36282020-07-22  Tobias Burnus  <tobias@codesourcery.com>
3629
3630	* testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3631	gcc/testsuite/c-c++-common/gomp/.
3632	* testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3633	* testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3634	from gcc/testsuite/gfortran.dg/gomp/.
3635	* testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3636
36372020-07-22  Tobias Burnus  <tobias@codesourcery.com>
3638
3639	* omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3640	* omp_lib.h.in: Likewise.
3641
36422020-07-18  H.J. Lu  <hjl.tools@gmail.com>
3643
3644	PR target/95620
3645	* testsuite/libgomp.c/pr95620.c: New test.
3646
36472020-07-16  Julian Brown  <julian@codesourcery.com>
3648	    Thomas Schwinge  <thomas@codesourcery.com>
3649
3650	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3651	* testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3652
36532020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3654
3655	* testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3656	avoid conversion on 32bit systems from 32bit to 64bit due
3657	to -fdefault-integer-8.
3658
36592020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3660
3661	* testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3662	variables; add character(kind=4) tests; update TODO comment.
3663
36642020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3665
3666	* allocator.c: Add ialias for omp_init_allocator and
3667	omp_destroy_allocator.
3668	* configure.ac: Set INTPTR_T_KIND.
3669	* configure: Regenerate.
3670	* Makefile.in: Regenerate.
3671	* testsuite/Makefile.in: Regenerate.
3672	* fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3673	omp_set_default_allocator_, omp_get_default_allocator_): New
3674	functions and ialias_redirect.
3675	* icv.c: Add ialias for omp_set_default_allocator and
3676	omp_get_default_allocator.
3677	* libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3678	omp_destroy_allocator_, omp_set_default_allocator_ and
3679	omp_get_default_allocator_.
3680	* omp_lib.f90.in: Add allocator traits parameters, declare
3681	allocator routines and add related kind parameters.
3682	* omp_lib.h.in: Likewise.
3683	* testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3684	* testsuite/libgomp.fortran/alloc-1.F90: New test.
3685	* testsuite/libgomp.fortran/alloc-2.F90: New test.
3686	* testsuite/libgomp.fortran/alloc-3.F: New test.
3687	* testsuite/libgomp.fortran/alloc-4.f90: New test.
3688	* testsuite/libgomp.fortran/alloc-5.f90: New test.
3689
36902020-07-14  Tom de Vries  <tom@codesourcery.com>
3691	    Cesar Philippidis  <cesar@codesourcery.com>
3692	    Thomas Schwinge  <thomas@codesourcery.com>
3693	    Kwok Cheung Yeung  <kcy@codesourcery.com>
3694
3695	* oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3696	New variable.
3697	(acc_init_1): Set acc_init_thread to pthread_self ().  Set
3698	acc_init_state to initializing at the start, and to initialized at the
3699	end.
3700	(self_initializing_p): New function.
3701	(acc_get_device_type): Return acc_device_none if called by thread that
3702	is currently executing acc_init_1.
3703	* libgomp.texi (acc_get_device_type): Update documentation.
3704	(Implementation Status and Implementation-Defined Behavior): Likewise.
3705	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3706
37072020-07-14  David Edelsohn  <dje.gcc@gmail.com>
3708
3709	* config/t-aix: Set BITS from compiler cpp macro.
3710
37112020-07-14  Tobias Burnus  <tobias@codesourcery.com>
3712
3713	* testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3714
37152020-07-14  Tobias Burnus  <tobias@codesourcery.com>
3716
3717	PR fortran/67311
3718	* testsuite/libgomp.fortran/target-map-1.f90: New test.
3719
37202020-07-14  Jakub Jelinek  <jakub@redhat.com>
3721
3722	* testsuite/libgomp.c/loop-21.c: New test.
3723
37242020-07-13  Julian Brown  <julian@codesourcery.com>
3725	    Thomas Schwinge  <thomas@codesourcery.com>
3726
3727	* testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3728
37292020-07-10  Julian Brown  <julian@codesourcery.com>
3730	    Thomas Schwinge  <thomas@codesourcery.com>
3731
3732	* libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3733	dynamic_refcount.
3734	(struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3735	* oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3736	dynamic_refcount.
3737	(acc_unmap_data): Update comment.
3738	(goacc_map_var_existing, goacc_enter_datum): Adjust for
3739	dynamic_refcount semantics.
3740	(goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3741	Adjust for dynamic_refcount semantics.
3742	(goacc_enter_data_internal): Implement "present" case of dynamic
3743	memory-map handling here.  Update "non-present" case for
3744	dynamic_refcount semantics.
3745	(goacc_exit_data_internal): Use goacc_exit_datum_1.
3746	* target.c (gomp_map_vars_internal): Remove
3747	GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
3748	handling.
3749	(gomp_unmap_vars_internal): Remove virtual_refcount handling.
3750	(gomp_load_image_to_device): Substitute dynamic_refcount for
3751	virtual_refcount.
3752	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3753	* testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3754	* testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3755	* testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3756	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3757	trace output.
3758	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3759	trace output.
3760	* testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3761	test.
3762	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3763	Remove stale comment.
3764	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3765	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3766	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3767	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3768	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3769	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3770
37712020-07-10  Julian Brown  <julian@codesourcery.com>
3772	    Thomas Schwinge  <thomas@codesourcery.com>
3773
3774	* oacc-mem.c (goacc_map_var_existing): New function.
3775	(goacc_enter_datum): Use above function.
3776	(goacc_exit_datum_1): New function.
3777	(goacc_exit_datum): Use above function.
3778
37792020-07-09  Julian Brown  <julian@codesourcery.com>
3780	    Thomas Schwinge  <thomas@codesourcery.com>
3781
3782	PR middle-end/95270
3783	* testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3784	* testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3785
37862020-07-09  Julian Brown  <julian@codesourcery.com>
3787
3788	* oacc-mem.c (find_group_last): Group data-movement clauses
3789	(GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3790	GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
3791
37922020-07-09  Jakub Jelinek  <jakub@redhat.com>
3793
3794	* testsuite/libgomp.c/loop-19.c: New test.
3795	* testsuite/libgomp.c/loop-20.c: New test.
3796
37972020-07-09  Jakub Jelinek  <jakub@redhat.com>
3798
3799	* omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3800	2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
3801	it.  Remove __omp_alloctrait_value_max__.
3802	* allocator.c (omp_init_allocator): Handle omp_atv_default for
3803	omp_atk_alignment and omp_atk_pool_size.
3804
38052020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3806
3807	* oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3808	behavior for 'GOMP_MAP_FORCE_FROM'.
3809	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3810
38112020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3812
3813	* oacc-mem.c (goacc_exit_data_internal): Remove
3814	'GOMP_MAP_ALWAYS_FROM' handling.
3815
38162020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
3817
3818	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3819	'scan-assembler' with 'scan-offload-rtl'.
3820	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3821	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3822	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3823	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3824
38252020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
3826
3827	* target.c (gomp_map_vars_existing): Assert 'kind !=
3828	GOMP_MAP_ATTACH'.
3829	(gomp_map_vars_internal): Clean up.
3830
38312020-06-27  Jakub Jelinek  <jakub@redhat.com>
3832
3833	* testsuite/libgomp.c/loop-17.c: New test.
3834	* testsuite/libgomp.c/loop-18.c: New test.
3835
38362020-06-26  Marek Polacek  <polacek@redhat.com>
3837
3838	* testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3839
38402020-06-23  Alexandre Oliva  <oliva@adacore.com>
3841
3842	* testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3843	* testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3844
38452020-06-22  David Edelsohn  <dje.gcc@gmail.com>
3846
3847	* Makefile.am: Use -include.
3848	* Makefile.in: Regenerate.
3849
38502020-06-21  David Edelsohn  <dje.gcc@gmail.com>
3851
3852	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3853	* Makefile.in: Regenerate
3854	* configure.ac (tmake_file): Substitute.
3855	* configure: Regenerate.
3856	* configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3857	* config/t-aix: New file.
3858
38592020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
3860
3861	PR lto/94848
3862	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3863	'dg-do run'.
3864
38652020-06-17  Andrew Stubbs  <ams@codesourcery.com>
3866
3867	* plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3868	variant for HSA_RUNTIME_LIB name.
3869	(find_executable_symbol_1): Delete.
3870	(find_executable_symbol): Delete.
3871	(init_kernel_properties): Add ".kd" suffix to symbol names.
3872	(find_load_offset): Delete.
3873	(create_and_finalize_hsa_program): Remove relocation handling.
3874
38752020-06-16  Tobias Burnus  <tobias@codesourcery.com>
3876
3877	* testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3878
38792020-06-08  Tobias Burnus  <tobias@codesourcery.com>
3880
3881	PR lto/94848
3882	PR middle-end/95551
3883	* testsuite/libgomp.fortran/target-var.f90: New test.
3884
38852020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
3886	    Julian Brown  <julian@codesourcery.com>
3887
3888	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3889	special handling.
3890
38912020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
3892	    Julian Brown  <julian@codesourcery.com>
3893
3894	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3895	Simplify.
3896
38972020-06-05  Julian Brown  <julian@codesourcery.com>
3898
3899	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3900	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3901
39022020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3903
3904	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3905	Evaluate 'copyfrom' individually for each entry.
3906	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3907
39082020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3909
3910	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3911	Evaluate 'finalize' individually for each entry.
3912	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3913	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3914	file.
3915
39162020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3917
3918	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3919	usage.
3920	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3921
39222020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3923	    Julian Brown  <julian@codesourcery.com>
3924
3925	* oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3926	checking.
3927	(acc_unmap_data, goacc_exit_data_internal): Restore
3928	'is_tgt_unmapped' checking.
3929	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3930	file.
3931	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3932	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3933	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3934	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3935	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3936	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3937
39382020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3939	    Julian Brown  <julian@codesourcery.com>
3940
3941	* oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3942
39432020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3944
3945	PR libgomp/92854
3946	* oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3947
39482020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3949
3950	PR libgomp/92854
3951	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3952	more.
3953
39542020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3955	    Julian Brown  <julian@codesourcery.com>
3956
3957	* oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3958	'gomp_map_vars'.
3959	 (acc_map_data): Clean up accordingly.
3960
39612020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3962
3963	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3964	of over-eager 'finalize' clause.
3965	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3966	file.
3967	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3968	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3969	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3970	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3971	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3972	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3973	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3974	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3975
39762020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3977
3978	* oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3979
39802020-06-04  Julian Brown  <julian@codesourcery.com>
3981
3982	* oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3983	error path.
3984	(goacc_detach_internal): Likewise.
3985
39862020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3987
3988	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3989	the checkpoint.
3990	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3991	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3992	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3993	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3994	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3995
39962020-06-02  Jakub Jelinek  <jakub@redhat.com>
3997
3998	* allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3999	defined.
4000
40012020-05-30  Jakub Jelinek  <jakub@redhat.com>
4002
4003	* testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4004
40052020-05-30  Jakub Jelinek  <jakub@redhat.com>
4006
4007	* allocator.c (omp_alloc): For size == 0, return NULL early.
4008
40092020-05-29  H.J. Lu  <hjl.tools@gmail.com>
4010
4011	PR bootstrap/95413
4012	* configure: Regenerated.
4013
40142020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
4015
4016	PR libfortran/95191
4017	* testsuite/libgomp.fortran/async_io_9.f90: New test.
4018
40192020-05-19  Jakub Jelinek  <jakub@redhat.com>
4020
4021	* omp.h.in (omp_uintptr_t): New typedef.
4022	(__GOMP_UINTPTR_T_ENUM): Define.
4023	(omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4024	omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4025	(__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4026	(omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4027	omp_get_default_allocator, omp_alloc, omp_free): Declare.
4028	* libgomp.h (struct gomp_team_state): Add def_allocator field.
4029	(gomp_def_allocator): Declare.
4030	* libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4031	omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4032	omp_alloc and omp_free.
4033	* team.c (gomp_team_start): Copy over ts.def_allocator.
4034	* env.c (gomp_def_allocator): New variable.
4035	(parse_wait_policy): Adjust function comment.
4036	(parse_allocator): New function.
4037	(handle_omp_display_env): Print OMP_ALLOCATOR.
4038	(initialize_env): Call parse_allocator.
4039	* Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4040	* allocator.c: New file.
4041	* icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4042	functions.
4043	* testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4044	* testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4045	* testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4046	* Makefile.in: Regenerated.
4047
40482020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
4049
4050	PR bootstrap/95147
4051	* configure: Regenerated.
4052
40532020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
4054
4055	PR libfortran/95119
4056	* testsuite/libgomp.fortran/close_errors_1.f90: New test.
4057
40582020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
4059
4060	* configure: Regenerated.
4061
40622020-05-14  Jakub Jelinek  <jakub@redhat.com>
4063
4064	* testsuite/libgomp.c-c++-common/target-40.c: New test.
4065
40662020-05-13  Tobias Burnus  <tobias@codesourcery.com>
4067
4068	PR fortran/94690
4069	* testsuite/libgomp.fortran/pr66199-3.f90: New.
4070	* testsuite/libgomp.fortran/pr66199-4.f90: New.
4071	* testsuite/libgomp.fortran/pr66199-5.f90: New.
4072	* testsuite/libgomp.fortran/pr66199-6.f90: New.
4073	* testsuite/libgomp.fortran/pr66199-7.f90: New.
4074	* testsuite/libgomp.fortran/pr66199-8.f90: New.
4075	* testsuite/libgomp.fortran/pr66199-9.f90: New.
4076
40772020-05-12  Jakub Jelinek  <jakub@redhat.com>
4078
4079	* testsuite/libgomp.c/target-39.c: New test.
4080
40812020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
4082
4083	* config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4084	* openacc.f90 (acc_device_current): Likewise.
4085	* openacc.h (acc_device_current): Likewise.
4086	* openacc_lib.h (acc_device_current): Likewise.
4087
4088	PR target/94282
4089	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4090	'dg-allow-blank-lines-in-output'.
4091
4092	* oacc-init.c (get_openacc_name): Handle 'gcn'.
4093	* testsuite/lib/libgomp.exp
4094	(offload_target_to_openacc_device_type) [amdgcn*]: Return
4095	'radeon'.  Adjust all users.
4096	(check_effective_target_openacc_amdgcn_accel_present): Rename
4097	to...
4098	(check_effective_target_openacc_radeon_accel_present): ... this.
4099	Adjust all users.
4100	(check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4101	(check_effective_target_openacc_radeon_accel_selected): ... this.
4102	Adjust all users.
4103
4104	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4105	'dg-do run'.
4106
41072020-04-23  Andrew Stubbs  <ams@codesourcery.com>
4108
4109	PR other/94629
4110
4111	* plugin/plugin-gcn.c (init_hsa_context): Check return value from
4112	hsa_iterate_agents.
4113	(GOMP_OFFLOAD_init_device): Check return values from both calls to
4114	hsa_agent_iterate_regions.
4115
41162020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
4117
4118	PR middle-end/94635
4119	* testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4120	run'.
4121
41222020-04-20  Tobias Burnus  <tobias@codesourcery.com>
4123
4124	PR middle-end/94120
4125	* testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4126	test case.
4127
41282020-04-17  Tobias Burnus  <tobias@codesourcery.com>
4129
4130	PR middle-end/94635
4131	* testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4132
41332020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
4134
4135	PR libgomp/92843
4136	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4137	Rename to...
4138	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4139	... this.
4140	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4141	Rename to...
4142	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4143	... this.
4144	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4145	Rename to...
4146	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4147	... this.
4148	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4149	Rename to...
4150	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4151	... this.
4152	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4153	Rename to...
4154	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4155	... this.
4156	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4157	Rename to...
4158	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4159	... this.
4160	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4161	Rename to...
4162	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4163	... this.
4164	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4165	Rename to...
4166	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4167	... this.
4168	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4169	Rename to...
4170	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4171	... this.
4172	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4173	Rename to...
4174	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4175	... this.
4176	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4177	Rename to...
4178	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4179	... this.
4180	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4181	Rename to...
4182	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4183	... this.
4184	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4185	Rename to...
4186	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4187	... this.
4188	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4189	Rename to...
4190	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4191	... this.
4192	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4193	Rename to...
4194	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4195	... this.
4196	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4197	Rename to...
4198	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4199	... this.
4200
42012020-04-10  Julian Brown  <julian@codesourcery.com>
4202	    Thomas Schwinge  <thomas@codesourcery.com>
4203
4204	PR libgomp/92843
4205	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4206	New file.
4207	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4208	Likewise.
4209	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4210	Likewise.
4211	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4212	Likewise.
4213	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4214	Likewise.
4215	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4216	Likewise.
4217	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4218	Likewise.
4219	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4220	Likewise.
4221	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4222	Likewise.
4223	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4224	Likewise.
4225	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4226	Likewise.
4227	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4228	Likewise.
4229	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4230	Likewise.
4231	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4232	Likewise.
4233	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4234	Likewise.
4235	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4236	Likewise.
4237
42382020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
4239
4240	* testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4241	run'.
4242
42432020-04-08  Tobias Burnus  <tobias@codesourcery.com>
4244
4245	PR middle-end/94120
4246	* libgomp.oacc-c++/declare-pr94120.C: New.
4247
42482020-04-06  Maciej W. Rozycki  <macro@wdc.com>
4249
4250	* configure.ac: Add testsuite/libgomp-site-extra.exp to output
4251	files.
4252	* configure: Regenerate.
4253	* testsuite/libgomp-site-extra.exp.in: New file.
4254	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4255	variable.
4256	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4257	variable.
4258	* testsuite/Makefile.in: Regenerate.
4259
42602020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
4261
4262	PR tree-optimization/89713
4263	PR c/94392
4264	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4265	'bar.sync'.
4266	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4267
42682020-03-31  Tobias Burnus  <tobias@codesourcery.com>
4269
4270	* target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4271	* testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4272
42732020-03-24  Tobias Burnus  <tobias@codesourcery.com>
4274
4275	PR libgomp/81689
4276	* testsuite/libgomp.c/target-link-1.c: Remove xfail.
4277
42782020-03-20  Tobias Burnus  <tobias@codesourcery.com>
4279
4280	PR libgomp/94251
4281	* target.c (gomp_load_image_to_device): Fix link
4282	variable handling.
4283
42842020-03-19  Jakub Jelinek  <jakub@redhat.com>
4285
4286	PR c++/93931
4287	* testsuite/libgomp.c++/pr93931.C: New test.
4288
42892020-03-19  Tobias Burnus  <tobias@codesourcery.com>
4290
4291	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4292	dg-allow-blank-lines-in-output.
4293
42942020-03-18  Julian Brown <julian@codesourcery.com>
4295	    Tobias Burnus  <tobias@codesourcery.com>
4296
4297	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4298	it work concurrently.
4299
43002020-03-18  Tobias Burnus  <tobias@codesourcery.com>
4301
4302	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4303	#define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4304	* libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4305
43062020-03-14  Jakub Jelinek  <jakub@redhat.com>
4307
4308	PR middle-end/93566
4309	* testsuite/libgomp.c/pr93566.c: New test.
4310
43112020-02-21  Frederik Harwath  <frederik@codesourcery.com>
4312
4313	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4314	changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4315	integer(acc_device_property) for the type of the return value of
4316	acc_get_property.
4317
43182020-02-19  Tobias Burnus  <tobias@codesourcery.com>
4319
4320	* .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4321	* config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4322	(openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4323	* libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4324	(acc_set_device_num): Fix Fortran argument name, use same name for C.
4325	(acc_get_property): Update Fortran interface to post-OpenACC 3.0
4326	corrections; add note about the previous interface and named constant.
4327	(OpenACC library and environment variables): Fix two typos.
4328	* openacc.f90: Use for all procedures the argument names from the spec
4329	as for ���_h they are user visible.
4330	(openacc_kinds): Rename acc_device_property to
4331	acc_device_property_kinds and change value to int32 ; and update users.
4332	Re-add acc_device_property for for backward compatibility.
4333	(acc_get_property_string_h): Clean up as acc_device_property_kind
4334	changed.
4335	(acc_get_property_h): Likewise and return c_size_t instead of
4336	acc_device_property.
4337	(openacc): Also export acc_device_property_kinds.
4338	(acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4339	acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4340	handling; check against /= 0 instead of == 1 to match C.
4341	* openacc_lib.h: Use for all procedures the argument names from the spec
4342	as for ���_h they are user visible. Place !GCC$ into the first column to
4343	be active also for fixed-form souce form.
4344	(acc_device_current, acc_device_property_kind, acc_device_property,
4345	acc_property_memory, acc_property_free_memory, acc_property_name,
4346	acc_property_vendor, acc_property_driver): New named constants.
4347	(acc_get_property, acc_get_property_string): New generic interface.
4348
43492020-02-13  Frederik Harwath  <frederik@codesourcery.com>
4350
4351	PR libgomp/93481
4352	* plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4353	* target.c (gomp_load_plugin_for_device): Make "async_run" loading
4354	optional.
4355	(gomp_target_task_fn): Assert "devicep->async_run_func".
4356	(clear_unsupported_flags): New function to remove unsupported flags
4357	(right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4358	(GOMP_target_ext): Apply clear_unsupported_flags to flags.
4359	* testsuite/libgomp.c/target-33.c:
4360	Remove xfail for offload_target_nvptx.
4361	* testsuite/libgomp.c/target-34.c: Likewise.
4362
43632020-02-10  Frederik Harwath  <frederik@codesourcery.com>
4364
4365	* testsuite/libgomp.c/target-33.c: Add xfail for execution on
4366	offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4367	* testsuite/libgomp.c/target-34.c: Likewise.
4368	* testsuite/libgomp.c/target-link-1.c: Add xfail for
4369	offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4370
43712020-02-09  Jakub Jelinek  <jakub@redhat.com>
4372
4373	* testsuite/libgomp.c/target-38.c: New test.
4374
43752020-02-06  Jakub Jelinek  <jakub@redhat.com>
4376
4377	PR libgomp/93515
4378	* testsuite/libgomp.c-c++-common/pr93515.c: New test.
4379
43802020-02-05  Tobias Burnus  <tobias@codesourcery.com>
4381
4382	* testsuite/lib/libgomp.exp
4383	(check_effective_target_offload_target_nvptx): Pass flags as 'options'
4384	and not as 'source' argument to libgomp_target_compile.
4385
43862020-02-03  Andrew Stubbs  <ams@codesourcery.com>
4387
4388	* plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4389	(gcn_gfx801_s): Remove.
4390	(isa_hsa_name): Remove gfx801.
4391	(isa_gcc_name): Remove gfx801/carizzo.
4392	(isa_code): Remove gfx801.
4393
43942020-02-03  Julian Brown  <julian@codesourcery.com>
4395	    Tobias Burnus  <tobias@codesourcery.com>
4396
4397	* libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4398	and *_finalize variants; document acc_attach and acc_detach; update
4399	references from OpenACC 2.0 to 2.6.
4400	* openacc.f90 (openacc_version): Update to 201711.
4401	* openacc_lib.h (openacc_version): Update to 201711.
4402	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4403	openacc_version to 201711.
4404	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4405
44062020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
4407
4408	* plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4409	and vgpr_count fields.
4410	(struct kernel_info): Add a field for a hsa_kernel_description.
4411	(run_kernel): Reduce the number of threads/workers if the requested
4412	number would require too many VGPRs.
4413	(init_basic_kernel_info): Initialize description field with
4414	the hsa_kernel_description entry for the kernel.
4415
44162020-01-29  Tobias Burnus  <tobias@codesourcery.com>
4417
4418	PR bootstrap/93409
4419	* plugin/configfrag.ac (enable_offload_targets): Skip
4420	HSA and GCN plugin besides -m32 also for -mx32.
4421	* configure: Regenerate.
4422
44232020-01-29  Frederik Harwath  <frederik@codesourcery.com>
4424
4425	* oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4426
44272020-01-29  Frederik Harwath  <frederik@codesourcery.com>
4428
4429	* plugin-gcn.c (struct agent_info): Add fields "name" and
4430	"vendor_name" ...
4431	(GOMP_OFFLOAD_init_device): ... and init from here.
4432	(struct hsa_context_info): Add field "driver_version_s" ...
4433	(init_hsa_contest): ... and init from here.
4434	(GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4435	implementation.
4436	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4437	Enable test execution for amdgcn and host offloading targets.
4438	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4439	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4440	(expect_device_properties): Split function into ...
4441	(expect_device_string_properties): ... this new function ...
4442	(expect_device_memory): ... and this new function.
4443	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4444	Add test.
4445
44462020-01-28  Julian Brown  <julian@codesourcery.com>
4447
4448	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4449	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4450	component/non-component variable refs in a single directive.
4451	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4452
44532020-01-24  Maciej W. Rozycki  <macro@wdc.com>
4454
4455	* configure.ac: Handle `--with-toolexeclibdir='.
4456	* Makefile.in: Regenerate.
4457	* aclocal.m4: Regenerate.
4458	* configure: Regenerate.
4459	* testsuite/Makefile.in: Regenerate.
4460
44612020-01-24  Frederik Harwath  <frederik@codesourcery.com>
4462
4463	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4464	(expect_device_properties): Remove "expected_free_mem" argument,
4465	change "expected_total_mem" argument type to size_t;
4466	change types of acc_get_property results to size_t,
4467	adapt format strings.
4468	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4469	Use %zu instead of %zd to print size_t values.
4470	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4471	rename to ...
4472	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4473	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4474	rename to ...
4475	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4476
44772020-01-23  Andrew Stubbs  <ams@codesourcery.com>
4478
4479	* plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4480	the device id.
4481
44822020-01-20  Andrew Stubbs  <ams@codesourcery.com>
4483
4484	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4485	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4486	Adjust test dimensions for amdgcn.
4487	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4488	gang/worker/vector expectations dynamically.
4489	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4490	(main): Likewise.
4491	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4492	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4493	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4494	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4495	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4496	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4497	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4498	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4499	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4500	(acc_gang): Recognise acc_device_radeon.
4501	(acc_worker): Likewise.
4502	(acc_vector): Likewise.
4503	(main): Set expectations for amdgcn.
4504	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4505	(main): Adjust gang/worker/vector expectations dynamically.
4506	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4507	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4508	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4509	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4510	for amdgcn.
4511
45122020-01-17  Andrew Stubbs  <ams@codesourcery.com>
4513
4514	* config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4515	acc_device_radeon.
4516	(openacc): Likewise.
4517	* openacc.f90 (openacc_kinds): Likewise.
4518	(openacc): Likewise.
4519	* openacc.h (acc_device_t): Likewise.
4520	* openacc_lib.h: Likewise.
4521	* testsuite/lib/libgomp.exp
4522	(check_effective_target_openacc_amdgcn_accel_present): Likewise.
4523	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4524	(cb_compute_construct_end): Likewise.
4525	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4526	(cb_enqueue_launch_start): Likewise.
4527	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4528	(cb_enter_data_end): Likewise.
4529	(cb_exit_data_start): Likewise.
4530	(cb_exit_data_end): Likewise.
4531	(cb_compute_construct_end): Likewise.
4532	(cb_enqueue_launch_start): Likewise.
4533	(cb_enqueue_launch_end): Likewise.
4534	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4535	(main): Likewise.
4536
45372020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
4538
4539	* libgomp-plugin.h (enum goacc_property): New.  Adjust all users
4540	to use this instead of 'enum gomp_device_property'.
4541	(GOMP_OFFLOAD_get_property): Rename to...
4542	(GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
4543	* libgomp.h (struct gomp_device_descr): Move
4544	'GOMP_OFFLOAD_openacc_get_property'...
4545	(struct acc_dispatch_t): ... here.  Adjust all users.
4546	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4547
4548	* target.c (gomp_map_vars_internal)
4549	<GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4550	paths.
4551
45522020-01-10  Jakub Jelinek  <jakub@redhat.com>
4553
4554	PR libgomp/93219
4555	* libgomp.h (gomp_print_string): Change return type from void to int.
4556	* affinity-fmt.c (gomp_print_string): Likewise.  Return true if
4557	not all characters have been written.
4558
45592020-01-08  Tobias Burnus  <tobias@codesourcery.com>
4560
4561	* libgomp.texi: Fix typos, use https.
4562
45632020-01-03  Tobias Burnus  <tobias@codesourcery.com>
4564
4565	* testsuite/libgomp.fortran/optional-map.f90: Add test for
4566	unallocated/disassociated actual arguments to nonallocatable/nonpointer
4567	dummy arguments; those are/shall be regarded as absent arguments.
4568	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4569	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4570
45712020-01-01  Jakub Jelinek  <jakub@redhat.com>
4572
4573	Update copyright years.
4574
4575	* libgomp.texi: Bump @copying's copyright year.
4576
45772019-12-31  Ayush Mittal  <ayush.m@samsung.com>
4578
4579	PR libgomp/93065
4580	* oacc-init.c (goacc_runtime_deinitialize): New function.
4581
45822019-12-28  Jakub Jelinek  <jakub@redhat.com>
4583
4584	PR bootstrap/93074
4585	* plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4586	(cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
4587
45882019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
4589	    Frederik Harwath  <frederik@codesourcery.com>
4590	    Thomas Schwinge  <tschwinge@codesourcery.com>
4591
4592	* libgomp.h (gomp_device_descr): Add `get_property_func' member.
4593	* libgomp-plugin.h (gomp_device_property_value): New union.
4594	(gomp_device_property_value): New prototype.
4595	* openacc.h (acc_device_t): Add `acc_device_current' enumeration
4596	constant.
4597	(acc_device_property_t): New enum.
4598	(acc_get_property, acc_get_property_string): New prototypes.
4599	* oacc-init.c (acc_get_device_type): Also assert that result
4600	is not `acc_device_current'.
4601	(get_property_any, acc_get_property, acc_get_property_string):
4602	New functions.
4603	* openacc.f90 (openacc_kinds): Add `acc_device_current' and
4604	`acc_property_memory', `acc_property_free_memory',
4605	`acc_property_name', `acc_property_vendor' and
4606	`acc_property_driver' constants.  Add `acc_device_property' data
4607	type.
4608	(openacc_internal): Add `acc_get_property' and
4609	`acc_get_property_string' interfaces.  Add `acc_get_property_h',
4610	`acc_get_property_string_h', `acc_get_property_l' and
4611	`acc_get_property_string_l'.
4612	* oacc-host.c (host_get_property): New function.
4613	(host_dispatch): Wire it.
4614	* target.c (gomp_load_plugin_for_device): Handle `get_property'.
4615	* libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4616	`acc_get_property_string' and `acc_get_property_string_h_' symbols.
4617	* libgomp.texi (OpenACC Runtime Library Routines): Add
4618	`acc_get_property'.
4619	(acc_get_property): New node.
4620	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4621	function (stub).
4622	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4623	* plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4624	`cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4625	calls.
4626	(GOMP_OFFLOAD_get_property): New function.
4627	(struct ptx_device): Add new field "name".
4628	(cuda_driver_version_s): Add new static variable ...
4629	(nvptx_init): ... and init from here.
4630
4631	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4632	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4633	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4634	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4635	with test helper functions.
4636
4637	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4638
46392019-12-22  Maciej W. Rozycki  <macro@wdc.com>
4640
4641	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4642	variable.
4643
46442019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
4645
4646	* target.c (gomp_map_vars_internal): Restore 'omp declare target
4647	link' handling.
4648
46492019-12-19  Julian Brown  <julian@codesourcery.com>
4650
4651	* testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4652	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4653	* testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4654
46552019-12-19  Julian Brown  <julian@codesourcery.com>
4656	    Cesar Philippidis  <cesar@codesourcery.com>
4657
4658	* testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4659	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4660	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4661	* testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4662	* testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4663	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4664	* testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4665	* testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4666	* testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4667	* testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4668	* testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4669	* testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4670	* testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4671
46722019-12-19  Julian Brown  <julian@codesourcery.com>
4673
4674	* testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4675	* testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4676	* testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4677	* testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4678	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4679	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4680	* testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4681	* testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4682	* testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4683	* testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4684	* testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4685	* testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4686
46872019-12-19  Julian Brown  <julian@codesourcery.com>
4688
4689	* libgomp.h (struct target_var_desc): Add do_detach flag.
4690	* oacc-init.c (acc_shutdown_1): Free aux block if present.
4691	* oacc-mem.c (find_group_last): Add SIZES parameter. Support
4692	struct components.  Tidy up and add some new checks.
4693	(goacc_enter_data_internal): Update call to find_group_last.
4694	(goacc_exit_data_internal): Support detach operations and
4695	GOMP_MAP_STRUCT.
4696	(GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4697	GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
4698	attach/detach in enter/exit data detection code.
4699	* target.c (gomp_map_vars_existing): Initialise do_detach field of
4700	tgt_var_desc.
4701	(gomp_map_vars_internal): Support attach.
4702	(gomp_unmap_vars_internal): Support detach.
4703
47042019-12-19  Julian Brown  <julian@codesourcery.com>
4705	    Thomas Schwinge  <thomas@codesourcery.com>
4706
4707	* libgomp.h (struct splay_tree_aux): Add attach_count field.
4708	(gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4709	* libgomp.map (OACC_2.6): New section. Add acc_attach,
4710	acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4711	acc_detach_finalize_async.
4712	* oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4713	acc_detach, acc_detach_async, acc_detach_finalize,
4714	acc_detach_finalize_async): New functions.
4715	* openacc.h (acc_attach, acc_attach_async, acc_detach,
4716	(acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4717	prototypes.
4718	* target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4719	(gomp_remove_var_internal): Free attachment counts if present.
4720	* testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4721	* testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4722
47232019-12-19  Julian Brown  <julian@codesourcery.com>
4724	    Cesar Philippidis  <cesar@codesourcery.com>
4725
4726	* libgomp.h (gomp_map_val): Add prototype.
4727	* oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4728	open-coding device-address calculation.
4729	* target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4730	non-present case.
4731
47322019-12-19  Julian Brown  <julian@codesourcery.com>
4733
4734	* libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4735	field for virtual_refcount.
4736	(enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4737	(gomp_free_memmap): Remove prototype.
4738	* oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4739	instead of calling gomp_free_memmap.
4740	* oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4741	dynamic_refcount.
4742	(acc_unmap_data): Open code instead of forcing target_mem_desc's
4743	to_free field to NULL then calling gomp_unmap_vars.  Handle
4744	REFCOUNT_INFINITY on target blocks.
4745	(goacc_enter_data): Rename to...
4746	(goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
4747	handling for mapping groups.  Use virtual_refcount instead of
4748	dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4749	map_map_vars_async call.  Re-do lookup for target pointer return value.
4750	(acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4751	renamed goacc_enter_datum function.
4752	(goacc_exit_data): Rename to...
4753	(goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
4754	(acc_delete, acc_delete_async, acc_delete_finalize,
4755	acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4756	acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4757	goacc_exit_datum function.
4758	(gomp_acc_remove_pointer, find_pointer): Remove functions.
4759	(find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4760	New functions.
4761	(GOACC_enter_exit_data): Use goacc_enter_data_internal and
4762	goacc_exit_data_internal helper functions.
4763	* target.c (gomp_map_vars_internal): Handle
4764	GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
4765	semantics.
4766	(gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4767	(gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4768	virtual_refcount field instead of dynamic_refcount.
4769	(gomp_free_memmap): Remove function.
4770	* testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4771	* testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4772	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4773
47742019-12-19  Julian Brown  <julian@codesourcery.com>
4775	    Thomas Schwinge  <thomas@codesourcery.com>
4776
4777	* libgomp.h (struct splay_tree_aux): New.
4778	(struct splay_tree_key_s): Replace link_key field with aux pointer.
4779	* target.c (gomp_map_vars_internal): Adjust for link_key being moved
4780	to aux struct.
4781	(gomp_remove_var_internal): Free aux block if present.
4782	(gomp_load_image_to_device): Zero-initialise aux field instead of
4783	link_key field.
4784	(omp_target_associate_pointer): Zero-initialise aux field.
4785
47862019-12-18  Jakub Jelinek  <jakub@redhat.com>
4787
4788	PR middle-end/86416
4789	* testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4790	q or none.
4791	* testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4792	L or none.
4793
47942019-12-19  Julian Brown  <julian@codesourcery.com>
4795	    Maciej W. Rozycki  <macro@codesourcery.com>
4796	    Tobias Burnus  <tobias@codesourcery.com>
4797	    Thomas Schwinge  <thomas@codesourcery.com>
4798
4799	* target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4800	* testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4801	* testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4802	* testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4803	* testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4804	* testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4805	* testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4806	* testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4807	* testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4808
48092019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
4810
4811	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4812	called...
4813	(goacc_insert_pointer): ... from here, "present" case.
4814	(goacc_insert_pointer): Inline function into...
4815	(GOACC_enter_exit_data): ... here, and simplify.
4816
4817	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4818	called...
4819	(goacc_insert_pointer): ... from here, "not present" case.
4820
4821	* oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
4822	all users.
4823
4824	* oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4825	'goacc_enter_data', 'goacc_exit_data'.
4826
4827	* oacc-mem.c (delete_copyout): Refactor into...
4828	(goacc_exit_data): ... this.  Adjust all users.
4829
4830	* oacc-mem.c (present_create_copy): Refactor into...
4831	(goacc_enter_data): ... this.  Adjust all users.
4832
4833	* target.c (gomp_unmap_vars_internal): Add a safeguard to
4834	'gomp_remove_var'.
4835
4836	* target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4837	like 'GOMP_MAP_FROM'.
4838
4839	PR libgomp/92726
4840	PR libgomp/92970
4841	PR libgomp/92984
4842	* oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4843	fails.
4844	(GOACC_enter_exit_data): Simplify accordingly.
4845	* testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4846	subsuming...
4847	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4848	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4849	file.
4850	* testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4851	subsuming...
4852	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4853	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4854	file.
4855	* testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4856	subsuming...
4857	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4858
4859	* oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4860	'finalize' handling.
4861
4862	PR libgomp/92848
4863	* oacc-mem.c (acc_map_data, present_create_copy)
4864	(goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4865	(acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4866	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4867	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4868	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4869	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4870	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4871	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4872	Remove "XFAIL"s.
4873
4874	* target.c (gomp_unmap_tgt): Make it 'static'.
4875	* libgomp.h (gomp_unmap_tgt): Remove.
4876
48772019-12-18  Tobias Burnus  <tobias@codesourcery.com>
4878
4879	PR middle-end/86416
4880	* testsuite/libgomp.c/pr86416-1.c: New.
4881	* testsuite/libgomp.c/pr86416-2.c: New.
4882
48832019-12-17  Tobias Burnus  <tobias@codesourcery.com>
4884
4885	* config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4886	all symbols as public except for the 'use ���, only' imported symbol,
4887	which is private.
4888	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4889	all symbols from module openacc_kinds as PUBLIC
4890	* openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4891	fix comment typo.
4892	* openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4893
48942019-12-13  Julian Brown  <julian@codesourcery.com>
4895
4896	PR libgomp/92881
4897
4898	* libgomp.h (gomp_remove_var_async): Add prototype.
4899	* oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4900	gomp_remove_var.
4901	* target.c (gomp_unref_tgt): Change return type to bool, indicating
4902	whether target_mem_desc was unmapped.
4903	(gomp_unref_tgt_void): New.
4904	(gomp_remove_var): Reimplement in terms of...
4905	(gomp_remove_var_internal): ...this new helper function.
4906	(gomp_remove_var_async): New, implemented using above helper function.
4907	(gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4908	gomp_unref_tgt.
4909
49102019-12-13  Andrew Stubbs  <ams@codesourcery.com>
4911
4912	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4913	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4914	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4915	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4916	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4917	Likewise.
4918	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4919	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4920
49212019-12-13  Tobias Burnus  <tobias@codesourcery.com>
4922
4923	* openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4924	as public except for the 'use ���, only' imported symbol, which is
4925	private.
4926	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4927	all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4928	attributes for acc_copyout_finalize and acc_delete_finalize.
4929
49302019-12-11  Jakub Jelinek  <jakub@redhat.com>
4931
4932	PR fortran/92899
4933	* testsuite/libgomp.fortran/atomic1.f90: New test.
4934
49352019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
4936
4937	PR libgomp/92843
4938	* oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4939	reference counting for structured 'REFCOUNT_INFINITY'.  Add some
4940	assertions.
4941	(goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4942	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4943	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4944	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4945	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4946
4947	* oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4948	* oacc-mem.c: ... here.
4949	(gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4950	'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4951	* libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4952	Remove.
4953	* libgomp_g.h: Update.
4954
4955	* oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4956	* oacc-async.c: ... here.
4957	* oacc-int.h (goacc_wait): Declare.
4958	* libgomp_g.h: Update
4959
4960	PR libgomp/92854
4961	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4962	New file.
4963	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4964	Likewise.
4965	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4966	Likewise.
4967	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4968	Likewise.
4969	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4970	Likewise.
4971	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4972	Likewise.
4973
49742019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
4975	    Julian Brown  <julian@codesourcery.com>
4976
4977	* target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4978	Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4979
49802019-12-11  Tobias Burnus  <tobias@codesourcery.com>
4981
4982	* omp_lib.h.in: Fix spelling of function declaration
4983	omp_get_cancell(l)ation.
4984	* libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4985	Fix typos.
4986	* env.c: Fix comment typos.
4987	* oacc-host.c: Likewise.
4988	* ordered.c: Likewise.
4989	* task.c: Likewise.
4990	* team.c: Likewise.
4991	* config/gcn/task.c: Likewise.
4992	* config/gcn/team.c: Likewise.
4993	* config/nvptx/task.c: Likewise.
4994	* config/nvptx/team.c: Likewise.
4995	* plugin/plugin-gcn.c: Likewise.
4996	* testsuite/libgomp.fortran/jacobi.f: Likewise.
4997	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4998	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4999
50002019-12-11  Tobias Burnus  <tobias@codesourcery.com>
5001
5002	* testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5003	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5004	unnecessary 'dg-additional-options "-w"'.
5005
50062019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
5007	    Julian Brown  <julian@codesourcery.com>
5008
5009	PR libgomp/92116
5010	PR libgomp/92877
5011
5012	* oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
5013	* libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5014	Adjust all users.
5015	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5016	Remove XFAIL.
5017	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5018	Likewise.
5019	* testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5020
50212019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
5022
5023	PR libgomp/92503
5024	* oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5025	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5026	file.
5027	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5028	Likewise.
5029	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5030	Likewise.
5031	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5032	Likewise.
5033	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5034	Likewise.
5035	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5036	Likewise.
5037	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5038	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5039	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5040	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5041	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5042	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5043	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5044	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5045	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5046	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5047
5048	PR libgomp/92840
5049	* oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5050	(acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5051	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5052	New file.
5053	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5054	Likewise.
5055	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5056	Likewise.
5057	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5058	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5059
5060	PR libgomp/92511
5061	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5062	this file...
5063	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5064	this file...
5065	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5066	file...
5067	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5068	file...
5069	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5070	... with their content moved into, and extended in this new file.
5071	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5072	New file.
5073	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5074	Likewise.
5075	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5076	Likewise.
5077	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5078	Likewise.
5079
5080	* testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5081
5082	PR libgomp/92854
5083	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5084
5085	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5086
5087	* target.c (gomp_exit_data): Use 'gomp_remove_var'.
5088
50892019-12-09  Tobias Burnus  <tobias@codesourcery.com>
5090
5091	* testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5092	unique.
5093	* testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5094	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5095	* testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5096	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5097	Ditto.
5098	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5099	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5100
51012019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
5102
5103	* config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5104
51052019-12-06  Tobias Burnus  <tobias@codesourcery.com>
5106	    Kwok Cheung Yeung <kcy@codesourcery.com>
5107
5108	* oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5109	if input it a NULL pointer.
5110	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5111	diagnostic of NULL pointer.
5112	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5113	* testsuite/libgomp.fortran/optional-map.f90: New.
5114	* testsuite/libgomp.fortran/use_device_addr-1.f90
5115	(test_dummy_opt_callee_1_absent): New.
5116	(test_dummy_opt_call_1): Call it.
5117	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5118	* testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5119	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5120	* testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5121	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5122	* testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5123	* testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5124	* testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5125	* testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5126	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5127	* testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5128	* testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5129	* testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5130	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5131	* testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5132	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5133
51342019-12-05  Tobias Burnus  <tobias@codesourcery.com>
5135
5136	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5137	expect dg-output of 'Error termination.' for GCN.
5138	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5139	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5140
51412019-12-04  Jakub Jelinek  <jakub@redhat.com>
5142
5143	PR fortran/92756
5144	* testsuite/libgomp.fortran/teams1.f90: New test.
5145	* testsuite/libgomp.fortran/teams2.f90: New test.
5146
51472019-12-03  Frederik Harwath  <frederik@codesourcery.com>
5148
5149	* oacc-init.c (acc_known_device_type): Add function.
5150	(unknown_device_type_error): Add function.
5151	(name_of_acc_device_t): Change to call unknown_device_type_error
5152	on unknown type.
5153	(resolve_device): Use acc_known_device_type.
5154	(acc_init): Fail if acc_device_t argument is not valid.
5155	(acc_shutdown): Likewise.
5156	(acc_get_num_devices): Likewise.
5157	(acc_set_device_type): Likewise.
5158	(acc_get_device_num): Likewise.
5159	(acc_set_device_num): Likewise.
5160	(acc_on_device): Add comment that argument validity is not checked.
5161
51622019-12-03  Andrew Stubbs  <ams@codesourcery.com>
5163
5164	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5165	Recognize amdgcn.
5166	(check_effective_target_openacc_amdgcn_accel_present): New proc.
5167	(check_effective_target_openacc_amdgcn_accel_selected): New proc.
5168	* testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5169	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5170	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5171
51722019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
5173
5174	PR libgomp/91938
5175	* configure.tgt: Avoid IE tls on *-*-musl*.
5176
51772019-11-29  Tobias Burnus  <tobias@codesourcery.com>
5178
5179	* testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5180	adding a common-block test case.
5181
51822019-11-29  Jakub Jelinek  <jakub@redhat.com>
5183
5184	PR c++/60228
5185	* testsuite/libgomp.c++/udr-20.C: New test.
5186	* testsuite/libgomp.c++/udr-21.C: New test.
5187
51882019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
5189
5190	* testsuite/lib/libgomp.exp
5191	(check_effective_target_offload_target_nvptx): New proc.
5192	* testsuite/libgomp.fortran/target-print-1.f90: Use it with
5193	'dg-skip-if'.
5194	* testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5195	* testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5196	* testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5197
51982019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5199
5200	* testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5201	* testsuite/libgomp.c/pr39591-2.c: Likewise.
5202	* testsuite/libgomp.c/pr39591-3.c: Likewise.
5203	* testsuite/libgomp.c/private-1.c: Likewise.
5204	* testsuite/libgomp.c/task-1.c: Likewise.
5205	* testsuite/libgomp.c/task-5.c: Renamed err to serr.
5206
52072019-11-20  Julian Brown  <julian@codesourcery.com>
5208
5209	* plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5210	aq->mutex here.
5211	(queue_push_launch): Lock aq->mutex before calling
5212	wait_for_queue_nonfull.
5213	(queue_push_callback): Likewise.
5214	(queue_push_asyncwait): Likewise.
5215	(queue_push_placeholder): Likewise.
5216
52172019-11-20  Julian Brown  <julian@codesourcery.com>
5218
5219	* plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5220	(copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5221	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5222	return code.
5223
52242019-11-20  Julian Brown  <julian@codesourcery.com>
5225
5226	PR libgomp/92511
5227
5228	* oacc-mem.c (present_create_copy): Fix device pointer return value in
5229	case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
5230	in non-present/create case.
5231	(delete_copyout): Change error condition to fail only on copies outside
5232	of mapped block.  Adjust error message accordingly.
5233	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5234	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5235	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5236	message.
5237	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5238	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5239	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5240
52412019-11-20  Maciej W. Rozycki  <macro@wdc.com>
5242
5243	* testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5244	libatomic in build-tree testing.
5245
52462019-11-18  Maciej W. Rozycki  <macro@wdc.com>
5247
5248	* testsuite/Makefile.in: Regenerate.
5249
52502019-11-15  Andrew Stubbs  <ams@codesourcery.com>
5251
5252	* testsuite/libgomp.c/target-print-1.c: New file.
5253	* testsuite/libgomp.fortran/target-print-1.f90: New file.
5254	* testsuite/libgomp.oacc-c/print-1.c: New file.
5255	* testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5256
52572019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5258	    Kwok Cheung Yeung  <kcy@codesourcery.com>
5259	    Julian Brown  <julian@codesourcery.com>
5260	    Tom de Vries  <tom@codesourcery.com>
5261
5262	* plugin/Makefrag.am: Add amdgcn plugin support.
5263	* plugin/configfrag.ac: Likewise.
5264	* plugin/plugin-gcn.c: New file.
5265	* configure: Regenerate.
5266	* Makefile.in: Regenerate.
5267	* testsuite/Makefile.in: Regenerate.
5268
52692019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5270
5271	* config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5272	and use team_malloc variants.
5273	(gomp_gcn_exit_kernel): Use team_free.
5274	* libgomp.h (TEAM_ARENA_SIZE): Define.
5275	(TEAM_ARENA_START): Define.
5276	(TEAM_ARENA_FREE): Define.
5277	(TEAM_ARENA_END): Define.
5278	(team_malloc): New function.
5279	(team_malloc_cleared): New function.
5280	(team_free): New function.
5281	* team.c (gomp_new_team): Initialize and use team_malloc.
5282	(free_team): Use team_free.
5283	(gomp_free_thread): Use team_free.
5284	(gomp_pause_host): Use team_free.
5285	* work.c (gomp_init_work_share): Use team_malloc.
5286	(gomp_fini_work_share): Use team_free.
5287
52882019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5289	    Kwok Cheung Yeung  <kcy@codesourcery.com>
5290	    Julian Brown  <julian@codesourcery.com>
5291	    Tom de Vries  <tom@codesourcery.com>
5292
5293	* Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5294	* Makefile.in: Regenerate.
5295	* config.h.in (PLUGIN_GCN): Add new undef.
5296	* config/accel/openacc.f90 (acc_device_gcn): New parameter.
5297	* config/gcn/affinity-fmt.c: New file.
5298	* config/gcn/bar.c: New file.
5299	* config/gcn/bar.h: New file.
5300	* config/gcn/doacross.h: New file.
5301	* config/gcn/icv-device.c: New file.
5302	* config/gcn/oacc-target.c: New file.
5303	* config/gcn/simple-bar.h: New file.
5304	* config/gcn/target.c: New file.
5305	* config/gcn/task.c: New file.
5306	* config/gcn/team.c: New file.
5307	* config/gcn/time.c: New file.
5308	* configure.ac: Add amdgcn*-*-*.
5309	* configure: Regenerate.
5310	* configure.tgt: Add amdgcn*-*-*.
5311	* libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5312	* libgomp.h (gcn_thrs): Add amdgcn variant.
5313	(set_gcn_thrs): Likewise.
5314	(gomp_thread): Likewise.
5315	* oacc-int.h (goacc_thread): Likewise.
5316	* oacc-target.c: New file.
5317	* openacc.f90 (acc_device_gcn): New parameter.
5318	* openacc.h (acc_device_t): Add acc_device_gcn.
5319	* team.c (gomp_free_pool_helper): Add amdgcn support.
5320
53212019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5322	    Julian Brown  <julian@codesourcery.com>
5323
5324	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5325	parameter.
5326	* oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5327	queue constructor.
5328	* oacc-host.c (host_openacc_async_construct): Add device parameter.
5329	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5330	device parameter.
5331
53322019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5333
5334	* configure.tgt (nvptx*-*-*): Add "accel" directory.
5335	* config/nvptx/libgomp-plugin.c: Move ...
5336	* config/accel/libgomp-plugin.c: ... to here.
5337	* config/nvptx/lock.c: Move ...
5338	* config/accel/lock.c: ... to here.
5339	* config/nvptx/mutex.c: Move ...
5340	* config/accel/mutex.c: ... to here.
5341	* config/nvptx/mutex.h: Move ...
5342	* config/accel/mutex.h: ... to here.
5343	* config/nvptx/oacc-async.c: Move ...
5344	* config/accel/oacc-async.c: ... to here.
5345	* config/nvptx/oacc-cuda.c: Move ...
5346	* config/accel/oacc-cuda.c: ... to here.
5347	* config/nvptx/oacc-host.c: Move ...
5348	* config/accel/oacc-host.c: ... to here.
5349	* config/nvptx/oacc-init.c: Move ...
5350	* config/accel/oacc-init.c: ... to here.
5351	* config/nvptx/oacc-mem.c: Move ...
5352	* config/accel/oacc-mem.c: ... to here.
5353	* config/nvptx/oacc-plugin.c: Move ...
5354	* config/accel/oacc-plugin.c: ... to here.
5355	* config/nvptx/omp-lock.h: Move ...
5356	* config/accel/omp-lock.h: ... to here.
5357	* config/nvptx/openacc.f90: Move ...
5358	* config/accel/openacc.f90: ... to here.
5359	* config/nvptx/pool.h: Move ...
5360	* config/accel/pool.h: ... to here.
5361	* config/nvptx/proc.c: Move ...
5362	* config/accel/proc.c: ... to here.
5363	* config/nvptx/ptrlock.c: Move ...
5364	* config/accel/ptrlock.c: ... to here.
5365	* config/nvptx/ptrlock.h: Move ...
5366	* config/accel/ptrlock.h: ... to here.
5367	* config/nvptx/sem.c: Move ...
5368	* config/accel/sem.c: ... to here.
5369	* config/nvptx/sem.h: Move ...
5370	* config/accel/sem.h: ... to here.
5371	* config/nvptx/thread-stacksize.h: Move ...
5372	* config/accel/thread-stacksize.h: ... to here.
5373
53742019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
5375	    Tobias Burnus  <tobias@codesourcery.com>
5376	    Frederik Harwath  <frederik@codesourcery.com>
5377	    Thomas Schwinge  <thomas@codesourcery.com>
5378
5379	libgomp/
5380	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5381	* testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5382	* testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5383
53842019-11-11  Tobias Burnus  <tobias@codesourcery.com>
5385	    Kwok Cheung Yeung  <kcy@codesourcery.com>
5386
5387	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5388	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5389
53902019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
5391
5392	* testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5393
5394	* testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5395	run'.
5396	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5397	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5398
53992019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
5400
5401	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5402	Add expected warnings about missing reduction clauses.
5403	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5404	Likewise.
5405	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5406	Likewise.
5407	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5408	Likewise.
5409
54102019-11-04  Tobias Burnus  <tobias@codesourcery.com>
5411
5412	* testsuite/libgomp.fortran/pr66199-1.f90: Remove
5413	'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5414	* testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5415	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5416	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5417	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5418
54192019-11-04  Tobias Burnus  <tobias@codesourcery.com>
5420
5421	PR fortran/92305
5422	* testsuite/libgomp.fortran/allocatable2.f90: Use
5423	unique numbers with 'stop'.
5424	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5425	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5426	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5427	* testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5428	* testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5429
54302019-11-01  Tobias Burnus  <tobias@codesourcery.com>
5431
5432	* testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5433	test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5434	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5435	* testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5436	* testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5437	* testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5438
54392019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5440
5441	* testsuite/libgomp.fortran/target9.f90: New.
5442
54432019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5444
5445	* testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5446	* testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5447	* testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5448	* testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5449	* testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5450	* testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5451	* testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5452	* testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5453	* testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5454	* testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5455	* testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5456	* testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5457	* testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5458	* testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5459	* testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5460	* testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5461	* testsuite/libgomp.fortran/associate1.f90: Ditto.
5462	* testsuite/libgomp.fortran/associate2.f90: Ditto.
5463	* testsuite/libgomp.fortran/associate3.f90: Ditto.
5464	* testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5465	* testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5466	* testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5467	* testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5468	* testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5469	* testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5470	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5471	* testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5472	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5473	* testsuite/libgomp.fortran/character1.f90: Ditto.
5474	* testsuite/libgomp.fortran/character2.f90: Ditto.
5475	* testsuite/libgomp.fortran/collapse1.f90: Ditto.
5476	* testsuite/libgomp.fortran/collapse2.f90: Ditto.
5477	* testsuite/libgomp.fortran/collapse3.f90: Ditto.
5478	* testsuite/libgomp.fortran/collapse4.f90: Ditto.
5479	* testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5480	* testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5481	* testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5482	* testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5483	* testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5484	* testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5485	* testsuite/libgomp.fortran/depend-1.f90: Ditto.
5486	* testsuite/libgomp.fortran/depend-2.f90: Ditto.
5487	* testsuite/libgomp.fortran/depend-3.f90: Ditto.
5488	* testsuite/libgomp.fortran/do1.f90: Ditto.
5489	* testsuite/libgomp.fortran/do2.f90: Ditto.
5490	* testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5491	* testsuite/libgomp.fortran/doacross1.f90: Ditto.
5492	* testsuite/libgomp.fortran/doacross2.f90: Ditto.
5493	* testsuite/libgomp.fortran/doacross3.f90: Ditto.
5494	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5495	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5496	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5497	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5498	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5499	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5500	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5501	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5502	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5503	* testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5504	* testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5505	* testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5506	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5507	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5508	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5509	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5510	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5511	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5512	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5513	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5514	* testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5515	* testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5516	* testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5517	* testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5518	* testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5519	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5520	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5521	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5522	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5523	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5524	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5525	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5526	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5527	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5528	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5529	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5530	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5531	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5532	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5533	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5534	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5535	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5536	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5537	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5538	* testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5539	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5540	* testsuite/libgomp.fortran/lib1.f90: Ditto.
5541	* testsuite/libgomp.fortran/lib4.f90: Ditto.
5542	* testsuite/libgomp.fortran/lock-1.f90: Ditto.
5543	* testsuite/libgomp.fortran/lock-2.f90: Ditto.
5544	* testsuite/libgomp.fortran/nested1.f90: Ditto.
5545	* testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5546	* testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5547	* testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5548	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5549	* testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5550	* testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5551	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5552	* testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5553	* testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5554	* testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5555	* testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5556	* testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5557	* testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5558	* testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5559	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5560	* testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5561	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5562	* testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5563	* testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5564	* testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5565	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5566	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5567	* testsuite/libgomp.fortran/pointer1.f90: Ditto.
5568	* testsuite/libgomp.fortran/pointer2.f90: Ditto.
5569	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
5570	* testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5571	* testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5572	* testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5573	* testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5574	* testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5575	* testsuite/libgomp.fortran/pr28390.f: Ditto.
5576	* testsuite/libgomp.fortran/pr29629.f90: Ditto.
5577	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
5578	* testsuite/libgomp.fortran/pr33880.f90: Ditto.
5579	* testsuite/libgomp.fortran/pr34020.f90: Ditto.
5580	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
5581	* testsuite/libgomp.fortran/pr42162.f90: Ditto.
5582	* testsuite/libgomp.fortran/pr46753.f90: Ditto.
5583	* testsuite/libgomp.fortran/pr48894.f90: Ditto.
5584	* testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5585	* testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5586	* testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5587	* testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5588	* testsuite/libgomp.fortran/pr65597.f90: Ditto.
5589	* testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5590	* testsuite/libgomp.fortran/pr71014.f90: Ditto.
5591	* testsuite/libgomp.fortran/pr81304.f90: Ditto.
5592	* testsuite/libgomp.fortran/pr81841.f90: Ditto.
5593	* testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5594	* testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5595	* testsuite/libgomp.fortran/procptr1.f90: Ditto.
5596	* testsuite/libgomp.fortran/recursion1.f90: Ditto.
5597	* testsuite/libgomp.fortran/reduction1.f90: Ditto.
5598	* testsuite/libgomp.fortran/reduction2.f90: Ditto.
5599	* testsuite/libgomp.fortran/reduction3.f90: Ditto.
5600	* testsuite/libgomp.fortran/reduction4.f90: Ditto.
5601	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
5602	* testsuite/libgomp.fortran/reduction6.f90: Ditto.
5603	* testsuite/libgomp.fortran/reference1.f90: Ditto.
5604	* testsuite/libgomp.fortran/reference2.f90: Ditto.
5605	* testsuite/libgomp.fortran/retval1.f90: Ditto.
5606	* testsuite/libgomp.fortran/retval2.f90: Ditto.
5607	* testsuite/libgomp.fortran/sharing1.f90: Ditto.
5608	* testsuite/libgomp.fortran/sharing2.f90: Ditto.
5609	* testsuite/libgomp.fortran/simd1.f90: Ditto.
5610	* testsuite/libgomp.fortran/simd2.f90: Ditto.
5611	* testsuite/libgomp.fortran/simd3.f90: Ditto.
5612	* testsuite/libgomp.fortran/simd4.f90: Ditto.
5613	* testsuite/libgomp.fortran/simd5.f90: Ditto.
5614	* testsuite/libgomp.fortran/simd6.f90: Ditto.
5615	* testsuite/libgomp.fortran/simd7.f90: Ditto.
5616	* testsuite/libgomp.fortran/stack.f90: Ditto.
5617	* testsuite/libgomp.fortran/strassen.f90: Ditto.
5618	* testsuite/libgomp.fortran/tabs1.f90: Ditto.
5619	* testsuite/libgomp.fortran/tabs2.f: Ditto.
5620	* testsuite/libgomp.fortran/target1.f90: Ditto.
5621	* testsuite/libgomp.fortran/target2.f90: Ditto.
5622	* testsuite/libgomp.fortran/target3.f90: Ditto.
5623	* testsuite/libgomp.fortran/target4.f90: Ditto.
5624	* testsuite/libgomp.fortran/target5.f90: Ditto.
5625	* testsuite/libgomp.fortran/target6.f90: Ditto.
5626	* testsuite/libgomp.fortran/target7.f90: Ditto.
5627	* testsuite/libgomp.fortran/target8.f90: Ditto.
5628	* testsuite/libgomp.fortran/task1.f90: Ditto.
5629	* testsuite/libgomp.fortran/task2.f90: Ditto.
5630	* testsuite/libgomp.fortran/task3.f90: Ditto.
5631	* testsuite/libgomp.fortran/task4.f90: Ditto.
5632	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5633	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5634	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5635	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5636	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5637	* testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5638	* testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5639	* testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5640	* testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5641	* testsuite/libgomp.fortran/udr1.f90: Ditto.
5642	* testsuite/libgomp.fortran/udr10.f90: Ditto.
5643	* testsuite/libgomp.fortran/udr11.f90: Ditto.
5644	* testsuite/libgomp.fortran/udr12.f90: Ditto.
5645	* testsuite/libgomp.fortran/udr13.f90: Ditto.
5646	* testsuite/libgomp.fortran/udr14.f90: Ditto.
5647	* testsuite/libgomp.fortran/udr15.f90: Ditto.
5648	* testsuite/libgomp.fortran/udr2.f90: Ditto.
5649	* testsuite/libgomp.fortran/udr3.f90: Ditto.
5650	* testsuite/libgomp.fortran/udr4.f90: Ditto.
5651	* testsuite/libgomp.fortran/udr5.f90: Ditto.
5652	* testsuite/libgomp.fortran/udr6.f90: Ditto.
5653	* testsuite/libgomp.fortran/udr7.f90: Ditto.
5654	* testsuite/libgomp.fortran/udr8.f90: Ditto.
5655	* testsuite/libgomp.fortran/udr9.f90: Ditto.
5656	* testsuite/libgomp.fortran/vla1.f90: Ditto.
5657	* testsuite/libgomp.fortran/vla2.f90: Ditto.
5658	* testsuite/libgomp.fortran/vla3.f90: Ditto.
5659	* testsuite/libgomp.fortran/vla4.f90: Ditto.
5660	* testsuite/libgomp.fortran/vla5.f90: Ditto.
5661	* testsuite/libgomp.fortran/vla6.f90: Ditto.
5662	* testsuite/libgomp.fortran/vla7.f90: Ditto.
5663	* testsuite/libgomp.fortran/vla8.f90: Ditto.
5664	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
5665	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
5666
56672019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5668
5669	* testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5670	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5671	Ditto; add 'dg-do run' for torture testing.
5672	* testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
5673	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5674	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5675	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
5676	* testsuite/libgomp.fortran/pr28390.f: Ditto.
5677	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
5678	* testsuite/libgomp.fortran/pr90779.f90: Ditto.
5679	* testsuite/libgomp.fortran/task2.f90: Ditto.
5680	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5681	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5682	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5683	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5684	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
5685	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
5686
56872019-10-28  Tobias Burnus  <tobias@codesourcery.com>
5688
5689	* testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5690	* testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5691	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5692	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5693	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5694	* testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5695	* testsuite/libgomp.oacc-fortran/common-block-1.f90:
5696	Use 'stop' not abort().
5697	* testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5698	* testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5699	* testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5700	* testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5701	* testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5702	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5703	* testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5704	* testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5705	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5706	* testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5707	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5708	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5709	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5710	* testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5711	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5712	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5713	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5714	Ditto.
5715	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5716	Ditto.
5717	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5718	Ditto.
5719	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5720	Ditto.
5721	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5722	Ditto.
5723	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5724	Ditto.
5725	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5726	Ditto.
5727	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5728	Ditto.
5729	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5730	Ditto.
5731	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5732	Ditto.
5733	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5734	Ditto.
5735	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5736	Ditto.
5737	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5738	Ditto.
5739	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5740	Ditto.
5741	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5742	* testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5743	* testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5744	* testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5745	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5746	Likewise and also add 'dg-do run'.
5747	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5748	Ditto.
5749
57502019-10-25  Cesar Philippidis <cesar@codesourcery.com>
5751	    Tobias Burnus  <tobias@codesourcery.com>
5752
5753	* testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5754	* testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5755	* testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5756
57572019-10-14  Jakub Jelinek  <jakub@redhat.com>
5758
5759	PR libgomp/92081
5760	* testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5761	than 0.
5762
57632019-10-11  Tobias Burnus  <tobias@codesourcery.com>
5764
5765	* testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5766	* testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5767
57682019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
5769
5770	PR middle-end/92036
5771	* testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5772	file.
5773
57742019-10-09  Tobias Burnus  <tobias@codesourcery.com>
5775
5776	PR testsuite/91884
5777	* testsuite/libgomp.fortran/fortran.exp: Conditionally
5778	add -lquadmath.
5779	* testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5780
57812019-10-09  Jakub Jelinek  <jakub@redhat.com>
5782
5783	PR libgomp/92028
5784	* target.c (gomp_map_vars_internal): Readd the previous
5785	GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5786	though do that just in the !not_found_cnt case.
5787
57882019-10-08  Tobias Burnus  <tobias@codesourcery.com>
5789
5790	* gfortran.dg/gomp/target-simd.f90: New.
5791
57922019-10-02  Julian Brown  <julian@codesourcery.com>
5793	    Cesar Philippidis  <cesar@codesourcery.com>
5794
5795	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5796	* target.c (FIELD_TGT_EMPTY): Define.
5797	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
5798	as switch instead of list of ifs.
5799	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5800
58012019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
5802
5803	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5804	include. Replace alloca () with __builtin_alloca ().
5805	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5806
58072019-10-01  Jakub Jelinek  <jakub@redhat.com>
5808
5809	* configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5810	* libgomp.h: Include <stdint.h> instead of "gstdint.h".
5811	* oacc-parallel.c: Don't include "libgomp_g.h".
5812	* plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5813	* plugin/plugin-nvptx.c: Don't include "gstdint.h".
5814	* aclocal.m4: Regenerated.
5815	* config.h.in: Regenerated.
5816	* configure: Regenerated.
5817	* Makefile.in: Regenerated.
5818
58192019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
5820
5821	* libgomp_g.h: Include stdint.h instead of gstdint.h.
5822
58232019-09-27  Maciej W. Rozycki  <macro@wdc.com>
5824
5825	* configure: Regenerate.
5826
58272019-09-13  Tobias Burnus  <tobias@codesourcery.com>
5828
5829	* plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5830	string is initialized.
5831
58322019-09-06  Florian Weimer  <fweimer@redhat.com>
5833
5834	* configure: Regenerate.
5835
58362019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
5837
5838	PR other/79543
5839	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5840	scanning to conform to the GNU Coding Standards.
5841	* configure: Regenerate.
5842
58432019-08-28  Jakub Jelinek  <jakub@redhat.com>
5844
5845	PR libgomp/91530
5846	* testsuite/libgomp.c/scan-21.c: New test.
5847	* testsuite/libgomp.c/scan-22.c: New test.
5848
58492019-08-27  Jakub Jelinek  <jakub@redhat.com>
5850
5851	PR libgomp/91530
5852	* testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5853	targets.
5854	* testsuite/libgomp.c/scan-12.c: Likewise.
5855	* testsuite/libgomp.c/scan-13.c: Likewise.
5856	* testsuite/libgomp.c/scan-14.c: Likewise.
5857	* testsuite/libgomp.c/scan-15.c: Likewise.
5858	* testsuite/libgomp.c/scan-16.c: Likewise.
5859	* testsuite/libgomp.c/scan-17.c: Likewise.
5860	* testsuite/libgomp.c/scan-18.c: Likewise.
5861	* testsuite/libgomp.c/scan-19.c: Likewise.
5862	* testsuite/libgomp.c/scan-20.c: Likewise.
5863	* testsuite/libgomp.c++/scan-9.C: Likewise.
5864	* testsuite/libgomp.c++/scan-10.C: Likewise.
5865	* testsuite/libgomp.c++/scan-11.C: Likewise.
5866	* testsuite/libgomp.c++/scan-12.C: Likewise.
5867	* testsuite/libgomp.c++/scan-14.C: Likewise.
5868	* testsuite/libgomp.c++/scan-15.C: Likewise.
5869	* testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
5870	instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5871	* testsuite/libgomp.c++/scan-16.C: Likewise.
5872
58732019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
5874
5875	PR fortran/91473
5876	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5877	-std=legacy so invalid code in the test case is accepted.
5878
58792019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
5880
5881	PR fortran/91422
5882	* testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5883	dimension.
5884
58852019-08-08  Jakub Jelinek  <jakub@redhat.com>
5886
5887	* target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5888	perform the lookup in the first loop only if !not_found_cnt, otherwise
5889	perform lookups for it in the second loop guarded with
5890	if (not_found_cnt || has_firstprivate).
5891	* testsuite/libgomp.c/target-37.c: New test.
5892	* testsuite/libgomp.c++/target-22.C: New test.
5893
58942019-08-07  Jakub Jelinek  <jakub@redhat.com>
5895
5896	* testsuite/libgomp.c/target-18.c (struct S): New type.
5897	(foo): Use use_device_addr clause instead of use_device_ptr clause
5898	where required by OpenMP 5.0, add further tests for both use_device_ptr
5899	and use_device_addr clauses.
5900	* testsuite/libgomp.c++/target-9.C (struct S): New type.
5901	(foo): Use use_device_addr clause instead of use_device_ptr clause
5902	where required by OpenMP 5.0, add further tests for both use_device_ptr
5903	and use_device_addr clauses.  Add t and u arguments.
5904	(main): Adjust caller.
5905
59062019-08-06  Jakub Jelinek  <jakub@redhat.com>
5907
5908	* testsuite/libgomp.c++/loop-13.C: New test.
5909	* testsuite/libgomp.c++/loop-14.C: New test.
5910	* testsuite/libgomp.c++/loop-15.C: New test.
5911
59122019-07-31  Jakub Jelinek  <jakub@redhat.com>
5913
5914	PR middle-end/91301
5915	* testsuite/libgomp.c++/for-27.C: New test.
5916
59172019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
5918
5919	* testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5920	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
5921
59222019-07-20  Jakub Jelinek  <jakub@redhat.com>
5923
5924	* testsuite/libgomp.c-c++-common/loop-1.c: New test.
5925
59262019-07-08  Jakub Jelinek  <jakub@redhat.com>
5927
5928	* testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5929	* testsuite/libgomp.c++/scan-16.C: Likewise.
5930
59312019-07-06  Jakub Jelinek  <jakub@redhat.com>
5932
5933	* testsuite/libgomp.c/scan-19.c: New test.
5934	* testsuite/libgomp.c/scan-20.c: New test.
5935
5936	* testsuite/libgomp.c/scan-11.c: New test.
5937	* testsuite/libgomp.c/scan-12.c: New test.
5938	* testsuite/libgomp.c/scan-13.c: New test.
5939	* testsuite/libgomp.c/scan-14.c: New test.
5940	* testsuite/libgomp.c/scan-15.c: New test.
5941	* testsuite/libgomp.c/scan-16.c: New test.
5942	* testsuite/libgomp.c/scan-17.c: New test.
5943	* testsuite/libgomp.c/scan-18.c: New test.
5944	* testsuite/libgomp.c++/scan-9.C: New test.
5945	* testsuite/libgomp.c++/scan-10.C: New test.
5946	* testsuite/libgomp.c++/scan-11.C: New test.
5947	* testsuite/libgomp.c++/scan-12.C: New test.
5948	* testsuite/libgomp.c++/scan-13.C: New test.
5949	* testsuite/libgomp.c++/scan-14.C: New test.
5950	* testsuite/libgomp.c++/scan-15.C: New test.
5951	* testsuite/libgomp.c++/scan-16.C: New test.
5952
59532019-07-04  Jakub Jelinek  <jakub@redhat.com>
5954
5955	* testsuite/libgomp.c/scan-9.c: New test.
5956	* testsuite/libgomp.c/scan-10.c: New test.
5957
59582019-07-03  Jakub Jelinek  <jakub@redhat.com>
5959
5960	* testsuite/libgomp.c++/scan-1.C: New test.
5961	* testsuite/libgomp.c++/scan-2.C: New test.
5962	* testsuite/libgomp.c++/scan-3.C: New test.
5963	* testsuite/libgomp.c++/scan-4.C: New test.
5964	* testsuite/libgomp.c++/scan-5.C: New test.
5965	* testsuite/libgomp.c++/scan-6.C: New test.
5966	* testsuite/libgomp.c++/scan-7.C: New test.
5967	* testsuite/libgomp.c++/scan-8.C: New test.
5968	* testsuite/libgomp.c/scan-1.c: New test.
5969	* testsuite/libgomp.c/scan-2.c: New test.
5970	* testsuite/libgomp.c/scan-3.c: New test.
5971	* testsuite/libgomp.c/scan-4.c: New test.
5972	* testsuite/libgomp.c/scan-5.c: New test.
5973	* testsuite/libgomp.c/scan-6.c: New test.
5974	* testsuite/libgomp.c/scan-7.c: New test.
5975	* testsuite/libgomp.c/scan-8.c: New test.
5976
59772019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
5978
5979	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5980	* testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5981	Likewise.
5982
5983	* testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5984	check.
5985
59862019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
5987
5988	* testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5989	file.
5990
59912019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
5992
5993	PR fortran/90743
5994	* oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5995	case.
5996	* testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5997	* testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5998	* testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5999	* testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6000
6001	PR testsuite/90861
6002	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6003
6004	PR middle-end/90862
6005	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6006
60072019-06-16  Tom de Vries  <tdevries@suse.de>
6008
6009	PR tree-optimization/89376
6010	* testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6011
60122019-06-15  Tom de Vries  <tdevries@suse.de>
6013
6014	PR tree-optimization/89713
6015	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6016	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6017
60182019-06-15  Jakub Jelinek  <jakub@redhat.com>
6019
6020	PR middle-end/90779
6021	* testsuite/libgomp.c/pr90779.c: New test.
6022	* testsuite/libgomp.fortran/pr90779.f90: New test.
6023
60242019-06-15  Tom de Vries  <tdevries@suse.de>
6025
6026	PR tree-optimization/90009
6027	* testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6028
60292019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
6030
6031	PR tree-optimization/89713
6032	* testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6033
60342019-06-11  Jakub Jelinek  <jakub@redhat.com>
6035
6036	PR target/90811
6037	* testsuite/libgomp.c/pr90811.c: New test.
6038
60392019-06-05  Jakub Jelinek  <jakub@redhat.com>
6040
6041	* testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6042	* testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6043
60442019-06-04  Jakub Jelinek  <jakub@redhat.com>
6045
6046	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6047	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6048	* testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6049	* testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6050
60512019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6052
6053	* configure.ac: Call AX_COUNT_CPUS.
6054	Substitute CPU_COUNT.
6055	* testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6056	count fallback.
6057	* aclocal.m4: Regenerate.
6058	* configure: Regenerate.
6059	* Makefile.in, testsuite/Makefile.in: Regenerate.
6060
60612019-05-29  Jakub Jelinek  <jakub@redhat.com>
6062
6063	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6064	to ...
6065	* testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6066	* testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6067	* testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6068
60692019-05-27  Jakub Jelinek  <jakub@redhat.com>
6070
6071	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6072
6073	* testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6074
6075	PR libgomp/90641
6076	* work.c (gomp_init_work_share): Instead of aligning final ordered
6077	value to multiples of long long alignment, align to that the
6078	first part (ordered team ids) and if inline_ordered_team_ids
6079	is not on a long long alignment boundary within the structure,
6080	use __alignof__ (long long) - 1 pad size always.
6081	* loop.c (GOMP_loop_start): Fix *mem computation if
6082	inline_ordered_team_ids is not aligned on long long alignment boundary
6083	within the structure.
6084	* loop-ull.c (GOMP_loop_ull_start): Likewise.
6085	* sections.c (GOMP_sections2_start): Likewise.
6086
60872019-05-24  Jakub Jelinek  <jakub@redhat.com>
6088
6089	* testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6090	* testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6091
6092	PR libgomp/90585
6093	* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
6094	HAVE_INTTYPES_H is defined.
6095	(print_uint64_t): New typedef.
6096	(PRIu64): Define if HAVE_INTTYPES_H is not defined.
6097	(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6098	"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6099	(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
6100	before casting to void *.
6101	* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6102	* oacc-mem.c: Don't include config.h nor stdint.h.
6103	* target.c: Don't include config.h.
6104	* oacc-cuda.c: Likewise.
6105	* oacc-host.c: Don't include stdint.h.
6106
61072019-05-20  Jakub Jelinek  <jakub@redhat.com>
6108
6109	PR libgomp/90527
6110	* alloc.c (_GNU_SOURCE): Define.
6111
61122019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
6113
6114	* acc_prof.h: New file.
6115	* oacc-profiling.c: Likewise.
6116	* Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6117	Add these, respectively.
6118	* Makefile.in: Regenerate.
6119	* env.c (initialize_env): Call goacc_profiling_initialize.
6120	* oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6121	(GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6122	* oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6123	(GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6124	* libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6125	acc_prof_register, acc_prof_unregister, and acc_register_library.
6126	(GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6127	GOMP_PLUGIN_goacc_thread.
6128	* oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6129	prof_callbacks_enabled members.
6130	(goacc_prof_enabled, goacc_profiling_initialize)
6131	(_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6132	(goacc_profiling_dispatch): Declare.
6133	(GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6134	(GOACC_PROFILING_SETUP_P): Define.
6135	* oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6136	(acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6137	OpenACC Profiling Interface.
6138	* oacc-cuda.c (acc_get_current_cuda_device)
6139	(acc_get_current_cuda_context, acc_get_cuda_stream)
6140	(acc_set_cuda_stream): Likewise.
6141	* oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6142	(acc_init, acc_set_device_type, acc_get_device_type)
6143	(acc_get_device_num, goacc_lazy_initialize): Likewise.
6144	* oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6145	(acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6146	(acc_unmap_data, present_create_copy, delete_copyout)
6147	(update_dev_host): Likewise.
6148	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6149	(GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6150	Likewise.
6151	* plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6152	(GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6153	Likewise.
6154	* libgomp.texi: Update.
6155	* testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6156	file.
6157	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6158	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6159	Likewise.
6160	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6161	Likewise.
6162	* testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6163	Likewise.
6164	* testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6165	Likewise.
6166
61672019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
6168
6169	* libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6170	(struct goacc_asyncqueue_list): Likewise.
6171	(goacc_aq): Likewise.
6172	(goacc_aq_list): Likewise.
6173	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6174	(GOMP_OFFLOAD_openacc_async_test): Remove.
6175	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
6176	(GOMP_OFFLOAD_openacc_async_wait): Remove.
6177	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6178	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6179	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6180	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
6181	(GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6182	(GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6183	(GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6184	(GOMP_OFFLOAD_openacc_async_exec): Declare.
6185	(GOMP_OFFLOAD_openacc_async_construct): Declare.
6186	(GOMP_OFFLOAD_openacc_async_destruct): Declare.
6187	(GOMP_OFFLOAD_openacc_async_test): Declare.
6188	(GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6189	(GOMP_OFFLOAD_openacc_async_serialize): Declare.
6190	(GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6191	(GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6192	(GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6193
6194	* libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6195	(gomp_acc_insert_pointer): Adjust declaration.
6196	(gomp_copy_host2dev): New declaration.
6197	(gomp_copy_dev2host): Likewise.
6198	(gomp_map_vars_async): Likewise.
6199	(gomp_unmap_tgt): Likewise.
6200	(gomp_unmap_vars_async): Likewise.
6201	(gomp_fini_device): Likewise.
6202
6203	* oacc-async.c (get_goacc_thread): New function.
6204	(get_goacc_thread_device): New function.
6205	(lookup_goacc_asyncqueue): New function.
6206	(get_goacc_asyncqueue): New function.
6207	(acc_async_test): Adjust code to use new async design.
6208	(acc_async_test_all): Likewise.
6209	(acc_wait): Likewise.
6210	(acc_wait_async): Likewise.
6211	(acc_wait_all): Likewise.
6212	(acc_wait_all_async): Likewise.
6213	(goacc_async_free): New function.
6214	(goacc_init_asyncqueues): Likewise.
6215	(goacc_fini_asyncqueues): Likewise.
6216	* oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6217	design.
6218	(acc_set_cuda_stream): Likewise.
6219	* oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6220	(host_openacc_register_async_cleanup): Remove.
6221	(host_openacc_async_exec): New function.
6222	(host_openacc_async_test): Adjust parameters.
6223	(host_openacc_async_test_all): Remove.
6224	(host_openacc_async_wait): Remove.
6225	(host_openacc_async_wait_async): Remove.
6226	(host_openacc_async_wait_all): Remove.
6227	(host_openacc_async_wait_all_async): Remove.
6228	(host_openacc_async_set_async): Remove.
6229	(host_openacc_async_synchronize): New function.
6230	(host_openacc_async_serialize): New function.
6231	(host_openacc_async_host2dev): New function.
6232	(host_openacc_async_dev2host): New function.
6233	(host_openacc_async_queue_callback): New function.
6234	(host_openacc_async_construct): New function.
6235	(host_openacc_async_destruct): New function.
6236	(struct gomp_device_descr host_dispatch): Remove initialization of old
6237	interface, add initialization of new async sub-struct.
6238	* oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6239	(goacc_attach_host_thread_to_device): Remove old async code usage.
6240	* oacc-int.h (goacc_init_asyncqueues): New declaration.
6241	(goacc_fini_asyncqueues): Likewise.
6242	(goacc_async_copyout_unmap_vars): Likewise.
6243	(goacc_async_free): Likewise.
6244	(get_goacc_asyncqueue): Likewise.
6245	(lookup_goacc_asyncqueue): Likewise.
6246	* oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6247	design.
6248	(present_create_copy): Adjust code to use new async design.
6249	(delete_copyout): Likewise.
6250	(update_dev_host): Likewise.
6251	(gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6252	async design.
6253	(gomp_acc_remove_pointer): Adjust code to use new async design.
6254	* oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6255	design.
6256	(GOACC_enter_exit_data): Likewise.
6257	(goacc_wait): Likewise.
6258	(GOACC_update): Likewise.
6259	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6260	when called, warn as obsolete in comment.
6261	* target.c (goacc_device_copy_async): New function.
6262	(gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6263	add goacc_device_copy_async case.
6264	(gomp_copy_dev2host): Likewise.
6265	(gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6266	(gomp_map_pointer): Likewise.
6267	(gomp_map_fields_existing): Likewise.
6268	(gomp_map_vars_internal): New always_inline function, renamed from
6269	gomp_map_vars.
6270	(gomp_map_vars): Implement by calling gomp_map_vars_internal.
6271	(gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6272	passing goacc_asyncqueue argument.
6273	(gomp_unmap_tgt): Remove static, add attribute_hidden.
6274	(gomp_unref_tgt): New function.
6275	(gomp_unmap_vars_internal): New always_inline function, renamed from
6276	gomp_unmap_vars.
6277	(gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6278	(gomp_unmap_vars_async): Implement by calling
6279	gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6280	(gomp_fini_device): New function.
6281	(gomp_exit_data): Adjust gomp_copy_dev2host call.
6282	(gomp_load_plugin_for_device): Remove old interface, adjust to load
6283	new async interface.
6284	(gomp_target_fini): Adjust code to call gomp_fini_device.
6285
6286	* plugin/plugin-nvptx.c (struct cuda_map): Remove.
6287	(struct ptx_stream): Remove.
6288	(struct nvptx_thread): Remove current_stream field.
6289	(cuda_map_create): Remove.
6290	(cuda_map_destroy): Remove.
6291	(map_init): Remove.
6292	(map_fini): Remove.
6293	(map_pop): Remove.
6294	(map_push): Remove.
6295	(struct goacc_asyncqueue): Define.
6296	(struct nvptx_callback): Define.
6297	(struct ptx_free_block): Define.
6298	(struct ptx_device): Remove null_stream, active_streams, async_streams,
6299	stream_lock, and next fields.
6300	(enum ptx_event_type): Remove.
6301	(struct ptx_event): Remove.
6302	(ptx_event_lock): Remove.
6303	(ptx_events): Remove.
6304	(init_streams_for_device): Remove.
6305	(fini_streams_for_device): Remove.
6306	(select_stream_for_async): Remove.
6307	(nvptx_init): Remove ptx_events and ptx_event_lock references.
6308	(nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6309	case.
6310	(nvptx_open_device): Add free_blocks initialization, remove
6311	init_streams_for_device call.
6312	(nvptx_close_device): Remove fini_streams_for_device call, add
6313	free_blocks destruct code.
6314	(event_gc): Remove.
6315	(event_add): Remove.
6316	(nvptx_exec): Adjust parameters and code.
6317	(nvptx_free): Likewise.
6318	(nvptx_host2dev): Remove.
6319	(nvptx_dev2host): Remove.
6320	(nvptx_set_async): Remove.
6321	(nvptx_async_test): Remove.
6322	(nvptx_async_test_all): Remove.
6323	(nvptx_wait): Remove.
6324	(nvptx_wait_async): Remove.
6325	(nvptx_wait_all): Remove.
6326	(nvptx_wait_all_async): Remove.
6327	(nvptx_get_cuda_stream): Remove.
6328	(nvptx_set_cuda_stream): Remove.
6329	(GOMP_OFFLOAD_alloc): Adjust code.
6330	(GOMP_OFFLOAD_free): Likewise.
6331	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6332	(GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6333	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
6334	(GOMP_OFFLOAD_openacc_async_wait): Remove.
6335	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6336	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6337	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6338	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
6339	(cuda_free_argmem): New function.
6340	(GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6341	(GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6342	(GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6343	(GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6344	(GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6345	(GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6346	(GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6347	(GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6348	(GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6349	(GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6350	(cuda_callback_wrapper): New function.
6351	(cuda_memcpy_sanity_check): New function.
6352	(GOMP_OFFLOAD_host2dev): Remove and re-implement.
6353	(GOMP_OFFLOAD_dev2host): Remove and re-implement.
6354	(GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6355	(GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6356
63572019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
6358
6359	PR target/87835
6360	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6361
63622019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
6363
6364	* oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6365
63662019-03-27  Kevin Buettner  <kevinb@redhat.com>
6367
6368	* team.c (gomp_team_start): Initialize pool->threads[0].
6369
63702019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6371
6372	* testsuite/libgomp.oacc-c++/c++.exp: Specify
6373	"-foffload=$offload_target".
6374	* testsuite/libgomp.oacc-c/c.exp: Likewise.
6375	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6376	* testsuite/lib/libgomp.exp
6377	(check_effective_target_openacc_nvidia_accel_configured): Remove,
6378	as (conceptually) merged into
6379	check_effective_target_openacc_nvidia_accel_selected.  Adjust all
6380	users.
6381
6382	* plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6383	* testsuite/libgomp-test-support.exp.in: Adjust.
6384	* testsuite/lib/libgomp.exp: Likewise.  Don't populate
6385	openacc_device_types_s.
6386	(offload_target_to_openacc_device_type): New proc.
6387	* testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6388	* testsuite/libgomp.oacc-c/c.exp: Likewise.
6389	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6390	* Makefile.in: Regenerate.
6391	* configure: Likewise.
6392	* testsuite/Makefile.in: Likewise.
6393
6394	* plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6395	instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6396	instead of OFFLOAD_TARGETS.
6397	* target.c (gomp_target_init): Adjust.
6398	* testsuite/libgomp-test-support.exp.in: Likewise.
6399	* testsuite/lib/libgomp.exp: Likewise.  Populate
6400	openacc_device_types_s instead of offload_targets_s_openacc.
6401	(check_effective_target_openacc_nvidia_accel_selected)
6402	(check_effective_target_openacc_host_selected): Adjust.
6403	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6404	* testsuite/libgomp.oacc-c/c.exp: Likewise.
6405	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6406	* Makefile.in: Regenerate.
6407	* config.h.in: Likewise.
6408	* configure: Likewise.
6409	* testsuite/Makefile.in: Likewise.
6410
6411	* testsuite/lib/libgomp.exp: Error out for unknown offload target.
6412	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
6413	"offloading: supported, but hardware not accessible".
6414	* testsuite/libgomp.oacc-c/c.exp: Likewise.
6415	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6416
64172019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
6418
6419	PR c/87924
6420	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6421	goacc_wait().
6422	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6423	and related adjustment.
6424
64252019-01-30  Jakub Jelinek  <jakub@redhat.com>
6426
6427	PR c++/88988
6428	* testsuite/libgomp.c++/pr88988.C: New test.
6429
64302019-01-28  Jakub Jelinek  <jakub@redhat.com>
6431
6432	PR middle-end/89002
6433	* testsuite/libgomp.c/pr89002.c: New test.
6434
64352019-01-28  Richard Biener  <rguenther@suse.de>
6436
6437	PR testsuite/89064
6438	PR tree-optimization/86865
6439	* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6440
64412019-01-24  Tom de Vries  <tdevries@suse.de>
6442
6443	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6444	once instantiated_devices drops to 0.
6445
64462019-01-23  Tom de Vries  <tdevries@suse.de>
6447
6448	PR target/PR88946
6449	* plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6450	cuMemFree.
6451	(nvptx_exec): Don't call map_push if mapnum == 0.
6452	* testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6453
64542019-01-23  Tom de Vries  <tdevries@suse.de>
6455
6456	PR target/88941
6457	PR target/88939
6458	* plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6459	(map_fini): Remove "assert (!s->map->active)".
6460	* testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6461
64622019-01-23  Tom de Vries  <tdevries@suse.de>
6463
6464	PR target/87835
6465	* plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6466	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6467
64682019-01-15  Tom de Vries  <tdevries@suse.de>
6469
6470	PR target/80547
6471	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6472	New test.
6473
64742019-01-12  Tom de Vries  <tdevries@suse.de>
6475
6476	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6477	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6478	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6479	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6480
64812019-01-12  Tom de Vries  <tdevries@suse.de>
6482
6483	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6484
64852019-01-12  Tom de Vries  <tdevries@suse.de>
6486
6487	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6488	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6489	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6490
64912019-01-12  Tom de Vries  <tdevries@suse.de>
6492
6493	PR target/85486
6494	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6495	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6496
64972019-01-12  Tom de Vries  <tdevries@suse.de>
6498
6499	PR target/85381
6500	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6501	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6502
65032019-01-12  Tom de Vries  <tdevries@suse.de>
6504
6505	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6506	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6507	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6508
65092019-01-12  Tom de Vries  <tdevries@suse.de>
6510
6511	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6512	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6513	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6514
65152019-01-12  Tom de Vries  <tdevries@suse.de>
6516
6517	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6518	resources diagnostic.
6519
65202019-01-12  Tom de Vries  <tdevries@suse.de>
6521
6522	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6523	vector length to be 128.
6524	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6525	length 2097152 to be reduced to 1024 instead of 32.
6526
65272019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
6528            James Norris  <jnorris@codesourcery.com>
6529
6530	* libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6531	Library Routines", and "Environment Variables".
6532
65332019-01-11  Tom de Vries  <tdevries@suse.de>
6534
6535	* plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6536	num_workers 16.
6537
65382019-01-11  Tom de Vries  <tdevries@suse.de>
6539
6540	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6541	-foffload=-w.
6542	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6543	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6544	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6545	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6546
65472019-01-11  Tom de Vries  <tdevries@suse.de>
6548
6549	* testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6550	test.
6551
65522019-01-10  Nathan Sidwell  <nathan@acm.org>
6553	    Julian Brown  <julian@codesourcery.com>
6554
6555	PR lto/71959
6556	* testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6557	* testsuite/libgomp.oacc-c++/pr71959.C: New.
6558
65592019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6560
6561	* config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6562	and paste code.
6563
65642019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6565
6566	* config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
6567	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6568	write.
6569
65702019-01-09  Tom de Vries  <tdevries@suse.de>
6571
6572	PR target/88756
6573	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6574	#define instead of "const int".
6575	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6576	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6577	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6578	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6579
65802019-01-09  Tom de Vries  <tdevries@suse.de>
6581
6582	* plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6583	one worker.
6584
65852019-01-07  Tom de Vries  <tdevries@suse.de>
6586
6587	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6588	GOMP_OPENACC_DIM argument.
6589
65902019-01-03  Tom de Vries  <tdevries@suse.de>
6591
6592	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6593	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6594
65952019-01-01  Jakub Jelinek  <jakub@redhat.com>
6596
6597	Update copyright years.
6598
65992019-01-01  Jakub Jelinek  <jakub@redhat.com>
6600
6601	* libgomp.texi: Bump @copying's copyright year.
6602
66032018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
6604
6605	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6606	(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6607	(GOACC_declare): Redefine the "device" argument to "flags".
6608
66092018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
6610	    Cesar Philippidis  <cesar@codesourcery.com>
6611
6612	* target.c (struct gomp_coalesce_chunk): New structure.
6613	(struct gomp_coalesce_buf): Update the chunks member to use that
6614	type.  Adjust all users.
6615
66162018-12-19  Tom de Vries  <tdevries@suse.de>
6617
6618	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6619	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6620	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6621
66222018-12-19  Tom de Vries  <tdevries@suse.de>
6623
6624	* testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6625	* testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6626	gcc/testsuite/gcc.dg/goacc.
6627	* testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6628
66292018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6630	    Chung-Lin Tang  <cltang@codesourcery.com>
6631
6632	* oacc-mem.c (acc_present_or_create): Remove definition and change
6633	to alias of acc_create.
6634	(acc_present_or_copyin): Remove definition and change to alias of
6635	acc_copyin.
6636	* oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6637	of acc_present_or_create.
6638	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6639	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6640	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6641	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6642	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6643	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6644	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6645	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6646	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6647	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6648	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6649	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6650	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6651	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6652	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6653	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6654
66552018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6656
6657	PR libgomp/88495
6658	* plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6659	"identical parameters".
6660	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6661	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6662
6663	PR libgomp/88484
6664	* oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6665	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6666
6667	PR libgomp/88407
6668	* plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6669	(nvptx_wait_async): Unseen async-argument is a no-op.
6670	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6671	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6672	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6673	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6674	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6675	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6676	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
6677	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6678	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
6679
6680	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6681	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6682
66832018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
6684
6685	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6686	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6687	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6688
66892018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6690
6691	PR libgomp/88370
6692	* libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6693	(acc_set_cuda_stream): Clarify.
6694	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6695	"async_valid_p".
6696	* plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6697	acc_async_sync".
6698	* testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6699	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6700	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6701	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6702
67032018-12-14  Tom de Vries  <tdevries@suse.de>
6704
6705	* testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6706	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6707	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6708	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6709	* testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6710
67112018-12-13  Tom de Vries  <tdevries@suse.de>
6712
6713	* affinity-fmt.c (gomp_print_string): New function, factored out of ...
6714	(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6715	* fortran.c (omp_display_affinity_): ... here.
6716	* libgomp.h (gomp_print_string): Declare.
6717	* config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
6718	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6719	write.
6720
67212018-12-13  Jakub Jelinek  <jakub@redhat.com>
6722
6723	PR libgomp/88460
6724	* testsuite/libgomp.c++/for-24.C (results): Include it in
6725	omp declare target region.
6726	(main): Use map (always, tofrom: results) instead of
6727	map (tofrom: results).
6728
67292018-12-12  Jakub Jelinek  <jakub@redhat.com>
6730
6731	PR fortran/88463
6732	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
6733	* testsuite/libgomp.fortran/pr88463-2.f90: New test.
6734
6735	* testsuite/libgomp.c-c++-common/for-16.c: New test.
6736
67372018-12-12  Andreas Schwab  <schwab@suse.de>
6738
6739	* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6740	clobbered.
6741
67422018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
6743
6744	PR fortran/88411
6745	* testsuite/libgomp.fortran/async_io_8.f90: New test.
6746
67472018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
6748	    Jakub Jelinek  <jakub@redhat.com>
6749
6750	* target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6751	devicep->host2dev_func.
6752
67532018-12-08  Jakub Jelinek  <jakub@redhat.com>
6754
6755	PR libgomp/87995
6756	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6757	tls_runtime effective target.
6758	(t): New threadprivate variable.
6759	(main): Set t in threads which execute iterations of the worksharing
6760	loop.  Propagate that to the task after the loop and don't abort
6761	if the current taskgroup hasn't been cancelled.
6762
67632018-12-02  Jakub Jelinek  <jakub@redhat.com>
6764
6765	* testsuite/libgomp.c/task-reduction-3.c: New test.
6766
6767	* testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6768
67692018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
6770
6771	PR libgomp/88288
6772	* oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6773	* testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6774
67752018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
6776
6777	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6778
67792018-10-19  Richard Biener  <rguenther@suse.de>
6780
6781	PR tree-optimization/88182
6782	* testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6783
67842018-11-26  Jakub Jelinek  <jakub@redhat.com>
6785
6786	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6787	(RUNTEST): Don't define.
6788	(RUNTESTDEFAULTFLAGS): Add.
6789	(check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6790	(distclean-am): Depend on distclean-DEJAGNU.
6791	(check-am): If -j% option is present in MFLAGS and if
6792	`getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6793	(.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6794	* testsuite/Makefile.in: Regenerated.
6795
67962018-11-26  Richard Biener  <rguenther@suse.de>
6797
6798	PR tree-optimization/88182
6799	* testsuite/libgomp.c++/pr88182.C: New testcase.
6800
68012018-11-20  Jakub Jelinek  <jakub@redhat.com>
6802
6803	PR bootstrap/88106
6804	* config/mingw32/affinity-fmt.c: New file.
6805
68062018-11-09  Jakub Jelinek  <jakub@redhat.com>
6807
6808	* affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6809	(gomp_display_affinity): Use __builtin_choose_expr to handle
6810	properly handle argument having integral, or pointer or some other
6811	type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
6812	with uint64_t type instead of %llx and unsigned long long.
6813
6814	* testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6815	* testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6816
68172018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6818
6819	* affinity.c: Include <string.h>, <stdio.h>.
6820	(gomp_display_affinity_place): Remove cpusetp.
6821	* teams.c: Include <limits.h>.
6822
68232018-11-08  Jakub Jelinek  <jakub@redhat.com>
6824
6825	* testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6826	in_reduction clause for s[0].
6827
6828	* affinity.c (gomp_display_affinity_place): New function.
6829	* affinity-fmt.c: New file.
6830	* alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6831	* config/linux/affinity.c (gomp_display_affinity_place): New function.
6832	* config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6833	Move these functions to ...
6834	* config/nvptx/teams.c: ... here.  New file.
6835	* config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6836	New functions.
6837	* config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6838	functions.
6839	* configure.ac: Check for aligned_alloc, posix_memalign, memalign
6840	and _aligned_malloc.
6841	(HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6842	* configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6843	* env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6844	gomp_affinity_format_len): New variables.
6845	(parse_schedule): Parse monotonic and nonmonotonic modifiers in
6846	OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
6847	(handle_omp_display_env): Display monotonic/nonmonotonic schedule
6848	modifiers.  Display (non-default) chunk sizes.  Print
6849	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6850	(initialize_env): Don't call pthread_attr_setdetachstate.  Handle
6851	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6852	* fortran.c: Include stdio.h and string.h.
6853	(omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6854	(omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6855	(omp_set_affinity_format_, omp_get_affinity_format_,
6856	omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6857	omp_pause_resource_all_): New functions.
6858	* icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6859	switch.
6860	* icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6861	functions to ...
6862	* teams.c: ... here.  New file.
6863	* libgomp_g.h: Include gstdint.h.
6864	(GOMP_loop_nonmonotonic_runtime_start,
6865	GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6866	GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6867	GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6868	GOMP_parallel_loop_nonmonotonic_runtime,
6869	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6870	GOMP_loop_ull_nonmonotonic_runtime_start,
6871	GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6872	GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6873	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6874	GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6875	GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6876	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6877	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6878	GOMP_teams_reg): Declare.
6879	* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6880	gomp_aligned_alloc uses fallback implementation.
6881	(gomp_aligned_alloc, gomp_aligned_free): Declare.
6882	(enum gomp_schedule_type): Add GFS_MONOTONIC.
6883	(struct gomp_doacross_work_share): Add extra field.
6884	(struct gomp_work_share): Add task_reductions field.
6885	(struct gomp_taskgroup): Add workshare and reductions fields.
6886	(GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6887	(gomp_thread_handle): New typedef.
6888	(gomp_display_affinity_place, gomp_set_affinity_format,
6889	gomp_display_string, gomp_display_affinity,
6890	gomp_display_affinity_thread): Declare.
6891	(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6892	(gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6893	gomp_workshare_task_reduction_register): Declare.
6894	(gomp_team_start): Add taskgroup argument.
6895	(gomp_pause_host): Declare.
6896	(gomp_init_work_share, gomp_work_share_start): Change bool argument
6897	to size_t.
6898	(gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6899	* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6900	GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6901	GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6902	GOMP_loop_ull_doacross_start,
6903	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6904	GOMP_loop_maybe_nonmonotonic_runtime_next,
6905	GOMP_loop_maybe_nonmonotonic_runtime_start,
6906	GOMP_loop_nonmonotonic_runtime_next,
6907	GOMP_loop_nonmonotonic_runtime_start,
6908	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6909	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6910	GOMP_loop_ull_nonmonotonic_runtime_next,
6911	GOMP_loop_ull_nonmonotonic_runtime_start,
6912	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6913	GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6914	GOMP_taskgroup_reduction_register,
6915	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6916	GOMP_teams_reg and GOMP_taskwait_depend.
6917	(OMP_5.0): Export omp_pause_resource{,_all}{,_},
6918	omp_{capture,display}_affinity{,_}, and
6919	omp_[gs]et_affinity_format{,_}.
6920	* loop.c: Include string.h.
6921	(GOMP_loop_runtime_next): Add ialias.
6922	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
6923	(gomp_loop_static_start, gomp_loop_dynamic_start,
6924	gomp_loop_guided_start, gomp_loop_ordered_static_start,
6925	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6926	gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6927	gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6928	or gomp_doacross_init callers.
6929	(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6930	GOMP_loop_doacross_start): New functions.
6931	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6932	GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6933	Mask off GFS_MONOTONIC bit.
6934	(GOMP_loop_maybe_nonmonotonic_runtime_next,
6935	GOMP_loop_maybe_nonmonotonic_runtime_start,
6936	GOMP_loop_nonmonotonic_runtime_next,
6937	GOMP_loop_nonmonotonic_runtime_start,
6938	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6939	GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6940	functions.
6941	(gomp_parallel_loop_start): Pass NULL as taskgroup to
6942	gomp_team_start.
6943	* loop_ull.c: Include string.h.
6944	(GOMP_loop_ull_runtime_next): Add ialias.
6945	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
6946	(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6947	gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6948	gomp_loop_ull_ordered_dynamic_start,
6949	gomp_loop_ull_ordered_guided_start,
6950	gomp_loop_ull_doacross_static_start,
6951	gomp_loop_ull_doacross_dynamic_start,
6952	gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6953	and gomp_doacross_ull_init callers.
6954	(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6955	GOMP_loop_ull_doacross_start): New functions.
6956	(GOMP_loop_ull_runtime_start,
6957	GOMP_loop_ull_ordered_runtime_start,
6958	GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6959	(GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6960	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6961	GOMP_loop_ull_nonmonotonic_runtime_next,
6962	GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6963	* Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6964	* omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6965	(omp_pause_resource_t, omp_depend_t): New typedefs.
6966	(enum omp_lock_hint_t): Renamed to ...
6967	(enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
6968	enumerators using numbers and omp_lock_hint_* as their aliases.
6969	(omp_lock_hint_t): New typedef.  Rename to ...
6970	(omp_sync_hint_t): ... this.
6971	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6972	omp_sync_hint_t instead of omp_lock_hint_t.
6973	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6974	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6975	Declare.
6976	(omp_target_is_present, omp_target_disassociate_ptr):
6977	Change first argument from void * to const void *.
6978	(omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6979	from void * to const void *.
6980	(omp_target_associate_ptr): Change first and second arguments from
6981	void * to const void *.
6982	* omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6983	omp_pause_hard): New parameters.
6984	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6985	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6986	New interfaces.
6987	* omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6988	omp_pause_hard): New parameters.
6989	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6990	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6991	New externals.
6992	* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6993	EXTRA argument.  If not needed to prepare array, if extra is 0,
6994	clear ws->doacross, otherwise allocate just doacross structure and
6995	extra payload.  If array is needed, allocate also extra payload.
6996	(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6997	GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6998	doacross == NULL.
6999	* parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7000	gomp_team_start.
7001	(GOMP_parallel): Likewise.  Formatting fix.
7002	(GOMP_parallel_reductions): New function.
7003	(GOMP_cancellation_point): If taskgroup has workshare
7004	flag set, check cancelled of prev taskgroup if any.
7005	(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7006	on prev taskgroup if any.
7007	* sections.c: Include string.h.
7008	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
7009	(GOMP_sections_start): Adjust gomp_work_share_start caller.
7010	(GOMP_sections2_start): New function.
7011	(GOMP_parallel_sections_start, GOMP_parallel_sections):
7012	Pass NULL as taskgroup to gomp_team_start.
7013	* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7014	gomp_work_share_start callers.
7015	* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7016	If taskgroup has workshare flag set, check cancelled on prev
7017	taskgroup if any.  Guard all cancellation tests with
7018	gomp_cancel_var test.
7019	(omp_target_is_present, omp_target_disassociate_ptr):
7020	Change ptr argument from void * to const void *.
7021	(omp_target_memcpy): Change src argument from void * to const void *.
7022	(omp_target_memcpy_rect): Likewise.
7023	(omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
7024	instead of char * where needed.
7025	(omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7026	from void * to const void *.
7027	(omp_pause_resource, omp_pause_resource_all): New functions.
7028	* task.c (gomp_task_handle_depend): Handle new depend array format
7029	in addition to the old.  Handle mutexinoutset kinds the same as
7030	inout for now, handle unspecified kinds.
7031	(gomp_create_target_task): If taskgroup has workshare flag set, check
7032	cancelled on prev taskgroup if any.  Guard all cancellation tests with
7033	gomp_cancel_var test.  Handle new depend array format count in
7034	addition to the old.
7035	(GOMP_task): Likewise.  Adjust function comment.
7036	(gomp_task_run_pre): If taskgroup has workshare flag set, check
7037	cancelled on prev taskgroup if any.  Guard all cancellation tests with
7038	gomp_cancel_var test.
7039	(GOMP_taskwait_depend): New function.
7040	(gomp_task_maybe_wait_for_dependencies): Handle new depend array
7041	format in addition to the old.  Handle mutexinoutset kinds the same as
7042	inout for now, handle unspecified kinds.  Fix a function comment typo.
7043	(gomp_taskgroup_init): New function.
7044	(GOMP_taskgroup_start): Use it.
7045	(gomp_reduction_register, gomp_create_artificial_team,
7046	GOMP_taskgroup_reduction_register,
7047	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7048	gomp_parallel_reduction_register,
7049	gomp_workshare_task_reduction_register,
7050	gomp_workshare_taskgroup_start,
7051	GOMP_workshare_task_reduction_unregister): New functions.
7052	* taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7053	check cancelled on prev taskgroup if any.  Guard all cancellation
7054	tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
7055	by calling GOMP_taskgroup_reduction_register.
7056	* team.c (gomp_thread_attr): Remove comment.
7057	(struct gomp_thread_start_data): Add handle field.
7058	(gomp_thread_start): Call pthread_detach.
7059	(gomp_new_team): Adjust gomp_init_work_share caller.
7060	(gomp_free_pool_helper): Call pthread_detach.
7061	(gomp_team_start): Add taskgroup argument, initialize implicit
7062	tasks' taskgroup field to that.  Don't call
7063	pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
7064	(gomp_team_end): Determine nesting by thr->ts.level != 0
7065	rather than thr->ts.team != NULL.
7066	(gomp_pause_pool_helper, gomp_pause_host): New functions.
7067	* work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7068	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7069	(gomp_init_work_share): Change ORDERED argument from bool to size_t,
7070	if more than 1 allocate also extra payload at the end of array.  Never
7071	keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7072	(gomp_work_share_start): Change ORDERED argument from bool to size_t,
7073	return true instead of ws.
7074	* Makefile.in: Regenerated.
7075	* configure: Regenerated.
7076	* config.h.in: Regenerated.
7077	* testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7078	in some cases.
7079	* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7080	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7081	* testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7082	* testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7083	* testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7084	* testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7085	* testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7086	* testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7087	* testsuite/libgomp.c-c++-common/for-10.c: New test.
7088	* testsuite/libgomp.c-c++-common/for-11.c: New test.
7089	* testsuite/libgomp.c-c++-common/for-12.c: New test.
7090	* testsuite/libgomp.c-c++-common/for-13.c: New test.
7091	* testsuite/libgomp.c-c++-common/for-14.c: New test.
7092	* testsuite/libgomp.c-c++-common/for-15.c: New test.
7093	* testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7094	define a different N(test), don't define N(f0) to N(f14), but instead
7095	define N(f20) to N(f34) using != comparisons.
7096	* testsuite/libgomp.c-c++-common/for-7.c: New test.
7097	* testsuite/libgomp.c-c++-common/for-8.c: New test.
7098	* testsuite/libgomp.c-c++-common/for-9.c: New test.
7099	* testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7100	* testsuite/libgomp.c-c++-common/pause-1.c: New test.
7101	* testsuite/libgomp.c-c++-common/pause-2.c: New test.
7102	* testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7103	* testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7104	* testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7105	* testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7106	* testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7107	* testsuite/libgomp.c-c++-common/simd-1.c: New test.
7108	* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7109	* testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7110	* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7111	* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7112	* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7113	* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7114	* testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7115	* testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7116	* testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7117	* testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7118	* testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7119	* testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7120	* testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7121	* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7122	* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7123	* testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7124	* testsuite/libgomp.c++/depend-1.C: New test.
7125	* testsuite/libgomp.c++/depend-iterator-1.C: New test.
7126	* testsuite/libgomp.c++/depobj-1.C: New test.
7127	* testsuite/libgomp.c++/for-16.C: New test.
7128	* testsuite/libgomp.c++/for-21.C: New test.
7129	* testsuite/libgomp.c++/for-22.C: New test.
7130	* testsuite/libgomp.c++/for-23.C: New test.
7131	* testsuite/libgomp.c++/for-24.C: New test.
7132	* testsuite/libgomp.c++/for-25.C: New test.
7133	* testsuite/libgomp.c++/for-26.C: New test.
7134	* testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7135	* testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7136	* testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7137	* testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7138	* testsuite/libgomp.c++/task-reduction-10.C: New test.
7139	* testsuite/libgomp.c++/task-reduction-11.C: New test.
7140	* testsuite/libgomp.c++/task-reduction-12.C: New test.
7141	* testsuite/libgomp.c++/task-reduction-13.C: New test.
7142	* testsuite/libgomp.c++/task-reduction-14.C: New test.
7143	* testsuite/libgomp.c++/task-reduction-15.C: New test.
7144	* testsuite/libgomp.c++/task-reduction-16.C: New test.
7145	* testsuite/libgomp.c++/task-reduction-17.C: New test.
7146	* testsuite/libgomp.c++/task-reduction-18.C: New test.
7147	* testsuite/libgomp.c++/task-reduction-19.C: New test.
7148	* testsuite/libgomp.c/task-reduction-1.c: New test.
7149	* testsuite/libgomp.c++/task-reduction-1.C: New test.
7150	* testsuite/libgomp.c/task-reduction-2.c: New test.
7151	* testsuite/libgomp.c++/task-reduction-2.C: New test.
7152	* testsuite/libgomp.c++/task-reduction-3.C: New test.
7153	* testsuite/libgomp.c++/task-reduction-4.C: New test.
7154	* testsuite/libgomp.c++/task-reduction-5.C: New test.
7155	* testsuite/libgomp.c++/task-reduction-6.C: New test.
7156	* testsuite/libgomp.c++/task-reduction-7.C: New test.
7157	* testsuite/libgomp.c++/task-reduction-8.C: New test.
7158	* testsuite/libgomp.c++/task-reduction-9.C: New test.
7159	* testsuite/libgomp.c/teams-1.c: New test.
7160	* testsuite/libgomp.c/teams-2.c: New test.
7161	* testsuite/libgomp.c/thread-limit-4.c: New test.
7162	* testsuite/libgomp.c/thread-limit-5.c: New test.
7163	* testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7164
71652018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
7166
7167	* oacc-mem.c (memcpy_tofrom_device): New function, combined from
7168	acc_memcpy_to/from_device functions, now with async parameter.
7169	(acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7170	(acc_memcpy_from_device): Likewise.
7171	(acc_memcpy_to_device_async): New API function.
7172	(acc_memcpy_from_device_async): Likewise.
7173	(present_create_copy): Add async parameter and async setting/unsetting.
7174	(acc_create): Adjust present_create_copy call.
7175	(acc_copyin): Likewise.
7176	(acc_present_or_create): Likewise.
7177	(acc_present_or_copyin): Likewise.
7178	(acc_create_async): New API function.
7179	(acc_copyin_async): New API function.
7180	(delete_copyout): Add async parameter and async setting/unsetting.
7181	(acc_delete): Adjust delete_copyout call.
7182	(acc_copyout): Likewise.
7183	(acc_delete_async): New API function.
7184	(acc_copyout_async): Likewise.
7185	(update_dev_host): Add async parameter and async setting/unsetting.
7186	(acc_update_device): Adjust update_dev_host call.
7187	(acc_update_self): Likewise.
7188	(acc_update_device_async): New API function.
7189	(acc_update_self_async): Likewise.
7190	* openacc.h (acc_copyin_async): Declare new API function.
7191	(acc_create_async): Likewise.
7192	(acc_copyout_async): Likewise.
7193	(acc_delete_async): Likewise.
7194	(acc_update_device_async): Likewise.
7195	(acc_update_self_async): Likewise.
7196	(acc_memcpy_to_device_async): Likewise.
7197	(acc_memcpy_from_device_async): Likewise.
7198	* openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7199	(acc_copyin_async_64_h): New subroutine.
7200	(acc_copyin_async_array_h): New subroutine.
7201	(acc_create_async_32_h): New subroutine.
7202	(acc_create_async_64_h): New subroutine.
7203	(acc_create_async_array_h): New subroutine.
7204	(acc_copyout_async_32_h): New subroutine.
7205	(acc_copyout_async_64_h): New subroutine.
7206	(acc_copyout_async_array_h): New subroutine.
7207	(acc_delete_async_32_h): New subroutine.
7208	(acc_delete_async_64_h): New subroutine.
7209	(acc_delete_async_array_h): New subroutine.
7210	(acc_update_device_async_32_h): New subroutine.
7211	(acc_update_device_async_64_h): New subroutine.
7212	(acc_update_device_async_array_h): New subroutine.
7213	(acc_update_self_async_32_h): New subroutine.
7214	(acc_update_self_async_64_h): New subroutine.
7215	(acc_update_self_async_array_h): New subroutine.
7216	* openacc.f90 (acc_copyin_async_32_h): New subroutine.
7217	(acc_copyin_async_64_h): New subroutine.
7218	(acc_copyin_async_array_h): New subroutine.
7219	(acc_create_async_32_h): New subroutine.
7220	(acc_create_async_64_h): New subroutine.
7221	(acc_create_async_array_h): New subroutine.
7222	(acc_copyout_async_32_h): New subroutine.
7223	(acc_copyout_async_64_h): New subroutine.
7224	(acc_copyout_async_array_h): New subroutine.
7225	(acc_delete_async_32_h): New subroutine.
7226	(acc_delete_async_64_h): New subroutine.
7227	(acc_delete_async_array_h): New subroutine.
7228	(acc_update_device_async_32_h): New subroutine.
7229	(acc_update_device_async_64_h): New subroutine.
7230	(acc_update_device_async_array_h): New subroutine.
7231	(acc_update_self_async_32_h): New subroutine.
7232	(acc_update_self_async_64_h): New subroutine.
7233	(acc_update_self_async_array_h): New subroutine.
7234	* libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7235	acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7236	acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7237	acc_memcpy_to_device_async*, acc_update_device_async*, and
7238	acc_update_self_async* entries.
7239	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7240	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7241	* testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7242
72432018-10-31  Joseph Myers  <joseph@codesourcery.com>
7244
7245	PR bootstrap/82856
7246	* Makefile.am: Include multilib.am
7247	(AUTOMAKE_OPTIONS): Add info-in-builddir.
7248	(CLEANFILES): Remove libgomp.info.
7249	* configure.ac: Remove AC_PREREQ.
7250	* testsuite/Makefile.am (RUNTEST): Remove quotes.
7251	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7252	Regenerate.
7253
72542018-10-29  Joseph Myers  <joseph@codesourcery.com>
7255	    Julian Brown  <julian@codesourcery.com>
7256
7257	* testsuite/libgomp.oacc-c++/this.C: New.
7258
72592018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
7260
7261	* plugin/plugin-nvptx.c (struct cuda_map): New.
7262	(struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7263	h_tail with (cuda_map *) map.
7264	(cuda_map_create): New function.
7265	(cuda_map_destroy): New function.
7266	(map_init): Update to use a linked list of cuda_map objects.
7267	(map_fini): Likewise.
7268	(map_pop): Likewise.
7269	(map_push): Likewise.  Return CUdeviceptr instead of void.
7270	(init_streams_for_device): Remove stales references to ptx_stream
7271	members.
7272	(select_stream_for_async): Likewise.
7273	(nvptx_exec): Update call to map_init.
7274
72752018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
7276            Julian Brown  <julian@codesourcery.com>
7277
7278	PR middle-end/86336
7279	* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7280
72812018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
7282	Thomas Koenig <tkoenig@gcc.gnu.org>
7283
7284	PR fortran/25829
7285	* testsuite/libgomp.fortran/async_io_1.f90: New test.
7286	* testsuite/libgomp.fortran/async_io_2.f90: New test.
7287	* testsuite/libgomp.fortran/async_io_3.f90: New test.
7288	* testsuite/libgomp.fortran/async_io_4.f90: New test.
7289	* testsuite/libgomp.fortran/async_io_5.f90: New test.
7290	* testsuite/libgomp.fortran/async_io_6.f90: New test.
7291	* testsuite/libgomp.fortran/async_io_7.f90: New test.
7292
72932018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
7294	    Tom de Vries  <tdevries@suse.de>
7295
7296	PR target/85590
7297	* plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7298	(cuOccupancyMaxPotentialBlockSize): Declare.
7299	* plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7300	CUDA_ONE_CALL_MAYBE_NULL.
7301	* plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7302	CUoccupancyB2DSize and declare
7303	cuOccupancyMaxPotentialBlockSize.
7304	(nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7305	default num_gangs and num_workers when the driver supports it.
7306
73072018-08-08  Tom de Vries  <tdevries@suse.de>
7308
7309	* plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7310	CUDA_ONE_CALL_MAYBE_NULL.
7311	* plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7312	(cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7313	(link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7314	are not found.
7315
73162018-08-08  Tom de Vries  <tdevries@suse.de>
7317
7318	* plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7319	* plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7320	present.
7321
73222018-08-08  Tom de Vries  <tdevries@suse.de>
7323
7324	* plugin/plugin-nvptx.c
7325	(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7326	(nvptx_open_device): Use
7327	CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7328
73292018-08-08  Tom de Vries  <tdevries@suse.de>
7330
7331	* plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7332	(cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
7333
73342018-08-07  Tom de Vries  <tdevries@suse.de>
7335
7336	* plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7337	(struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7338	(init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
7339	corresponding call in CUDA_ONE_CALL.  Add def/undef of
7340	CUDA_ONE_CALL_MAYBE_NULL.
7341	(CUDA_CALL_EXISTS): Define.
7342
73432018-08-07  Tom de Vries  <tdevries@suse.de>
7344
7345	* plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7346	CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7347	corresponding undefs right after.
7348
73492018-08-04  Tom de Vries  <tdevries@suse.de>
7350
7351	* plugin/configfrag.ac: For --without-cuda-driver, set
7352	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
7353	CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7354	* configure: Regenerate.
7355
73562018-08-02  Tom de Vries  <tdevries@suse.de>
7357
7358	PR target/86660
7359	* testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7360	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7361	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7362	Same.
7363	* testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7364	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7365	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7366
73672018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
7368	    Thomas Schwinge <thomas@codesourcery.com>
7369
7370	* config/nvptx/oacc-parallel.c: Truncate.
7371
73722018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
7373	    James Norris <jnorris@codesourcery.com>
7374
7375	* plugin/plugin-nvptx.c (struct map): Removed.
7376	(map_init, map_pop): Remove use of struct map.
7377	(map_push): Likewise and change argument list.
7378	* testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7379
73802018-08-01  Tom de Vries  <tdevries@suse.de>
7381
7382	* plugin/cuda-lib.def: New file.  Factor out of ...
7383	* plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7384	(struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7385	using CUDA_CALLS.
7386
73872018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7388
7389	Revert 'AsyncI/O patch committed'.
7390	2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
7391		Thomas Koenig <tkoenig@gcc.gnu.org>
7392
7393	PR fortran/25829
7394	* testsuite/libgomp.fortran/async_io_1.f90: New test.
7395	* testsuite/libgomp.fortran/async_io_2.f90: New test.
7396	* testsuite/libgomp.fortran/async_io_3.f90: New test.
7397	* testsuite/libgomp.fortran/async_io_4.f90: New test.
7398	* testsuite/libgomp.fortran/async_io_5.f90: New test.
7399	* testsuite/libgomp.fortran/async_io_6.f90: New test.
7400	* testsuite/libgomp.fortran/async_io_7.f90: New test.
7401
74022018-07-30  Tom de Vries  <tdevries@suse.de>
7403
7404	* plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7405	(nvptx_exec): Ensure worker and vector default dims don't exceed
7406	targ_fn->max_threads_per_block.
7407
74082018-07-30  Tom de Vries  <tdevries@suse.de>
7409
7410	* plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7411	(nvptx_open_device): Init default_dims for device.
7412	(nvptx_exec): Use default_dims from device.
7413
74142018-07-26  Jakub Jelinek  <jakub@redhat.com>
7415
7416	PR testsuite/86660
7417	* testsuite/libgomp.c++/for-15.C (results): Include it in
7418	omp declare target region.
7419	(main): Use map (always, tofrom: results) instead of
7420	map (tofrom: results).
7421
7422	PR middle-end/86660
7423	* testsuite/libgomp.c/pr86660.c: New test.
7424
74252018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
7426	    Tom de Vries  <tdevries@suse.de>
7427
7428	* plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7429	sufficient resources to launch a kernel, and give a hint on how to fix
7430	it.
7431
74322018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
7433	    Tom de Vries  <tdevries@suse.de>
7434
7435	* plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7436	max_threads_per_block and max_threads_per_multiprocessor fields.
7437	(nvptx_open_device): Initialize new fields.
7438	(nvptx_exec): Use num_sms, and new fields.
7439
74402018-07-26  Tom de Vries  <tdevries@suse.de>
7441
7442	* testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7443	to correct locations.  Remove xfail.
7444
74452018-07-26  Tom de Vries  <tdevries@suse.de>
7446
7447	* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7448	acc_wait.  Move acc_async_test calls to correct locations.  Remove
7449	xfail.
7450
74512018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
7452	Thomas Koenig <tkoenig@gcc.gnu.org>
7453
7454	PR fortran/25829
7455	* testsuite/libgomp.fortran/async_io_1.f90: New test.
7456	* testsuite/libgomp.fortran/async_io_2.f90: New test.
7457	* testsuite/libgomp.fortran/async_io_3.f90: New test.
7458	* testsuite/libgomp.fortran/async_io_4.f90: New test.
7459	* testsuite/libgomp.fortran/async_io_5.f90: New test.
7460	* testsuite/libgomp.fortran/async_io_6.f90: New test.
7461	* testsuite/libgomp.fortran/async_io_7.f90: New test.
7462
74632018-07-17  Jakub Jelinek  <jakub@redhat.com>
7464
7465	PR middle-end/86542
7466	* testsuite/libgomp.c++/pr86542.C: New test.
7467
7468	PR middle-end/86539
7469	* testsuite/libgomp.c++/pr86539.C: New test.
7470
74712018-07-11  Jakub Jelinek  <jakub@redhat.com>
7472
7473	PR c++/86443
7474	* testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7475	(results): Make sure the variable is not inside declare target region.
7476	(qux): Remove unused function.
7477
74782018-07-10  Jakub Jelinek  <jakub@redhat.com>
7479
7480	PR c++/86443
7481	* testsuite/libgomp.c++/for-15.C: New test.
7482
74832018-06-26  Jakub Jelinek  <jakub@redhat.com>
7484
7485	PR c++/86291
7486	* testsuite/libgomp.c++/pr86291.C: New test.
7487
74882018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
7489
7490	* libgomp.texi (Top): Move www.openmp.org to https.
7491	(Enabling OpenMP): Ditto.
7492	(omp_get_active_level): Ditto.
7493	(omp_get_ancestor_thread_num): Ditto.
7494	(omp_get_cancellation): Ditto.
7495	(omp_get_default_device): Ditto.
7496	(omp_get_dynamic): Ditto.
7497	(omp_get_level): Ditto.
7498	(omp_get_max_active_levels): Ditto.
7499	(omp_get_max_task_priority): Ditto.
7500	(omp_get_max_threads): Ditto.
7501	(omp_get_nested): Ditto.
7502	(omp_get_num_devices): Ditto.
7503	(omp_get_num_procs): Ditto.
7504	(omp_get_num_teams): Ditto.
7505	(omp_get_num_threads): Ditto.
7506	(omp_get_proc_bind): Ditto.
7507	(omp_get_schedule): Ditto.
7508	(omp_get_team_num): Ditto.
7509	(omp_get_team_size): Ditto.
7510	(omp_get_thread_limit): Ditto.
7511	(omp_get_thread_num): Ditto.
7512	(omp_in_parallel): Ditto.
7513	(omp_in_final): Ditto.
7514	(omp_is_initial_device): Ditto.
7515	(omp_set_default_device): Ditto.
7516	(omp_set_dynamic): Ditto.
7517	(omp_set_max_active_levels): Ditto.
7518	(omp_set_nested): Ditto.
7519	(omp_set_num_threads): Ditto.
7520	(omp_set_schedule): Ditto.
7521	(omp_init_lock): Ditto.
7522	(omp_set_lock): Ditto.
7523	(omp_test_lock): Ditto.
7524	(omp_unset_lock): Ditto.
7525	(omp_destroy_lock): Ditto.
7526	(omp_init_nest_lock): Ditto.
7527	(omp_set_nest_lock): Ditto.
7528	(omp_test_nest_lock): Ditto.
7529	(omp_unset_nest_lock): Ditto.
7530	(omp_destroy_nest_lock): Ditto.
7531	(omp_get_wtick): Ditto.
7532	(omp_get_wtime): Ditto.
7533	(OMP_CANCELLATION): Ditto.
7534	(OMP_DISPLAY_ENV): Ditto.
7535	(OMP_DEFAULT_DEVICE): Ditto.
7536	(OMP_DYNAMIC): Ditto.
7537	(OMP_MAX_ACTIVE_LEVELS): Ditto.
7538	(OMP_MAX_TASK_PRIORITY): Ditto.
7539	(OMP_NESTED): Ditto.
7540	(OMP_NUM_THREADS): Ditto.
7541	(OMP_PROC_BIND): Ditto.
7542	(OMP_PLACES): Ditto.
7543	(OMP_STACKSIZE): Ditto.
7544	(OMP_SCHEDULE): Ditto.
7545	(OMP_THREAD_LIMIT): Ditto.
7546	(OMP_WAIT_POLICY): Ditto.
7547
75482018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
7549	    James Norris  <jnorris@codesourcery.com>
7550	    Julian Brown  <julian@codesourcery.com>
7551	    Thomas Schwinge  <thomas@codesourcery.com>
7552	    Tom de Vries  <tom@codesourcery.com>
7553
7554	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7555	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7556	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7557	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7558	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7559	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7560	* testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7561	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7562	* testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7563	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7564	Likewise.
7565	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7566	Likewise.
7567	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7568	Likewise.
7569	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7570	Likewise.
7571	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7572	Likewise.
7573	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7574	Likewise.
7575	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7576	Likewise.
7577	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7578	Likewise.
7579	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7580	Likewise.
7581	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7582	Likewise.
7583	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7584	Likewise.
7585	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7586	Likewise.
7587	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7588	Likewise.
7589	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7590	Likewise.
7591	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7592	Likewise.
7593	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7594	Likewise.
7595	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7596	Likewise.
7597	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7598	Likewise.
7599	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7600	Likewise.
7601	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7602	Likewise.
7603	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7604	Likewise.
7605	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7606	Likewise.
7607	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7608	Likewise.
7609	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7610	Likewise.
7611	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7612	Likewise.
7613	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7614	Likewise.
7615	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7616	Likewise.
7617	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7618	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7619	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7620	* testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7621	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7622	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7623	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7624	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7625	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7626	Likewise.
7627	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7628	Likewise.
7629	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7630	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7631	* testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7632	Likewise.
7633	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7634	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7635	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7636	Likewise.
7637	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7638	Likewise.
7639	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7640	Likewise.
7641	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7642	Likewise.
7643	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7644	Likewise.
7645	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7646	Likewise.
7647	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7648	Likewise.
7649	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7650	Likewise.
7651	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7652	Likewise.
7653	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7654	Likewise.
7655	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7656	Likewise.
7657	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7658	Likewise.
7659	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7660	Likewise.
7661	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7662	Likewise.
7663	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7664	Likewise.
7665	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7666	* testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7667	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7668	* testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7669	* testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7670	* testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7671	* testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7672
76732018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
7674	    Thomas Schwinge <thomas@codesourcery.com>
7675	    Cesar Philippidis  <cesar@codesourcery.com>
7676
7677	* libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7678	(gomp_acc_remove_pointer): Update declaration.
7679	(gomp_acc_declare_allocate): Declare.
7680	(gomp_remove_var): Declare.
7681	* libgomp.map (OACC_2.5): Define.
7682	* oacc-mem.c (acc_map_data): Update refcount.
7683	(acc_unmap_data): Likewise.
7684	(present_create_copy): Likewise.
7685	(acc_create): Add FLAG_PRESENT when calling present_create_copy.
7686	(acc_copyin): Likewise.
7687	(FLAG_FINALIZE): Define.
7688	(delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7689	(acc_delete_finalize): New function.
7690	(acc_delete_finalize_async): New function.
7691	(acc_copyout_finalize): New function.
7692	(acc_copyout_finalize_async): New function.
7693	(gomp_acc_insert_pointer): Update refcounts.
7694	(gomp_acc_remove_pointer): Return if data is not present on the
7695	accelerator.
7696	* oacc-parallel.c (find_pset): Rename to find_pointer.
7697	(find_pointer): Add support for GOMP_MAP_POINTER.
7698	(handle_ftn_pointers): New function.
7699	(GOACC_parallel_keyed): Update refcounts of variables.
7700	(GOACC_enter_exit_data): Add support for finalized data mappings.
7701	Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7702	of fortran arrays.
7703	(GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7704	(GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7705	for GOMP_MAP_FORCE_FROM.
7706	* openacc.f90 (module openacc_internal): Add
7707	acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7708	acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7709	acc_copyout_finalize and acc_delete_finalize.
7710	(acc_copyout_finalize_32_h): New subroutine.
7711	(acc_copyout_finalize_64_h): New subroutine.
7712	(acc_copyout_finalize_array_h): New subroutine.
7713	(acc_delete_finalize_32_h): New subroutine.
7714	(acc_delete_finalize_64_h): New subroutine.
7715	(acc_delete_finalize_array_h): New subroutine.
7716	* openacc.h (acc_copyout_finalize): Declare.
7717	(acc_copyout_finalize_async): Declare.
7718	(acc_delete_finalize): Declare.
7719	(acc_delete_finalize_async): Declare.
7720	* openacc_lib.h (acc_copyout_finalize): New interface.
7721	(acc_delete_finalize): New interface.
7722	* target.c (gomp_map_vars): Update dynamic_refcount.
7723	(gomp_remove_var): New function.
7724	(gomp_unmap_vars): Use it.
7725	(gomp_unload_image_from_device): Likewise.
7726	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7727	case to utilize OpenACC 2.5 data clause semantics.
7728	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7729	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7730	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7731	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7732	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7733	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7734	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7735	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7736	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7737	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7738	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7739	* testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7740	* testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7741	utilize OpenACC 2.5 data clause semantics.
7742	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7743	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7744	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7745	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7746	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7747	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7748	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7749	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7750	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7751
77522018-05-21  Janus Weil  <janus@gcc.gnu.org>
7753
7754	PR fortran/85841
7755	PR testsuite/85865
7756	* testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7757	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7758	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7759	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7760	* testsuite/libgomp.fortran/task2.f90: Ditto.
7761	* testsuite/libgomp.fortran/vla1.f90: Ditto.
7762	* testsuite/libgomp.fortran/vla2.f90: Ditto.
7763	* testsuite/libgomp.fortran/vla3.f90: Ditto.
7764	* testsuite/libgomp.fortran/vla4.f90: Ditto.
7765	* testsuite/libgomp.fortran/vla5.f90: Ditto.
7766	* testsuite/libgomp.fortran/vla6.f90: Ditto.
7767	* testsuite/libgomp.fortran/vla8.f90: Ditto.
7768	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7769	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7770
77712018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
7772
7773	PR c++/85782
7774	* testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7775
77762018-05-09  Tom de Vries  <tom@codesourcery.com>
7777
7778	PR libgomp/82901
7779	* oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7780	to GOACC_enter_exit_data.
7781
77822018-05-09  Tom de Vries  <tom@codesourcery.com>
7783
7784	PR libgomp/83792
7785	* oacc-int.h (async_valid_stream_id_p, async_valid_p)
7786	(async_synchronous_p): New function.
7787	* oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7788	async_valid_p.
7789	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7790	async_valid_stream_id_p.
7791	* oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7792	* oacc-parallel.c (GOACC_parallel_keyed): Same.
7793
77942018-05-07  Tom de Vries  <tom@codesourcery.com>
7795
7796	PR testsuite/85677
7797	* testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7798	include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7799
78002018-05-03  Tom de Vries  <tom@codesourcery.com>
7801
7802	PR testsuite/85106
7803	* testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7804	extra_tool_flags if it contains an -foffload=-fdump-* flag.
7805	* testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7806	* testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7807
78082018-05-02  Tom de Vries  <tom@codesourcery.com>
7809
7810	PR libgomp/85411
7811	* plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7812	GOMP_OPENACC_DIM ...
7813	* env.c (parse_gomp_openacc_dim): ... here.  New function.
7814	(initialize_env): Call parse_gomp_openacc_dim.
7815	(goacc_default_dims): Define.
7816	* libgomp.h (goacc_default_dims): Declare.
7817	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7818	* oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7819	* libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7820	GOMP_PLUGIN_acc_default_dim.
7821	* testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7822	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7823
78242018-05-02  Tom de Vries  <tom@codesourcery.com>
7825
7826	PR testsuite/83791
7827	* testsuite/libgomp.c++/udr-9.C: Update.
7828	* testsuite/libgomp.c++/atomic-16.C: Remove.
7829	* testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7830	* testsuite/libgomp.c++/loop-13.C: Remove.
7831	* testsuite/libgomp.c++/loop-14.C: Remove.
7832	* testsuite/libgomp.c++/loop-15.C: Remove.
7833	* testsuite/libgomp.c++/monotonic-1.C: Remove.
7834	* testsuite/libgomp.c++/monotonic-2.C: Remove.
7835	* testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7836	* testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7837	* testsuite/libgomp.c++/ordered-1.C: Remove.
7838	* testsuite/libgomp.c++/pr45784.C: Remove.
7839	* testsuite/libgomp.c++/pr64824.C: Remove.
7840	* testsuite/libgomp.c++/pr64868.C: Remove.
7841	* testsuite/libgomp.c++/pr66199-1.C: Remove.
7842	* testsuite/libgomp.c++/pr66199-2.C: Remove.
7843	* testsuite/libgomp.c++/pr66199-3.C: Remove.
7844	* testsuite/libgomp.c++/pr66199-4.C: Remove.
7845	* testsuite/libgomp.c++/pr66199-5.C: Remove.
7846	* testsuite/libgomp.c++/pr66199-6.C: Remove.
7847	* testsuite/libgomp.c++/pr66199-7.C: Remove.
7848	* testsuite/libgomp.c++/pr66199-8.C: Remove.
7849	* testsuite/libgomp.c++/pr66199-9.C: Remove.
7850	* testsuite/libgomp.c++/pr69389.C: Remove.
7851	* testsuite/libgomp.c++/simd10.C: Remove.
7852	* testsuite/libgomp.c++/simd11.C: Remove.
7853	* testsuite/libgomp.c++/simd12.C: Remove.
7854	* testsuite/libgomp.c++/simd13.C: Remove.
7855	* testsuite/libgomp.c++/target-1.C: Remove.
7856	* testsuite/libgomp.c++/target-3.C: Remove.
7857	* testsuite/libgomp.c++/target-4.C: Remove.
7858	* testsuite/libgomp.c++/target-5.C: Remove.
7859	* testsuite/libgomp.c++/taskgroup-1.C: Remove.
7860	* testsuite/libgomp.c++/taskloop-1.C: Remove.
7861	* testsuite/libgomp.c++/taskloop-2.C: Remove.
7862	* testsuite/libgomp.c++/taskloop-3.C: Remove.
7863	* testsuite/libgomp.c++/taskloop-4.C: Remove.
7864	* testsuite/libgomp.c++/udr-9.C: Remove.
7865	* testsuite/libgomp.c++/for-10.C: Remove.
7866	* testsuite/libgomp.c++/for-11.C: Remove.
7867	* testsuite/libgomp.c++/for-12.C: Remove.
7868	* testsuite/libgomp.c++/for-13.C: Remove.
7869	* testsuite/libgomp.c++/for-14.C: Remove.
7870	* testsuite/libgomp.c++/for-9.C: Remove.
7871	* testsuite/libgomp.c/atomic-18.c: Move ...
7872	* testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7873	* testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7874	* testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7875	* testsuite/libgomp.c/loop-13.c: Move ...
7876	* testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7877	* testsuite/libgomp.c/loop-14.c: Move ...
7878	* testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7879	* testsuite/libgomp.c/loop-15.c: Remove.
7880	* testsuite/libgomp.c-c++-common/loop-15.c: New test.
7881	* testsuite/libgomp.c/monotonic-1.c: Move ...
7882	* testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7883	* testsuite/libgomp.c/monotonic-2.c: Move ...
7884	* testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7885	* testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7886	* testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7887	* testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7888	* testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7889	* testsuite/libgomp.c/ordered-4.c: Move ...
7890	* testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7891	* testsuite/libgomp.c/pr45784.c: Move ...
7892	* testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7893	* testsuite/libgomp.c/pr64824.c: Move ...
7894	* testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7895	* testsuite/libgomp.c/pr64868.c: Move ...
7896	* testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7897	* testsuite/libgomp.c/pr66199-1.c: Move ...
7898	* testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7899	* testsuite/libgomp.c/pr66199-2.c: Move ...
7900	* testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7901	* testsuite/libgomp.c/pr66199-3.c: Move ...
7902	* testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7903	* testsuite/libgomp.c/pr66199-4.c: Move ...
7904	* testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7905	* testsuite/libgomp.c/pr66199-5.c: Move ...
7906	* testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7907	* testsuite/libgomp.c/pr66199-6.c: Move ...
7908	* testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7909	* testsuite/libgomp.c/pr66199-7.c: Move ...
7910	* testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7911	* testsuite/libgomp.c/pr66199-8.c: Move ...
7912	* testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7913	* testsuite/libgomp.c/pr66199-9.c: Move ...
7914	* testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7915	* testsuite/libgomp.c/pr69389.c: Move ...
7916	* testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7917	* testsuite/libgomp.c/simd-14.c: Move ...
7918	* testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7919	* testsuite/libgomp.c/simd-15.c: Move ...
7920	* testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7921	* testsuite/libgomp.c/simd-16.c: Move ...
7922	* testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7923	* testsuite/libgomp.c/simd-17.c: Move ...
7924	* testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7925	* testsuite/libgomp.c/target-1.c: Move ...
7926	* testsuite/libgomp.c-c++-common/target-1.c: ... here.
7927	* testsuite/libgomp.c/target-10.c: Move ...
7928	* testsuite/libgomp.c-c++-common/target-10.c: ... here.
7929	* testsuite/libgomp.c/target-13.c: Move ...
7930	* testsuite/libgomp.c-c++-common/target-13.c: ... here.
7931	* testsuite/libgomp.c/target-2.c: Move ...
7932	* testsuite/libgomp.c-c++-common/target-2.c: ... here.
7933	* testsuite/libgomp.c/taskgroup-1.c: Move ...
7934	* testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7935	* testsuite/libgomp.c/taskloop-1.c: Move ...
7936	* testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7937	* testsuite/libgomp.c/taskloop-2.c: Move ...
7938	* testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7939	* testsuite/libgomp.c/taskloop-3.c: Move ...
7940	* testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7941	* testsuite/libgomp.c/taskloop-4.c: Move ...
7942	* testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7943	* testsuite/libgomp.c/udr-1.c: Move ...
7944	* testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7945	* testsuite/libgomp.c/for-1.c: Move ...
7946	* testsuite/libgomp.c-c++-common/for-1.c: ... here.
7947	* testsuite/libgomp.c/for-1.h: Move ...
7948	* testsuite/libgomp.c-c++-common/for-1.h: ... here.
7949	* testsuite/libgomp.c/for-2.c: Move ...
7950	* testsuite/libgomp.c-c++-common/for-2.c: ... here.
7951	* testsuite/libgomp.c/for-2.h: Move ...
7952	* testsuite/libgomp.c-c++-common/for-2.h: ... here.
7953	* testsuite/libgomp.c/for-3.c: Move ...
7954	* testsuite/libgomp.c-c++-common/for-3.c: ... here.
7955	* testsuite/libgomp.c/for-4.c: Move ...
7956	* testsuite/libgomp.c-c++-common/for-4.c: ... here.
7957	* testsuite/libgomp.c/for-5.c: Move ...
7958	* testsuite/libgomp.c-c++-common/for-5.c: ... here.
7959	* testsuite/libgomp.c/for-6.c: Move ...
7960	* testsuite/libgomp.c-c++-common/for-6.c: ... here.
7961
79622018-05-02  Tom de Vries  <tom@codesourcery.com>
7963
7964	PR libgomp/82428
7965	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7966	__builtin_goacc_parlevel_{id,size}.
7967	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7968	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7969	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7970	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7971	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7972	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7973	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7974	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7975	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7976	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7977	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7978	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7979	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7980	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7981	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7982	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7983	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7984	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7985	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7986	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7987	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7988	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7989	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7990
79912018-05-02  Tom de Vries  <tom@codesourcery.com>
7992
7993	PR testsuite/85106
7994	* testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7995
79962018-05-02  Tom de Vries  <tom@codesourcery.com>
7997
7998	PR testsuite/85106
7999	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8000
80012018-04-29  Julian Brown  <julian@codesourcery.com>
8002	    Tom de Vries  <tom@codesourcery.com>
8003
8004	PR testsuite/85527
8005	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8006	arbitrary order for iterations of atomic subtract check.
8007
80082018-04-28  Tom de Vries  <tom@codesourcery.com>
8009
8010	PR testsuite/85527
8011	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8012	atomic capture results obtained in parallel loop to an array, instead of
8013	to a scalar.
8014
80152018-04-26  Tom de Vries  <tom@codesourcery.com>
8016
8017	PR libgomp/84020
8018	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8019	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8020	(process_GOMP_NVPTX_JIT): New function.
8021	(link_ptx): Use process_GOMP_NVPTX_JIT.
8022
80232018-04-26  Richard Biener <rguenther@suse.de>
8024	    Tom de Vries  <tom@codesourcery.com>
8025
8026	PR lto/85422
8027	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8028
80292018-04-26  Tom de Vries  <tom@codesourcery.com>
8030
8031	PR target/85519
8032	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8033	recursion depth from 25 to 23.
8034	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8035
80362018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
8037
8038	* configure: Regenerated.
8039
80402018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
8041	    Tom de Vries  <tom@codesourcery.com>
8042
8043	PR target/85445
8044	* testsuite/libgomp.oacc-c++/ref-1.C: New.
8045
80462018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
8047
8048	PR libgomp/85463
8049	* testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8050	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8051	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8052	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8053	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8054	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8055
8056	PR libfortran/85166
8057	* testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8058	abort".
8059	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8060
80612018-04-19  Jakub Jelinek  <jakub@redhat.com>
8062
8063	* configure: Regenerated.
8064
80652018-04-18  David Malcolm  <dmalcolm@redhat.com>
8066
8067	PR jit/85384
8068	* configure: Regenerate.
8069
80702018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
8071	    Tom de Vries  <tom@codesourcery.com>
8072
8073	PR middle-end/84955
8074	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8075	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8076
80772018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
8078
8079	PR fortran/83064
8080	PR testsuite/85346
8081	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8082	test from gfortran.dg to here.
8083
80842018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
8085
8086	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8087	* testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8088
80892018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
8090
8091	PR middle-end/84955
8092	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8093	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8094
80952018-04-05  Tom de Vries  <tom@codesourcery.com>
8096
8097	PR target/85204
8098	* testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8099
81002018-03-26  Tom de Vries  <tom@codesourcery.com>
8101
8102	PR tree-optimization/85063
8103	* testsuite/libgomp.c/switch-conversion-2.c: New test.
8104	* testsuite/libgomp.c/switch-conversion.c: New test.
8105	* testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8106	* testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8107
81082018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
8109
8110	PR fortran/84381
8111	* testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8112	call abort by STOP n.
8113	* testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8114	* testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8115	* testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8116	* testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8117	* testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8118	* testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8119	* testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8120	* testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8121	* testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8122	* testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8123	* testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8124	* testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8125	* testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8126	* testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8127	* testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8128	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8129	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8130	* testsuite/libgomp.fortran/associate1.f90: Likewise.
8131	* testsuite/libgomp.fortran/associate2.f90: Likewise.
8132	* testsuite/libgomp.fortran/associate3.f90: Likewise.
8133	* testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8134	* testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8135	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8136	* testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8137	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8138	* testsuite/libgomp.fortran/character1.f90: Likewise.
8139	* testsuite/libgomp.fortran/character2.f90: Likewise.
8140	* testsuite/libgomp.fortran/collapse1.f90: Likewise.
8141	* testsuite/libgomp.fortran/collapse2.f90: Likewise.
8142	* testsuite/libgomp.fortran/collapse3.f90: Likewise.
8143	* testsuite/libgomp.fortran/collapse4.f90: Likewise.
8144	* testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8145	* testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8146	* testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8147	* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8148	* testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8149	* testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8150	* testsuite/libgomp.fortran/depend-1.f90: Likewise.
8151	* testsuite/libgomp.fortran/depend-2.f90: Likewise.
8152	* testsuite/libgomp.fortran/depend-3.f90: Likewise.
8153	* testsuite/libgomp.fortran/do1.f90: Likewise.
8154	* testsuite/libgomp.fortran/do2.f90: Likewise.
8155	* testsuite/libgomp.fortran/doacross1.f90: Likewise.
8156	* testsuite/libgomp.fortran/doacross2.f90: Likewise.
8157	* testsuite/libgomp.fortran/doacross3.f90: Likewise.
8158	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8159	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8160	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8161	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8162	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8163	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8164	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8165	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8166	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8167	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8168	* testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8169	* testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8170	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8171	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8172	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8173	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8174	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8175	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8176	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8177	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8178	* testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8179	* testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8180	* testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8181	* testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8182	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8183	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8184	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8185	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8186	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8187	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8188	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8189	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8190	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8191	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8192	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8193	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8194	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8195	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8196	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8197	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8198	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8199	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8200	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8201	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8202	* testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8203	* testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8204	* testsuite/libgomp.fortran/lib1.f90: Likewise.
8205	* testsuite/libgomp.fortran/lib2.f: Likewise.
8206	* testsuite/libgomp.fortran/lib3.f: Likewise.
8207	* testsuite/libgomp.fortran/lib4.f90: Likewise.
8208	* testsuite/libgomp.fortran/lock-1.f90: Likewise.
8209	* testsuite/libgomp.fortran/lock-2.f90: Likewise.
8210	* testsuite/libgomp.fortran/nested1.f90: Likewise.
8211	* testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8212	* testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8213	* testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8214	* testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8215	* testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8216	* testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8217	* testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8218	* testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8219	* testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8220	* testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8221	* testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8222	* testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8223	* testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8224	* testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8225	* testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8226	* testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8227	* testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8228	* testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8229	* testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8230	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8231	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8232	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8233	* testsuite/libgomp.fortran/pointer1.f90: Likewise.
8234	* testsuite/libgomp.fortran/pointer2.f90: Likewise.
8235	* testsuite/libgomp.fortran/pr25162.f: Likewise.
8236	* testsuite/libgomp.fortran/pr25219.f90: Likewise.
8237	* testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8238	* testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8239	* testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8240	* testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8241	* testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8242	* testsuite/libgomp.fortran/pr28390.f: Likewise.
8243	* testsuite/libgomp.fortran/pr29629.f90: Likewise.
8244	* testsuite/libgomp.fortran/pr32550.f90: Likewise.
8245	* testsuite/libgomp.fortran/pr33880.f90: Likewise.
8246	* testsuite/libgomp.fortran/pr34020.f90: Likewise.
8247	* testsuite/libgomp.fortran/pr35130.f90: Likewise.
8248	* testsuite/libgomp.fortran/pr42162.f90: Likewise.
8249	* testsuite/libgomp.fortran/pr46753.f90: Likewise.
8250	* testsuite/libgomp.fortran/pr48894.f90: Likewise.
8251	* testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8252	* testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8253	* testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8254	* testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8255	* testsuite/libgomp.fortran/pr65597.f90: Likewise.
8256	* testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8257	* testsuite/libgomp.fortran/pr71014.f90: Likewise.
8258	* testsuite/libgomp.fortran/pr81304.f90: Likewise.
8259	* testsuite/libgomp.fortran/pr81841.f90: Likewise.
8260	* testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8261	* testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8262	* testsuite/libgomp.fortran/procptr1.f90: Likewise.
8263	* testsuite/libgomp.fortran/recursion1.f90: Likewise.
8264	* testsuite/libgomp.fortran/reduction1.f90: Likewise.
8265	* testsuite/libgomp.fortran/reduction2.f90: Likewise.
8266	* testsuite/libgomp.fortran/reduction3.f90: Likewise.
8267	* testsuite/libgomp.fortran/reduction4.f90: Likewise.
8268	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
8269	* testsuite/libgomp.fortran/reduction6.f90: Likewise.
8270	* testsuite/libgomp.fortran/reference1.f90: Likewise.
8271	* testsuite/libgomp.fortran/reference2.f90: Likewise.
8272	* testsuite/libgomp.fortran/retval1.f90: Likewise.
8273	* testsuite/libgomp.fortran/retval2.f90: Likewise.
8274	* testsuite/libgomp.fortran/sharing1.f90: Likewise.
8275	* testsuite/libgomp.fortran/sharing2.f90: Likewise.
8276	* testsuite/libgomp.fortran/simd1.f90: Likewise.
8277	* testsuite/libgomp.fortran/simd2.f90: Likewise.
8278	* testsuite/libgomp.fortran/simd3.f90: Likewise.
8279	* testsuite/libgomp.fortran/simd4.f90: Likewise.
8280	* testsuite/libgomp.fortran/simd5.f90: Likewise.
8281	* testsuite/libgomp.fortran/simd6.f90: Likewise.
8282	* testsuite/libgomp.fortran/simd7.f90: Likewise.
8283	* testsuite/libgomp.fortran/stack.f90: Likewise.
8284	* testsuite/libgomp.fortran/strassen.f90: Likewise.
8285	* testsuite/libgomp.fortran/tabs1.f90: Likewise.
8286	* testsuite/libgomp.fortran/tabs2.f: Likewise.
8287	* testsuite/libgomp.fortran/target1.f90: Likewise.
8288	* testsuite/libgomp.fortran/target2.f90: Likewise.
8289	* testsuite/libgomp.fortran/target3.f90: Likewise.
8290	* testsuite/libgomp.fortran/target4.f90: Likewise.
8291	* testsuite/libgomp.fortran/target5.f90: Likewise.
8292	* testsuite/libgomp.fortran/target6.f90: Likewise.
8293	* testsuite/libgomp.fortran/target7.f90: Likewise.
8294	* testsuite/libgomp.fortran/target8.f90: Likewise.
8295	* testsuite/libgomp.fortran/task1.f90: Likewise.
8296	* testsuite/libgomp.fortran/task2.f90: Likewise.
8297	* testsuite/libgomp.fortran/task3.f90: Likewise.
8298	* testsuite/libgomp.fortran/task4.f90: Likewise.
8299	* testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8300	* testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8301	* testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8302	* testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8303	* testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8304	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8305	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8306	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8307	* testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8308	* testsuite/libgomp.fortran/udr1.f90: Likewise.
8309	* testsuite/libgomp.fortran/udr10.f90: Likewise.
8310	* testsuite/libgomp.fortran/udr11.f90: Likewise.
8311	* testsuite/libgomp.fortran/udr12.f90: Likewise.
8312	* testsuite/libgomp.fortran/udr13.f90: Likewise.
8313	* testsuite/libgomp.fortran/udr14.f90: Likewise.
8314	* testsuite/libgomp.fortran/udr15.f90: Likewise.
8315	* testsuite/libgomp.fortran/udr2.f90: Likewise.
8316	* testsuite/libgomp.fortran/udr3.f90: Likewise.
8317	* testsuite/libgomp.fortran/udr4.f90: Likewise.
8318	* testsuite/libgomp.fortran/udr5.f90: Likewise.
8319	* testsuite/libgomp.fortran/udr6.f90: Likewise.
8320	* testsuite/libgomp.fortran/udr7.f90: Likewise.
8321	* testsuite/libgomp.fortran/udr8.f90: Likewise.
8322	* testsuite/libgomp.fortran/udr9.f90: Likewise.
8323	* testsuite/libgomp.fortran/vla1.f90: Likewise.
8324	* testsuite/libgomp.fortran/vla2.f90: Likewise.
8325	* testsuite/libgomp.fortran/vla3.f90: Likewise.
8326	* testsuite/libgomp.fortran/vla4.f90: Likewise.
8327	* testsuite/libgomp.fortran/vla5.f90: Likewise.
8328	* testsuite/libgomp.fortran/vla6.f90: Likewise.
8329	* testsuite/libgomp.fortran/vla7.f90: Likewise.
8330	* testsuite/libgomp.fortran/vla8.f90: Likewise.
8331	* testsuite/libgomp.fortran/workshare1.f90: Likewise.
8332	* testsuite/libgomp.fortran/workshare2.f90: Likewise.
8333	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8334	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8335	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8336	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8337	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8338	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8339	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8340	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8341	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8342	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8343	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8344	* testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8345	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8346	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8347	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8348	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8349	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8350	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8351	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8352	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8353	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8354	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8355	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8356	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8357	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8358	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8359	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8360	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8361	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8362	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8363	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8364	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8365	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8366	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8367	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8368	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8369	* testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8370	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8371	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8372	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8373	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8374	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8375	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8376	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8377	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8378	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8379	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8380	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8381	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8382	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8383	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8384	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8385	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8386	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8387	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8388	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8389	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8390	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8391	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8392	* testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8393	* testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8394	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8395	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8396	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8397	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8398	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8399	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8400	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8401	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8402	* testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8403	* testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8404	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8405	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8406	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8407	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8408	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8409	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8410	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8411	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8412	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8413	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8414	* testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8415	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8416	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8417	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8418	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8419	* testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8420	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8421	* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8422	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8423	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8424	* testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8425
84262018-03-20  Richard Biener  <rguenther@suse.de>
8427
8428	* testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8429	parallelizable loop.
8430
84312018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
8432
8433	PR target/84148
8434	* configure: Regenerate.
8435
84362018-02-16  Jakub Jelinek  <jakub@redhat.com>
8437
8438	PR fortran/84418
8439	* libgomp.fortran/pr84418-1.f90: New test.
8440	* libgomp.fortran/pr84418-2.f90: New test.
8441
84422018-02-14  Jakub Jelinek  <jakub@redhat.com>
8443
8444	PR fortran/84313
8445	* testsuite/libgomp.fortran/threadprivate4.f90: Add
8446	-std=f2003 -fall-intrinsics into dg-additional-options.
8447
84482018-02-08  Martin Jambor  <mjambor@suse.cz>
8449
8450	* testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8451	clonable.
8452
84532018-02-08  Martin Jambor  <mjambor@suse.cz>
8454
8455	* testsuite/libgomp.hsa.c/staticvar.c: New test.
8456
84572018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8458
8459	* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8460	[__cplusplus]: Declare extern "C".
8461
84622018-02-07  Tom de Vries  <tom@codesourcery.com>
8463
8464	PR libgomp/84217
8465	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8466
84672018-01-29  Christoph Spiel  <cspiel@freenet.de>
8468	    Jakub Jelinek  <jakub@redhat.com>
8469
8470	PR libgomp/84096
8471	* omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8472	instead of omp_lock_t.
8473
84742018-01-25  Tom de Vries  <tom@codesourcery.com>
8475
8476	PR target/84028
8477	* testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8478
84792018-01-24  Tom de Vries  <tom@codesourcery.com>
8480
8481	PR target/83589
8482	* testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8483
84842018-01-24  Tom de Vries  <tom@codesourcery.com>
8485
8486	PR target/81352
8487	* testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8488
84892018-01-19  Tom de Vries  <tom@codesourcery.com>
8490	    Cesar Philippidis  <cesar@codesourcery.com>
8491
8492	PR target/83920
8493	* testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8494	* testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8495
84962018-01-03  Jakub Jelinek  <jakub@redhat.com>
8497
8498	Update copyright years.
8499
8500	* libgomp.texi: Bump @copying's copyright year.
8501
85022017-12-30  Tom de Vries  <tom@codesourcery.com>
8503
8504	PR libgomp/83046
8505	* testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8506	* testsuite/libgomp.c-c++-common/pr83046.c: New test.
8507
85082017-12-27  Tom de Vries  <tom@codesourcery.com>
8509
8510	PR c++/83046
8511	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8512	(test_nonstatic): Fix return type to workaround PR83046.
8513
85142017-12-05  Jakub Jelinek  <jakub@redhat.com>
8515
8516	PR testsuite/83281
8517	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8518	j suffix instead of i.
8519	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8520	Likewise.
8521
85222017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
8523
8524	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8525	call to acc_wait (1).
8526
85272017-11-24  Jakub Jelinek  <jakub@redhat.com>
8528
8529	PR fortran/81304
8530	* testsuite/libgomp.fortran/pr81304.f90: New test.
8531
85322017-11-23  Jakub Jelinek  <jakub@redhat.com>
8533
8534	PR fortran/81841
8535	* libgomp.fortran/pr81841.f90: New test.
8536
85372017-11-22  Jakub Jelinek  <jakub@redhat.com>
8538
8539	PR libgomp/83106
8540	* target.c (gomp_target_init): Compute lengths just once and
8541	use them in both malloc size and subsequent copying.
8542
85432017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
8544
8545	* configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8546	* acinclude.m4: Add cet.m4.
8547	* configure: Regenerate.
8548	* Makefile.in: Likewise.
8549	* testsuite/Makefile.in: Likewise.
8550
85512017-11-15  Tom de Vries  <tom@codesourcery.com>
8552
8553	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8554	from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
8555	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8556	from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
8557	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8558	from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
8559
85602017-11-14  Tom de Vries  <tom@codesourcery.com>
8561
8562	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8563	non-nvidia devices.
8564
85652017-11-07  Jakub Jelinek  <jakub@redhat.com>
8566
8567	PR c++/82835
8568	* testsuite/libgomp.c++/pr82835.C: New test.
8569
85702017-11-06  Martin Liska  <mliska@suse.cz>
8571
8572	* testsuite/libgomp.c++/loop-2.C: Return a value
8573	for functions with non-void return type, or change type to void,
8574	or add -Wno-return-type for test.
8575	* testsuite/libgomp.c++/loop-4.C: Likewise.
8576	* testsuite/libgomp.c++/parallel-1.C: Likewise.
8577	* testsuite/libgomp.c++/shared-1.C: Likewise.
8578	* testsuite/libgomp.c++/single-1.C: Likewise.
8579	* testsuite/libgomp.c++/single-2.C: Likewise.
8580
85812017-10-31  Tom de Vries  <tom@codesourcery.com>
8582
8583	* plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8584	"do {} while (false)".
8585	(init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8586	after HSA_DEBUG call.
8587
85882017-10-28  Jakub Jelinek  <jakub@redhat.com>
8589
8590	* target.c (struct gomp_coalesce_buf): New type.
8591	(MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8592	(gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8593	(gomp_copy_host2dev): Add CBUF argument, if copying into
8594	the cached ranges, memcpy into buffer instead of copying
8595	into device.
8596	(gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8597	Add CBUF argument, pass it through to other calls.
8598	(gomp_map_vars): Aggregate copies from host to device if small enough
8599	and with small enough gaps in between into memcpy into a buffer and
8600	fewer host to device copies from the buffer.
8601	(gomp_update): Adjust gomp_copy_host2dev caller.
8602
86032017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
8604
8605	* testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8606	run" directive.
8607	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8608	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8609	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8610	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8611
86122017-10-16  Tom de Vries  <tom@codesourcery.com>
8613
8614	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8615	openacc_nvidia_accel_selected.
8616	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8617	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8618	* testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8619	* testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8620	* testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8621	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8622	openacc_nvidia_accel_selected. Skip for shared memory device.
8623	* testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8624	* testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8625
86262017-10-09  Martin Jambor  <mjambor@suse.cz>
8627
8628	PR hsa/82416
8629	* testsuite/libgomp.hsa.c/pr82416.c: New test.
8630
86312017-10-07  Tom de Vries  <tom@codesourcery.com>
8632
8633	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8634	Remove acc_device_nvidia references.
8635	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8636	Same.
8637
86382017-10-05  Tom de Vries  <tom@codesourcery.com>
8639
8640	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8641	vector_length(32) clause from acc parallel directive.
8642	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8643
86442017-10-04  Tom de Vries  <tom@codesourcery.com>
8645
8646	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8647	(main): Reduce sum of arr elements.  Assert that hres is exactly
8648	representable in 32-bit floating point.
8649	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8650	(main): Reduce sum of arr elements.  Assert that hres and hmres are
8651	exactly representable in 32-bit floating point.
8652	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8653
86542017-09-28  Tom de Vries  <tom@codesourcery.com>
8655
8656	* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8657	setting.
8658	* testsuite/libgomp.c++/pr69393.C: Same.
8659	* testsuite/libgomp.c++/taskloop-1.C: Same.
8660	* testsuite/libgomp.c++/taskloop-3.C: Same.
8661	* testsuite/libgomp.c++/taskloop-4.C: Same.
8662	* testsuite/libgomp.c/for-4.c: Same.
8663	* testsuite/libgomp.c/pr66199-3.c: Same.
8664	* testsuite/libgomp.c/pr66199-4.c: Same.
8665	* testsuite/libgomp.c/pr66199-6.c: Same.
8666	* testsuite/libgomp.c/taskloop-1.c: Same.
8667	* testsuite/libgomp.c/taskloop-3.c: Same.
8668	* testsuite/libgomp.c/taskloop-4.c: Same.
8669	* testsuite/libgomp.fortran/aligned1.f03: Same.
8670	* testsuite/libgomp.fortran/condinc1.f: Same.
8671	* testsuite/libgomp.fortran/condinc3.f90: Same.
8672	* testsuite/libgomp.fortran/crayptr1.f90: Same.
8673	* testsuite/libgomp.fortran/crayptr2.f90: Same.
8674	* testsuite/libgomp.fortran/crayptr3.f90: Same.
8675	* testsuite/libgomp.fortran/omp_cond1.f: Same.
8676	* testsuite/libgomp.fortran/omp_cond3.F90: Same.
8677	* testsuite/libgomp.fortran/pr66199-1.f90: Same.
8678	* testsuite/libgomp.fortran/pr66199-2.f90: Same.
8679	* testsuite/libgomp.fortran/recursion1.f90: Same.
8680	* testsuite/libgomp.fortran/target2.f90: Same.
8681	* testsuite/libgomp.fortran/target5.f90: Same.
8682	* testsuite/libgomp.fortran/task3.f90: Same.
8683
86842017-09-28  Tom de Vries  <tom@codesourcery.com>
8685
8686	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8687	vector_length(32) clause from acc parallel directive.
8688	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8689
86902017-09-27  Tom de Vries  <tom@codesourcery.com>
8691
8692	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8693	Remove acc_device_nvidia references.
8694
86952017-09-16  Tom de Vries  <tom@codesourcery.com>
8696
8697	PR c/81875
8698	* testsuite/libgomp.c-c++-common/pr81875.c: New test.
8699
87002017-09-14  Tom de Vries  <tom@codesourcery.com>
8701
8702	* testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8703	* testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8704	* testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8705	* testsuite/libgomp.c/c.exp: Include test-cases from
8706	libgomp.c-c++-common.
8707	* testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
8708	files.
8709
87102017-09-14  Jakub Jelinek  <jakub@redhat.com>
8711
8712	PR c++/81314
8713	* testsuite/libgomp.c++/pr81314.C: New test.
8714
87152017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
8716
8717	* libgomp.texi (Top): www.openacc.org now uses https.
8718	(Enabling OpenACC): Ditto.
8719	(acc_get_num_devices): Ditto.
8720	(acc_set_device_type): Ditto.
8721	(acc_get_device_type): Ditto.
8722	(acc_set_device_num): Ditto.
8723	(acc_get_device_num): Ditto.
8724	(acc_async_test): Ditto.
8725	(acc_async_test_all): Ditto.
8726	(acc_wait): Ditto.
8727	(acc_wait_all): Ditto.
8728	(acc_wait_all_async): Ditto.
8729	(acc_wait_async): Ditto.
8730	(acc_init): Ditto.
8731	(acc_shutdown): Ditto.
8732	(acc_on_device): Ditto.
8733	(acc_malloc): Ditto.
8734	(acc_free): Ditto.
8735	(acc_copyin): Ditto.
8736	(acc_present_or_copyin): Ditto.
8737	(acc_create): Ditto.
8738	(acc_present_or_create): Ditto.
8739	(acc_copyout): Ditto.
8740	(acc_delete): Ditto.
8741	(acc_update_device): Ditto.
8742	(acc_update_self): Ditto.
8743	(acc_map_data): Ditto.
8744	(acc_unmap_data): Ditto.
8745	(acc_deviceptr): Ditto.
8746	(acc_hostptr): Ditto.
8747	(acc_is_present): Ditto.
8748	(acc_memcpy_to_device): Ditto.
8749	(acc_memcpy_from_device): Ditto.
8750	(acc_get_current_cuda_device): Ditto.
8751	(acc_get_current_cuda_context): Ditto.
8752	(acc_get_cuda_stream): Ditto.
8753	(acc_set_cuda_stream): Ditto.
8754	(ACC_DEVICE_TYPE): Ditto.
8755	(ACC_DEVICE_NUM): Ditto.
8756	(OpenACC Library Interoperability): Ditto.
8757
87582017-08-09  Jakub Jelinek  <jakub@redhat.com>
8759
8760	PR c/81687
8761	* testsuite/libgomp.c/pr81687-1.c: New test.
8762	* testsuite/libgomp.c/pr81687-2.c: New test.
8763
87642017-08-07  Jakub Jelinek  <jakub@redhat.com>
8765
8766	PR c/69389
8767	* testsuite/libgomp.c/pr69389.c: New test.
8768	* testsuite/libgomp.c++/pr69389.C: New test.
8769
87702017-08-07  Tom de Vries  <tom@codesourcery.com>
8771
8772	PR middle-end/78266
8773	* testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8774	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8775
87762017-07-27  Jakub Jelinek  <jakub@redhat.com>
8777
8778	PR c/45784
8779	* testsuite/libgomp.c/pr45784.c: New test.
8780	* testsuite/libgomp.c++/pr45784.C: New test.
8781
87822017-07-19  Tom de Vries  <tom@codesourcery.com>
8783
8784	* testsuite/libgomp.oacc-c/vec.c: New test.
8785
87862017-07-03  Tom de Vries  <tom@codesourcery.com>
8787
8788	* plugin/plugin-hsa.c: Fix secure_getenv.h include.
8789
87902017-06-27  Tom de Vries  <tom@codesourcery.com>
8791
8792	* plugin/plugin-nvptx.c (notify_var): New function.
8793	(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8794
87952017-06-27  Tom de Vries  <tom@codesourcery.com>
8796
8797	* env.c (parse_unsigned_long_1): Factor out of ...
8798	(parse_unsigned_long): ... here.
8799	(parse_int_1): Factor out of ...
8800	(parse_int): ... here.
8801	(parse_int_secure): New function.
8802	(initialize_env): Use parse_int_secure for GOMP_DEBUG.
8803	* secure_getenv.h: Factor out of ...
8804	* plugin/plugin-hsa.c: ... here.
8805	* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8806
88072017-06-21  Jakub Jelinek  <jakub@redhat.com>
8808
8809	PR c++/81130
8810	* testsuite/libgomp.c++/pr81130.C: New test.
8811
88122017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8813
8814	* testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8815	default args.
8816	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8817	dg-xfail-run-if default args.
8818
88192017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8820
8821	* testsuite/libgomp.c/pr39591-2.c: Fix test case.
8822	* testsuite/libgomp.c/pr39591-3.c: Likewise.
8823
88242017-05-30  Jakub Jelinek  <jakub@redhat.com>
8825
8826	PR libgomp/80822
8827	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8828	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
8829	sibling lists, depending on level just pick up what CPUs to put
8830	together into a place vs. whether add multiple ordered places.
8831
88322017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
8833
8834	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8835	* libgomp.map (OACC_2.0.1): Add these.
8836	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8837	for "acc_wait", and "acc_wait_all", respectively.
8838	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8839	for "acc_wait", and "acc_wait_all", respectively.
8840	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8841	* libgomp.texi (acc_wait, acc_wait_all): Update.
8842	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8843	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8844	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8845
8846	* openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8847	acc_present_or_copyin and acc_present_or_create procedures,
8848	respectively.
8849	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8850	generally different variants of OpenACC Runtime Library functions.
8851	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8852
8853	* testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8854	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8855
8856	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8857	of preprocessor definitions.
8858	* libgomp.h (strong_alias): Guard by "#ifdef
8859	HAVE_ATTRIBUTE_ALIAS".
8860	* oacc-mem.c: Provide "acc_pcreate" as alias for
8861	"acc_present_or_create", and "acc_pcopyin" as alias for
8862	"acc_present_or_copyin".
8863	* libgomp.map: New version "OACC_2.0.1".
8864	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8865	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8866	its content into...
8867	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8868	Extend testing.
8869
8870	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8871	when disabling nvptx offloading.
8872
88732017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
8874
8875	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8876	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8877	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8878
8879	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8880	* testsuite/lib/libgomp.exp
8881	(check_effective_target_openacc_nvidia_accel_configured): New
8882	proc.
8883	* testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8884	(check_effective_target_c++): New procs.
8885	* testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8886	(check_effective_target_c++): Likewise.
8887
88882017-05-22  Jakub Jelinek  <jakub@redhat.com>
8889
8890	PR middle-end/80809
8891	* testsuite/libgomp.c/pr80809-2.c: New test.
8892	* testsuite/libgomp.c/pr80809-3.c: New test.
8893
8894	PR middle-end/80809
8895	* testsuite/libgomp.c/pr80809-1.c: New test.
8896
8897	PR middle-end/80853
8898	* testsuite/libgomp.c/pr80853.c: New test.
8899
89002017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
8901
8902	* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8903	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8904	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8905	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8906	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8907
8908	* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8909	Debug output for failure.
8910
89112017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8912
8913	* testsuite/lib/libgomp.exp: Load scanlang.exp.
8914
89152017-04-27  Jakub Jelinek  <jakub@redhat.com>
8916
8917	PR bootstrap/80531
8918	* configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8919	bootstrap compare failures.
8920
89212017-04-20  Alexander Monakov  <amonakov@ispras.ru>
8922
8923	* testsuite/libgomp.c/target-36.c: New testcase.
8924
89252017-04-13  Jakub Jelinek  <jakub@redhat.com>
8926
8927	* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8928	instead of char.
8929
89302017-04-11  Jakub Jelinek  <jakub@redhat.com>
8931
8932	PR libgomp/80394
8933	* testsuite/libgomp.c/pr80394.c: New test.
8934
89352017-04-04  Jakub Jelinek  <jakub@redhat.com>
8936
8937	PR libgomp/79876
8938	* config/posix/thread-stacksize.h: New file.
8939	* config/darwin/thread-stacksize.h: New file.
8940	* config/nvptx/thread-stacksize.h: New file.
8941	* env.c: Include thread-stacksize.h.
8942	(initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8943	instead of 0.  Call pthread_attr_setstacksize even if
8944	GOMP_DEFAULT_STACKSIZE is non-zero.
8945
89462017-03-30  Jakub Jelinek  <jakub@redhat.com>
8947
8948	* env.c (initialize_env): Initialize stacksize to 0.
8949
89502017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
8951
8952	PR c++/80029
8953	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8954
89552017-03-08  Jakub Jelinek  <jakub@redhat.com>
8956
8957	PR c/79940
8958	* testsuite/libgomp.c/pr79940.c: New test.
8959
89602017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8961
8962	* testsuite/libgomp.c/pr48591.c: Enable on all __float128
8963	targets.
8964	Add __float128 options.
8965
89662017-02-11  John David Anglin  <danglin@gcc.gnu.org>
8967
8968	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8969	hppa*-*-* dg-skip-if directive.
8970
89712017-02-09  Jakub Jelinek  <jakub@redhat.com>
8972
8973	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8974	dg-skip-if directive into a comment.
8975
89762017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
8977	    Chung-Lin Tang  <cltang@codesourcery.com>
8978
8979	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8980	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8981	add additional case.
8982	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8983	"openacc_nvidia_accel_selected".
8984	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
8985	Add num_workers(8) clause.
8986
89872017-02-08  John David Anglin  <danglin@gcc.gnu.org>
8988
8989	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8990	hppa*-*-*.
8991	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8992	include complex.h on hppa*-*-hpux*.
8993	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8994
89952017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
8996
8997	* plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8998
8999	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9000	GOMP_OFFLOAD_openacc_exec.  Adjust all users.
9001	(GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9002	GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
9003	(GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9004	GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
9005	(GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9006	GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
9007	(GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9008	GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
9009
90102017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
9011
9012	* libgomp-plugin.h: #include <stdbool.h>.
9013	(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9014	(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9015	(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9016	(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9017	(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9018	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9019	(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9020	(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9021	(GOMP_OFFLOAD_openacc_register_async_cleanup)
9022	(GOMP_OFFLOAD_openacc_async_test)
9023	(GOMP_OFFLOAD_openacc_async_test_all)
9024	(GOMP_OFFLOAD_openacc_async_wait)
9025	(GOMP_OFFLOAD_openacc_async_wait_async)
9026	(GOMP_OFFLOAD_openacc_async_wait_all)
9027	(GOMP_OFFLOAD_openacc_async_wait_all_async)
9028	(GOMP_OFFLOAD_openacc_async_set_async)
9029	(GOMP_OFFLOAD_openacc_create_thread_data)
9030	(GOMP_OFFLOAD_openacc_destroy_thread_data)
9031	(GOMP_OFFLOAD_openacc_get_current_cuda_device)
9032	(GOMP_OFFLOAD_openacc_get_current_cuda_context)
9033	(GOMP_OFFLOAD_openacc_get_cuda_stream)
9034	(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9035	* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9036	these.
9037	* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9038	(GOMP_OFFLOAD_unload_image): Fix argument types.
9039
90402017-01-26  Jakub Jelinek  <jakub@redhat.com>
9041
9042	* testsuite/lib/libgomp.exp
9043	(check_effective_target_hsa_offloading_selected_nocache): Fix up
9044	check_compile invocation.  Fix up removal of executable.  Drop
9045	bogus "2>&1" argument.
9046
9047	* testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9048	directive.
9049
90502017-01-24  Pekka J����skel��inen  <pekka@parmance.com>
9051	    Martin Jambor  <mjambor@suse.cz>
9052
9053	* plugin/hsa.h: Moved to top level include.
9054	* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9055
90562017-01-21  Jakub Jelinek  <jakub@redhat.com>
9057
9058	PR other/79046
9059	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9060	of cat to get version from BASE-VER file.
9061	* testsuite/Makefile.in: Regenerated.
9062
90632017-01-19  Jakub Jelinek  <jakub@redhat.com>
9064
9065	* plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9066	for _WIN64.
9067
90682017-01-17  Jakub Jelinek  <jakub@redhat.com>
9069
9070	* plugin/hsa.h: Add GCC runtime library exception.
9071	* plugin/hsa_ext_finalize.h: Likewise.
9072
9073	* plugin/configfrag.ac: For --without-cuda-driver don't initialize
9074	CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
9075	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9076	cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9077	plugin/include/cuda as include dir and -ldl instead of -lcuda as
9078	library to link ptx plugin against.
9079	* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9080	(CUDA_CALLS): Define.
9081	(cuda_lib, cuda_lib_inited): New variables.
9082	(init_cuda_lib): New function.
9083	(CUDA_CALL_PREFIX): Define.
9084	(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9085	(CUDA_CALL): Use FN instead of (FN).
9086	(CUDA_CALL_NOCHECK): Define.
9087	(cuda_error, fini_streams_for_device, select_stream_for_async,
9088	nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9089	event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9090	nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9091	nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9092	CUDA_CALL_NOCHECK.
9093	(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
9094	CUDA_CALL_NOCHECK.
9095	(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9096	Use CUDA_CALL_NOCHECK.
9097	* plugin/cuda/cuda.h: New file.
9098	* config.h.in: Regenerated.
9099	* configure: Regenerated.
9100
9101	PR other/79046
9102	* configure.ac: Add GCC_BASE_VER.
9103	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9104	get version from BASE-VER file.
9105	* testsuite/Makefile.in: Regenerated.
9106	* configure: Regenerated.
9107	* Makefile.in: Regenerated.
9108
91092017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9110
9111	PR libgomp/60670
9112	* Makefile.am: Make fincludedir multilib-aware.
9113	* Makefile.in: Regenerate.
9114
91152017-01-01  Jakub Jelinek  <jakub@redhat.com>
9116
9117	Update copyright years.
9118
9119	* libgomp.texi: Bump @copying's copyright year.
9120
91212016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9122
9123	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9124	pthread_spinlock_t instead of gomp_mutex_t lock.
9125	(gomp_get_thread_pool): Likewise.
9126	(gomp_release_thread_pool): Likewise.
9127	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9128	Likewise.
9129
91302016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9131
9132	* config/rtems/pool.h (gomp_get_thread_pool): Return proper
9133	thread pool in case nthreads == 1.
9134
91352016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9136
9137	* config/nvptx/env.c: Delete.
9138	* icv.c: Move definitions of ICV variables back ...
9139	* env.c: ...here.  Do not compile environment-related functionality if
9140	LIBGOMP_OFFLOADED_ONLY is set.
9141
91422016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9143
9144	* configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9145	(LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9146	* configure: Regenerate.
9147	* config.h.in: Likewise.
9148
91492016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9150
9151	* Makefile.in: Regenerate with automake-1.11.6.
9152	* aclocal.m4: Likewise.
9153	* configure: Likewise.
9154	* testsuite/Makefile.in: Likewise.
9155
91562016-11-28  Alexander Monakov  <amonakov@ispras.ru>
9157
9158	* config/nvptx/critical.c: Delete to use generic implementation.
9159
91602016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
9161
9162	* config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9163	../../affinity.c as fallback.
9164	* config/nvptx/affinity.c: Delete to use fallback implementation.
9165
91662016-11-23  Alexander Monakov  <amonakov@ispras.ru>
9167	    Jakub Jelinek  <jakub@redhat.com>
9168	    Dmitry Melnik  <dm@ispras.ru>
9169
9170	* Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9171	* Makefile.in. Regenerate.
9172	* configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9173	(LIBGOMP_USE_PTHREADS): ...here; new define.
9174	* configure: Regenerate.
9175	* config.h.in: Likewise.
9176	* config/posix/affinity.c: Move to...
9177	* affinity.c: ...here (new file).  Guard use of Pthreads-specific
9178	interface by LIBGOMP_USE_PTHREADS. 
9179	* critical.c: Split out GOMP_atomic_{start,end} into...
9180	* atomic.c: ...here (new file).
9181	* env.c: Split out ICV definitions into...
9182	* icv.c: ...here (new file) and...
9183	* icv-device.c: ...here. New file.
9184	* config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9185	(gomp_destroy_lock_30): Ditto.
9186	(gomp_set_lock_30): Ditto.
9187	(gomp_unset_lock_30): Ditto.
9188	(gomp_test_lock_30): Ditto.
9189	(gomp_init_nest_lock_30): Ditto.
9190	(gomp_destroy_nest_lock_30): Ditto.
9191	(gomp_set_nest_lock_30): Ditto.
9192	(gomp_unset_nest_lock_30): Ditto.
9193	(gomp_test_nest_lock_30): Ditto.
9194	* lock.c: New.
9195	* config/nvptx/lock.c: New.
9196	* config/nvptx/bar.c: New.
9197	* config/nvptx/bar.h: New.
9198	* config/nvptx/doacross.h: New.
9199	* config/nvptx/error.c: New.
9200	* config/nvptx/icv-device.c: New.
9201	* config/nvptx/mutex.h: New.
9202	* config/nvptx/pool.h: New.
9203	* config/nvptx/proc.c: New.
9204	* config/nvptx/ptrlock.h: New.
9205	* config/nvptx/sem.h: New.
9206	* config/nvptx/simple-bar.h: New.
9207	* config/nvptx/target.c: New.
9208	* config/nvptx/task.c: New.
9209	* config/nvptx/team.c: New.
9210	* config/nvptx/time.c: New.
9211	* config/posix/simple-bar.h: New.
9212	* libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
9213	(gomp_num_teams_var): Declare.
9214	(struct gomp_thread_pool): Change threads_dock member to
9215	gomp_simple_barrier_t.
9216	[__nvptx__] (gomp_thread): New implementation.
9217	(gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9218	(gomp_thread_destructor): Ditto.
9219	(gomp_init_thread_affinity): Ditto.
9220	* team.c: Guard uses of Pthreads-specific interfaces by
9221	LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
9222	(gomp_free_thread) [__nvptx__]: Do not call 'free'.
9223	* config/nvptx/alloc.c: Delete.
9224	* config/nvptx/barrier.c: Ditto.
9225	* config/nvptx/fortran.c: Ditto.
9226	* config/nvptx/iter.c: Ditto.
9227	* config/nvptx/iter_ull.c: Ditto.
9228	* config/nvptx/loop.c: Ditto.
9229	* config/nvptx/loop_ull.c: Ditto.
9230	* config/nvptx/ordered.c: Ditto.
9231	* config/nvptx/parallel.c: Ditto.
9232	* config/nvptx/priority_queue.c: Ditto.
9233	* config/nvptx/sections.c: Ditto.
9234	* config/nvptx/single.c: Ditto.
9235	* config/nvptx/splay-tree.c: Ditto.
9236	* config/nvptx/work.c: Ditto.
9237	* testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9238	-foffload=-lgfortran in addition to -lgfortran.
9239	* testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9240	* plugin/plugin-nvptx.c: Include <limits.h>.
9241	(struct targ_fn_descriptor): Add new fields.
9242	(struct ptx_device): Ditto.  Set them...
9243	(nvptx_open_device): ...here.
9244	(nvptx_adjust_launch_bounds): New.
9245	(nvptx_host2dev): Allow NULL 'nvthd'.
9246	(nvptx_dev2host): Ditto.
9247	(GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9248	(link_ptx): Adjust log sizes.
9249	(nvptx_host2dev): Allow NULL 'nvthd'.
9250	(nvptx_dev2host): Ditto.
9251	(nvptx_set_clocktick): New.  Use it...
9252	(GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
9253	fields.
9254	(GOMP_OFFLOAD_dev2dev): New.
9255	(nvptx_adjust_launch_bounds): New.
9256	(nvptx_stacks_size): New.
9257	(nvptx_stacks_alloc): New.
9258	(nvptx_stacks_free): New.
9259	(GOMP_OFFLOAD_run): New.
9260	(GOMP_OFFLOAD_async_run): New (stub).
9261
92622016-11-23  Martin Jambor  <mjambor@suse.cz>
9263
9264	* testsuite/libgomp.hsa.c/bits-insns.c: New test.
9265	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9266	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9267
92682016-11-23  Martin Liska  <mliska@suse.cz>
9269	    Martin Jambor  <mjambor@suse.cz>
9270
9271	* plugin/hsa.h: New file.
9272	* plugin/hsa_ext_finalize.h: New file.
9273	* plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
9274	header file unistd.h, and functions secure_getenv, __secure_getenv,
9275	getuid, geteuid, getgid and getegid.
9276	* plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9277	-D_GNU_SOURCE.
9278	* plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9279	Handle various cases of secure_getenv presence, add an implementation
9280	when we can test effective UID and GID.
9281	(struct hsa_runtime_fn_info): New structure.
9282	(hsa_runtime_fn_info hsa_fns): New variable.
9283	(hsa_runtime_lib): Likewise.
9284	(support_cpu_devices): Likewise.
9285	(init_enviroment_variables): Load newly introduced ENV
9286	variables.
9287	(hsa_warn): Call hsa run-time functions via hsa_fns structure.
9288	(hsa_fatal): Likewise.
9289	(DLSYM_FN): New macro.
9290	(init_hsa_runtime_functions): New function.
9291	(suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9292	structure.  Depending on environment, also allow CPU devices.
9293	(init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9294	(get_kernarg_memory_region): Likewise.
9295	(GOMP_OFFLOAD_init_device): Likewise.
9296	(destroy_hsa_program): Likewise.
9297	(init_basic_kernel_info): New function.
9298	(GOMP_OFFLOAD_load_image): Use it.
9299	(create_and_finalize_hsa_program): Call hsa run-time functions via
9300	hsa_fns structure.
9301	(create_single_kernel_dispatch): Likewise.
9302	(release_kernel_dispatch): Likewise.
9303	(init_single_kernel): Likewise.
9304	(parse_target_attributes): Allow up multiple HSA grid dimensions.
9305	(get_group_size): New function.
9306	(run_kernel): Likewise.
9307	(GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9308	(GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9309	structure.
9310	* testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9311	* testsuite/libgomp-test-support.exp.in: Likewise.
9312	* Makefile.in: Regenerated.
9313	* aclocal.m4: Likewise.
9314	* config.h.in: Likewise.
9315	* configure: Likewise.
9316	* testsuite/Makefile.in: Likewise.
9317
93182016-11-15  Martin Jambor  <mjambor@suse.cz>
9319	    Alexander Monakov  <amonakov@ispras.ru>
9320
9321	* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9322	mapping clauses to target constructs.
9323	* testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9324
93252016-11-15  Matthias Klose  <doko@ubuntu.com>
9326
9327	* configure: Regenerate.
9328
93292016-11-10  Jakub Jelinek  <jakub@redhat.com>
9330
9331	* omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9332	* omp_lib.h.in (openmp_version): Likewise.
9333	* testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9334	of 201307.
9335	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9336
9337	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9338	(fib_wrapper): Add map(from: x) clause.
9339	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9340	(e_53_2): Likewise.
9341	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9342	(accum): Add map(tmp) clause.
9343	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9344	(accum): Add map(tofrom: tmp) clause.
9345	* testsuite/libgomp.fortran/examples-4/target_data-3.f90
9346	(gramSchmidt): Likewise.
9347	* testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9348	map(tofrom: sum) clause.
9349	* testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9350	map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
9351	* testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9352	only allowed on the loop iterator.
9353	* testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9354	* testsuite/libgomp.fortran/taskloop2.f90: New test.
9355	* testsuite/libgomp.fortran/taskloop4.f90: New test.
9356	* testsuite/libgomp.fortran/doacross1.f90: New test.
9357	* testsuite/libgomp.fortran/doacross3.f90: New test.
9358	* testsuite/libgomp.fortran/taskloop1.f90: New test.
9359	* testsuite/libgomp.fortran/taskloop3.f90: New test.
9360	* testsuite/libgomp.fortran/doacross2.f90: New test.
9361	* testsuite/libgomp.c/doacross-1.c (main): Add missing
9362	#pragma omp atomic read.
9363	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
9364	* testsuite/libgomp.c/doacross-3.c (main): Likewise.
9365
93662016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
9367	    Nathan Sidwell  <nathan@acm.org>
9368
9369	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9370	to determine default geometry.
9371	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9372	dimension.
9373
93742016-11-01  Jakub Jelinek  <jakub@redhat.com>
9375
9376	* hashtab.h: Use standard GPLv3 with runtime exception
9377	boilerplate.
9378
93792016-10-27  Aldy Hernandez  <aldyh@redhat.com>
9380
9381	* oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9382	size when allocating new thread.
9383
93842016-09-14  Marek Polacek  <polacek@redhat.com>
9385
9386	* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9387
93882016-08-19  Jakub Jelinek  <jakub@redhat.com>
9389
9390	PR fortran/71014
9391	* testsuite/libgomp.fortran/pr71014.f90: New test.
9392
93932016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
9394
9395	PR middle-end/70895
9396	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9397	firstprivate clauses.
9398	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9399	copy clauses.
9400	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9401	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9402	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9403	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9404	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9405	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9406	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9407	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9408	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9409	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9410	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9411	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9412
94132016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
9414
9415	PR fortran/70598
9416	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9417
94182016-08-08  Jakub Jelinek  <jakub@redhat.com>
9419
9420	PR c++/58706
9421	* testsuite/libgomp.c++/pr58706.C: New test.
9422
94232016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
9424
9425	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9426	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9427	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9428	Likewise.
9429	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9430	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9431	Likewise.
9432	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9433
9434	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9435	test, and don't hardcode -O0.
9436
94372016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
9438
9439	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9440
94412016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
9442
9443	* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9444	test.
9445
94462016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
9447
9448	PR middle-end/71734
9449	* testsuite/libgomp.fortran/pr71734-1.f90: New test.
9450	* testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9451
94522016-07-01  Jakub Jelinek  <jakub@redhat.com>
9453
9454	PR fortran/71717
9455	* testsuite/libgomp.fortran/associate3.f90: New test.
9456
94572016-06-17  Jakub Jelinek  <jakub@redhat.com>
9458
9459	* testsuite/libgomp.c++/target-21.C: New test.
9460
94612016-06-16  Jakub Jelinek  <jakub@redhat.com>
9462
9463	* testsuite/libgomp.c++/target-20.C: New test.
9464
94652016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
9466	    Cesar Philippidis  <cesar@codesourcery.com>
9467
9468	PR middle-end/71373
9469	* libgomp.oacc-c/nested-function-1.c: New file.
9470	* libgomp.oacc-c/nested-function-2.c: Likewise.
9471	* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9472	* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9473	* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9474
94752016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
9476
9477	PR c/71381
9478	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9479	"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9480	* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9481
94822016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
9483
9484	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9485	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9486
94872016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
9488
9489	PR c/70688
9490	* testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9491
94922016-05-26  Jakub Jelinek  <jakub@redhat.com>
9493
9494	* testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9495	instead of invalid schedule(static, 0).
9496	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
9497
94982016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
9499
9500	* oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9501	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9502	parameter, use to set async stream around call to gomp_unmap_vars,
9503	call gomp_unmap_vars() with 'do_copyfrom' set to true.
9504	* plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9505	(event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9506	events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9507	(event_add): Add int parameter, initialize 'val' field when
9508	adding new ptx_event struct.
9509	(nvptx_evec): Adjust event_add() call arguments.
9510	(nvptx_host2dev): Likewise.
9511	(nvptx_dev2host): Likewise.
9512	(nvptx_wait_async): Likewise.
9513	(nvptx_wait_all_async): Likewise.
9514	(GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9515	pass to event_add() call.
9516	* oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9517	parameter.
9518	* oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9519	call openacc.register_async_cleanup_func() hook.
9520	* oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9521	* target.c (gomp_copy_from_async): Delete function.
9522	(gomp_map_vars): Remove async_refcount.
9523	(gomp_unmap_vars): Likewise.
9524	(gomp_load_image_to_device): Likewise.
9525	(omp_target_associate_ptr): Likewise.
9526	* libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9527	(acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9528	(gomp_copy_from_async): Remove.
9529
95302016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
9531
9532	* target.c (gomp_device_copy): New function.
9533	(gomp_copy_host2dev): Likewise.
9534	(gomp_copy_dev2host): Likewise.
9535	(gomp_free_device_memory): Likewise.
9536	(gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9537	(gomp_map_pointer): Likewise.
9538	(gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9539	NULL value from alloc_func plugin hook.
9540	(gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9541	(gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9542	(gomp_unmap_vars): Likewise.
9543	(gomp_update): Adjust to call gomp_copy_dev2host and
9544	gomp_copy_host2dev functions.
9545	(gomp_unload_image_from_device): Handle false value from
9546	unload_image_func plugin hook.
9547	(gomp_init_device): Handle false value from init_device_func
9548	plugin hook.
9549	(gomp_exit_data): Adjust to call gomp_copy_dev2host.
9550	(omp_target_free): Adjust to call gomp_free_device_memory.
9551	(omp_target_memcpy): Handle return values from host2dev_func,
9552	dev2host_func, and dev2dev_func plugin hooks.
9553	(omp_target_memcpy_rect_worker): Likewise.
9554	(gomp_target_fini): Handle false value from fini_device_func
9555	plugin hook.
9556	* libgomp.h (struct gomp_device_descr): Adjust return type of
9557	init_device_func, fini_device_func, unload_image_func, free_func,
9558	dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9559	* oacc-init.c (acc_shutdown_1): Handle false value from
9560	fini_device_func plugin hook.
9561	* oacc-host.c (host_init_device): Change return type to bool.
9562	(host_fini_device): Likewise.
9563	(host_unload_image): Likewise.
9564	(host_free): Likewise.
9565	(host_dev2host): Likewise.
9566	(host_host2dev): Likewise.
9567	* oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9568	(acc_memcpy_to_device): Likewise.
9569	(acc_memcpy_from_device): Likewise.
9570	(delete_copyout): Add libfnname parameter, handle free_func
9571	hook fatal error case.
9572	(acc_delete): Adjust delete_copyout call.
9573	(acc_copyout): Likewise.
9574	(update_dev_host): Move gomp_mutex_unlock to after
9575	host2dev/dev2host hook calls.
9576
9577	* plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9578	to 'hsa_error_msg', for clarity.
9579	(hsa_fatal): Likewise.
9580	(hsa_error): New function.
9581	(init_hsa_context): Change return type to bool, adjust to return
9582	false on error.
9583	(GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9584	return value.
9585	(GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9586	return false on error.
9587	(get_agent_info): Adjust to return NULL on error.
9588	(destroy_hsa_program): Change return type to bool, adjust to
9589	return false on error.
9590	(GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9591	(destroy_module): Change return type to bool, adjust to
9592	return false on error.
9593	(GOMP_OFFLOAD_unload_image): Likewise.
9594	(GOMP_OFFLOAD_fini_device): Likewise.
9595	(GOMP_OFFLOAD_alloc): Change to return NULL when called.
9596	(GOMP_OFFLOAD_free): Change to return false when called.
9597	(GOMP_OFFLOAD_dev2host): Likewise.
9598	(GOMP_OFFLOAD_host2dev): Likewise.
9599	(GOMP_OFFLOAD_dev2dev): Likewise.
9600
9601	* plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9602	(CUDA_CALL): Likewise.
9603	(CUDA_CALL_ASSERT): Likewise.
9604	(map_init): Change return type to bool, use CUDA_CALL* macros.
9605	(map_fini): Likewise.
9606	(init_streams_for_device): Change return type to bool, adjust
9607	call to map_init.
9608	(fini_streams_for_device): Change return type to bool, adjust
9609	call to map_fini.
9610	(select_stream_for_async): Release stream_lock before calls to
9611	GOMP_PLUGIN_fatal, adjust call to map_init.
9612	(nvptx_init): Use CUDA_CALL* macros.
9613	(nvptx_attach_host_thread_to_device): Change return type to bool,
9614	use CUDA_CALL* macros.
9615	(nvptx_open_device): Use CUDA_CALL* macros.
9616	(nvptx_close_device): Change return type to bool, use CUDA_CALL*
9617	macros.
9618	(nvptx_get_num_devices): Use CUDA_CALL* macros.
9619	(link_ptx): Change return type to bool, use CUDA_CALL* macros.
9620	(nvptx_exec): Use CUDA_CALL* macros.
9621	(nvptx_alloc): Use CUDA_CALL* macros.
9622	(nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9623	(nvptx_host2dev): Likewise.
9624	(nvptx_dev2host): Likewise.
9625	(nvptx_wait): Use CUDA_CALL* macros.
9626	(nvptx_wait_async): Likewise.
9627	(nvptx_wait_all): Likewise.
9628	(nvptx_wait_all_async): Likewise.
9629	(nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9630	use CUDA_CALL* macros, adjust call to map_fini.
9631	(GOMP_OFFLOAD_init_device): Change return type to bool,
9632	adjust code accordingly.
9633	(GOMP_OFFLOAD_fini_device): Likewise.
9634	(GOMP_OFFLOAD_load_image): Adjust calls to
9635	nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9636	use CUDA_CALL* macros.
9637	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9638	return code.
9639	(GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9640	(GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9641	handle error return.
9642	(GOMP_OFFLOAD_dev2host): Likewise.
9643	(GOMP_OFFLOAD_host2dev): Likewise.
9644	(GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9645	(GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9646
96472016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
9648
9649	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9650	(acc_free): Likewise.
9651	(acc_memcpy_to_device): Likewise.
9652	(acc_memcpy_from_device): Likewise.
9653	(acc_deviceptr): Likewise.
9654	(acc_hostptr): Likewise.
9655	(acc_is_present): Likewise.
9656	(acc_map_data): Likewise.
9657	(acc_unmap_data): Likewise.
9658	(present_create_copy): Likewise.
9659	(delete_copyout): Likewise.
9660	(update_dev_host): Likewise.
9661	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9662	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9663	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9664	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9665	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9666	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9667	it only runs on nvptx targets.
9668	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9669	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9670	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9671	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9672	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9673	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9674	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9675	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9676	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9677	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9678	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9679	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9680	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9681	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9682	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9683	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9684	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9685	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9686	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9687	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9688	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9689	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9690	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9691
96922016-05-23  Martin Jambor  <mjambor@suse.cz>
9693
9694	* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9695
96962016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
9697
9698	* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9699	to gomp_init_targets_once.
9700	(acc_set_device_type): Remove !cached_base_dev condition on call to
9701	gomp_init_targets_once, move call to before acc_device_lock acquire,
9702	to avoid deadlock.
9703	(acc_get_device_num): Remove !cached_base_dev condition on call to
9704	gomp_init_targets_once.
9705	(acc_set_device_num): Likewise.
9706
97072016-05-16  Martin Jambor  <mjambor@suse.cz>
9708
9709	* testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9710
97112016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
9712
9713	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9714	expected partitioning.
9715
97162016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
9717
9718	PR middle-end/70626
9719	* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9720	* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9721	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9722
97232016-04-21  Alexander Monakov  <amonakov@ispras.ru>
9724
9725	* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9726	non-fatal.
9727
97282016-04-19  Jakub Jelinek  <jakub@redhat.com>
9729
9730	PR middle-end/70680
9731	* testsuite/libgomp.c/pr70680-1.c: New test.
9732	* testsuite/libgomp.c/pr70680-2.c: New test.
9733
97342016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
9735
9736	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9737	pass parameter variables to subroutines.
9738
97392016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
9740
9741	PR middle-end/70643
9742	* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9743
97442016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
9745
9746	PR testsuite/68242
9747	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9748	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9749
97502016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
9751
9752	* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9753	GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9754	GOACC_declare prototype.
9755
9756	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9757	Merge this file, and...
9758	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9759	... this file, and...
9760	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9761	... this file, and...
9762	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9763	... this file, and...
9764	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9765	... this file, and...
9766	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9767	... this file, and...
9768	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9769	... this file, and...
9770	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9771	... this file, and...
9772	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9773	... this file, and...
9774	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9775	... this file, and...
9776	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9777	... this file, and...
9778	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9779	... this file, and...
9780	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9781	... this file into...
9782	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9783	file.
9784
9785	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9786	Make failure observable.
9787
97882016-04-12  Jakub Jelinek  <jakub@redhat.com>
9789
9790	* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9791	field.
9792	* target.c (gomp_target_fallback_firstprivate,
9793	gomp_target_unshare_firstprivate): Removed.
9794	(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9795	before waiting for dependencies.
9796	(gomp_target_task_fn): Don't copy firstprivate vars here.
9797	* task.c (GOMP_PLUGIN_target_task_completion): Don't free
9798	firstprivate_copies here.
9799	(gomp_create_target_task): Don't initialize firstprivate_copies field.
9800	* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9801	explicit/implicit firstprivate.
9802
98032016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
9804
9805	PR lto/70289
9806	PR ipa/70348
9807	PR tree-optimization/70373
9808	PR middle-end/70533
9809	PR middle-end/70534
9810	PR middle-end/70535
9811	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9812	test.
9813	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9814	test.
9815	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9816	test.
9817	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9818	test.
9819	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9820	test.
9821	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9822	test.
9823	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9824	test.
9825	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9826	test.
9827	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9828	test.
9829	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9830	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9831	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9832	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9833	test.
9834	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9835	test.
9836	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9837	test.
9838	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9839	test.
9840	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9841	coverage.
9842	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9843	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9844	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9845	* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9846	* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9847	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9848	coverage.
9849	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9850	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9851	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9852	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9853	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9854	* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9855	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9856	* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9857	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9858	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9859	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9860	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9861	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9862	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9863	* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9864
98652016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
9866	    James Norris  <jnorris@codesourcery.com>
9867	    Nathan Sidwell  <nathan@codesourcery.com>
9868	    Julian Brown  <julian@codesourcery.com>
9869	    Cesar Philippidis  <cesar@codesourcery.com>
9870	    Chung-Lin Tang  <cltang@codesourcery.com>
9871	    Tom de Vries  <tom@codesourcery.com>
9872
9873	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9874	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9875	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9876	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9877	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9878	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9879	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9880	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9881	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9882	XFAIL.
9883	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9884	Incorporate...
9885	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9886	file.
9887	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9888	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9889	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9890	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9891	Likewise.
9892	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9893	Likewise.
9894	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9895	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9896	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9897	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9898	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9899	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9900	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9901	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9902	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9903	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9904	Likewise.
9905	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9906	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9907	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9908	file...
9909	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9910	file into...
9911	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9912	file.  Update.
9913	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9914	file.
9915	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9916	Likewise.
9917	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9918	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9919	... this new file.  Update.
9920	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9921	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9922	... this new file.  Update.
9923	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9924	file.  Incorporate...
9925	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9926	file, and...
9927	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9928	file, and...
9929	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9930	file.
9931	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9932
99332016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
9934
9935	* testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9936	set-torture-options.
9937
99382016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
9939
9940	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9941	gcc-dg-runtest.
9942	* testsuite/libgomp.oacc-c/c.exp: Likewise.
9943	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9944	-fno-builtin-acc_on_device instead of -O0.
9945	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9946	-O0.
9947	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9948	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9949	Likewise.
9950	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9951	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9952	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9953	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9954	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9955	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9956	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9957	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9958	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9959	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9960	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9961	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9962	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9963	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9964	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9965	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9966	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9967	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9968	Don't specify -O2.
9969	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9970	Likewise.
9971	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9972	Likewise.
9973
99742016-03-24  Martin Liska  <mliska@suse.cz>
9975
9976	* plugin/plugin-hsa.c (packet_store_release): New function
9977	that is taken from the HSA runtime manual.
9978	(GOMP_OFFLOAD_run): Use the function.
9979
99802016-03-23  Jakub Jelinek  <jakub@redhat.com>
9981
9982	PR c++/70376
9983	* testsuite/libgomp.c++/pr70376.C: New test.
9984
99852016-03-23  Tom de Vries  <tom@codesourcery.com>
9986
9987	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9988	initialization of lresult and lvresult.
9989	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9990
99912016-03-23  James Norris  <jnorris@codesourcery.com>
9992	    Daichi Fukuoka <dc-fukuoka@sgi.com>
9993
9994	PR libgomp/69414
9995	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9996	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9997	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9998	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9999
100002016-03-23  Martin Liska  <mliska@suse.cz>
10001
10002	PR hsa/70337
10003	* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10004	argument just in case a dispatched kernel uses that argument.
10005
100062016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
10007
10008	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10009	-ftree-parallelize-loops/-fopenacc changes.
10010	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10011	Likewise.
10012	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10013	Likewise.
10014	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10015	Likewise.
10016	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10017	Likewise.
10018	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10019	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10020
100212016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
10022
10023	* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10024	always_ld_library_path the path to libgcc_s.
10025
100262016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
10027
10028	PR testsuite/70009
10029	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10030
100312016-03-09  Tom de Vries  <tom@codesourcery.com>
10032
10033	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10034	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10035	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10036	Same.
10037	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10038	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10039	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10040	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10041
100422016-03-07  Martin Jambor  <mjambor@suse.cz>
10043
10044	* testsuite/lib/libgomp.exp
10045	(check_effective_target_hsa_offloading_selected_nocache): New.
10046	(check_effective_target_hsa_offloading_selected): Likewise.
10047	* testsuite/libgomp.hsa.c/c.exp: Likewise.
10048	* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10049	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10050	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10051	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10052	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10053	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10054	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10055	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10056	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10057	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10058	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10059	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10060	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10061	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10062	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10063	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10064
100652016-03-07  Martin Jambor  <mjambor@suse.cz>
10066
10067	* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10068	non-shared memory accelerators.
10069	* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10070	* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10071	* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10072	* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10073	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10074	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10075	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10076	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10077	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10078
100792016-03-07  Martin Jambor  <mjambor@suse.cz>
10080
10081	* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10082	ALWAYS_CFLAGS.
10083
100842016-03-02  Jakub Jelinek  <jakub@redhat.com>
10085
10086	PR libgomp/69555
10087	* testsuite/libgomp.c++/pr69555-1.C: New test.
10088	* testsuite/libgomp.c++/pr69555-2.C: New test.
10089
100902016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
10091	    Martin Jambor  <mjambor@suse.cz>
10092
10093	* testsuite/lib/libgomp.exp
10094	(check_effective_target_offload_device_shared_as): New proc.
10095	* testsuite/libgomp.c++/declare_target-1.C: New test.
10096
100972016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
10098
10099	PR driver/68463
10100	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10101
101022016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
10103
10104	* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10105	* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10106	dims.
10107	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10108	-ftree-parallelize-loops/-fopenacc changes.
10109	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10110	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10111	Likewise.
10112	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10113	Likewise.
10114	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10115	Likewise.
10116	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10117	Likewise.
10118	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10119	Likewise.
10120	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10121	Likewise.
10122	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10123	Likewise.
10124	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10125	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10126	Likewise.
10127	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10128	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10129	Likewise.
10130	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10131	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10132	Likewise.
10133
101342016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
10135
10136	* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10137
101382016-02-19  Jakub Jelinek  <jakub@redhat.com>
10139
10140	PR driver/69805
10141	* testsuite/libgomp.c/pr69805.c: New test.
10142
101432016-02-16  Tom de Vries  <tom@codesourcery.com>
10144
10145	PR lto/67709
10146	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10147
101482016-02-09  Tom de Vries  <tom@codesourcery.com>
10149
10150	PR tree-optimization/69599
10151	* testsuite/libgomp.c/omp-nested-3.c: New test.
10152	* testsuite/libgomp.c/pr46032-2.c: New test.
10153	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10154	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10155
101562016-02-09  Tom de Vries  <tom@codesourcery.com>
10157
10158	PR lto/69707
10159	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10160
101612016-02-02  Alexander Monakov  <amonakov@ispras.ru>
10162
10163	* testsuite/libgomp.c/target-31.c: Fix testcase.
10164
101652016-02-02  Alexander Monakov  <amonakov@ispras.ru>
10166
10167	* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10168	clause.
10169	* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10170	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10171	reduction and map clauses.
10172	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10173
101742016-02-02  James Norris  <jnorris@codesourcery.com>
10175
10176	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10177
101782016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
10179
10180	* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10181	* oacc-parallel.c (GOACC_host_data): Remove function definition.
10182
10183	* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10184	cases.
10185
10186	* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10187	variables.
10188	* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10189	(hsa_kmt_lib): Set variables.
10190	* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10191	always_ld_library_path.
10192	* Makefile.in: Regenerate.
10193	* configure: Likewise.
10194	* testsuite/Makefile.in: Likewise.
10195
10196	* plugin/configfrag.ac (offload_additional_options)
10197	(offload_additional_lib_paths): Don't amend for hsa offloading.
10198	* configure: Regenerate.
10199
10200	* plugin/configfrag.ac: Don't configure for offloading target if
10201	we don't build the corresponding plugin.
10202	* configure: Regenerate.
10203
102042016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
10205
10206	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10207	* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10208
102092016-01-26  Tom de Vries  <tom@codesourcery.com>
10210
10211	PR tree-optimization/69110
10212	* testsuite/libgomp.c/pr69110.c: New test.
10213
102142016-01-25  Richard Biener  <rguenther@suse.de>
10215
10216	PR lto/69393
10217	* testsuite/libgomp.c++/pr69393.C: New testcase.
10218
102192016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
10220
10221	* target.c (gomp_get_target_fn_addr): Allow host fallback if target
10222	function wasn't mapped to the device with non-shared memory.
10223
102242016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
10225
10226	* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10227
102282016-01-19  Martin Jambor  <mjambor@suse.cz>
10229	    Martin Liska  <mliska@suse.cz>
10230
10231	* plugin/Makefrag.am: Add HSA plugin requirements.
10232	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10233	(HSA_RUNTIME_LIB): Likewise.
10234	(HSA_RUNTIME_CPPFLAGS): Likewise.
10235	(HSA_RUNTIME_INCLUDE): New substitution.
10236	(HSA_RUNTIME_LIB): Likewise.
10237	(HSA_RUNTIME_LDFLAGS): Likewise.
10238	(hsa-runtime): New configure option.
10239	(hsa-runtime-include): Likewise.
10240	(hsa-runtime-lib): Likewise.
10241	(PLUGIN_HSA): New substitution variable.
10242	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10243	configure options.
10244	(PLUGIN_HSA_CPPFLAGS): Likewise.
10245	(PLUGIN_HSA_LDFLAGS): Likewise.
10246	(PLUGIN_HSA_LIBS): Likewise.
10247	Check that we have access to HSA run-time.
10248	* libgomp-plugin.h (offload_target_type): New element
10249	OFFLOAD_TARGET_TYPE_HSA.
10250	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
10251	args.
10252	(bool gomp_create_target_task): Updated.
10253	(gomp_device_descr): Extra parameter of run_func and async_run_func,
10254	new field can_run_func.
10255	* libgomp_g.h (GOMP_target_ext): Update prototype.
10256	* oacc-host.c (host_run): Added a new parameter args.
10257	* target.c (calculate_firstprivate_requirements): New function.
10258	(copy_firstprivate_data): Likewise.
10259	(gomp_target_fallback_firstprivate): Use them.
10260	(gomp_target_unshare_firstprivate): New function.
10261	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
10262	devices.
10263	(GOMP_target): Do host fallback for all shared memory devices.  Do not
10264	pass any args to plugins.
10265	(GOMP_target_ext): Introduce device-specific argument parameter args.
10266	Allow host fallback if device shares memory.  Do not remap data if
10267	device has shared memory.
10268	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
10269	like host fallback for mappings.
10270	(GOMP_target_data): Treat shared memory devices like host fallback.
10271	(GOMP_target_data_ext): Likewise.
10272	(GOMP_target_update): Likewise.
10273	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
10274	gomp_create_target_task.
10275	(GOMP_target_enter_exit_data): Likewise.
10276	(omp_target_alloc): Treat shared memory devices like host fallback.
10277	(omp_target_free): Likewise.
10278	(omp_target_is_present): Likewise.
10279	(omp_target_memcpy): Likewise.
10280	(omp_target_memcpy_rect): Likewise.
10281	(omp_target_associate_ptr): Likewise.
10282	(gomp_load_plugin_for_device): Also load can_run.
10283	* task.c (GOMP_PLUGIN_target_task_completion): Free
10284	firstprivate_copies.
10285	(gomp_create_target_task): Accept new argument args and store it to
10286	ttask.
10287	* plugin/plugin-hsa.c: New file.
10288
102892016-01-18  Tom de Vries  <tom@codesourcery.com>
10290
10291	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10292	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10293	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10294	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10295	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10296	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10297	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10298	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10299	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10300	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10301	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10302	Same.
10303	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10304	Same.
10305	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10306	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10307	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10308	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10309	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10310	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10311	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10312	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10313	Same.
10314	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10315
103162016-01-15  Jakub Jelinek  <jakub@redhat.com>
10317
10318	* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10319
103202016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
10321
10322	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10323
103242016-01-12  James Norris  <jnorris@codesourcery.com>
10325
10326	* libgomp.texi: Updates for OpenACC.
10327
103282016-01-11  Alexander Monakov  <amonakov@ispras.ru>
10329
10330	* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10331
103322016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
10333
10334	PR fortran/66680
10335	* testsuite/libgomp.fortran/pr66680.f90: New test.
10336
103372016-01-07  Jakub Jelinek  <jakub@redhat.com>
10338
10339	PR middle-end/68960
10340	* testsuite/libgomp.c/pr68960.c: New test.
10341
103422016-01-06  Nathan Sidwell  <nathan@acm.org>
10343
10344	* openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10345	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10346
103472016-01-04  Jakub Jelinek  <jakub@redhat.com>
10348
10349	Update copyright years.
10350
10351	* libgomp.texi: Bump @copying's copyright year.
10352
103532015-12-31  Nathan Sidwell  <nathan@acm.org>
10354
10355	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10356	dg-additional-options syntax.
10357	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10358	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10359	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10360	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10361	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10362	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10363	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10364	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10365	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10366	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10367	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10368	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10369	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10370	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10371	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10372	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10373	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10374	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10375
103762015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
10377
10378	* libgomp.h (REFCOUNT_LINK): Define.
10379	(struct splay_tree_key_s): Add link_key.
10380	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10381	Replace target address of the pointer with target address of newly
10382	mapped object in the splay tree.  Set link pointer on target to the
10383	device address of the mapped object.
10384	(gomp_unmap_vars): Restore target address of the pointer in the splay
10385	tree for REFCOUNT_LINK objects after unmapping.
10386	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10387	declare target link" objects.
10388	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
10389	"omp declare target link" objects, which were mapped for the image.
10390	(gomp_exit_data): Restore target address of the pointer in the splay
10391	tree for REFCOUNT_LINK objects after unmapping.
10392	* testsuite/libgomp.c/target-link-1.c: New file.
10393
103942015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
10395
10396	* libgomp.h (gomp_device_state): New enum.
10397	(struct gomp_device_descr): Replace is_initialized with state.
10398	(gomp_fini_device): Remove declaration.
10399	* oacc-host.c (host_dispatch): Use state instead of is_initialized.
10400	* oacc-init.c (acc_init_1): Use state instead of is_initialized.
10401	(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
10402	(acc_set_device_type): Use state instead of is_initialized.
10403	(acc_set_device_num): Likewise.
10404	* target.c (resolve_device): Use state instead of is_initialized.
10405	Do not initialize finalized device.
10406	(gomp_map_vars): Do nothing if device is finalized.
10407	(gomp_unmap_vars): Likewise.
10408	(gomp_update): Likewise.
10409	(GOMP_offload_register_ver): Use state instead of is_initialized.
10410	(GOMP_offload_unregister_ver): Likewise.
10411	(gomp_init_device): Likewise.
10412	(gomp_unload_device): Likewise.
10413	(gomp_fini_device): Remove.
10414	(gomp_get_target_fn_addr): Do nothing if device is finalized.
10415	(GOMP_target): Go to host fallback if device is finalized.
10416	(GOMP_target_ext): Likewise.
10417	(gomp_exit_data): Do nothing if device is finalized.
10418	(gomp_target_task_fn): Go to host fallback if device is finalized.
10419	(gomp_target_fini): New static function.
10420	(gomp_target_init): Use state instead of is_initialized.
10421	Call gomp_target_fini at exit.
10422
104232015-12-09  Tom de Vries  <tom@codesourcery.com>
10424
10425	PR tree-optimization/68716
10426	* testsuite/libgomp.c/omp-nested-2.c: New test.
10427
104282015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
10429
10430	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10431	target openacc_nvidia_accel_selected.
10432	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10433	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10434	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10435	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10436
104372015-12-01  Julian Brown  <julian@codesourcery.com>
10438	    James Norris  <James_Norris@mentor.com>
10439
10440	* oacc-parallel.c (GOACC_host_data): New function.
10441	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10442	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10443	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10444	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10445	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10446	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10447	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10448
104492015-11-30  James Norris  <jnorris@codesourcery.com>
10450	    Cesar Philippidis  <cesar@codesourcery.com>
10451
10452	libgomp/
10453	* libgomp.oacc-fortran/routine-5.f90: New test.
10454	* libgomp.oacc-fortran/routine-7.f90: New test.
10455	* libgomp.oacc-fortran/routine-9.f90: New test.
10456
104572015-11-30  Tom de Vries  <tom@codesourcery.com>
10458
10459	PR tree-optimization/46032
10460	* testsuite/libgomp.c/pr46032.c: New test.
10461
104622015-11-27  Jakub Jelinek  <jakub@redhat.com>
10463
10464	PR libgomp/68579
10465	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10466	(gomp_create_target_task): Call it before freeing
10467	GOMP_TARGET_TASK_DATA tasks.
10468
10469	PR c/63326
10470	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10471	in between case label and OpenMP standalone directives.
10472	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10473
104742015-11-26  David Edelsohn  <dje.gcc@gmail.com>
10475
10476	* configure: Regenerate.
10477
104782015-11-26  Jakub Jelinek  <jakub@redhat.com>
10479
10480	* testsuite/libgomp.c/target-35.c: New test.
10481
104822015-11-22  James Norris  <jnorris@codesourcery.com>
10483	    Cesar Philippidis  <cesar@codesourcery.com>
10484
10485	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10486	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10487	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10488	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10489	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10490
104912015-11-20  Jakub Jelinek  <jakub@redhat.com>
10492
10493	PR middle-end/68221
10494	* testsuite/libgomp.c/reduction-11.c: Remove xfail.
10495	* testsuite/libgomp.c/reduction-12.c: Likewise.
10496	* testsuite/libgomp.c++/reduction-11.C: Likewise.
10497	* testsuite/libgomp.c++/reduction-12.C: Likewise.
10498
104992015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
10500
10501	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10502	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
10503	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10504	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10505	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10506	and fix.
10507	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10508	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10509
105102015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
10511
10512	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10513	worker & gang cases.
10514	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10515
105162015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
10517
10518	* config/nvptx/priority_queue.c: New file.
10519
105202015-11-14  Jakub Jelinek  <jakub@redhat.com>
10521
10522	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10523	sections.
10524
105252015-11-14  Jakub Jelinek  <jakub@redhat.com>
10526	    Aldy Hernandez  <aldyh@redhat.com>
10527	    Ilya Verbin  <ilya.verbin@intel.com>
10528
10529	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
10530	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10531	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10532	iterators or IV by chunk size.
10533	* parallel.c (gomp_resolve_num_threads): Don't assume that
10534	if thr->ts.team is non-NULL, then pool must be non-NULL.
10535	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10536	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10537	GOMP_PLUGIN_target_task_completion.
10538	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10539	* Makefile.in: Regenerate.
10540	* libgomp.h: Shuffle prototypes and forward definitions around so
10541	priority queues can be defined.
10542	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10543	(enum gomp_target_task_state): New enum.
10544	(struct gomp_target_task): Add state, tgt, task and team fields.
10545	(gomp_create_target_task): Change return type to bool, add
10546	state argument.
10547	(gomp_target_task_fn): Change return type to bool.
10548	(struct gomp_device_descr): Add async_run_func.
10549	(struct gomp_task): Remove children, next_child, prev_child,
10550	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10551	Add pnode field.
10552	(struct gomp_taskgroup): Remove children.
10553	Add taskgroup_queue.
10554	(struct gomp_team): Change task_queue type to a priority queue.
10555	(splay_compare): Define inline.
10556	(priority_queue_offset): New.
10557	(priority_node_to_task): New.
10558	(task_to_priority_node): New.
10559	* oacc-mem.c: Do not include splay-tree.h.
10560	* priority_queue.c: New file.
10561	* priority_queue.h: New file.
10562	* splay-tree.c: Do not include splay-tree.h.
10563	(splay_tree_foreach_internal): New.
10564	(splay_tree_foreach): New.
10565	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10566	(splay_tree_callback): Define typedef.
10567	* target.c (splay_compare): Move to libgomp.h.
10568	(GOMP_target): Don't adjust *thr in any way around running offloaded
10569	task.
10570	(GOMP_target_ext): Likewise.  Handle target nowait.
10571	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10572	return value from gomp_create_target_task, if false, fallthrough
10573	as if no dependencies exist.
10574	(gomp_target_task_fn): Change return type to bool, return true
10575	if the task should have another part scheduled later.  Handle
10576	target nowait.
10577	(gomp_load_plugin_for_device): Initialize async_run.
10578	* task.c (gomp_init_task): Initialize children_queue.
10579	(gomp_clear_parent_in_list): New.
10580	(gomp_clear_parent_in_tree): New.
10581	(gomp_clear_parent): Handle priorities.
10582	(GOMP_task): Likewise.
10583	(priority_queue_move_task_first,
10584	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10585	New functions.
10586	(gomp_create_target_task): Use priority queues.  Change return type
10587	to bool, add state argument, return false if for async
10588	{{enter,exit} data,update} constructs no dependencies need to be
10589	waited for, handle target nowait.  Set task->fn to NULL instead of
10590	gomp_target_task_fn.
10591	(verify_children_queue): Remove.
10592	(priority_list_upgrade_task): New.
10593	(priority_queue_upgrade_task): New.
10594	(verify_task_queue): Remove.
10595	(priority_list_downgrade_task): New.
10596	(priority_queue_downgrade_task): New.
10597	(gomp_task_run_pre): Use priority queues.
10598	Abstract code out to priority_queue_downgrade_task.
10599	(gomp_task_run_post_handle_dependers): Use priority queues.
10600	(gomp_task_run_post_remove_parent): Likewise.
10601	(gomp_task_run_post_remove_taskgroup): Likewise.
10602	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
10603	tasks specially.
10604	(GOMP_taskwait): Likewise.
10605	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
10606	priority-queue_upgrade_task.
10607	(GOMP_taskgroup_start): Use priority queues.
10608	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
10609	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
10610	barrier.
10611	* taskloop.c (GOMP_taskloop): Handle priorities.
10612	* team.c (gomp_new_team): Call priority_queue_init.
10613	(free_team): Call priority_queue_free.
10614	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10615	team created for target nowait in implicit parallel region.
10616	(gomp_team_start): For nested check, test thr->ts.level instead of
10617	thr->ts.team != NULL.
10618	* testsuite/libgomp.c/doacross-3.c: New test.
10619	* testsuite/libgomp.c/ordered-5.c: New test.
10620	* testsuite/libgomp.c/priority.c: New test.
10621	* testsuite/libgomp.c/target-31.c: New test.
10622	* testsuite/libgomp.c/target-32.c: New test.
10623	* testsuite/libgomp.c/target-33.c: New test.
10624	* testsuite/libgomp.c/target-34.c: New test.
10625
106262015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
10627
10628	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10629
10630	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10631	loop is sequential.
10632
106332015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
10634
10635	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10636	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10637
106382015-11-12  James Norris  <jnorris@codesourcery.com>
10639	    Joseph Myers  <joseph@codesourcery.com>
10640
10641	* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10642	* oacc-parallel.c (GOACC_declare): New function.
10643	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10644	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10645	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10646	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10647	* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10648
106492015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
10650
10651	* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10652
106532015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
10654
10655	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10656	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10657
106582015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
10659
10660	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10661	inadvertent commit.
10662
106632015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
10664
10665	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10666	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10667	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10668	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10669	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10670
106712015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
10672
10673	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10674	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10675
106762015-11-05  Jakub Jelinek  <jakub@redhat.com>
10677	    Ilya Verbin  <ilya.verbin@intel.com>
10678
10679	* libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10680	GOMP_loop_nonmonotonic_dynamic_start,
10681	GOMP_loop_nonmonotonic_guided_next,
10682	GOMP_loop_nonmonotonic_guided_start,
10683	GOMP_loop_ull_nonmonotonic_dynamic_next,
10684	GOMP_loop_ull_nonmonotonic_dynamic_start,
10685	GOMP_loop_ull_nonmonotonic_guided_next,
10686	GOMP_loop_ull_nonmonotonic_guided_start,
10687	GOMP_parallel_loop_nonmonotonic_dynamic,
10688	GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10689	(GOMP_target_41): Renamed to ...
10690	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
10691	arguments.
10692	(GOMP_target_data_41): Renamed to ...
10693	(GOMP_target_data_ext): ... this.
10694	(GOMP_target_update_41): Renamed to ...
10695	(GOMP_target_update_ext): ... this.
10696	* libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10697	GOMP_target_data_ext and GOMP_target_update_ext instead of
10698	GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10699	Export GOMP_loop_nonmonotonic_dynamic_next,
10700	GOMP_loop_nonmonotonic_dynamic_start,
10701	GOMP_loop_nonmonotonic_guided_next,
10702	GOMP_loop_nonmonotonic_guided_start,
10703	GOMP_loop_ull_nonmonotonic_dynamic_next,
10704	GOMP_loop_ull_nonmonotonic_dynamic_start,
10705	GOMP_loop_ull_nonmonotonic_guided_next,
10706	GOMP_loop_ull_nonmonotonic_guided_start,
10707	GOMP_parallel_loop_nonmonotonic_dynamic and
10708	GOMP_parallel_loop_nonmonotonic_guided.
10709	* loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10710	GOMP_parallel_loop_nonmonotonic_guided,
10711	GOMP_loop_nonmonotonic_dynamic_start,
10712	GOMP_loop_nonmonotonic_guided_start,
10713	GOMP_loop_nonmonotonic_dynamic_next,
10714	GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10715	* loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10716	GOMP_loop_ull_nonmonotonic_guided_start,
10717	GOMP_loop_ull_nonmonotonic_dynamic_next,
10718	GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10719	* target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10720	functions.
10721	(gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
10722	GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10723	Use gomp_map_val function.
10724	(gomp_target_fallback_firstprivate): New static function.
10725	(GOMP_target_41): Renamed to ...
10726	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
10727	arguments.  Move firstprivate fallback handling into a new
10728	function.
10729	(GOMP_target_data_41): Renamed to ...
10730	(GOMP_target_data_ext): ... this.
10731	(GOMP_target_update_41): Renamed to ...
10732	(GOMP_target_update_ext): ... this.
10733	(gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10734	gomp_map_0len_lookup instead of gomp_map_lookup.
10735	(omp_target_is_present): Use gomp_map_0len_lookup instead of
10736	gomp_map_lookup.
10737	* testsuite/libgomp.c/target-28.c: Likewise.
10738	* testsuite/libgomp.c/monotonic-1.c: New test.
10739	* testsuite/libgomp.c/monotonic-2.c: New test.
10740	* testsuite/libgomp.c/nonmonotonic-1.c: New test.
10741	* testsuite/libgomp.c/nonmonotonic-2.c: New test.
10742	* testsuite/libgomp.c/pr66199-5.c: New test.
10743	* testsuite/libgomp.c/pr66199-6.c: New test.
10744	* testsuite/libgomp.c/pr66199-7.c: New test.
10745	* testsuite/libgomp.c/pr66199-8.c: New test.
10746	* testsuite/libgomp.c/pr66199-9.c: New test.
10747	* testsuite/libgomp.c/reduction-11.c: New test.
10748	* testsuite/libgomp.c/reduction-12.c: New test.
10749	* testsuite/libgomp.c/reduction-13.c: New test.
10750	* testsuite/libgomp.c/reduction-14.c: New test.
10751	* testsuite/libgomp.c/reduction-15.c: New test.
10752	* testsuite/libgomp.c/target-12.c (main): Adjust for
10753	omp_target_is_present change for one-past-last element.
10754	* testsuite/libgomp.c/target-17.c (foo): Drop tests where
10755	the same var is both mapped and privatized.
10756	* testsuite/libgomp.c/target-19.c (foo): Adjust for different
10757	handling of zero-length array sections.
10758	* testsuite/libgomp.c/target-28.c: New test.
10759	* testsuite/libgomp.c/target-29.c: New test.
10760	* testsuite/libgomp.c/target-30.c: New test.
10761	* testsuite/libgomp.c/target-teams-1.c: New test.
10762	* testsuite/libgomp.c++/member-6.C: New test.
10763	* testsuite/libgomp.c++/member-7.C: New test.
10764	* testsuite/libgomp.c++/monotonic-1.C: New test.
10765	* testsuite/libgomp.c++/monotonic-2.C: New test.
10766	* testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10767	* testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10768	* testsuite/libgomp.c++/pr66199-3.C: New test.
10769	* testsuite/libgomp.c++/pr66199-4.C: New test.
10770	* testsuite/libgomp.c++/pr66199-5.C: New test.
10771	* testsuite/libgomp.c++/pr66199-6.C: New test.
10772	* testsuite/libgomp.c++/pr66199-7.C: New test.
10773	* testsuite/libgomp.c++/pr66199-8.C: New test.
10774	* testsuite/libgomp.c++/pr66199-9.C: New test.
10775	* testsuite/libgomp.c++/reduction-11.C: New test.
10776	* testsuite/libgomp.c++/reduction-12.C: New test.
10777	* testsuite/libgomp.c++/target-13.C: New test.
10778	* testsuite/libgomp.c++/target-14.C: New test.
10779	* testsuite/libgomp.c++/target-15.C: New test.
10780	* testsuite/libgomp.c++/target-16.C: New test.
10781	* testsuite/libgomp.c++/target-17.C: New test.
10782	* testsuite/libgomp.c++/target-18.C: New test.
10783	* testsuite/libgomp.c++/target-19.C: New test.
10784
107852015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
10786
10787	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10788	and reduction copy.
10789	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10790	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10791	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10792	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10793	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10794	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10795	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10796	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10797	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10798	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10799	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10800	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10801	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10802	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10803
108042015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
10805
10806	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10807	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10808	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10809	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10810	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10811	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10812	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10813	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10814
108152015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
10816
10817	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10818	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10819	(GOMP_OFFLOAD_openacc_parallel): Likewise.
10820	* oacc-host.c (host_openacc_exec): Likewise.
10821	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10822
108232015-11-03  Julian Brown  <julian@codesourcery.com>
10824	    Thomas Schwinge  <thomas@codesourcery.com>
10825
10826	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10827	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10828	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10829	Likewise.
10830	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10831	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10832
108332015-11-03  James Norris  <jnorris@codesourcery.com>
10834
10835	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10836	file.
10837	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10838	Likewise.
10839	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10840	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10841	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10842	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10843	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10844
108452015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
10846
10847	* openacc.h (enum acc_device_t): Reformat. Ensure layout
10848	compatibility.
10849	(enum acc_async_t): Reformat.
10850	(acc_on_device): Declare compatible with builtin and provide C++
10851	wrapper.
10852	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10853
108542015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
10855	    Cesar Philippidis  <cesar@codesourcery.com>
10856
10857	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10858	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10859	... this.  Add a description of the test at the top of the file.
10860	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10861	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10862	... this.  Add a description of the test at the top of the file.
10863
108642015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
10865
10866	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10867	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10868	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10869	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10870	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10871	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10872
108732015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
10874
10875	* plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10876	dimensions.
10877
108782015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
10879
10880	PR testsuite/68063
10881	* testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10882
108832015-10-27  James Norris  <jnorris@codesourcery.com>
10884
10885	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10886	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10887
108882015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
10889
10890	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10891	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10892
10893	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10894	acc_device_nvidia usage.
10895	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10896	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10897	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10898
10899	* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10900	* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10901
10902	PR libgomp/66518
10903	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10904
10905	PR libgomp/65437
10906	PR libgomp/66518
10907	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10908	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10909
109102015-10-23  Tom de Vries  <tom@codesourcery.com>
10911
10912	PR testsuite/68063
10913	* testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10914
109152015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
10916
10917	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10918	vector_length.
10919	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10920
109212015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
10922	    Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
10923
10924	* target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10925	to 0 when mapnum is 0.
10926
109272015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10928
10929	* fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10930	Cast to int from int32_t.
10931
109322015-10-13  Jakub Jelinek  <jakub@redhat.com>
10933	    Aldy Hernandez  <aldyh@redhat.com>
10934	    Ilya Verbin  <ilya.verbin@intel.com>
10935
10936	* config/linux/affinity.c (omp_get_place_num_procs,
10937	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10938	* config/linux/doacross.h: New file.
10939	* config/posix/affinity.c (omp_get_place_num_procs,
10940	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10941	* config/posix/doacross.h: New file.
10942	* env.c: Include gomp-constants.h.
10943	(struct gomp_task_icv): Rename run_sched_modifier to
10944	run_sched_chunk_size.
10945	(gomp_max_task_priority_var): New variable.
10946	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10947	(handle_omp_display_env): Change _OPENMP value from 201307 to
10948	201511.  Print OMP_MAX_TASK_PRIORITY.
10949	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10950	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
10951	chunk_size and run_sched_modifier to run_sched_chunk_size.
10952	(omp_get_max_task_priority, omp_get_initial_device,
10953	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10954	omp_get_partition_place_nums): New functions.
10955	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10956	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10957	to chunk_size.
10958	(omp_get_num_places_, omp_get_place_num_procs_,
10959	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10960	omp_get_place_proc_ids_8_, omp_get_place_num_,
10961	omp_get_partition_num_places_, omp_get_partition_place_nums_,
10962	omp_get_partition_place_nums_8_, omp_get_initial_device_,
10963	omp_get_max_task_priority_): New functions.
10964	* libgomp_g.h (GOMP_loop_doacross_static_start,
10965	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10966	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10967	GOMP_loop_ull_doacross_dynamic_start,
10968	GOMP_loop_ull_doacross_guided_start,
10969	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10970	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10971	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10972	GOMP_target_data_41, GOMP_target_update_41,
10973	GOMP_target_enter_exit_data): New prototypes.
10974	(GOMP_task): Add prototype argument.
10975	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10976	(struct gomp_doacross_work_share): New type.
10977	(struct gomp_work_share): Add doacross field.
10978	(struct gomp_task_icv): Rename run_sched_modifier to
10979	run_sched_chunk_size.
10980	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10981	GOMP_TASK_UNDEFERRED.  Add comments.
10982	(struct gomp_task_depend_entry): Add comments.
10983	(struct gomp_task): Likewise.
10984	(struct gomp_taskgroup): Likewise.
10985	(struct gomp_target_task): New type.
10986	(struct gomp_team): Add comment.
10987	(gomp_get_place_proc_ids_8, gomp_doacross_init,
10988	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10989	gomp_create_target_task, gomp_target_task_fn): New prototypes.
10990	(struct target_var_desc): New type.
10991	(struct target_mem_desc): Adjust comment.  Use struct
10992	target_var_desc instead of splay_tree_key for list.
10993	(REFCOUNT_INFINITY): Define.
10994	(struct splay_tree_key_s): Remove copy_from field.
10995	(struct gomp_device_descr): Add dev2dev_func field.
10996	(enum gomp_map_vars_kind): New enum.
10997	(gomp_map_vars): Add one argument.
10998	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10999	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11000	omp_get_place_num_procs, omp_get_place_num_procs_,
11001	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11002	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11003	omp_get_place_num_, omp_get_partition_num_places,
11004	omp_get_partition_num_places_, omp_get_partition_place_nums,
11005	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11006	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11007	omp_target_free, omp_target_is_present, omp_target_memcpy,
11008	omp_target_memcpy_rect, omp_target_associate_ptr and
11009	omp_target_disassociate_ptr.
11010	(GOMP_4.0.2): Renamed to ...
11011	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
11012	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11013	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11014	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11015	GOMP_loop_doacross_static_start, GOMP_doacross_post,
11016	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11017	GOMP_loop_ull_doacross_guided_start,
11018	GOMP_loop_ull_doacross_runtime_start,
11019	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11020	GOMP_doacross_ull_wait.
11021	* libgomp.texi: Document omp_get_max_task_priority.
11022	Rename modifier argument to chunk_size for omp_set_schedule and
11023	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
11024	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11025	to run_sched_chunk_size renaming.
11026	(GOMP_loop_ordered_runtime_start): Likewise.
11027	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11028	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11029	GOMP_parallel_loop_runtime_start): New functions.
11030	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11031	to run_sched_chunk_size renaming.
11032	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11033	GOMP_loop_doacross_guided_start): New functions or aliases.
11034	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11035	run_sched_modifier to run_sched_chunk_size renaming.
11036	(GOMP_loop_ull_ordered_runtime_start): Likewise.
11037	(gomp_loop_ull_doacross_static_start,
11038	gomp_loop_ull_doacross_dynamic_start,
11039	gomp_loop_ull_doacross_guided_start,
11040	GOMP_loop_ull_doacross_runtime_start): New functions.
11041	(GOMP_loop_ull_doacross_static_start,
11042	GOMP_loop_ull_doacross_dynamic_start,
11043	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11044	* oacc-mem.c (acc_map_data, present_create_copy,
11045	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11046	to gomp_map_vars.
11047	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11048	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11049	instead of false to gomp_map_vars.
11050	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
11051	* omp.h.in (omp_lock_hint_t): New type.
11052	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11053	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11054	omp_get_place_num, omp_get_partition_num_places,
11055	omp_get_partition_place_nums, omp_get_initial_device,
11056	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11057	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11058	omp_target_associate_ptr, omp_target_disassociate_ptr): New
11059	prototypes.
11060	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11061	(omp_lock_hint_none, omp_lock_hint_uncontended,
11062	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11063	omp_lock_hint_speculative): New parameters.
11064	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11065	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11066	omp_get_place_num, omp_get_partition_num_places,
11067	omp_get_partition_place_nums, omp_get_initial_device,
11068	omp_get_max_task_priority): New interfaces.
11069	(omp_set_schedule, omp_get_schedule): Rename modifier argument
11070	to chunk_size.
11071	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
11072	(omp_lock_hint_none, omp_lock_hint_uncontended,
11073	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11074	omp_lock_hint_speculative): New parameters.
11075	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11076	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11077	omp_get_place_num, omp_get_partition_num_places,
11078	omp_get_partition_place_nums, omp_get_initial_device,
11079	omp_get_max_task_priority): New functions and subroutines.
11080	* ordered.c: Include stdarg.h and string.h.
11081	(MAX_COLLAPSED_BITS): Define.
11082	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11083	gomp_doacross_ull_init, GOMP_doacross_ull_post,
11084	GOMP_doacross_ull_wait): New functions.
11085	* target.c: Include errno.h.
11086	(resolve_device): If device is not initialized, call
11087	gomp_init_device on it.
11088	(gomp_map_lookup): New function.
11089	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
11090	Don't bump refcount if REFCOUNT_INFINITY.  Handle
11091	GOMP_MAP_ALWAYS_TO_P.
11092	(get_kind): Rename is_openacc argument to short_mapkind.
11093	(gomp_map_pointer): Use gomp_map_lookup.
11094	(gomp_map_fields_existing): New function.
11095	(gomp_map_vars): Rename is_openacc argument to short_mapkind
11096	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
11097	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11098	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11099	Adjust for tgt->list changed type and copy_from living in there.
11100	(gomp_copy_from_async): Adjust for tgt->list changed type and
11101	copy_from living in there.
11102	(gomp_unmap_vars): Likewise.
11103	(gomp_update): Likewise.  Rename is_openacc argument to
11104	short_mapkind.  Don't fail if object is not mapped.
11105	(gomp_load_image_to_device): Initialize refcount to
11106	REFCOUNT_INFINITY.
11107	(gomp_target_fallback): New function.
11108	(gomp_get_target_fn_addr): Likewise.
11109	(GOMP_target): Adjust gomp_map_vars caller, use
11110	gomp_get_target_fn_addr and gomp_target_fallback.
11111	(GOMP_target_41): New function.
11112	(gomp_target_data_fallback): New function.
11113	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
11114	(GOMP_target_data_41): New function.
11115	(GOMP_target_update): Adjust gomp_update caller.
11116	(GOMP_target_update_41): New function.
11117	(gomp_exit_data, GOMP_target_enter_exit_data,
11118	gomp_target_task_fn, omp_target_alloc, omp_target_free,
11119	omp_target_is_present, omp_target_memcpy,
11120	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11121	omp_target_associate_ptr, omp_target_disassociate_ptr,
11122	gomp_load_plugin_for_device): New functions.
11123	* task.c: Include gomp-constants.h.  Include taskloop.c
11124	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11125	(gomp_task_handle_depend): New function.
11126	(GOMP_task): Use it.  Add priority argument.  Use
11127	gomp-constant.h constants instead of hardcoded numbers.
11128	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11129	(gomp_create_target_task): New function.
11130	(verify_children_queue, verify_taskgroup_queue,
11131	verify_task_queue): New functions.
11132	(gomp_task_run_pre): Call verify_*_queue functions.
11133	If an upcoming tied task is about to leave the sibling or
11134	taskgroup queues in an invalid state, adjust appropriately.
11135	Remove taskgroup argument.  Add comments.
11136	(gomp_task_run_post_handle_dependers): Add comments.
11137	(gomp_task_run_post_remove_parent): Likewise.
11138	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11139	(GOMP_taskwait): Likewise.  Add comments.
11140	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
11141	problem such that the first non parent_depends_on task does not
11142	end up at the end of the children queue.
11143	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11144	GOMP_TASK_UNDEFERRED.
11145	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11146	* taskloop.c: New file.
11147	* testsuite/lib/libgomp.exp
11148	(check_effective_target_offload_device_nonshared_as): New proc.
11149	* testsuite/libgomp.c/affinity-2.c: New test.
11150	* testsuite/libgomp.c/doacross-1.c: New test.
11151	* testsuite/libgomp.c/doacross-2.c: New test.
11152	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11153	Add map clause to target.
11154	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11155	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11156	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11157	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11158	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11159	Likewise.
11160	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11161	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11162	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11163	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11164	not defined.  Use those where needed.
11165	* testsuite/libgomp.c/for-4.c: New test.
11166	* testsuite/libgomp.c/for-5.c: New test.
11167	* testsuite/libgomp.c/for-6.c: New test.
11168	* testsuite/libgomp.c/linear-1.c: New test.
11169	* testsuite/libgomp.c/ordered-4.c: New test.
11170	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11171	only allowed on the loop iterator.
11172	* testsuite/libgomp.c/pr66199-3.c: New test.
11173	* testsuite/libgomp.c/pr66199-4.c: New test.
11174	* testsuite/libgomp.c/reduction-7.c: New test.
11175	* testsuite/libgomp.c/reduction-8.c: New test.
11176	* testsuite/libgomp.c/reduction-9.c: New test.
11177	* testsuite/libgomp.c/reduction-10.c: New test.
11178	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11179	map(tofrom:s).
11180	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11181	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11182	* testsuite/libgomp.c/target-11.c: New test.
11183	* testsuite/libgomp.c/target-12.c: New test.
11184	* testsuite/libgomp.c/target-13.c: New test.
11185	* testsuite/libgomp.c/target-14.c: New test.
11186	* testsuite/libgomp.c/target-15.c: New test.
11187	* testsuite/libgomp.c/target-16.c: New test.
11188	* testsuite/libgomp.c/target-17.c: New test.
11189	* testsuite/libgomp.c/target-18.c: New test.
11190	* testsuite/libgomp.c/target-19.c: New test.
11191	* testsuite/libgomp.c/target-20.c: New test.
11192	* testsuite/libgomp.c/target-21.c: New test.
11193	* testsuite/libgomp.c/target-22.c: New test.
11194	* testsuite/libgomp.c/target-23.c: New test.
11195	* testsuite/libgomp.c/target-24.c: New test.
11196	* testsuite/libgomp.c/target-25.c: New test.
11197	* testsuite/libgomp.c/target-26.c: New test.
11198	* testsuite/libgomp.c/target-27.c: New test.
11199	* testsuite/libgomp.c/taskloop-1.c: New test.
11200	* testsuite/libgomp.c/taskloop-2.c: New test.
11201	* testsuite/libgomp.c/taskloop-3.c: New test.
11202	* testsuite/libgomp.c/taskloop-4.c: New test.
11203	* testsuite/libgomp.c++/ctor-13.C: New test.
11204	* testsuite/libgomp.c++/doacross-1.C: New test.
11205	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
11206	Replace offload_device with offload_device_nonshared_as.
11207	* testsuite/libgomp.c++/for-12.C: New test.
11208	* testsuite/libgomp.c++/for-13.C: New test.
11209	* testsuite/libgomp.c++/for-14.C: New test.
11210	* testsuite/libgomp.c++/linear-1.C: New test.
11211	* testsuite/libgomp.c++/member-1.C: New test.
11212	* testsuite/libgomp.c++/member-2.C: New test.
11213	* testsuite/libgomp.c++/member-3.C: New test.
11214	* testsuite/libgomp.c++/member-4.C: New test.
11215	* testsuite/libgomp.c++/member-5.C: New test.
11216	* testsuite/libgomp.c++/ordered-1.C: New test.
11217	* testsuite/libgomp.c++/reduction-5.C: New test.
11218	* testsuite/libgomp.c++/reduction-6.C: New test.
11219	* testsuite/libgomp.c++/reduction-7.C: New test.
11220	* testsuite/libgomp.c++/reduction-8.C: New test.
11221	* testsuite/libgomp.c++/reduction-9.C: New test.
11222	* testsuite/libgomp.c++/reduction-10.C: New test.
11223	* testsuite/libgomp.c++/reference-1.C: New test.
11224	* testsuite/libgomp.c++/simd14.C: New test.
11225	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11226	* testsuite/libgomp.c++/target-5.C: New test.
11227	* testsuite/libgomp.c++/target-6.C: New test.
11228	* testsuite/libgomp.c++/target-7.C: New test.
11229	* testsuite/libgomp.c++/target-8.C: New test.
11230	* testsuite/libgomp.c++/target-9.C: New test.
11231	* testsuite/libgomp.c++/target-10.C: New test.
11232	* testsuite/libgomp.c++/target-11.C: New test.
11233	* testsuite/libgomp.c++/target-12.C: New test.
11234	* testsuite/libgomp.c++/taskloop-1.C: New test.
11235	* testsuite/libgomp.c++/taskloop-2.C: New test.
11236	* testsuite/libgomp.c++/taskloop-3.C: New test.
11237	* testsuite/libgomp.c++/taskloop-4.C: New test.
11238	* testsuite/libgomp.c++/taskloop-5.C: New test.
11239	* testsuite/libgomp.c++/taskloop-6.C: New test.
11240	* testsuite/libgomp.c++/taskloop-7.C: New test.
11241	* testsuite/libgomp.c++/taskloop-8.C: New test.
11242	* testsuite/libgomp.c++/taskloop-9.C: New test.
11243	* testsuite/libgomp.fortran/affinity1.f90: New test.
11244	* testsuite/libgomp.fortran/affinity2.f90: New test.
11245
112462015-10-13  Tom de Vries  <tom@codesourcery.com>
11247
11248	PR tree-optimization/67476
11249	* testsuite/libgomp.c/autopar-3.c: New test.
11250	* testsuite/libgomp.c/autopar-4.c: New test.
11251	* testsuite/libgomp.c/autopar-5.c: New test.
11252	* testsuite/libgomp.c/autopar-6.c: New test.
11253	* testsuite/libgomp.c/autopar-7.c: New test.
11254	* testsuite/libgomp.c/autopar-8.c: New test.
11255
112562015-10-12  James Norris  <jnorris@codesourcery.com>
11257
11258	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11259	initializer.
11260
112612015-10-09  David Malcolm  <dmalcolm@redhat.com>
11262
11263	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11264	using load_gcc_lib.
11265
112662015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
11267
11268	* oacc-ptx.h: Remove file, moving its content into...
11269	* config/nvptx/fortran.c: ... here...
11270	* config/nvptx/oacc-init.c: ..., here...
11271	* config/nvptx/oacc-parallel.c: ..., and here.
11272	* config/nvptx/openacc.f90: New file.
11273	* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11274	(link_ptx): Don't link in predefined bits of PTX code.
11275
112762015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
11277	    Bernd Schmidt <bernds@codesourcery.com>
11278
11279	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11280	(struct targ_ptx_obj): New.
11281	(nvptx_tdata): Move earlier, change data format.
11282	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
11283	objects.
11284	(GOMP_OFFLOAD_load_image): Adjust.
11285
112862015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
11287
11288	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11289	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11290	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11291	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11292	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11293	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11294	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11295	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11296	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11297	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11298	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11299	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11300	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11301	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11302	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11303	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11304	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11305	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11306	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11307	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11308	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11309	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11310	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11311	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11312	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11313	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11314	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11315	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11316	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11317	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11318	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11319	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11320	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11321	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11322	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11323	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11324	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11325	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11326	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11327	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11328	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11329	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11330	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11331	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11332	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11333	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11334	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11335	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11336	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11337	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11338	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11339	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11340	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11341	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11342	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11343	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11344	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11345	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11346	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11347	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11348	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11349	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11350	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11351
113522015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
11353
11354	* oacc-init.c (acc_on_device): Force optimization level.
11355
113562015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
11357
11358	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11359	(cuda_errlist): Delete.
11360	(cuda_error): Reimplement.
11361
113622015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
11363
11364	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
11365	array.
11366	* libgomp.map (GOACC_parallel_keyed): New.
11367	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
11368	all callers.
11369	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
11370	and take keyed varargs list.  Adjust call to exec_func.
11371	(GOACC_parallel): Force host fallback.
11372	* libgomp_g.h (GOACC_parallel): Remove.
11373	(GOACC_parallel_keyed): Declare.
11374	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11375	(struct targ_gn_descriptor): Replace name field with launch field.
11376	(nvptx_exec): Lose separate geometry args, take array.  Process
11377	dynamic dimensions and adjust.
11378	(struct nvptx_tdata): Replace fn_names field with fn_descs.
11379	(GOMP_OFFLOAD_load_image): Adjust for change in function table
11380	data.
11381	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11382	passing.
11383	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
11384	passing.
11385
113862015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
11387
11388	PR libgomp/67141
11389	* oacc-int.h (goacc_host_init): Add declaration.
11390	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11391	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11392
113932015-09-08  Aditya Kumar  <hiraditya@msn.com>
11394	    Sebastian Pop  <s.pop@samsung.com>
11395
11396	* testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11397	match o/p.
11398	* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11399	* testsuite/libgomp.graphite/force-parallel-4.c: Same.
11400	* testsuite/libgomp.graphite/force-parallel-5.c: Same.
11401	* testsuite/libgomp.graphite/force-parallel-7.c: Same.
11402	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
11403
114042015-09-03  Jakub Jelinek  <jakub@redhat.com>
11405
11406	* configure.tgt: Add missing ;; in between nvptx and rtems
11407	snippets.
11408
114092015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11410
11411	* config/posix/pool.h (gomp_adjust_thread_attr): New.
11412	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11413	(gomp_thread_pool_reservoir): Add priority member.
11414	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11415	priority.
11416	(parse_thread_pools): Likewise.
11417	* team.c (gomp_team_start): Call configuration provided
11418	gomp_adjust_thread_attr(). Destroy thread attributes if
11419	necessary.
11420	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11421
114222015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11423
11424	* config/posix/pool.h: New.
11425	* config/rtems/pool.h: Likewise.
11426	* config/rtems/proc.c: Likewise.
11427	* libgomp.h (gomp_thread_destructor): Declare.
11428	* team.c: Include configuration provided "pool.h".
11429	(gomp_get_thread_pool): Define in configuration.
11430	(gomp_team_end): Call configuration defined
11431	gomp_release_thread_pool().
11432
114332015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11434
11435	* config/rtems/bar.c: New.
11436	* config/rtems/bar.h: Likewise.
11437	* config/rtems/mutex.c: Likewise.
11438	* config/rtems/mutex.h: Likewise.
11439	* config/rtems/sem.c: Likewise.
11440	* config/rtems/sem.h: Likewise.
11441	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
11442	<sys/lock.h> header file.
11443	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11444	supported by Newlib.
11445	* configure: Regenerate.
11446
114472015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11448
11449	* team.c (gomp_new_thread_pool): Delete and move content to ...
11450	(gomp_get_thread_pool): ... new function.  Allocate and
11451	initialize thread pool on demand.
11452	(get_last_team): Use gomp_get_thread_pool().
11453	(gomp_team_start): Delete thread pool initialization.
11454
114552015-09-03  Tom de Vries  <tom@codesourcery.com>
11456
11457	PR tree-optimization/65637
11458	* testsuite/libgomp.c/autopar-2.c: New test.
11459
114602015-08-29  Tom de Vries  <tom@codesourcery.com>
11461
11462	PR tree-optimization/46193
11463	* testsuite/libgomp.c/pr46193.c: New test.
11464
114652015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
11466
11467	libgomp/
11468	* libgomp.map: Add 4.0.2 version.
11469	* target.c (offload_image_descr): Add version field.
11470	(gomp_load_image_to_device): Add version argument.  Adjust plugin
11471	call.  Improve load mismatch diagnostic.
11472	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
11473	call.
11474	(GOMP_offload_regster): Make stub function, move bulk to ...
11475	(GOMP_offload_register_ver): ... here.  Process version argument.
11476	(GOMP_offload_unregister): Make stub function, move bulk to ...
11477	(GOMP_offload_unregister_ver): ... here.  Process version argument.
11478	(gomp_init_device): Process version field.
11479	(gomp_unload_device): Process version field.
11480	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11481	macros.  Check plugin version.
11482	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
11483	loader and unloader types.
11484	* oacc-host.c: Include gomp-constants.h.
11485	(host_version): New.
11486	(host_load_image, host_unload_image): Adjust.
11487	(host_dispatch): Add host_version.
11488	* plugin/plugin-nvptx.c: Include gomp-constants.h.
11489	(GOMP_OFFLOAD_version): New.
11490	(GOMP_OFFLOAD_load_image): Add version arg and check it.
11491	(GOMP_OFFLOAD_unload_image): Likewise.
11492	* plugin/plugin-host.c: Include gomp-constants.h.
11493	(GOMP_OFFLOAD_version): New.
11494	(GOMP_OFFLOAD_load_image): Add version arg.
11495	(GOMP_OFFLOAD_unload_image): Likewise.
11496
114972015-08-24  Tom de Vries  <tom@codesourcery.com>
11498
11499	PR tree-optimization/65468
11500	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11501
115022015-08-24  Tom de Vries  <tom@codesourcery.com>
11503
11504	PR tree-optimization/65468
11505	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
11506
115072015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
11508
11509	PR libgomp/66761
11510	PR libgomp/67303
11511	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11512	(gomp_iter_guided_next): Idem.
11513	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11514	(gomp_iter_ull_guided_next): Idem.
11515	* config/linux/wait.h (do_spin): Idem.
11516
115172015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11518
11519	* libgomp-plugin.h (enum offload_target_type): Remove
11520	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11521	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11522	* openacc.h (enum acc_device_t): Likewise.
11523	* openacc_lib.h: Likewise.
11524	* oacc-init.c (name_of_acc_device_t): Don't handle it.
11525	(acc_on_device): Just use __builtin_acc_on_device.
11526	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11527	of acc_on_device builtin.
11528	* plugin/plugin-host.h: Remove file.
11529	* plugin/plugin-host.c: Likewise, but salvage some content into...
11530	* oacc-host.c: ... this file.
11531	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11532	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11533	* Makefile.in: Regenerate.
11534	* configure: Likewise.
11535	* testsuite/lib/libgomp.exp
11536	(check_effective_target_openacc_host_nonshm_selected): Remove.
11537	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11538	ACC_DEVICE_TYPE=host_nonshm.
11539	* testsuite/libgomp.oacc-c/c.exp: Likewise.
11540	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11541	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11542	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11543	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11544	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11545
115462015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11547	    Jakub Jelinek  <jakub@redhat.com>
11548
11549	* config/nvptx/affinity.c: New file.
11550	* config/nvptx/alloc.c: Likewise.
11551	* config/nvptx/bar.c: Likewise.
11552	* config/nvptx/barrier.c: Likewise.
11553	* config/nvptx/critical.c: Likewise.
11554	* config/nvptx/env.c: Likewise.
11555	* config/nvptx/error.c: Likewise.
11556	* config/nvptx/fortran.c: Likewise.
11557	* config/nvptx/iter.c: Likewise.
11558	* config/nvptx/iter_ull.c: Likewise.
11559	* config/nvptx/libgomp-plugin.c: Likewise.
11560	* config/nvptx/lock.c: Likewise.
11561	* config/nvptx/loop.c: Likewise.
11562	* config/nvptx/loop_ull.c: Likewise.
11563	* config/nvptx/mutex.c: Likewise.
11564	* config/nvptx/oacc-async.c: Likewise.
11565	* config/nvptx/oacc-cuda.c: Likewise.
11566	* config/nvptx/oacc-host.c: Likewise.
11567	* config/nvptx/oacc-init.c: Likewise.
11568	* config/nvptx/oacc-mem.c: Likewise.
11569	* config/nvptx/oacc-parallel.c: Likewise.
11570	* config/nvptx/oacc-plugin.c: Likewise.
11571	* config/nvptx/omp-lock.h: Likewise.
11572	* config/nvptx/ordered.c: Likewise.
11573	* config/nvptx/parallel.c: Likewise.
11574	* config/nvptx/proc.c: Likewise.
11575	* config/nvptx/ptrlock.c: Likewise.
11576	* config/nvptx/sections.c: Likewise.
11577	* config/nvptx/sem.c: Likewise.
11578	* config/nvptx/single.c: Likewise.
11579	* config/nvptx/splay-tree.c: Likewise.
11580	* config/nvptx/target.c: Likewise.
11581	* config/nvptx/task.c: Likewise.
11582	* config/nvptx/team.c: Likewise.
11583	* config/nvptx/time.c: Likewise.
11584	* config/nvptx/work.c: Likewise.
11585	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11586	* configure: Regenerate.
11587	* configure.tgt (config_path): Set to "nvptx" for target
11588	nvptx*-*-*.
11589
115902015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11591
11592	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11593
115942015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
11595
11596	* plugin/plugin-nvptx.c: Don't include dlfcn.h.
11597	(cuda_errlist): Constify.
11598	(errmsg):  Move into ...
11599	(cuda_error): ... here.  Make smaller.
11600	(_XSTR, _STR): Delete.
11601	(cuda_synames): Delete.
11602	(verify_device_library): Delete.
11603	(nvptx_init): Don't call it.
11604
116052015-07-28  Tom de Vries  <tom@codesourcery.com>
11606
11607	* testsuite/libgomp.c/uns-outer-4.c: New test.
11608
116092015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
11610
11611	* testsuite/libgomp.c/pr66714.c: New test.
11612
116132015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11614
11615	PR libgomp/66950
11616	* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11617	(fib_ref): New function.
11618	(fib): Correct corner cases in the recursion.
11619	(main): Replace the non-simd loop with fib_ref call.
11620	* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11621	subroutine.
11622	(fibonacci): Lower the parameter N to 30.  Correct accordingly check
11623	for the last array element value.  Replace the non-simd loop with
11624	fib_ref call.  Remove redundant b_ref array.  Remove the comparison
11625	of the last array element with according Fibonacci sequence element.
11626	(fib): Correct corner cases in the recursion.
11627
116282015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
11629
11630	* target.c (gomp_offload_image_to_device): Rename to ...
11631	(gomp_load_image_to_device): ... here.
11632	(GOMP_offload_register): Adjust call.
11633	(gomp_init_device): Likewise.
11634	(gomp_unload_image_from_device): New.  Broken out of ...
11635	(GOMP_offload_unregister): ... here.  Call it.
11636	(gomp_unload_device): New.
11637	* libgomp.h (gomp_unload_device): Declare.
11638	* oacc-init.c (acc_shutdown_1): Unload from device before deleting
11639	mem maps.
11640
116412015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
11642
11643	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
11644	wait=-specific if.
11645	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11646	!=0 condition.
11647	(goacc_waits): Move !num_waits handling to ...
11648	(GOACC_wait): ... here, the only caller that might have zero waits.
11649
11650	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11651	(struct ptx_image_data): Move earlier, add fns field.
11652	(struct ptx_device): Add images and image_lock fields.
11653	(ptx_images, ptx_image_lock): Delete.
11654	(nvptx_open_device): Initialize images and image_lock fields.
11655	(nvptx_close_device): Destroy image_lock.
11656	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11657	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11658	fields.
11659
116602015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
11661
11662	* target.c (GOMP_offload_register): Use int for device type arg.
11663	(GOMP_offload_unregister): Likewise.
11664
11665	* target.c (struct_offload_image_descr): Constify host_table.
11666	(gomp_offload_image_to_device): Likewise.
11667	(GOMP_offload_register, GOMP_offload_unregister): Likewise.
11668
11669	* libgomp.h (gomp_device_descr): Constify target data arguments.
11670	* target.c (struct offload_image_descr): Constify target_data.
11671	(gomp_offload_image_to_device): Likewise.
11672	(GOMP_offload_register): Likewise.
11673	(GOMP_offload_unregister): Likewise.
11674	* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11675	GOMP_OFFLOAD_unload_image): Constify target data.
11676	* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11677	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11678
116792015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
11680
11681	* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11682	Workaround driver library const error.
11683	(struct nvptx_tdata, nvptx_tdata_t): New.
11684	(GOMP_OFFLOAD_load_image): Use struct for target_data's real
11685	type.
11686
116872015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11688
11689	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11690	of EPS parameter from integer to real.
11691	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11692	type of EPS parameter from integer to real.
11693
116942015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11695
11696	* team.c (get_last_team): New.
11697	(gomp_new_team): Recycle last non-nested team if possible.
11698	(gomp_team_end): Move team work share list free lock destruction
11699	to ...
11700	(free_team): ... here.
11701
117022015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11703
11704	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11705	and ref from int to double.  Replaced their comparison with
11706	an inequality of their difference and EPS.
11707	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11708	comparison of pri and a reference number with an inequality of their
11709	difference and EPS.
11710	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11711	the comparison of sum and sum_ref with an inequality of their
11712	difference and EPS.
11713	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11714	the comparison of pri and a reference number with an inequality of
11715	their difference and EPS.
11716
117172015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11718
11719	* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11720	* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11721	* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11722	* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11723	* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11724	* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11725	* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11726	* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11727	* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11728	* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11729	* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11730	* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11731	(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11732	variables.
11733	(vec_mult): Likewise.  Add #pragma omp taskwait.
11734	(main): Adjust caller.
11735	* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11736	* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11737	* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11738	* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11739	* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11740	* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11741	* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11742	* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11743	* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11744	* testsuite/libgomp.c/examples-4/device-1.c: ...this.
11745	* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11746	* testsuite/libgomp.c/examples-4/device-2.c: ...this.
11747	* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11748	* testsuite/libgomp.c/examples-4/device-3.c: ...this.
11749	* testsuite/libgomp.c/examples-4/simd-1.c: New file.
11750	* testsuite/libgomp.c/examples-4/simd-2.c: New file.
11751	* testsuite/libgomp.c/examples-4/simd-3.c: New file.
11752	* testsuite/libgomp.c/examples-4/simd-4.c: New file.
11753	* testsuite/libgomp.c/examples-4/simd-5.c: New file.
11754	* testsuite/libgomp.c/examples-4/simd-6.c: New file.
11755	* testsuite/libgomp.c/examples-4/simd-7.c: New file.
11756	* testsuite/libgomp.c/examples-4/simd-8.c: New file.
11757	* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11758	* testsuite/libgomp.c/examples-4/target-1.c: ...this.
11759	* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11760	* testsuite/libgomp.c/examples-4/target-2.c: ...this.
11761	* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11762	* testsuite/libgomp.c/examples-4/target-3.c: ...this.
11763	* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11764	* testsuite/libgomp.c/examples-4/target-4.c: ...this.
11765	* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11766	* testsuite/libgomp.c/examples-4/target-5.c: ...this.
11767	* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11768	* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11769	* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11770	* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11771	* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11772	* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11773	* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11774	* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11775	* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11776	* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11777	* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11778	* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11779	* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11780	* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11781	* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11782	* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11783	* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11784	* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11785	* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11786	* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11787	* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11788	* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11789	* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11790	* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11791	* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11792	* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11793	* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11794	* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11795	* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11796	* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11797	* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11798	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11799	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11800	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11801	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11802	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11803	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11804	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11805	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11806	(vec_mult): Add !$omp taskwait.
11807	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11808	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11809	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11810	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11811	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11812	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11813	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11814	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11815	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11816	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11817	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11818	* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11819	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11820	* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11821	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11822	* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11823	* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11824	* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11825	* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11826	* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11827	* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11828	* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11829	* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11830	* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11831	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11832	* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11833	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11834	* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11835	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11836	* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11837	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11838	* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11839	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11840	* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11841	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11842	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11843	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11844	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11845	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11846	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11847	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11848	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11849	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11850	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11851	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11852	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11853	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11854	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11855	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11856	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11857	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11858	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11859	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11860	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11861	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11862	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11863	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11864	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11865	* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11866	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11867	* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11868	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11869	* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11870	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11871	* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11872	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11873	* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11874
118752015-07-10  Tom de Vries  <tom@codesourcery.com>
11876
11877	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11878	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11879
118802015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
11881
11882	PR libgomp/65099
11883	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11884	in a 64-bit configuration.
11885	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11886	offloading testing if no such device is available.
11887	* testsuite/libgomp.oacc-c/c.exp: Likewise.
11888	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11889
118902015-07-08  Tom de Vries  <tom@codesourcery.com>
11891
11892	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11893	second call to f.
11894	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11895
118962015-07-07  Tom de Vries  <tom@codesourcery.com>
11897
11898	PR tree-optimization/66642
11899	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11900	iteration count case.
11901	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11902	function, factor out of ...
11903	(main): ... here.  Test low iteration count case.
11904
119052015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11906
11907	* libgomp.h (gomp_thread_pool): Comment last_team field.
11908
119092015-07-02  Uros Bizjak  <ubizjak@gmail.com>
11910
11911	* testsuite/libgomp.c++/pr66702-1.C: Require
11912	vect_simd_clones effective target.
11913	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
11914
119152015-06-30  Tom de Vries  <tom@codesourcery.com>
11916
11917	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11918	already set.  Use DEFAULT_CFLAGS in dg-runtest.
11919	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11920	"-O2".
11921
119222015-06-30  Tom de Vries  <tom@codesourcery.com>
11923
11924	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11925	already set.  Use DEFAULT_CFLAGS in dg-runtest.
11926	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11927	* testsuite/libgomp.c++/pr64824.C: Same.
11928	* testsuite/libgomp.c++/pr64868.C: Same.
11929	* testsuite/libgomp.c++/pr66199-1.C: Same.
11930	* testsuite/libgomp.c++/pr66199-2.C: Same.
11931	* testsuite/libgomp.c++/target-2.C: Same.
11932	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11933	-std=<standard> option.
11934	* testsuite/libgomp.c++/udr-11.C: Same.
11935	* testsuite/libgomp.c++/udr-12.C: Same.
11936	* testsuite/libgomp.c++/udr-13.C: Same.
11937	* testsuite/libgomp.c++/udr-14.C: Same.
11938	* testsuite/libgomp.c++/udr-15.C: Same.
11939	* testsuite/libgomp.c++/udr-16.C: Same.
11940	* testsuite/libgomp.c++/udr-17.C: Same.
11941	* testsuite/libgomp.c++/udr-18.C: Same.
11942	* testsuite/libgomp.c++/udr-19.C: Same.
11943	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11944	* testsuite/libgomp.c++/simd-1.C: Same.
11945	* testsuite/libgomp.c++/simd-2.C: Same.
11946	* testsuite/libgomp.c++/simd-3.C: Same.
11947	* testsuite/libgomp.c++/simd-4.C: Same.
11948	* testsuite/libgomp.c++/simd-5.C: Same.
11949	* testsuite/libgomp.c++/simd-6.C: Same.
11950	* testsuite/libgomp.c++/simd-7.C: Same.
11951	* testsuite/libgomp.c++/simd-8.C: Same.
11952	* testsuite/libgomp.c++/simd-9.C: Same.
11953	* testsuite/libgomp.c++/simd10.C: Same.
11954	* testsuite/libgomp.c++/simd11.C: Same.
11955	* testsuite/libgomp.c++/simd12.C: Same.
11956	* testsuite/libgomp.c++/simd13.C: Same.
11957
119582015-06-30  Jakub Jelinek  <jakub@redhat.com>
11959
11960	PR middle-end/66702
11961	* testsuite/libgomp.c++/pr66702-1.C: New test.
11962	* testsuite/libgomp.c++/pr66702-2.C: New test.
11963
119642015-06-30  Tom de Vries  <tom@codesourcery.com>
11965
11966	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11967	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11968	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11969	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11970
119712015-06-30  Tom de Vries  <tom@codesourcery.com>
11972
11973	PR tree-optimization/66652
11974	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11975	using restrict pointers.
11976	(main): Add arguments to calls to f.
11977	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11978
119792015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
11980
11981	* configure.ac: Fix check for header <sys/sysctl.h>.
11982	* configure: Regenerate.
11983	* config.h.in: Likewise.
11984
119852015-06-23  Tom de Vries  <tom@codesourcery.com>
11986
11987	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11988	abort.
11989	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11990
119912015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
11992
11993	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11994	acc_device_nvidia.
11995
11996	PR libgomp/66518
11997	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11998	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11999
120002015-06-15  Tom de Vries  <tom@codesourcery.com>
12001
12002	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
12003	dg-additional-options for any remaining options.
12004	* testsuite/libgomp.c/atomic-2.c: Same.
12005	* testsuite/libgomp.c/atomic-4.c: Same.
12006	* testsuite/libgomp.c/atomic-5.c: Same.
12007	* testsuite/libgomp.c/atomic-6.c: Same.
12008	* testsuite/libgomp.c/autopar-1.c: Same.
12009	* testsuite/libgomp.c/copyin-1.c: Same.
12010	* testsuite/libgomp.c/copyin-2.c: Same.
12011	* testsuite/libgomp.c/copyin-3.c: Same.
12012	* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12013	* testsuite/libgomp.c/nestedfn-5.c: Same.
12014	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12015	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12016	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12017	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12018	* testsuite/libgomp.c/pr32362-1.c: Same.
12019	* testsuite/libgomp.c/pr32362-2.c: Same.
12020	* testsuite/libgomp.c/pr32362-3.c: Same.
12021	* testsuite/libgomp.c/pr39591-1.c: Same.
12022	* testsuite/libgomp.c/pr39591-2.c: Same.
12023	* testsuite/libgomp.c/pr39591-3.c: Same.
12024	* testsuite/libgomp.c/pr58392.c: Same.
12025	* testsuite/libgomp.c/pr58756.c: Same.
12026	* testsuite/libgomp.c/simd-1.c: Same.
12027	* testsuite/libgomp.c/simd-10.c: Same.
12028	* testsuite/libgomp.c/simd-11.c: Same.
12029	* testsuite/libgomp.c/simd-12.c: Same.
12030	* testsuite/libgomp.c/simd-13.c: Same.
12031	* testsuite/libgomp.c/simd-14.c: Same.
12032	* testsuite/libgomp.c/simd-15.c: Same.
12033	* testsuite/libgomp.c/simd-2.c: Same.
12034	* testsuite/libgomp.c/simd-3.c: Same.
12035	* testsuite/libgomp.c/simd-4.c: Same.
12036	* testsuite/libgomp.c/simd-5.c: Same.
12037	* testsuite/libgomp.c/simd-6.c: Same.
12038	* testsuite/libgomp.c/simd-7.c: Same.
12039	* testsuite/libgomp.c/simd-8.c: Same.
12040	* testsuite/libgomp.c/simd-9.c: Same.
12041
120422015-06-15  Tom de Vries  <tom@codesourcery.com>
12043
12044	* testsuite/libgomp.c/pr35625.c: Fix typo.
12045
120462015-06-15  Tom de Vries  <tom@codesourcery.com>
12047
12048	* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12049	in dg-options.
12050	* testsuite/libgomp.c/atomic-3.c: Same.
12051	* testsuite/libgomp.c/debug-1.c: Same.
12052	* testsuite/libgomp.c/nqueens-1.c: Same.
12053	* testsuite/libgomp.c/pr26171.c: Same.
12054	* testsuite/libgomp.c/pr48591.c: Same.
12055	* testsuite/libgomp.c/pr64824.c: Same.
12056	* testsuite/libgomp.c/pr64868.c: Same.
12057	* testsuite/libgomp.c/pr66133.c: Same.
12058	* testsuite/libgomp.c/pr66199-1.c: Same.
12059	* testsuite/libgomp.c/pr66199-2.c: Same.
12060	* testsuite/libgomp.c/target-8.c: Same.
12061
120622015-06-15  Tom de Vries  <tom@codesourcery.com>
12063
12064	* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12065	-std={gnu99,c99}.
12066	* testsuite/libgomp.c/for-1.c: Same.
12067	* testsuite/libgomp.c/for-2.c: Same.
12068	* testsuite/libgomp.c/for-3.c: Same.
12069	* testsuite/libgomp.c/pr35625.c: Same.
12070	* testsuite/libgomp.c/pr39154.c: Same.
12071	* testsuite/libgomp.c/simd-16.c: Same.
12072	* testsuite/libgomp.c/simd-17.c: Same.
12073
120742015-06-13  Tom de Vries  <tom@codesourcery.com>
12075
12076	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12077
120782015-06-13  Tom de Vries  <tom@codesourcery.com>
12079
12080	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12081	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12082	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12083	(N): Define.
12084	(main): Use N instead of hardcoded constants.
12085
120862015-06-05  Tom de Vries  <tom@codesourcery.com>
12087
12088	merge from gomp4 branch:
12089	2015-05-28  Tom de Vries  <tom@codesourcery.com>
12090
12091	PR tree-optimization/65443
12092	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12093	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12094	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12095
120962015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
12097
12098	* testsuite/libgomp.graphite/bounds.c: Adjust for
12099	cleanup-tree-dump removal.
12100	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12101	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12102	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12103	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12104	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12105	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12106	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12107	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12108	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12109	* testsuite/libgomp.graphite/pr41118.c: Likewise.
12110
121112015-05-28  Uros Bizjak  <ubizjak@gmail.com>
12112
12113	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12114	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12115	(futex_wake) [!__x86_64__]: Ditto.
12116
121172015-05-28  Julian Brown  <julian@codesourcery.com>
12118
12119	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12120	function comment. Only call gomp_fatal if new argument is true.
12121	(acc_dev_num_out_of_range): New function.
12122	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12123	acc_dev_num_out_of_range as appropriate.
12124	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12125	(acc_get_device_num, acc_set_device_num): Update calls to
12126	resolve_device.
12127	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12128	output.
12129
121302015-05-28  Julian Brown  <julian@codesourcery.com>
12131
12132	PR libgomp/65742
12133	* oacc-init.c (plugin/plugin-host.h): Include.
12134	(acc_on_device): Check whether we're in an offloaded region for
12135	host_nonshm
12136	plugin. Don't use __builtin_acc_on_device.
12137	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12138	nonshm_exec flag in thread-local data.
12139	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12140	data for host_nonshm plugin.
12141	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12142	for host_nonshm plugin.
12143	* plugin/plugin-host.h: New.
12144
121452015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12146
12147	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12148
121492015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12150
12151	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12152	Declare as int.
12153	(FUTEX_PRIVATE_FLAG): Remove L suffix.
12154	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12155	Declare as int.
12156
121572015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12158
12159	* config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12160
121612015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
12162
12163	* target.c (gomp_map_pointer): New function abstracting out
12164	GOMP_MAP_POINTER handling.
12165	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12166	gomp_map_pointer().
12167
121682015-05-19  Jakub Jelinek  <jakub@redhat.com>
12169
12170	PR middle-end/66199
12171	* testsuite/libgomp.c/pr66199-1.c: New test.
12172	* testsuite/libgomp.c/pr66199-2.c: New test.
12173	* testsuite/libgomp.c++/pr66199-1.C: New test.
12174	* testsuite/libgomp.c++/pr66199-2.C: New test.
12175	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
12176	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
12177
121782015-05-19  Julian Brown  <julian@codesourcery.com>
12179
12180	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12181	on cuInit failure.
12182
121832015-05-13  Jakub Jelinek  <jakub@redhat.com>
12184
12185	PR middle-end/66133
12186	* testsuite/libgomp.c/pr66133.c: New test.
12187
121882015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
12189
12190	* Makefile.in: Regenerated with automake-1.11.6.
12191	* aclocal.m4: Likewise.
12192	* config.h.in: Likewise.
12193	* configure: Likewise.
12194	* testsuite/Makefile.in: Likewise.
12195
121962015-05-08  Jason Merrill  <jason@redhat.com>
12197
12198	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12199	_Complex.
12200
12201	* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12202
122032015-05-06  Julian Brown  <julian@codesourcery.com>
12204
12205	* oacc-init.c (acc_device_lock): Add explanatory comment.
12206	(resolve_device): Add comment about locking requirement.
12207	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
12208	gomp_init_device and gomp_fini_device calls.
12209	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12210	(acc_get_device_num, acc_set_device_num): Add locking around
12211	resolve_device and gomp_init_device calls.
12212
122132015-05-06  Julian Brown  <julian@codesourcery.com>
12214
12215	* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12216	goacc_thread_lock on error paths.
12217	* oacc-mem.c (lookup_host): Remove locking from function. Note
12218	locking requirement for caller in function comment.
12219	(lookup_dev): Likewise.
12220	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12221	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12222	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12223	Add locking.
12224
122252015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
12226
12227	PR testsuite/65205
12228	PR libgomp/65993
12229	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12230	don't expect "0x" prefix for "%p" format specifier, don't expect
12231	"(nil)" for NULL pointer.
12232	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12233	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12234	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12235	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12236	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12237	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12238	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12239	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12240	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12241	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12242	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12243	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12244	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12245	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12246	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12247	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12248	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12249	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12250	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12251	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12252	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12253	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12254	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12255	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12256	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12257	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12258	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12259	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12260	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12261	accurately specify what we're looking for.
12262	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12263	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12264	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12265	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12266	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12267
122682015-04-30  James Norris  <jnorris@codesourcery.com>
12269
12270	PR testsuite/65205
12271	* testsuite/lib/libgomp.exp
12272	(check_effective_target_openacc_host_selected)
12273	(check_effective_target_openacc_host_nonshm_selected): New
12274	procedures.
12275	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12276	dg-shouldfail.
12277	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12278	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12279	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12280	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12281	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12282	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12283	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12284	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12285	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12286	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12287	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12288	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12289	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12290	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12291	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12292	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12293	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12294	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12295	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12296	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12297	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12298	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12299	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12300	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12301	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12302	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12303	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12304	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12305	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12306	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12307	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12308	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12309	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12310	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12311	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12312	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12313	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12314	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12315	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12316	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12317	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12318	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12319	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12320
123212015-04-08  Julian Brown  <julian@codesourcery.com>
12322
12323	* libgomp.h (target_mem_desc: Remove mem_map field.
12324	(acc_dispatch_t): Remove open_device_func, close_device_func,
12325	get_device_num_func, set_device_num_func, target_data members.
12326	Change create_thread_data_func argument to device number instead of
12327	generic pointer.
12328	* oacc-async.c (assert.h): Include.
12329	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12330	(acc_wait_all, acc_wait_all_async): Use current host thread's
12331	active device, not base_dev.
12332	* oacc-cuda.c (acc_get_current_cuda_device)
12333	(acc_get_current_cuda_context, acc_get_cuda_stream)
12334	(acc_set_cuda_stream): Likewise.
12335	* oacc-host.c (host_dispatch): Don't set open_device_func,
12336	close_device_func, get_device_num_func or set_device_num_func.
12337	* oacc-init.c (base_dev, init_key): Remove.
12338	(cached_base_dev): New.
12339	(name_of_acc_device_t): New.
12340	(acc_init_1): Initialise default-numbered device, not zeroth.
12341	(acc_shutdown_1): Close all devices of a given type.
12342	(goacc_destroy_thread): Don't use base_dev.
12343	(lazy_open, lazy_init, lazy_init_and_open): Remove.
12344	(goacc_attach_host_thread_to_device): New.
12345	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
12346	(acc_get_num_devices): Don't use base_dev.
12347	(acc_set_device_type): Reimplement.
12348	(acc_get_device_type): Don't use base_dev.
12349	(acc_get_device_num): Tweak logic.
12350	(acc_set_device_num): Likewise.
12351	(acc_on_device): Use acc_get_device_type.
12352	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12353	(goacc_lazy_initialize): Reimplement with acc_init and
12354	goacc_attach_host_thread_to_device.
12355	* oacc-int.h (goacc_thread): Add base_dev field.
12356	(base_dev): Remove extern declaration.
12357	(goacc_attach_host_thread_to_device): Add prototype.
12358	* oacc-mem.c (acc_malloc): Use current thread's device instead of
12359	base_dev.
12360	(acc_free): Likewise.
12361	(acc_memcpy_to_device): Likewise.
12362	(acc_memcpy_from_device): Likewise.
12363	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
12364	goacc_lazy_initialize (throughout).
12365	(GOACC_parallel): Use tgt_offset to locate target functions.
12366	* target.c (gomp_map_vars): Don't set tgt->mem_map.
12367	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12368	(gomp_load_plugin_for_device): Remove open_device, close_device,
12369	get_device_num, set_device_num openacc hook initialisation. Don't set
12370	openacc.target_data.
12371	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12372	(GOMP_OFFLOAD_openacc_close_device)
12373	(GOMP_OFFLOAD_openacc_get_device_num)
12374	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
12375	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12376	to int.
12377	* plugin/plugin-nvptx.c (ptx_inited): Remove.
12378	(instantiated_devices, ptx_dev_lock): New.
12379	(struct ptx_image_data): New.
12380	(ptx_devices, ptx_images, ptx_image_lock): New.
12381	(fini_streams_for_device): Reorder cuStreamDestroy call.
12382	(nvptx_get_num_devices): Remove forward declaration.
12383	(nvptx_init): Change return type to bool.
12384	(nvptx_fini): Remove.
12385	(nvptx_attach_host_thread_to_device): New.
12386	(nvptx_open_device): Return struct ptx_device* instead of void*.
12387	(nvptx_close_device): Change argument type to struct ptx_device*,
12388	return type to void.
12389	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12390	(kernel_target_data, kernel_host_table): Remove static globals.
12391	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12392	(GOMP_OFFLOAD_init_device): Reimplement.
12393	(GOMP_OFFLOAD_fini_device): Likewise.
12394	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12395	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12396	(GOMP_OFFLOAD_host2dev): Use ORD argument.
12397	(GOMP_OFFLOAD_openacc_open_device)
12398	(GOMP_OFFLOAD_openacc_close_device)
12399	(GOMP_OFFLOAD_openacc_set_device_num)
12400	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
12401	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12402	(device number).
12403
12404	testsuite/
12405	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12406
124072015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
12408
12409	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12410	* libgomp.h (struct gomp_memory_mapping): Remove.
12411	(struct target_mem_desc): Change type of mem_map from
12412	gomp_memory_mapping * to splay_tree_s *.
12413	(struct gomp_device_descr): Remove register_image_func, get_table_func.
12414	Add load_image_func, unload_image_func.
12415	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12416	Remove offload_regions_registered.
12417	(gomp_init_tables): Remove.
12418	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12419	to splay_tree_s *.
12420	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12421	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
12422	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12423	offload_regions_registered.
12424	Initialize load_image_func, unload_image_func, mem_map.root.
12425	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12426	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
12427	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12428	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12429	gomp_memory_mapping *.  Use dev's lock and splay_tree.
12430	(lookup_dev): Use dev's lock.
12431	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12432	(acc_is_present): Likewise.
12433	(acc_map_data): Likewise.
12434	(acc_unmap_data): Likewise.  Use dev's lock.
12435	(present_create_copy): Likewise.
12436	(delete_copyout): Pass dev to lookup_host instead of mem_map.
12437	(update_dev_host): Likewise.
12438	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
12439	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12440	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12441	(GOMP_OFFLOAD_get_table): Remove
12442	(GOMP_OFFLOAD_load_image): New function.
12443	(GOMP_OFFLOAD_unload_image): New function.
12444	* target.c (register_lock): New mutex for offload image registration.
12445	(num_devices): Do not guard with PLUGIN_SUPPORT.
12446	(gomp_realloc_unlock): New static function.
12447	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
12448	before gomp_fatal.
12449	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12450	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
12451	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
12452	mem_map's.
12453	(gomp_unmap_vars): Likewise.
12454	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
12455	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
12456	(gomp_offload_image_to_device): New static function.
12457	(GOMP_offload_register): Add mutex lock.
12458	Call gomp_offload_image_to_device for all initialized devices.
12459	Replace gomp_realloc with gomp_realloc_unlock.
12460	(GOMP_offload_unregister): New function.
12461	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
12462	get_table_func from the plugin with calls to init_device_func and
12463	gomp_offload_image_to_device.
12464	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12465	to splay_tree_s *.
12466	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
12467	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
12468	(GOMP_target_data): Do not call gomp_init_tables.
12469	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
12470	(gomp_load_plugin_for_device): Replace register_image and get_table
12471	with load_image and unload_image in DLSYM ().
12472	(gomp_register_images_for_device): Remove function.
12473	(gomp_target_init): Do not initialize current_device.mem_map.*,
12474	current_device.offload_regions_registered.
12475	Remove call to gomp_register_images_for_device.
12476	Do not free offload_images and num_offload_images.
12477
124782015-03-30  Jakub Jelinek  <jakub@redhat.com>
12479
12480	PR fortran/65597
12481	* testsuite/libgomp.fortran/pr65597.f90: New test.
12482
124832015-03-27  Tom de Vries  <tom@codesourcery.com>
12484
12485	PR testsuite/65594
12486	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12487	(init, check): New function.
12488	(foo): Change return type to void.
12489	(main): Call init and check.
12490
124912015-03-27  Tom de Vries  <tom@codesourcery.com>
12492
12493	PR testsuite/65594
12494	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12495	(foo): Use M for non-inner loops to scale down test-case.
12496
124972015-03-25  Kai Tietz  <ktietz@redhat.com>
12498
12499	PR libgomp/64972
12500	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12501	(GOACC_data_start): Likewise.
12502	* target.c (gomp_map_vars): Likewise.
12503
125042015-03-21  John David Anglin  <danglin@gcc.gnu.org>
12505
12506	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12507	hppa*-*-hpux*.
12508
125092015-03-19  Jakub Jelinek  <jakub@redhat.com>
12510
12511	* testsuite/libgomp.c/target-10.c: New test.
12512	* testsuite/libgomp.c++/target-4.C: New test.
12513
125142015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
12515
12516	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
12517	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
12518
125192015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12520
12521	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
12522	* configure.ac (*-*-rtems*): Assume Pthread is supported.
12523	(pthread.h): Check for this header file.
12524	* configure: Regenerate.
12525
125262015-02-25  Tom de Vries  <tom@codesourcery.com>
12527
12528	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12529	(check_reduction_op, check_reduction_macro, max, min):
12530	Declare.
12531	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12532	function.
12533	(main): Use new functions.
12534
125352015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
12536
12537	* target.c (gomp_load_plugin_for_device): Use const char * instead of
12538	char * for variables holding dlerror return values.
12539	(DLSYM_OPT): Ditto.
12540
125412015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
12542
12543	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12544
125452015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
12546	    Cesar Philippidis  <cesar@codesourcery.com>
12547
12548	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12549	GOACC_ctaid, and GOACC_nctaid routines.
12550
125512015-02-11  Jakub Jelinek  <jakub@redhat.com>
12552
12553	PR c/64824
12554	* testsuite/libgomp.c/atomic-18.c: New test.
12555	* testsuite/libgomp.c++/atomic-16.C: New test.
12556
125572015-02-04  Jakub Jelinek  <jakub@redhat.com>
12558
12559	PR c/64824
12560	PR c/64868
12561	* testsuite/libgomp.c/pr64824.c: New test.
12562	* testsuite/libgomp.c/pr64868.c: New test.
12563	* testsuite/libgomp.c++/pr64824.C: New test.
12564	* testsuite/libgomp.c++/pr64868.C: New test.
12565
125662015-02-01  David Edelsohn  <dje.gcc@gmail.com>
12567
12568	PR libgomp/64635
12569	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12570	Link with -lpthread.
12571	* config/aix/plugin-suffix.h: Delete.
12572
125732015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
12574
12575	PR libgomp/64635
12576	* configure.tgt (*-*-aix*): Use config_path "aix posix".
12577	(*-*-darwin*): Use config_path "bsd darwin posix".
12578	(*-*-hpux*): Use config_path "hpux posix".
12579	* target.c: Add include of plugin-suffix.h and use
12580	SONAME_SUFFIX macro.
12581	* config/aix/plugin-suffix.h: New file.
12582	* config/darwin/plugin-suffix.h: New file.
12583	* config/hpux/plugin-suffix.h: New file.
12584	* config/posix/plugin-suffix.h: New file.
12585
125862015-01-23  Jakub Jelinek  <jakub@redhat.com>
12587
12588	PR middle-end/64734
12589	* libgomp.c/pr64734.c: New test.
12590
125912015-01-23  Tom de Vries  <tom@codesourcery.com>
12592
12593	PR libgomp/64672
12594	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12595
125962015-01-23  Tom de Vries  <tom@codesourcery.com>
12597
12598	PR libgomp/64707
12599	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12600	dg-options.
12601
126022015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
12603
12604	PR libgomp/64625
12605	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12606	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
12607	formal parameter.  Update all users.
12608	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12609	Document unused formal parameter.
12610
126112015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
12612
12613	* oacc-parallel.c: Don't include <alloca.h>.
12614	(GOACC_parallel): Use gomp_alloca instead of alloca.
12615
126162015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
12617
12618	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
12619
126202015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
12621	    James Norris  <jnorris@codesourcery.com>
12622	    Tom de Vries  <tom@codesourcery.com>
12623	    Julian Brown  <julian@codesourcery.com>
12624	    Cesar Philippidis  <cesar@codesourcery.com>
12625	    Nathan Sidwell  <nathan@codesourcery.com>
12626	    Tobias Burnus  <burnus@net-b.de>
12627
12628	* Makefile.am (search_path): Add $(top_srcdir)/../include.
12629	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12630	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12631	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12632	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12633	Include $(top_srcdir)/plugin/Makefrag.am.
12634	(nodist_libsubinclude_HEADERS): Add openacc.h.
12635	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12636	openacc.f90, openacc.mod, openacc_kinds.mod.
12637	(omp_lib.mod): Generalize into...
12638	(%.mod): ... this new rule.
12639	(openacc_kinds.mod, openacc.mod): New rules.
12640	* plugin/configfrag.ac: New file.
12641	* configure.ac: Move plugin/offloading support into it.  Include
12642	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
12643	* plugin/Makefrag.am: New file.
12644	* testsuite/Makefile.am (OFFLOAD_TARGETS)
12645	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12646	export.
12647	(libgomp-test-support.exp): New rule.
12648	(all-local): Depend on it.
12649	* Makefile.in: Regenerate.
12650	* testsuite/Makefile.in: Regenerate.
12651	* config.h.in: Likewise.
12652	* configure: Likewise.
12653	* configure.tgt: Harden shell syntax.
12654	* env.c: Include "oacc-int.h".
12655	(parse_acc_device_type): New function.
12656	(gomp_debug_var, goacc_device_type, goacc_device_num): New
12657	variables.
12658	(initialize_env): Initialize those.  Call
12659	goacc_runtime_initialize.
12660	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12661	(gomp_fatal): Call gomp_vfatal.
12662	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12663	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12664	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12665	(splay_tree_node, splay_tree, splay_tree_key)
12666	(struct target_mem_desc, struct splay_tree_key_s)
12667	(struct gomp_memory_mapping, struct acc_dispatch_t)
12668	(struct gomp_device_descr, gomp_acc_insert_pointer)
12669	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12670	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12671	(gomp_free_memmap, gomp_fini_device): New declarations.
12672	(gomp_vdebug, gomp_debug): New macros.
12673	Include "splay-tree.h".
12674	* libgomp.map (OACC_2.0): New symbol version.  Use for
12675	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12676	acc_set_device_type_h_, acc_get_device_type,
12677	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12678	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12679	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12680	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12681	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12682	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12683	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12684	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12685	acc_copyin_array_h_, acc_present_or_copyin,
12686	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12687	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12688	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12689	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12690	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12691	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12692	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12693	acc_update_device, acc_update_device_32_h_,
12694	acc_update_device_64_h_, acc_update_device_array_h_,
12695	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12696	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12697	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12698	acc_is_present_64_h_, acc_is_present_array_h_,
12699	acc_memcpy_to_device, acc_memcpy_from_device,
12700	acc_get_current_cuda_device, acc_get_current_cuda_context,
12701	acc_get_cuda_stream, acc_set_cuda_stream.
12702	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
12703	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12704	GOACC_update, GOACC_wait, GOACC_get_thread_num,
12705	GOACC_get_num_threads.
12706	(GOMP_PLUGIN_1.0): New symbol version.  Use for
12707	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12708	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12709	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12710	GOMP_PLUGIN_acc_thread.
12711	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12712	environment variable.
12713	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
12714	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12715	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12716	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
12717	(splay_tree_remove): New declarations.
12718	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12719	(splay_tree_remove, splay_tree_lookup): Move into...
12720	* splay-tree.c: ... this new file.
12721	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12722	(splay_tree_node, splay_tree, splay_tree_key)
12723	(struct target_mem_desc, struct splay_tree_key_s)
12724	(struct gomp_device_descr): Don't declare.
12725	(num_devices_openmp): New variable.
12726	(gomp_get_num_devices ): Use it.
12727	(gomp_init_targets_once): New function.
12728	(gomp_get_num_devices ): Use it.
12729	(get_kind, gomp_copy_from_async, gomp_free_memmap)
12730	(gomp_fini_device, gomp_register_image_for_device): New functions.
12731	(gomp_map_vars): Add devaddrs parameter.
12732	(gomp_update): Add mm parameter.
12733	(gomp_init_device): Move most of it into...
12734	(gomp_init_tables): ... this new function.
12735	(gomp_register_images_for_device): Remove function.
12736	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12737	Make them hidden instead of static.
12738	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12739	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12740	(GOMP_target_end_data, GOMP_target_update)
12741	(gomp_load_plugin_for_device, gomp_target_init): Update for
12742	OpenACC changes.
12743	* oacc-async.c: New file.
12744	* oacc-cuda.c: Likewise.
12745	* oacc-host.c: Likewise.
12746	* oacc-init.c: Likewise.
12747	* oacc-int.h: Likewise.
12748	* oacc-mem.c: Likewise.
12749	* oacc-parallel.c: Likewise.
12750	* oacc-plugin.c: Likewise.
12751	* oacc-plugin.h: Likewise.
12752	* oacc-ptx.h: Likewise.
12753	* openacc.f90: Likewise.
12754	* openacc.h: Likewise.
12755	* openacc_lib.h: Likewise.
12756	* plugin/plugin-host.c: Likewise.
12757	* plugin/plugin-nvptx.c: Likewise.
12758	* libgomp-plugin.c: Likewise.
12759	* libgomp-plugin.h: Likewise.
12760	* libgomp_target.h: Remove file after merging content into the
12761	former file.  Update all users.
12762	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12763	(offload_targets_s, offload_targets_s_openacc): New variables.
12764	(check_effective_target_openacc_nvidia_accel_present)
12765	(check_effective_target_openacc_nvidia_accel_selected): New
12766	procedures.
12767	(libgomp_init): Update for OpenACC changes.
12768	* testsuite/libgomp-test-support.exp.in: New file.
12769	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12770	* testsuite/libgomp.oacc-c/c.exp: Likewise.
12771	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12772	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12773	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12774	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12775	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12776	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12777	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12778	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12779	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12780	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12781	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12782	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12783	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12784	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12785	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12786	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12787	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12788	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12789	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12790	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12791	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12792	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12793	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12794	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12795	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12796	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12797	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12798	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12799	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12800	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12801	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12802	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12803	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12804	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12805	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12806	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12807	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12808	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12809	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12810	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12811	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12812	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12813	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12814	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12815	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12816	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12817	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12818	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12819	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12820	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12821	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12822	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12823	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12824	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12825	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12826	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12827	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12828	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12829	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12830	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12831	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12832	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12833	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12834	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12835	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12836	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12837	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12838	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12839	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12840	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12841	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12842	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12843	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12844	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12845	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12846	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12847	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12848	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12849	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12850	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12851	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12852	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12853	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12854	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12855	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12856	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12857	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12858	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12859	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12860	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12861	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12862	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12863	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12864	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12865	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12866	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12867	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12868	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12869	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12870	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12871	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12872	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12873	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12874	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12875	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12876	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12877	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12878	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12879	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12880	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12881	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12882	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12883	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12884	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12885	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12886	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12887	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12888	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12889	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12890	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12891	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12892	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12893	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12894	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12895	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12896	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12897	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12898	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12899	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12900	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12901	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12902	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12903	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12904	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12905	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12906	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12907	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12908	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12909	Likewise.
12910	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12911	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12912	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12913	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12914	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12915	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12916	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12917	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12918	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12919	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12920	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12921	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12922	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12923	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12924	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12925	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12926	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12927	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12928	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12929	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12930	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12931	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12932	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12933	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12934	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12935	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12936	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12937	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12938	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12939	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12940	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12941	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12942	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12943	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12944	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12945	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12946	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12947	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12948	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12949	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12950	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12951	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12952	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12953	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12954	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12955	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12956	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12957	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12958	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12959	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12960	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12961	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12962	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12963	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12964	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12965	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12966	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12967	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12968	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12969	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12970
129712015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
12972	    Julian Brown  <julian@codesourcery.com>
12973	    David Malcolm  <dmalcolm@redhat.com>
12974
12975	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12976	to "GNU Offloading and Multi Processing Runtime Library".  Change
12977	all users.
12978	* configure: Regenerate.
12979	* libgomp.texi: Update.
12980
129812015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
12982
12983	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12984	"$tgt_dir/lib32".
12985	* configure: Regenerate.
12986
12987	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12988	"intelmic" in $offload_targets.
12989
129902015-01-05  Jakub Jelinek  <jakub@redhat.com>
12991
12992	Update copyright years.
12993
12994	* libgomp.texi: Bump @copying's copyright year.
12995
129962014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12997
12998	* testsuite/lib/libgomp.exp: Load target-utils.exp.
12999	Move load of target-supports.exp earlier.
13000
130012014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
13002
13003	* testsuite/libgomp.c/target-9.c: New test.
13004
130052014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
13006
13007	* config.h.in: Regenerate.
13008	* configure: Regenerate.
13009	* configure.ac: Add GCC_CHECK_EMUTLS.
13010	* libgomp.h: Add check for USE_EMUTLS: this case
13011	is equal to HAVE_TLS.
13012	* team.c: Likewise.
13013
130142014-12-03  Uros Bizjak  <ubizjak@gmail.com>
13015
13016	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13017
130182014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
13019	    Ilya Verbin  <ilya.verbin@intel.com>
13020
13021	* testsuite/libgomp.c/target-critical-1.c: New test.
13022
130232014-11-26  Jakub Jelinek  <jakub@redhat.com>
13024
13025	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
13026	to dg-options unless expensive testing is on.
13027	(TESTITERS): Define to N if not defined.
13028	(main): Use TESTITERS instead of N.
13029	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13030	dg-additional-options depending on whether expensive testing is on.
13031	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13032	Decrease N to 100000 and CHUNKSZ to 10000.
13033
130342014-11-24  Jakub Jelinek  <jakub@redhat.com>
13035
13036	PR fortran/63938
13037	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
13038	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
13039
130402014-11-21  Steve Ellcey  <sellcey@imgtec.com>
13041
13042	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
13043
130442014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
13045
13046	PR bootstrap/63784
13047	* configure: Regenerated.
13048
130492014-11-19  Uros Bizjak  <ubizjak@gmail.com>
13050
13051	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
13052	vect_simd_clones effective target.
13053	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13054
130552014-11-14  Jakub Jelinek  <jakub@redhat.com>
13056
13057	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13058	of 32 as block_size.
13059	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13060	instead of 32 as block_size.
13061
130622014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
13063	    Ilya Verbin  <ilya.verbin@intel.com>
13064
13065	* Makefile.in: Regenerate.
13066	* configure: Regenerate.
13067	* configure.ac: Set up offload_additional_options,
13068	offload_additional_lib_paths and offload_targets.
13069	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13070	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13071	* testsuite/Makefile.in: Regenerate.
13072	* testsuite/lib/libgomp.exp (libgomp_init): Append
13073	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
13074	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
13075	build directory to LD_LIBRARY_PATH for intelmic offload targets.
13076
130772014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
13078	    Ilya Verbin  <ilya.verbin@intel.com>
13079	    Kirill Yukhin  <kirill.yukhin@intel.com>
13080	    Ilya Tocar  <ilya.tocar@intel.com>
13081
13082	* testsuite/lib/libgomp.exp
13083	(check_effective_target_offload_device): New.
13084	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13085	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13086	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13087	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13088	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13089	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13090	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13091	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13092	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13093	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13094	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13095	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13096	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13097	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13098	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13099	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13100	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13101	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13102	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13103	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13104	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13105	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13106	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13107	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13108	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13109	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13110	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13111	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13112	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13113	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13114	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13115	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13116	* testsuite/libgomp.c/target-7.c: Fix test.
13117	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13118	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13119	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13120	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13121	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13122	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13123	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13124	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13125	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13126	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13127	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13128	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13129	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13130	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13131	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13132	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13133	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13134	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13135	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13136	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13137	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13138	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13139	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13140	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13141	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13142	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13143	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13144	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13145	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13146	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13147	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13148
131492014-11-13  Jakub Jelinek  <jakub@redhat.com>
13150	    Ilya Verbin  <ilya.verbin@intel.com>
13151	    Thomas Schwinge  <thomas@codesourcery.com>
13152	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
13153
13154	* libgomp.map (GOMP_4.0.1): New symbol version.
13155	Add GOMP_offload_register.
13156	* libgomp_target.h: New file.
13157	* splay-tree.h: New file.
13158	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13159	(gomp_target_init): New forward declaration.
13160	(gomp_is_initialized): New static variable.
13161	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13162	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13163	New structures.
13164	(offload_images, num_offload_images, devices, num_devices): New static
13165	variables.
13166	(splay_compare): New static function.
13167	(struct gomp_device_descr): New structure.
13168	(gomp_get_num_devices): Call gomp_target_init.
13169	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13170	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13171	(GOMP_offload_register): New function.
13172	(GOMP_target): Arrange for host callback to be performed in a separate
13173	initial thread and contention group, inheriting ICVs from
13174	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
13175	Add device initialization and lookup for target function in splay tree.
13176	(GOMP_target_data): Add device initialization and call gomp_map_vars.
13177	(GOMP_target_end_data): Call gomp_unmap_vars.
13178	(GOMP_target_update): Add device initialization and call gomp_update.
13179	(gomp_load_plugin_for_device, gomp_register_images_for_device)
13180	(gomp_target_init): New static functions.
13181
131822014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
13183	    Thomas Schwinge  <thomas@codesourcery.com>
13184	    Ilya Verbin  <ilya.verbin@intel.com>
13185	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
13186
13187	* config.h.in: Regenerate.
13188	* configure: Regenerate.
13189	* configure.ac: Check for libdl, required for plugin support.
13190	(PLUGIN_SUPPORT): Define if plugins are supported.
13191	(enable_offload_targets): Support Intel MIC targets.
13192	(OFFLOAD_TARGETS): List of target names suitable for offloading.
13193
131942014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13195
13196	PR target/63610
13197	* configure: Regenerate.
13198
131992014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13200
13201	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13202
132032014-10-06  Marek Polacek  <polacek@redhat.com>
13204
13205	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13206	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13207	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13208	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
13209
132102014-10-06  Marek Polacek  <polacek@redhat.com>
13211
13212	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13213	* testsuite/libgomp.c/nqueens-1.c: Likewise.
13214	* testsuite/libgomp.c/pr26943-3.c: Likewise.
13215	* testsuite/libgomp.c/pr26943-4.c: Likewise.
13216	* testsuite/libgomp.c/pr36802-2.c: Likewise.
13217	* testsuite/libgomp.c/pr36802-3.c: Likewise.
13218	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
13219	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
13220	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13221	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13222	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13223	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13224	* testsuite/libgomp.c/omp-single-1.c: Likewise.
13225	* testsuite/libgomp.c/omp-single-2.c: Likewise.
13226	* testsuite/libgomp.c/omp_matvec.c: Likewise.
13227	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
13228	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
13229	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
13230	declarations.
13231
132322014-10-03  Jakub Jelinek  <jakub@redhat.com>
13233
13234	PR libgomp/61200
13235	* testsuite/libgomp.c/pr61200.c: New test.
13236
132372014-09-18  Jakub Jelinek  <jakub@redhat.com>
13238
13239	PR c++/63248
13240	* testsuite/libgomp.c++/pr63248.C: New test.
13241
132422014-08-04  Jakub Jelinek  <jakub@redhat.com>
13243
13244	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
13245	is not zero, but taskgroup->children is NULL and there are
13246	any task->children, schedule those instead of waiting.
13247	* testsuite/libgomp.c/depend-6.c: New test.
13248	* testsuite/libgomp.c/depend-7.c: New test.
13249	* testsuite/libgomp.c/depend-8.c: New test.
13250	* testsuite/libgomp.c/depend-9.c: New test.
13251	* testsuite/libgomp.c/depend-10.c: New test.
13252
132532014-08-01  Jakub Jelinek  <jakub@redhat.com>
13254
13255	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13256	(struct gomp_taskwait): New type.
13257	(struct gomp_task): Add taskwait and parent_depends_on, remove
13258	in_taskwait and taskwait_sem fields.
13259	(gomp_finish_task): Don't destroy taskwait_sem.
13260	* task.c (gomp_init_task): Don't init in_taskwait, instead init
13261	taskwait and parent_depends_on.
13262	(GOMP_task): For if (0) tasks with depend clause that depend on
13263	earlier tasks don't defer them, instead call
13264	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13265	Initialize redundant_out field, for redundant out entries just
13266	move them at the end of linked list instead of removing them
13267	completely, and set redundant_out flag instead of redundant.
13268	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
13269	that task.
13270	(gomp_task_run_post_handle_dependers): If parent is in
13271	gomp_task_maybe_wait_for_dependencies and newly runnable task
13272	is not parent_depends_on, queue it in parent->children linked
13273	list after all runnable tasks with parent_depends_on set.
13274	Adjust for addition of taskwait indirection.
13275	(gomp_task_run_post_remove_parent): If parent is in
13276	gomp_task_maybe_wait_for_dependencies and task to be removed
13277	is parent_depends_on, decrement n_depend and if needed awake
13278	parent.  Adjust for addition of taskwait indirection.
13279	(GOMP_taskwait): Adjust for addition of taskwait indirection.
13280	(gomp_task_maybe_wait_for_dependencies): New function.
13281	* testsuite/libgomp.c/depend-5.c: New test.
13282
132832014-07-13  Tobias Burnus  <burnus@net-b.de>
13284
13285	* testsuite/libgomp.fortran/pr34020.f90: Make compile
13286	with TS 18508/Fortran 2015.
13287
132882014-07-06  Marek Polacek  <polacek@redhat.com>
13289
13290	PR c/6940
13291	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13292
132932014-07-03  Jakub Jelinek  <jakub@redhat.com>
13294
13295	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13296	matches regex $lang_source_re, add $lang_include_flags to options.
13297	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13298	* testsuite/libgomp.c++/c++.exp: Likewise.
13299	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
13300	and lang_include_flags instead of adding -fintrinsic-modules-path= to
13301	ALWAYS_CFLAGS.
13302	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13303
133042014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
13305
13306	* testsuite/libgomp.fortran/fortran.exp: Explain
13307	gfortran-dg-runtest usage.
13308
133092014-06-25  Jakub Jelinek  <jakub@redhat.com>
13310
13311	* testsuite/libgomp.fortran/simd5.f90: New test.
13312	* testsuite/libgomp.fortran/simd6.f90: New test.
13313	* testsuite/libgomp.fortran/simd7.f90: New test.
13314
133152014-06-24  Jakub Jelinek  <jakub@redhat.com>
13316
13317	* testsuite/libgomp.c/for-2.c: Define SC to static for
13318	#pragma omp for simd testing.
13319	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13320	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13321	SC macro.
13322	* testsuite/libgomp.c/simd-14.c: New test.
13323	* testsuite/libgomp.c/simd-15.c: New test.
13324	* testsuite/libgomp.c/simd-16.c: New test.
13325	* testsuite/libgomp.c/simd-17.c: New test.
13326	* testsuite/libgomp.c++/for-10.C: Define SC to static for
13327	#pragma omp for simd testing.
13328	* testsuite/libgomp.c++/simd10.C: New test.
13329	* testsuite/libgomp.c++/simd11.C: New test.
13330	* testsuite/libgomp.c++/simd12.C: New test.
13331	* testsuite/libgomp.c++/simd13.C: New test.
13332
13333	* testsuite/libgomp.fortran/aligned1.f03: New test.
13334	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
13335	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13336	tasks with !$omp parallel !$omp single.
13337	* testsuite/libgomp.fortran/target8.f90: New test.
13338	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13339	not to use trim in the combiner, instead call elemental function.
13340	(fn): New elemental function.
13341	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13342	Make elemental.
13343	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13344	omp_in): Likewise.
13345	* testsuite/libgomp.fortran/udr12.f90: New test.
13346	* testsuite/libgomp.fortran/udr13.f90: New test.
13347	* testsuite/libgomp.fortran/udr14.f90: New test.
13348	* testsuite/libgomp.fortran/udr15.f90: New test.
13349
133502014-06-18  Jakub Jelinek  <jakub@redhat.com>
13351
13352	* omp_lib.f90.in (openmp_version): Set to 201307.
13353	* omp_lib.h.in (openmp_version): Likewise.
13354	* testsuite/libgomp.c/target-8.c: New test.
13355	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13356	and inbranch clauses.
13357	* testsuite/libgomp.fortran/depend-3.f90: New test.
13358	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13359	openmp_version.
13360	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13361	* testsuite/libgomp.fortran/target1.f90: New test.
13362	* testsuite/libgomp.fortran/target2.f90: New test.
13363	* testsuite/libgomp.fortran/target3.f90: New test.
13364	* testsuite/libgomp.fortran/target4.f90: New test.
13365	* testsuite/libgomp.fortran/target5.f90: New test.
13366	* testsuite/libgomp.fortran/target6.f90: New test.
13367	* testsuite/libgomp.fortran/target7.f90: New test.
13368
133692014-06-10  Jakub Jelinek  <jakub@redhat.com>
13370
13371	PR fortran/60928
13372	* testsuite/libgomp.fortran/allocatable9.f90: New test.
13373	* testsuite/libgomp.fortran/allocatable10.f90: New test.
13374	* testsuite/libgomp.fortran/allocatable11.f90: New test.
13375	* testsuite/libgomp.fortran/allocatable12.f90: New test.
13376	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13377	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13378	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13379	* testsuite/libgomp.fortran/associate1.f90: New test.
13380	* testsuite/libgomp.fortran/associate2.f90: New test.
13381	* testsuite/libgomp.fortran/procptr1.f90: New test.
13382
133832014-06-06  Jakub Jelinek  <jakub@redhat.com>
13384
13385	* testsuite/libgomp.fortran/simd1.f90: New test.
13386	* testsuite/libgomp.fortran/udr1.f90: New test.
13387	* testsuite/libgomp.fortran/udr2.f90: New test.
13388	* testsuite/libgomp.fortran/udr3.f90: New test.
13389	* testsuite/libgomp.fortran/udr4.f90: New test.
13390	* testsuite/libgomp.fortran/udr5.f90: New test.
13391	* testsuite/libgomp.fortran/udr6.f90: New test.
13392	* testsuite/libgomp.fortran/udr7.f90: New test.
13393	* testsuite/libgomp.fortran/udr8.f90: New test.
13394	* testsuite/libgomp.fortran/udr9.f90: New test.
13395	* testsuite/libgomp.fortran/udr10.f90: New test.
13396	* testsuite/libgomp.fortran/udr11.f90: New test.
13397
133982014-05-27  Uros Bizjak  <ubizjak@gmail.com>
13399
13400	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
13401	vect_simd_clones effective target.
13402	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13403
134042014-05-21  Jakub Jelinek  <jakub@redhat.com>
13405
13406	PR middle-end/61252
13407	* testsuite/libgomp.c++/simd-9.C: New test.
13408
134092014-05-18  Uros Bizjak  <ubizjak@gmail.com>
13410
13411	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13412	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13413	texts according to their @menu entry positions.
13414
134152014-05-11  Jakub Jelinek  <jakub@redhat.com>
13416
13417	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13418	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13419	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13420	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13421	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13422	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13423	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13424	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13425	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13426	* testsuite/libgomp.fortran/depend-1.f90: New test.
13427	* testsuite/libgomp.fortran/depend-2.f90: New test.
13428	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13429	* testsuite/libgomp.fortran/simd1.f90: New test.
13430	* testsuite/libgomp.fortran/simd2.f90: New test.
13431	* testsuite/libgomp.fortran/simd3.f90: New test.
13432	* testsuite/libgomp.fortran/simd4.f90: New test.
13433	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
13434
134352014-05-02  Jakub Jelinek  <jakub@redhat.com>
13436
13437	* testsuite/libgomp.c/simd-10.c: New test.
13438	* testsuite/libgomp.c/simd-11.c: New test.
13439	* testsuite/libgomp.c/simd-12.c: New test.
13440	* testsuite/libgomp.c/simd-13.c: New test.
13441
134422014-04-24  Jakub Jelinek  <jakub@redhat.com>
13443
13444	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13445	atomic type clauses in any order and optional comma in between.
13446	* testsuite/libgomp.c++/atomic-15.C: Likewise.
13447	* testsuite/libgomp.c/atomic-17.c: Likewise.
13448
13449	* testsuite/libgomp.c/simd-7.c: New test.
13450	* testsuite/libgomp.c/simd-8.c: New test.
13451	* testsuite/libgomp.c/simd-9.c: New test.
13452	* testsuite/libgomp.c/loop-16.c: New test.
13453
134542014-04-02  Richard Henderson  <rth@redhat.com>
13455
13456	* config/linux/futex.h (futex_wait): Get error value from errno.
13457	(futex_wake): Likewise.
13458
134592014-03-25  Jakub Jelinek  <jakub@redhat.com>
13460
13461	PR c++/60331
13462	* testsuite/libgomp.c++/udr-11.C: New test.
13463	* testsuite/libgomp.c++/udr-12.C: New test.
13464	* testsuite/libgomp.c++/udr-13.C: New test.
13465	* testsuite/libgomp.c++/udr-14.C: New test.
13466	* testsuite/libgomp.c++/udr-15.C: New test.
13467	* testsuite/libgomp.c++/udr-16.C: New test.
13468	* testsuite/libgomp.c++/udr-17.C: New test.
13469	* testsuite/libgomp.c++/udr-18.C: New test.
13470	* testsuite/libgomp.c++/udr-19.C: New test.
13471
134722014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
13473
13474	Update copyright years
13475
134762014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
13477
13478	* hashtab.h: Use the standard form for the copyright notice.
13479
134802014-01-02  Tobias Burnus  <burnus@net-b.de>
13481
13482	* libgomp.texi: Bump @copying's copyright year.
13483
134842013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
13485
13486	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13487	alloca () with __builtin_alloca ().
13488	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13489	* testsuite/libgomp.c/lock-3.c: Likewise.
13490	* testsuite/libgomp.c/pr48591.c: Likewise.
13491
134922013-12-17  Jakub Jelinek  <jakub@redhat.com>
13493
13494	PR testsuite/59534
13495	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13496	comparisons.
13497
134982013-12-16  Jakub Jelinek  <jakub@redhat.com>
13499
13500	PR libgomp/58756
13501	* testsuite/libgomp.c/pr58756.c: New test.
13502
135032013-12-12  Jakub Jelinek  <jakub@redhat.com>
13504
13505	PR libgomp/59467
13506	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13507	!$omp parallel.
13508
135092013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
13510
13511	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13512	ALWAYS_CFLAGS.
13513	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13514	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13515	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13516	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13517	Likewise.
13518
13519	* libgomp_g.h: Include <stddef.h> for size_t.
13520
13521	* libgomp.spec.in: Update comment about libgomp's dependencies.
13522	* configure.ac: Likewise.
13523	* configure: Regenerate.
13524
135252013-10-16  Tobias Burnus  <burnus@net-b.de>
13526
13527	* libgomp.texi: (Runtime Library Routines): Update references for
13528	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13529	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13530	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13531	(Environment Variables): Update references for OpenMP 4.0. Add
13532	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13533	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13534	order.
13535
135362013-10-14  Jakub Jelinek  <jakub@redhat.com>
13537
13538	* env.c (parse_bind_var): Initialize value to avoid
13539	(false positive) warning.
13540
135412013-10-12  Jakub Jelinek  <jakub@redhat.com>
13542
13543	PR libgomp/58691
13544	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13545	to check variable.
13546	(gomp_init_num_threads): Move i variable declaration into
13547	#ifdef CPU_ALLOC_SIZE block.
13548	* config/linux/affinity.c (gomp_affinity_init_level): Test
13549	gomp_places_list_len == 0 rather than gomp_places_list == 0
13550	when checking for topology reading error.
13551	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13552	* env.c (parse_affinity): Add ignore argument, if true, don't populate
13553	gomp_places_list, only parse env var and always return false.
13554	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
13555	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13556	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13557	and either of these variables were parsed correctly into a places
13558	list.
13559
135602013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
13561	    Jakub Jelinek  <jakub@redhat.com>
13562
13563	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13564	of 5 loopfn matches.
13565	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13566	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13567	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13568	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13569	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13570	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13571	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13572	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13573
135742013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
13575
13576	* Makefile.am (omp_lib.mod): Streamline rule.
13577	* Makefile.in: Regenerate.
13578
13579	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
13580	exceptions.
13581
13582	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13583	* testsuite/libgomp.fortran/lib1.f90: Likewise.
13584	* testsuite/libgomp.fortran/lib2.f: Likewise.
13585	* testsuite/libgomp.fortran/lib3.f: Likewise.
13586
13587	* configure.ac: Typo fix.
13588	* configure: Regenerate.
13589
13590	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
13591	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13592
13593	* omp.h.in: Don't touch the user's namespace.
13594
135952013-10-11  Jakub Jelinek  <jakub@redhat.com>
13596	    Tobias Burnus  <burnus@net-b.de>
13597	    Richard Henderson  <rth@redhat.com>
13598
13599	* target.c: New file.
13600	* Makefile.am (libgomp_la_SOURCES): Add target.c.
13601	* Makefile.in: Regenerated.
13602	* libgomp_g.h (GOMP_task): Add depend argument.
13603	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
13604	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13605	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13606	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13607	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13608	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13609	GOMP_taskgroup_start, GOMP_taskgroup_end,
13610	GOMP_parallel_sections): New prototypes.
13611	* fortran.c (omp_is_initial_device): Add ialias_redirect.
13612	(omp_is_initial_device_): New function.
13613	(ULP, STR1, STR2, ialias_redirect): Removed.
13614	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13615	omp_set_default_device_8_, omp_get_default_device_,
13616	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13617	functions.
13618	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13619	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13620	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13621	@@GOMP_4.0.
13622	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13623	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13624	omp_set_default_device, omp_set_default_device_,
13625	omp_set_default_device_8_, omp_get_default_device,
13626	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13627	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13628	omp_get_team_num_): Export @@OMP_4.0.
13629	* team.c (struct gomp_thread_start_data): Add place field.
13630	(gomp_thread_start): Clear thr->thread_pool and
13631	thr->task before returning.  Use gomp_team_barrier_wait_final
13632	instead of gomp_team_barrier_wait.  Initialize thr->place.
13633	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13634	team_cancelled and task_queued_count fields.
13635	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13636	before calling pthread_exit.
13637	(gomp_free_thread): No longer static.  Use
13638	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13639	(gomp_team_start): Add flags argument.  Set
13640	thr->thread_pool->threads_busy to nthreads immediately after creating
13641	new pool.  Use gomp_managed_threads_lock instead of
13642	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
13643	(gomp_team_end): Use gomp_managed_threads_lock instead of
13644	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
13645	of gomp_team_barrier_wait.  If team->team_cancelled, call
13646	gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13647	rather than thr->ts.work_share.
13648	(initialize_team): Don't call gomp_sem_init here.
13649	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13650	caller.
13651	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13652	* env.c (gomp_global_icv): Add default_device_var, target_data and
13653	bind_var initializers.
13654	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13655	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13656	gomp_places_list_len): New variables.
13657	(parse_bind_var, parse_one_place, parse_places_var): New functions.
13658	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
13659	sized places.
13660	(gomp_cancel_var): New global variable.
13661	(parse_int): New function.
13662	(handle_omp_display_env): New function.
13663	(initialize_env): Use it.  Initialize default_device_var.
13664	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
13665	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
13666	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
13667	been successfully parsed (and call gomp_init_affinity in that case).
13668	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13669	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13670	omp_get_team_num, omp_is_initial_device): New functions.
13671	* libgomp.h: Include stdlib.h.
13672	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13673	Define.
13674	(struct target_mem_desc): Forward declare.
13675	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
13676	and thread_limit_var fields.
13677	(gomp_get_num_devices): New prototype.
13678	(gomp_cancel_var): New extern decl.
13679	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13680	team_cancelled and task_queued_count fields.  Add comments about
13681	task_{,queued_,running_}count.
13682	(gomp_cancel_kind): New enum.
13683	(gomp_work_share_end_cancel): New prototype.
13684	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13685	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13686	and depend fields.
13687	(struct gomp_taskgroup): New type.
13688	(struct gomp_task_depend_entry,
13689	struct gomp_dependers_vec): New types.
13690	(gomp_finish_task): Free depend_hash if non-NULL.
13691	(struct gomp_team_state): Add place_partition_off
13692	and place_partition_len fields.
13693	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13694	gomp_places_list_len): New extern decls.
13695	(struct gomp_thread): Add place field.
13696	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13697	(gomp_init_thread_affinity): Add place argument.
13698	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13699	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13700	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13701	gomp_affinity_init_level, gomp_affinity_print_place): New
13702	prototypes.
13703	(gomp_team_start): Add flags argument.
13704	(gomp_thread_limit_var, gomp_remaining_threads_count,
13705	gomp_remaining_threads_lock): Remove.
13706	(gomp_managed_threads_lock): New variable.
13707	(struct gomp_thread_pool): Add threads_busy field.
13708	(gomp_free_thread): New prototype.
13709	* task.c: Include hashtab.h.
13710	(hash_entry_type): New typedef.
13711	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13712	(gomp_init_task): Clear dependers, depend_hash, depend_count,
13713	copy_ctors_done and taskgroup fields.
13714	(GOMP_task): Add depend argument, handle depend clauses.  If
13715	gomp_team_barrier_cancelled or if it's taskgroup has been
13716	cancelled, don't queue or start new tasks.  Set copy_ctors_done
13717	field if needed.  Initialize taskgroup field.  If copy_ctors_done
13718	and already cancelled, don't discard the task.  If taskgroup is
13719	non-NULL, enqueue the task into taskgroup queue.  Increment
13720	num_children field in taskgroup.  Increment task_queued_count.
13721	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
13722	gomp_task_run_post_remove_taskgroup): New inline functions.
13723	(gomp_task_run_post_handle_depend_hash,
13724	gomp_task_run_post_handle_dependers,
13725	gomp_task_run_post_handle_depend): New functions.
13726	(GOMP_taskwait): Use them.  If more than one new tasks
13727	have been queued, wake other threads if needed.
13728	(gomp_barrier_handle_tasks): Likewise.  If
13729	gomp_team_barrier_cancelled, don't start any new tasks, just free
13730	all tasks.
13731	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13732	* omp_lib.f90.in
13733	(omp_proc_bind_kind, omp_proc_bind_false,
13734	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13735	omp_proc_bind_spread): New params.
13736	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13737	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13738	omp_get_team_num, omp_is_initial_device): New interfaces.
13739	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
13740	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13741	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13742	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13743	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13744	useless use omp_lib_kinds.
13745	* omp.h.in (omp_proc_bind_t): New typedef.
13746	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13747	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13748	omp_get_team_num, omp_is_initial_device): New prototypes.
13749	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13750	through to gomp_team_start.
13751	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13752	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13753	Adjust gomp_parallel_loop_start callers.
13754	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13755	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13756	GOMP_loop_end_cancel): New functions.
13757	(GOMP_parallel_end): Add ialias_redirect.
13758	* hashtab.h: New file.
13759	* libgomp.texi (Environment Variables): Minor cleanup,
13760	update section refs to OpenMP 4.0rc2.
13761	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13762	environment variables.
13763	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13764	team->work_shares_to_free to thr->ts.work_share before calling
13765	free_work_share.
13766	(gomp_work_share_end_cancel): New function.
13767	* config/linux/proc.c: Include errno.h.
13768	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13769	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13770	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
13771	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
13772	gomp_cpuset_size is sizeof (cpu_set_t).
13773	(gomp_init_num_threads): Initialize gomp_cpuset_size,
13774	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13775	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13776	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
13777	contain any logical CPUs.
13778	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13779	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
13780	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13781	pthread_getaffinity_np.  Check gomp_places_list instead of
13782	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
13783	* config/linux/bar.c (gomp_barrier_wait_end,
13784	gomp_barrier_wait_last): Use BAR_* defines.
13785	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
13786	from state where needed.  Set work_share_cancelled to 0 on last
13787	thread.
13788	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13789	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13790	functions.
13791	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13792	Add cpusetsize argument.
13793	(gomp_cpuset_size, gomp_cpusetp): Declare.
13794	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13795	(affinity_counter): Remove.
13796	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13797	if CPU_ALLOC_SIZE isn't defined.
13798	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13799	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13800	bind current thread to the first place.
13801	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
13802	pthread_setaffinity_np to gomp_places_list[place].
13803	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13804	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13805	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13806	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13807	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13808	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13809	(gomp_barrier_t): Add awaited_final field.
13810	(gomp_barrier_init): Initialize awaited_final field.
13811	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13812	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13813	prototypes.
13814	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
13815	defines.
13816	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13817	gomp_team_barrier_cancelled): New inline functions.
13818	(gomp_barrier_last_thread,
13819	gomp_team_barrier_set_task_pending,
13820	gomp_team_barrier_clear_task_pending,
13821	gomp_team_barrier_set_waiting_for_tasks,
13822	gomp_team_barrier_waiting_for_tasks,
13823	gomp_team_barrier_done): Use BAR_* defines.
13824	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13825	(gomp_barrier_wait_end): Use BAR_* defines.
13826	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13827	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13828	Use BAR_* defines.
13829	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13830	gomp_team_barrier_cancel): New functions.
13831	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
13832	argument.
13833	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13834	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13835	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13836	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13837	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13838	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13839	(gomp_barrier_t): Add cancellable field.
13840	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13841	gomp_team_barrier_cancel): New prototypes.
13842	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13843	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13844	gomp_team_barrier_cancelled): New inline functions.
13845	(gomp_barrier_wait_start, gomp_barrier_last_thread,
13846	gomp_team_barrier_set_task_pending,
13847	gomp_team_barrier_clear_task_pending,
13848	gomp_team_barrier_set_waiting_for_tasks,
13849	gomp_team_barrier_waiting_for_tasks,
13850	gomp_team_barrier_done): Use BAR_* defines.
13851	* barrier.c (GOMP_barrier_cancel): New function.
13852	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13853	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13854	omp_proc_bind_spread): New params.
13855	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13856	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13857	omp_get_team_num, omp_is_initial_device): New externals.
13858	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13859	New functions.
13860	(gomp_resolve_num_threads): Adjust for thread_limit now being in
13861	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
13862	infinity.  If not nested, just return minimum of max_num_threads
13863	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13864	to the returned value.  Otherwise, don't update atomically
13865	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13866	(GOMP_parallel_end): Adjust for thread_limit now being in
13867	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
13868	infinity.  Adjust threads_busy in the pool rather than
13869	gomp_remaining_threads_count.  Remember team->nthreads and call
13870	gomp_team_end before adjusting threads_busy, if not nested
13871	afterwards, just set it to 1 non-atomically.  Add ialias.
13872	(GOMP_parallel_start): Adjust gomp_team_start caller.
13873	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13874	* testsuite/libgomp.c/affinity-1.c: New test.
13875	* testsuite/libgomp.c/atomic-15.c: New test.
13876	* testsuite/libgomp.c/atomic-16.c: New test.
13877	* testsuite/libgomp.c/atomic-17.c: New test.
13878	* testsuite/libgomp.c/cancel-for-1.c: New test.
13879	* testsuite/libgomp.c/cancel-for-2.c: New test.
13880	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
13881	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
13882	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
13883	* testsuite/libgomp.c/cancel-sections-1.c: New test.
13884	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13885	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13886	* testsuite/libgomp.c/depend-1.c: New test.
13887	* testsuite/libgomp.c/depend-2.c: New test.
13888	* testsuite/libgomp.c/depend-3.c: New test.
13889	* testsuite/libgomp.c/depend-4.c: New test.
13890	* testsuite/libgomp.c/for-1.c: New test.
13891	* testsuite/libgomp.c/for-1.h: New file.
13892	* testsuite/libgomp.c/for-2.c: New test.
13893	* testsuite/libgomp.c/for-2.h: New file.
13894	* testsuite/libgomp.c/for-3.c: New test.
13895	* testsuite/libgomp.c/pr58392.c: New test.
13896	* testsuite/libgomp.c/simd-1.c: New test.
13897	* testsuite/libgomp.c/simd-2.c: New test.
13898	* testsuite/libgomp.c/simd-3.c: New test.
13899	* testsuite/libgomp.c/simd-4.c: New test.
13900	* testsuite/libgomp.c/simd-5.c: New test.
13901	* testsuite/libgomp.c/simd-6.c: New test.
13902	* testsuite/libgomp.c/target-1.c: New test.
13903	* testsuite/libgomp.c/target-2.c: New test.
13904	* testsuite/libgomp.c/target-3.c: New test.
13905	* testsuite/libgomp.c/target-4.c: New test.
13906	* testsuite/libgomp.c/target-5.c: New test.
13907	* testsuite/libgomp.c/target-6.c: New test.
13908	* testsuite/libgomp.c/target-7.c: New test.
13909	* testsuite/libgomp.c/taskgroup-1.c: New test.
13910	* testsuite/libgomp.c/thread-limit-1.c: New test.
13911	* testsuite/libgomp.c/thread-limit-2.c: New test.
13912	* testsuite/libgomp.c/thread-limit-3.c: New test.
13913	* testsuite/libgomp.c/udr-1.c: New test.
13914	* testsuite/libgomp.c/udr-2.c: New test.
13915	* testsuite/libgomp.c/udr-3.c: New test.
13916	* testsuite/libgomp.c++/affinity-1.C: New test.
13917	* testsuite/libgomp.c++/atomic-10.C: New test.
13918	* testsuite/libgomp.c++/atomic-11.C: New test.
13919	* testsuite/libgomp.c++/atomic-12.C: New test.
13920	* testsuite/libgomp.c++/atomic-13.C: New test.
13921	* testsuite/libgomp.c++/atomic-14.C: New test.
13922	* testsuite/libgomp.c++/atomic-15.C: New test.
13923	* testsuite/libgomp.c++/cancel-for-1.C: New test.
13924	* testsuite/libgomp.c++/cancel-for-2.C: New test.
13925	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13926	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13927	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13928	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
13929	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13930	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13931	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13932	* testsuite/libgomp.c++/cancel-test.h: New file.
13933	* testsuite/libgomp.c++/for-9.C: New test.
13934	* testsuite/libgomp.c++/for-10.C: New test.
13935	* testsuite/libgomp.c++/for-11.C: New test.
13936	* testsuite/libgomp.c++/simd-1.C: New test.
13937	* testsuite/libgomp.c++/simd-2.C: New test.
13938	* testsuite/libgomp.c++/simd-3.C: New test.
13939	* testsuite/libgomp.c++/simd-4.C: New test.
13940	* testsuite/libgomp.c++/simd-5.C: New test.
13941	* testsuite/libgomp.c++/simd-6.C: New test.
13942	* testsuite/libgomp.c++/simd-7.C: New test.
13943	* testsuite/libgomp.c++/simd-8.C: New test.
13944	* testsuite/libgomp.c++/target-1.C: New test.
13945	* testsuite/libgomp.c++/target-2.C: New test.
13946	* testsuite/libgomp.c++/target-2-aux.cc: New file.
13947	* testsuite/libgomp.c++/target-3.C: New test.
13948	* testsuite/libgomp.c++/taskgroup-1.C: New test.
13949	* testsuite/libgomp.c++/udr-1.C: New test.
13950	* testsuite/libgomp.c++/udr-2.C: New test.
13951	* testsuite/libgomp.c++/udr-3.C: New test.
13952	* testsuite/libgomp.c++/udr-4.C: New test.
13953	* testsuite/libgomp.c++/udr-5.C: New test.
13954	* testsuite/libgomp.c++/udr-6.C: New test.
13955	* testsuite/libgomp.c++/udr-7.C: New test.
13956	* testsuite/libgomp.c++/udr-8.C: New test.
13957	* testsuite/libgomp.c++/udr-9.C: New test.
13958
139592013-09-20  Jakub Jelinek  <jakub@redhat.com>
13960
13961	PR testsuite/57605
13962	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13963	ALWAYS_CFLAGS.
13964
139652013-09-20  Alan Modra  <amodra@gmail.com>
13966
13967	* configure: Regenerate.
13968
139692013-09-19  Jakub Jelinek  <jakub@redhat.com>
13970
13971	* testsuite/libgomp.c/sections-2.c: New test.
13972
139732013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
13974
13975	* testsuite/libgomp.fortran/strassen.f90:
13976	Add dg-skip-if aarch64_tiny.
13977
139782013-06-20  Iain Sandoe  <iain@codesourcery.com>
13979	    Cesar Philippidis  <cesar@codesourcery.com>
13980
13981	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13982	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13983	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13984	* testsuite/libgomp.fortran/fortran.exp: Likewise.
13985	* testsuite/libgomp.graphite/graphite.exp: Likewise.
13986	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13987	Use dg-runtest rather than gfortran-dg-runtest.
13988
139892013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13990
13991	* testsuite/libgomp.c/icv-2.c: Extend current handling of
13992	Linux-based x86 systems to cover all GNU systems.
13993	* testsuite/libgomp.c/lock-3.c: Likewise.
13994	* testsuite/libgomp.c/pr48591.c: Likewise.
13995
139962013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
13997
13998	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13999	GNU/Hurd, as done for Linux-based systems.
14000
14001	* config/posix/ptrlock.h: Fix comment.
14002
140032013-05-27  Tobias Burnus  <burnus@net-b.de>
14004
14005	PR fortran/57423
14006	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14007	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14008	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14009	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14010	omp_destroy_nest_lock): Correct arguments to match the one in
14011	the OpenMP spec.
14012	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14013	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14014	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14015	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14016
140172013-05-16  Jakub Jelinek  <jakub@redhat.com>
14018
14019	* testsuite/libgomp.c/loop-13.c: New test.
14020	* testsuite/libgomp.c/loop-14.c: New test.
14021	* testsuite/libgomp.c/loop-15.c: New test.
14022	* testsuite/libgomp.c++/loop-13.C: New test.
14023	* testsuite/libgomp.c++/loop-14.C: New test.
14024	* testsuite/libgomp.c++/loop-15.C: New test.
14025
140262013-02-06  Jakub Jelinek  <jakub@redhat.com>
14027
14028	PR middle-end/56217
14029	* testsuite/libgomp.c++/pr56217.C: New test.
14030
140312013-02-01  Alan Modra  <amodra@gmail.com>
14032
14033	* task.c (GOMP_task, GOMP_taskwait): Comment.
14034
140352013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
14036	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
14037
14038	PR libgomp/55561
14039	* config/linux/wait.h (do_spin): Use atomic load for addr.
14040	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14041	for intptr and ptrlock.
14042	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14043	for ptrlock.
14044
140452013-01-22  Alan Modra  <amodra@gmail.com>
14046
14047	PR libgomp/51376
14048	PR libgomp/56073
14049	* task.c (GOMP_task): Revert 2011-12-09 change.
14050	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
14051	barrier to read task->children..
14052	(gomp_barrier_handle_tasks): ..and matching atomic store with
14053	release barrier here when setting parent->children to NULL.
14054
140552013-01-16  Jakub Jelinek  <jakub@redhat.com>
14056	    Tobias Burnus  <burnus@net-b.de>
14057
14058	PR driver/55884
14059	* testsuite/libgomp.fortran/fortran.exp: Use
14060	-fintrinsic-modules-path= instead of
14061	-fintrinsic-modules-path.
14062
140632013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
14064
14065	Update copyright years.
14066
140672012-12-19  Tobias Burnus  <burnus@net-b.de>
14068
14069	* testsuite/libgomp.fortran/fortran.exp: Set
14070	-fintrinsic-modules-path.
14071
140722012-12-19  Tobias Burnus  <burnus@net-b.de>
14073
14074	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14075	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14076
140772012-11-21  Jakub Jelinek  <jakub@redhat.com>
14078
14079	PR libgomp/55411
14080	* team.c (gomp_free_thread): Decrease gomp_managed_threads
14081	if pool had any threads_used.
14082
140832012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
14084
14085	* testsuite/libgomp.c++/pr24455.C: Use
14086	-Wl,-undefined,dynamic_lookup on darwin.
14087
140882012-11-07  David Edelsohn  <dje.gcc@gmail.com>
14089
14090	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14091
140922012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
14093
14094	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14095
140962012-10-23  Ian Bolton  <ian.bolton@arm.com>
14097	    Jim MacArthur  <jim.macarthur@arm.com>
14098	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
14099	    Nigel Stephens  <nigel.stephens@arm.com>
14100	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
14101	    Richard Earnshaw  <rearnsha@arm.com>
14102	    Sofiane Naci  <sofiane.naci@arm.com>
14103	    Stephen Thomas  <stephen.thomas@arm.com>
14104	    Tejas Belagod  <tejas.belagod@arm.com>
14105	    Yufeng Zhang  <yufeng.zhang@arm.com>
14106
14107	* configure.tgt: Add AArch64.
14108
141092012-10-04  Jason Merrill  <jason@redhat.com>
14110
14111	* testsuite/libgomp.c++/tls-init1.C: New.
14112
141132012-09-14  David Edelsohn  <dje.gcc@gmail.com>
14114
14115	* configure: Regenerated.
14116
141172012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
14118
14119	* config/linux/mips/futex.h (sys_futex0): Change to static
14120	function with noinline, nomips16 attributes under MIPS16. Adjust
14121	asm statement to place 'li v0,SYS_futex' immediately before
14122	syscall insn.
14123
141242012-07-04  Sandra Loosemore <sandra@codesourcery.com>
14125
14126	* libgomp.texi (Library Index): Renamed from "Index" to prevent
14127	conflict with index.html on case-insensitive file systems.
14128
141292012-07-03  Uros Bizjak  <ubizjak@gmail.com>
14130
14131	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14132	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14133
141342012-07-02  Richard Guenther  <rguenther@suse.de>
14135	    Michael Matz  <matz@suse.de>
14136	    Tobias Grosser <tobias@grosser.es>
14137	    Sebastian Pop <sebpop@gmail.com>
14138
14139	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14140	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14141	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14142	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14143
141442012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
14145
14146	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14147
141482012-06-22  Richard Guenther  <rguenther@suse.de>
14149
14150	Merge from graphite branch
14151	2012-01-13  Tobias Grosser  <tobias@grosser.es>
14152
14153	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14154	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14155
141562012-06-07  Jakub Jelinek  <jakub@redhat.com>
14157
14158	PR middle-end/53580
14159	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14160	use GOMP_barrier () call instead.
14161	* testsuite/libgomp.c/pr26943-3.c: Likewise.
14162	* testsuite/libgomp.c/pr26943-4.c: Likewise.
14163	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14164	call GOMP_barrier instead.
14165	* testsuite/libgomp.fortran/vla5.f90: Likewise.
14166
141672012-06-06  Jakub Jelinek  <jakub@redhat.com>
14168
14169	PR libgomp/52993
14170	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14171	argument to memset call.
14172
141732012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
14174
14175	* configure: Regenerated.
14176
141772012-04-11  Manuel L��pez-Ib����ez  <manu@gcc.gnu.org>
14178
14179	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14180
141812012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
14182
14183	PR bootstrap/52812
14184	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14185
141862012-03-22  Jakub Jelinek  <jakub@redhat.com>
14187
14188	PR middle-end/52547
14189	* testsuite/libgomp.c/pr52547.c: New test.
14190
141912012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
14192
14193	* testsuite/lib/libgomp.exp: load fortran-modules.exp
14194
141952012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14196
14197	* configure.tgt (mips-sgi-irix6*): Remove.
14198
141992012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14200
14201	* configure.tgt (alpha*-dec-osf*): Remove.
14202
14203	* config/osf/sem.h: Remove.
14204	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14205
142062012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
14207
14208	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14209
142102012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14211
14212	PR libstdc++/52188
14213	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
14214	Remove ENABLE_SYMVERS_SOL2.
14215	* configure: Regenerate.
14216	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14217	(PREPROCESS): New variable.
14218	(libgomp.ver): New target.
14219	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
14220	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14221	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14222	Use libgomp.ver.
14223	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14224	* Makefile.in: Regenerate.
14225
142262012-02-14  Walter Lee  <walt@tilera.com>
14227
14228	* configure.tgt: Handle tilegx and tilepro.
14229	* config/linux/tile/futex.h: New file.
14230
142312012-02-08  Richard Guenther  <rguenther@suse.de>
14232
14233	PR tree-optimization/46886
14234	* testsuite/libgomp.c/pr46886.c: New testcase.
14235
142362012-01-25  Matthias Klose  <doko@ubuntu.com>
14237
14238	* config/linux/arm: Remove empty directory.
14239	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14240
142412011-12-09  Alan Modra  <amodra@gmail.com>
14242
14243	PR libgomp/51376
14244	* task.c (GOMP_taskwait): Don't access task->children outside of
14245	task_lock mutex region.
14246	(GOMP_task): Likewise.
14247
142482011-12-06  Jakub Jelinek  <jakub@redhat.com>
14249
14250	PR libgomp/51132
14251	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14252	to file scope.
14253	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14254	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14255	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14256	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14257	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14258
142592011-12-02  Alan Modra  <amodra@gmail.com>
14260
14261	* config/linux/affinity.c: Use atomic rather than sync builtin.
14262	* config/linux/lock.c: Likewise.
14263	* config/linux/ptrlock.h: Likewise.
14264	* config/linux/ptrlock.c: Likewise.
14265	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14266	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14267	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
14268	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14269	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14270	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14271	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14272	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14273	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14274	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14275
142762011-11-30  Alan Modra  <amodra@gmail.com>
14277
14278	PR libgomp/51298
14279	* config/linux/bar.h: Use atomic rather than sync builtins.
14280	* config/linux/bar.c: Likewise.  Add missing acquire
14281	synchronisation on generation field.
14282	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14283	double unlock.
14284
142852011-11-30  Alan Modra  <amodra@gmail.com>
14286
14287	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14288	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14289	* config/linux/mutex.h: Use atomic rather than sync builtins.
14290	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
14291	* config/linux/omp-lock.h: Comment fix.
14292	* config/linux/arm/mutex.h: Delete.
14293	* config/linux/powerpc/mutex.h: Delete.
14294	* config/linux/ia64/mutex.h: Delete.
14295	* config/linux/mips/mutex.h: Delete.
14296
142972011-11-30  Alan Modra  <amodra@gmail.com>
14298
14299	PR libgomp/51249
14300	* config/linux/sem.h: Rewrite.
14301	* config/linux/sem.c: Rewrite.
14302
143032011-11-28  Richard Henderson  <rth@redhat.com>
14304
14305	* libgomp.h (enum memmodel): New.
14306
143072011-11-21  Andreas Tobler  <andreast@fgznet.ch>
14308
14309	* configure: Regenerate.
14310
143112011-10-10  Matthias Klose  <doko@ubuntu.com>
14312
14313	* config/posix95: Remove empty directory.
14314
143152011-08-26  Jakub Jelinek  <jakub@redhat.com>
14316
14317	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
14318
143192011-08-19  Jakub Jelinek  <jakub@redhat.com>
14320
14321	PR fortran/49792
14322	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
14323	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
14324
143252011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14326
14327	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
14328
143292011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14330
14331	PR libgomp/49965
14332	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14333
143342011-08-03  Uros Bizjak  <ubizjak@gmail.com>
14335
14336	* config/linux/proc.h: New.
14337	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
14338	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
14339	(gomp_init_num_threads): Update call to cpuset_popcount.
14340	(get_num_procs): Ditto.
14341	* config/linux/affinity.c (gomp_init_affinity): Call
14342	gomp_cpuset_popcount.
14343
143442011-08-02  Jakub Jelinek  <jakub@redhat.com>
14345
14346	PR fortran/42041
14347	PR fortran/46752
14348	* omp.h.in (omp_in_final): New prototype.
14349	* omp_lib.f90.in (omp_in_final): New interface.
14350	(omp_integer_kind, omp_logical_kind): Remove
14351	and replace all its uses in the module with 4.
14352	(openmp_version): Change to 201107.
14353	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14354	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14355	kind for the parameters.
14356	(omp_in_final): New external.
14357	(openmp_version): Change to 201107.
14358	* task.c (omp_in_final): New function.
14359	(gomp_init_task): Initialize final_task.
14360	(GOMP_task): Remove unused attribute from flags.  Handle final
14361	tasks.
14362	(GOMP_taskyield): New function.
14363	(omp_in_final): Return true if if (false) or final (true) task
14364	or descendant of final (true).
14365	* fortran.c (omp_in_final_): New function.
14366	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14367	(GOMP_3.0): Export GOMP_taskyield.
14368	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14369	variables.
14370	(parse_unsigned_long_list): New function.
14371	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
14372	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
14373	even if parse_affinity returned false.
14374	* config/linux/affinity.c (gomp_init_affinity): Handle
14375	gomp_cpu_affinity_len == 0.
14376	* libgomp_g.h (GOMP_taskyield): New prototype.
14377	* libgomp.h (struct gomp_task): Add final_task field.
14378	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14379	* team.c (gomp_team_start): Override new task's nthreads_var icv
14380	if list form OMP_NUM_THREADS has been used and it has value for
14381	the new nesting level.
14382
14383	* testsuite/libgomp.c/atomic-11.c: New test.
14384	* testsuite/libgomp.c/atomic-12.c: New test.
14385	* testsuite/libgomp.c/atomic-13.c: New test.
14386	* testsuite/libgomp.c/atomic-14.c: New test.
14387	* testsuite/libgomp.c/reduction-6.c: New test.
14388	* testsuite/libgomp.c/task-5.c: New test.
14389	* testsuite/libgomp.c++/atomic-2.C: New test.
14390	* testsuite/libgomp.c++/atomic-3.C: New test.
14391	* testsuite/libgomp.c++/atomic-4.C: New test.
14392	* testsuite/libgomp.c++/atomic-5.C: New test.
14393	* testsuite/libgomp.c++/atomic-6.C: New test.
14394	* testsuite/libgomp.c++/atomic-7.C: New test.
14395	* testsuite/libgomp.c++/atomic-8.C: New test.
14396	* testsuite/libgomp.c++/atomic-9.C: New test.
14397	* testsuite/libgomp.c++/task-8.C: New test.
14398	* testsuite/libgomp.c++/reduction-4.C: New test.
14399	* testsuite/libgomp.fortran/allocatable7.f90: New test.
14400	* testsuite/libgomp.fortran/allocatable8.f90: New test.
14401	* testsuite/libgomp.fortran/crayptr3.f90: New test.
14402	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14403	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14404	* testsuite/libgomp.fortran/pointer1.f90: New test.
14405	* testsuite/libgomp.fortran/pointer2.f90: New test.
14406	* testsuite/libgomp.fortran/task4.f90: New test.
14407
144082011-08-02  Tobias Burnus  <burnus@net-b.de>
14409
14410	* libgomp.texi: Update OpenMP spec references to 3.1.
14411	(omp_in_final,OMP_PROC_BIND): New sections.
14412	(OMP_NUM_THREADS): Document that the value can be now a list.
14413	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14414
144152011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
14416
14417	* config/linux/x86/futex.h: Check __x86_64__ instead of
14418	__LP64__.
14419
144202011-07-29  Jakub Jelinek  <jakub@redhat.com>
14421
14422	PR middle-end/49897
14423	PR middle-end/49898
14424	* testsuite/libgomp.c/pr49897-1.c: New test.
14425	* testsuite/libgomp.c/pr49897-2.c: New test.
14426	* testsuite/libgomp.c/pr49898-1.c: New test.
14427	* testsuite/libgomp.c/pr49898-2.c: New test.
14428
144292011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
14430
14431	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14432	for ia32 instead of ilp32.
14433
14434	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14435	* testsuite/libgomp.c/atomic-6.c: Likewise.
14436
144372011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
14438
14439	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14440	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14441
144422011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14443
14444	PR libgomp/45351
14445	* config/osf/sem.h: New file.
14446	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14447
144482011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14449
14450	PR target/49541
14451	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14452	ldflags.
14453
144542011-07-15  Jakub Jelinek  <jakub@redhat.com>
14455
14456	* config/linux/wait.h (do_spin): New inline, largely copied
14457	from do_wait, just don't do futex_wait here, instead return true if
14458	it should be done.
14459	(do_wait): Implement using do_spin.
14460	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14461	to prototype.
14462	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14463	__sync_bool_compare_and_swap, pass the oldval to
14464	gomp_mutex_lock_slow.
14465	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14466	If all mutex contenders are just spinning and not sleeping, don't
14467	change state to 2 unnecessarily.  Optimize the loop when state has
14468	already become 2 to use just one atomic operation per loop instead
14469	of two.
14470	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14471	to prototype.
14472	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14473	__sync_bool_compare_and_swap, pass the oldval to
14474	gomp_mutex_lock_slow.
14475
144762011-06-22  Jakub Jelinek  <jakub@redhat.com>
14477
14478	PR libgomp/49490
14479	* iter.c (gomp_iter_static_next): For chunk size 0
14480	only use n ceil/ nthreads size for the first
14481	n % nthreads threads in the team instead of
14482	all threads except for the last few ones which
14483	get less work or none at all.
14484	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
14485	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14486	chunk argument, set run_sched_modifier to 0 for static
14487	resp. 1 for other kinds.  If chunk argument is 0
14488	and not static, set value to 1.
14489
144902011-05-19  Jakub Jelinek  <jakub@redhat.com>
14491
14492	PR c++/49043
14493	* testsuite/libgomp.c++/pr49043.C: New test.
14494
14495	PR c++/48869
14496	* testsuite/libgomp.c++/pr48869.C: New test.
14497
144982011-05-06  Jakub Jelinek  <jakub@redhat.com>
14499
14500	PR fortran/48894
14501	* fortran.c: Include limits.h.
14502	(TO_INT): Define.
14503	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14504	*set.
14505	(omp_set_num_threads_8_, omp_set_schedule_8_,
14506	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14507	omp_get_team_size_8_): Use TO_INT macro.
14508	* testsuite/libgomp.fortran/pr48894.f90: New test.
14509
145102011-04-13  Jakub Jelinek  <jakub@redhat.com>
14511
14512	PR middle-end/48591
14513	* testsuite/libgomp.c/pr48591.c: New test.
14514
145152011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14516
14517	PR bootstrap/48135
14518	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
14519	* configure: Regenerate.
14520
145212011-02-27  Jakub Jelinek  <jakub@redhat.com>
14522
14523	PR fortran/47886
14524	* testsuite/libgomp.fortran/task3.f90: New test.
14525
145262011-02-24  Tobias Burnus  <burnus@net-b.de>
14527
14528	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14529
145302011-02-23  Jakub Jelinek  <jakub@redhat.com>
14531
14532	PR libgomp/47854
14533	* libgomp.texi (omp_get_wtime): Don't say time in the past
14534	must be Unix Epoch.
14535
145362011-02-18  Jakub Jelinek  <jakub@redhat.com>
14537
14538	PR libgomp/47804
14539	* testsuite/libgomp.fortran/fortran.exp: Check for both
14540	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
14541	but $blddir != "", still append ${blddir}/${lang_library_path}
14542	to ld_library_path.
14543
145442011-02-16  Tobias Burnus  <burnus@net-b.de>
14545
14546	PR libgomp/47758
14547	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
14548	of libquadmath.a before adding its libpath to ldflags.
14549
145502011-02-14  Jakub Jelinek  <jakub@redhat.com>
14551
14552	PR libgomp/47731
14553	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14554	to FUTEX_WAIT futex syscall.
14555	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
14556
145572011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14558
14559	* configure: Regenerate.
14560
145612011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
14562
14563	PR libstdc++/36104
14564	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14565
145662011-01-16  Gerald Pfeifer
14567
14568	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14569
145702010-12-14  Jakub Jelinek  <jakub@redhat.com>
14571
14572	PR fortran/46874
14573	* libgomp.fortran/allocatable6.f90: New test.
14574
145752010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14576
14577	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14578	* configure: Regenerate.
14579
145802010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
14581
14582	PR target/40125
14583	PR lto/46695
14584	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
14585	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14586	* aclocal.m4: Regenerate.
14587	* configure: Regenerate.
14588	* Makefile.in: Regenerate.
14589	* testsuite/Makefile.in: Regenerate.
14590
145912010-12-02  Jakub Jelinek  <jakub@redhat.com>
14592
14593	PR fortran/46753
14594	* libgomp.fortran/pr46753.f90: New test.
14595
14596	PR libgomp/43706
14597	* env.c (initialize_env): Default to spin count 300000
14598	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14599	is specified.
14600
14601	PR libgomp/45240
14602	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14603	at the end if sync builtins aren't supported.
14604
146052010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14606
14607	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14608
146092010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14610
14611	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14612
146132010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
14614
14615	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14616
146172010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
14618	    Tobias Burnus  <burnus@net-b.de>
14619
14620	PR fortran/32049
14621	* configure.ac:
14622	* configure: Regenerate.
14623
146242010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
14625
14626	* config/linux/futex.h: New.
14627	* config/linux/arm/mutex.h: New.
14628	* configure.tgt (arm*-*-linux*): Add config path.
14629
146302010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
14631
14632	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14633
146342010-09-23  Tobias Burnus  <burnus@net-b.de>
14635
14636	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14637	Change Fortran datatype to LOGICAL.
14638	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14639	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14640
146412010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14642
14643	* configure: Regenerate.
14644
146452010-07-26  Jakub Jelinek  <jakub@redhat.com>
14646
14647	* libgomp.texi: Add function keyword to a couple of Fortran
14648	interfaces, use integer instead of int for Fortran.
14649
146502010-07-26  Aldy Hernandez  <aldyh@redhat.com>
14651
14652	* libgomp.texi: Fix spelling and pasto problems throughout.
14653	Adjust prototypes to match code.
14654
146552010-07-24  Tobias Burnus  <burnus@net-b.de>
14656
14657	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14658	silence -fwhole-file warning.
14659
146602010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14661
14662	* configure.tgt (*-*-solaris2.[56]*): Removed.
14663
146642010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14665
14666	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14667	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14668	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14669	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14670	targetting solaris2*.
14671	* configure: Regenerate.
14672	* config.h.in: Regenerate.
14673
14674	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14675	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14676	Add libgomp_version_dep.
14677	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14678	versioning.
14679	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14680	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14681	* Makefile.in: Regenerate.
14682
14683	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14684	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14685	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14686	to common block, protected by
14687	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14688
146892010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
14690
14691	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
14692
146932010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
14694
14695	PR bootstrap/43170
14696	* configure: Regenerate.
14697
146982010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14699
14700	PR other/43620
14701	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14702	* configure: Regenerate.
14703	* Makefile.in: Regenerate.
14704	* testsuite/Makefile.in: Regenerate.
14705
147062010-04-26  Jakub Jelinek  <jakub@redhat.com>
14707
14708	PR c/43893
14709	* testsuite/libgomp.c/pr43893.c: New test.
14710	* testsuite/libgomp.c++/pr43893.C: New test.
14711
147122010-04-21  Jakub Jelinek  <jakub@redhat.com>
14713
14714	PR middle-end/43570
14715	* testsuite/libgomp.fortran/vla8.f90: New test.
14716
147172010-04-20  Jakub Jelinek  <jakub@redhat.com>
14718
14719	PR libgomp/43706
14720	* config/linux/affinity.c (gomp_init_affinity): Decrease
14721	gomp_available_cpus if affinity mask confines the process to fewer
14722	CPUs.
14723	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14724	non-NULL, just return gomp_available_cpus.
14725
14726	PR libgomp/43569
14727	* sections.c (gomp_sections_init): Initialize ws->mode.
14728
147292010-04-14  Uros Bizjak  <ubizjak@gmail.com>
14730
14731	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14732	not unused bar variable.
14733	* configure: Regenerate.
14734
147352010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14736
14737	* Makefile.in: Regenerate.
14738	* aclocal.m4: Regenerate.
14739	* testsuite/Makefile.in: Regenerate.
14740
147412010-03-22  Jakub Jelinek  <jakub@redhat.com>
14742
14743	PR libgomp/42942
14744	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14745	(initialize_env): Adjust callers.
14746	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
14747	when the argument is 0.
14748
14749	* testsuite/libgomp.c/pr42942.c: New test.
14750
147512010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
14752
14753	PR middle-end/42644
14754	PR middle-end/42130
14755	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14756	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14757
147582010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14759
14760	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
14761	* testsuite/libgomp.c++/task-6.C: Likewise.
14762
147632010-01-28  Steve Ellcey  <sje@cup.hp.com>
14764
14765	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14766
147672010-01-26  Paolo Bonzini  <bonzini@gnu.org>
14768
14769	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
14770	* configure: Regenerate.
14771
147722010-01-26  Jakub Jelinek  <jakub@redhat.com>
14773
14774	PR fortran/42866
14775	* testsuite/libgomp.fortran/allocatable5.f90: New test.
14776
147772010-01-20  Paolo Bonzini  <bonzini@gnu.org>
14778
14779	* configure.ac: Test for executability of GFORTRAN.
14780	* configure: Regenerate.
14781
147822010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14783
14784	* configure: Regenerate.
14785
147862010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
14787
14788	PR libgomp/42602
14789	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14790
147912010-01-03  Richard Guenther  <rguenther@suse.de>
14792
14793	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
14794
147952009-12-23  Sebastian Pop  <sebpop@gmail.com>
14796
14797	* testsuite/libgomp.graphite/pr4118.c: New.
14798
147992009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14800
14801	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14802	for darwin, protect the test with require-effective-target tls_runtime.
14803	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
14804
148052009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14806
14807	PR target/41605
14808	* testsuite/lib/libgomp.exp: Provide -B options to allow for
14809	link spec %s substitutions for static libraries.
14810
148112009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
14812
14813	PR testsuite/42135
14814	* libgomp.graphite/force-parallel-2.c: Reduce array size.
14815
148162009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14817
14818	* Makefile.in: Regenerate.
14819	* configure: Regenerate.
14820	* testsuite/Makefile.in: Regenerate.
14821
148222009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
14823
14824	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14825	settings for LC_ALL and LANG.
14826
148272009-11-25  Jakub Jelinek  <jakub@redhat.com>
14828
14829	PR fortran/42162
14830	* testsuite/libgomp.fortran/pr42162.f90: New test.
14831
148322009-11-13  Jakub Jelinek  <jakub@redhat.com>
14833
14834	PR middle-end/42029
14835	* testsuite/libgomp.c/pr42029.c: New test.
14836
148372009-10-26  Jakub Jelinek  <jakub@redhat.com>
14838
14839	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14840	*s.  Accept ld version without text in ()s.
14841	* configure: Regenerated.
14842
148432009-10-22  Razya Ladelsky  <razya@il.ibm.com>
14844
14845	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14846
148472009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14848
14849	PR libgomp/41418
14850	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14851	or a hyphen (happens with fortran language disabled).
14852	* configure: Regenerate.
14853
148542009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14855
14856	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14857	use sed script portable to Solaris /bin/sed for extracting ld
14858	version.
14859	* configure: Regenerate.
14860
148612009-09-17  Alexander Monakov  <amonakov@ispras.ru>
14862
14863	* testsuite/libgomp.graphite/bounds.c: New test.
14864
148652009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14866
14867	* Makefile.am (libgomp_la_LINK): New.
14868	* Makefile.in: Regenerate.
14869
148702009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14871
14872	* configure.ac (AC_PREREQ): Bump to 2.64.
14873
148742009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14875
14876	* Makefile.am (install-html, install-pdf): Remove.
14877	* Makefile.in: Regenerate.
14878
14879	* Makefile.in: Regenerate.
14880	* aclocal.m4: Regenerate.
14881	* config.h.in: Regenerate.
14882	* configure: Regenerate.
14883	* testsuite/Makefile.in: Regenerate.
14884
148852009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14886
14887	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14888	* Makefile.in: Regenerate.
14889
148902009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
14891
14892	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14893	* Makefile.in: Regenerate.
14894
148952009-08-19  Tobias Burnus  <burnus@net-b.de>
14896
14897	PR fortran/41102
14898	omp_lib.h.in: Fix -std=f95 errors.
14899
149002009-08-14  David Edelsohn  <edelsohn@gnu.org>
14901
14902	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14903	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14904	* testsuite/libgomp.graphite/graphite.exp: New.
14905
149062009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
14907
14908	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14909	only build.
14910
149112009-08-04  David Daney  <ddaney@caviumnetworks.com>
14912
14913	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14914	needed memory barrier semantics.
14915	* config/linux/mips/mutex.h: New file.
14916
149172009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14918
14919	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14920
149212009-07-16  Joseph Myers  <joseph@codesourcery.com>
14922
14923	* configure: Regenerate.
14924
149252009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
14926
14927	PR testsuite/40699
14928	PR testsuite/40707
14929	PR testsuite/40709
14930	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14931	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14932	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14933
149342009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
14935
14936	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14937	options when choosing a multilib.
14938
149392009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
14940
14941	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14942	ld_library_path.  Use add_path.  Add just find_libgcc_s to
14943	ld_library_path, not every libgcc multilib directory.
14944	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14945	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14946	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14947	Use add_path.
14948	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14949
149502009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
14951
14952	* Makefile.am (LTLDFLAGS): Define.
14953	(LINK): Define.
14954	* Makefile.in: Regenerate.
14955
149562009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
14957
14958	PR fortran/39718
14959	* testsuite/libgomp.fortran/fortran.exp: Don't link with
14960	libgfortranbegin, check existence of libgfortran.a instead of
14961	libgfortranbegin.a.
14962
149632009-05-20  Jakub Jelinek  <jakub@redhat.com>
14964
14965	PR libgomp/40174
14966	* team.c (gomp_thread_start): Destroy thr->release semaphore.
14967	(gomp_free_pool_helper): Likewise.
14968
149692009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
14970	    Jakub Jelinek  <jakub@redhat.com>
14971
14972	PR fortran/35423
14973	* testsuite/libgomp.fortran/workshare2.f90: New test.
14974
149752009-04-09  Nick Clifton  <nickc@redhat.com>
14976
14977	* iter.c: Change copyright header to refer to version 3 of the
14978	GNU General Public License with version 3.1 of the GCC Runtime
14979	Library Exception and to point readers at the COPYING3 and
14980	COPYING3.RUNTIME files and the FSF's license web page.
14981	* alloc.c: Likewise.
14982	* barrier.c: Likewise.
14983	* config/bsd/proc.c: Likewise.
14984	* config/linux/affinity.c: Likewise.
14985	* config/linux/alpha/futex.h: Likewise.
14986	* config/linux/bar.c: Likewise.
14987	* config/linux/bar.h: Likewise.
14988	* config/linux/ia64/futex.h: Likewise.
14989	* config/linux/ia64/mutex.h: Likewise.
14990	* config/linux/lock.c: Likewise.
14991	* config/linux/mips/futex.h: Likewise.
14992	* config/linux/mutex.c: Likewise.
14993	* config/linux/mutex.h: Likewise.
14994	* config/linux/powerpc/futex.h: Likewise.
14995	* config/linux/proc.c: Likewise.
14996	* config/linux/ptrlock.c: Likewise.
14997	* config/linux/ptrlock.h: Likewise.
14998	* config/linux/s390/futex.h: Likewise.
14999	* config/linux/sem.c: Likewise.
15000	* config/linux/sem.h: Likewise.
15001	* config/linux/sparc/futex.h: Likewise.
15002	* config/linux/wait.h: Likewise.
15003	* config/linux/x86/futex.h: Likewise.
15004	* config/mingw32/proc.c: Likewise.
15005	* config/mingw32/time.c: Likewise.
15006	* config/posix/affinity.c: Likewise.
15007	* config/posix/bar.c: Likewise.
15008	* config/posix/bar.h: Likewise.
15009	* config/posix/lock.c: Likewise.
15010	* config/posix/mutex.h: Likewise.
15011	* config/posix/proc.c: Likewise.
15012	* config/posix/ptrlock.h: Likewise.
15013	* config/posix/sem.c: Likewise.
15014	* config/posix/sem.h: Likewise.
15015	* config/posix/time.c: Likewise.
15016	* config/posix95/lock.c: Likewise.
15017	* critical.c: Likewise.
15018	* env.c: Likewise.
15019	* error.c: Likewise.
15020	* fortran.c: Likewise.
15021	* iter_ull.c: Likewise.
15022	* libgomp.h: Likewise.
15023	* libgomp_f.h.in: Likewise.
15024	* libgomp_g.h: Likewise.
15025	* loop.c: Likewise.
15026	* loop_ull.c: Likewise.
15027	* omp.h.in: Likewise.
15028	* omp_lib.f90.in: Likewise.
15029	* omp_lib.h.in: Likewise.
15030	* ordered.c: Likewise.
15031	* parallel.c: Likewise.
15032	* sections.c: Likewise.
15033	* single.c: Likewise.
15034	* task.c: Likewise.
15035	* team.c: Likewise.
15036	* work.c: Likewise.
15037
150382009-04-09  Jakub Jelinek  <jakub@redhat.com>
15039
15040	* testsuite/config/default.exp: Change copyright header to refer to
15041	version 3 of the GNU General Public License and to point readers
15042	at the COPYING3 file and the FSF's license web page.
15043
150442009-04-08  Jakub Jelinek  <jakub@redhat.com>
15045
15046	PR middle-end/39573
15047	* libgomp.c++/pr39573.C: New test.
15048
150492009-04-01  Jakub Jelinek  <jakub@redhat.com>
15050
15051	PR other/39591
15052	* testsuite/libgomp.c/pr39591-1.c: New test.
15053	* testsuite/libgomp.c/pr39591-2.c: New test.
15054	* testsuite/libgomp.c/pr39591-3.c: New test.
15055
150562009-03-25  Uros Bizjak  <ubizjak@gmail.com>
15057
15058	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15059	* testsuite/libgomp.c/atomic-6.c: Ditto.
15060
150612009-03-23  Jakub Jelinek  <jakub@redhat.com>
15062
15063	PR c/39495
15064	* testsuite/libgomp.c/loop-12.c: New test.
15065	* testsuite/libgomp.c/loop-11.c: New test.
15066	* testsuite/libgomp.c++/loop-11.C: New test.
15067	* testsuite/libgomp.c++/loop-12.C: New test.
15068	* testsuite/libgomp.c++/for-8.C: New test.
15069
150702009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15071
15072	* configure: Regenerate.
15073
150742009-02-11  Jakub Jelinek  <jakub@redhat.com>
15075
15076	PR middle-end/39154
15077	* testsuite/libgomp.c/pr39154.c: New test.
15078
150792009-01-30  Ian Lance Taylor  <iant@google.com>
15080
15081	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15082	libgomp_ld_is_gold.  Get gold version number.
15083	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15084	* configure: Rebuild.
15085
150862009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
15087
15088	* testsuite/lib/libgomp.exp: Add -B option for targets that
15089	use libgfortran.a%s in their specs.
15090
150912009-01-07  Jakub Jelinek  <jakub@redhat.com>
15092
15093	PR libgomp/38086
15094	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15095	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15096	HAVE_AS_SYMVER_DIRECTIVE is not defined.
15097	* configure: Regenerated.
15098	* config.h.in: Likewise.
15099
151002008-12-28  Jakub Jelinek  <jakub@redhat.com>
15101
15102	PR c++/38650
15103	* testsuite/libgomp.c/pr38650.c: New test.
15104	* testsuite/libgomp.c++/pr38650.C: New test.
15105
151062008-12-27  Jakub Jelinek  <jakub@redhat.com>
15107
15108	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15109
151102008-12-26  Uros Bizjak  <ubizjak@gmail.com>
15111
15112	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15113
151142008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15115
15116	* configure: Regenerate.
15117
151182008-12-08  Jakub Jelinek  <jakub@redhat.com>
15119
15120	PR middle-end/36802
15121	* testsuite/libgomp.c/pr36802-1.c: New test.
15122	* testsuite/libgomp.c/pr36802-2.c: New test.
15123	* testsuite/libgomp.c/pr36802-3.c: New test.
15124
151252008-12-01  Janis Johnson  <janis187@us.ibm.com>
15126
15127	PR libgomp/38270
15128	* config/linux/powerpc/mutex.h: New.
15129
151302008-12-01  Jakub Jelinek  <jakub@redhat.com>
15131
15132	PR c++/38257
15133	* testsuite/libgomp.c++/for-7.C: New test.
15134
15135	PR c++/38348
15136	* testsuite/libgomp.c++/for-6.C: New test.
15137
151382008-11-26  Janis Johnson  <janis187@us.ibm.com>
15139
15140	PR testsuite/28870
15141	* testsuite/lib/libgomp.exp: Include new timeout library files.
15142	(libgomp_target_compile): Set timeout value from new proc.
15143
151442008-11-13  Steve Ellcey  <sje@cup.hp.com>
15145
15146	PR libgomp/37938
15147	* config/linux/ia64/mutex.h: New.
15148
151492008-11-04  Tobias Burnus  <burnus@net-b.de>
15150
15151	PR libgomp/37935
15152	* libgomp.texi (Runtime library routines, environment variables):
15153	Update for OpenMP version 3.0.
15154
151552008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
15156	    Steve Ellcey  <sje@cup.hp.com>
15157
15158	* configure: Regenerate for new libtool.
15159	* Makefile.in: Ditto.
15160	* testsuite/Makefile.in: Ditto.
15161
151622008-09-19  Jakub Jelinek  <jakub@redhat.com>
15163	    Andreas Tobler  <a.tobler@schweiz.org>
15164
15165	* config/bsd/proc.c: New file.
15166	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15167	* configure.ac: Check for header <sys/sysctl.h>
15168	* configure: Regenerate.
15169	* config.h.in: Likewise.
15170
151712008-09-05  Janis Johnson  <janis187@us.ibm.com>
15172
15173	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15174
151752008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
15176
15177	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15178	* Makefile.in: Regenerated.
15179	* testsuite/Makefile.in: Regenerated.
15180
151812008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
15182
15183	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15184	depend on blddir if blddir exists.
15185	(libgomp_target_compile): Likewise.
15186	* testsuite/libgomp.c++/c++.exp: Likewise.
15187	* testsuite/libgomp.fortran/fortran.exp: Likewise.
15188
151892008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15190
15191	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
15192	Do not list GPL as Invariant Section.
15193
151942008-07-28  Ilie Garbacea  <ilie@mips.com>
15195	    Chao-ying Fu  <fu@mips.com>
15196
15197	* configure.tgt: Enable futex for MIPS.
15198	* config/linux/mips/futex.h: New file.
15199
152002008-07-16  Jakub Jelinek  <jakub@redhat.com>
15201
15202	* team.c (gomp_team_end): Free team immediately if it has
15203	just one thread.
15204
152052008-07-08  David Edelsohn  <edelsohn@gnu.org>
15206
15207	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
15208	* testsuite/libgomp.fortran/fortran.exp: Same.
15209	* testsuite/libgomp.c/c.exp: Same.
15210	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15211	directory to library path first.
15212
152132008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
15214
15215	* env.c (parse_stacksize): Add cast to avoid warning.
15216	(parse_spincount): Likewise.
15217
152182008-06-27  Jakub Jelinek  <jakub@redhat.com>
15219
15220	* testsuite/libgomp.c/loop-10.c: New test.
15221	* libgomp.c/loop-3.c (main): Add lastprivate clause.
15222	* libgomp.c++/loop-6.C (main): Likewise.
15223
15224	PR debug/36617
15225	* testsuite/libgomp.c/debug-1.c: New test.
15226
152272008-06-19  Jakub Jelinek  <jakub@redhat.com>
15228
15229	* testsuite/libgomp.c/nqueens-1.c: New test.
15230
15231	PR c++/36523
15232	* testsuite/libgomp.c++/task-7.C: New function.
15233
152342008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15235
15236	* configure: Regenerate.
15237
152382008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15239
15240	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15241	mutex when HAVE_SYNC_BUILTINS isn't defined.
15242
152432008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15244
15245	* libgomp.texi (omp_test_lock): Fix typo.
15246
152472008-06-12  Tobias Burnus  <burnus@net-b.de>
15248
15249	* omp_lib.f90.in: Add "implicit none".
15250
152512008-06-12  Jakub Jelinek  <jakub@redhat.com>
15252
15253	PR middle-end/36506
15254	* testsuite/libgomp.c/reduction-5.c: New test.
15255
152562008-06-11  Jakub Jelinek  <jakub@redhat.com>
15257
15258	* libgomp.h (struct gomp_task): Add in_tied_task field.
15259	* task.c (gomp_init_task): Initialize it.
15260	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
15261	unconditionally.  Don't call gomp_team_barrier_wake if
15262	current task is implicit or if(0) from implicit and number of
15263	running tasks is equal to nthreads - 1.
15264
15265	PR libgomp/36471
15266	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15267	omp_get_team_size_8): Fix pastos.
15268
15269	PR libgomp/36469
15270	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
15271	* configure: Regenerated.
15272	* config.h.in: Regenerated.
15273	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15274	defined.
15275
152762008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
15277
15278	PR bootstrap/36452
15279	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15280	(GOMP_loop_ull_dynamic_start): Likewise.
15281	(GOMP_loop_ull_guided_start): Likewise.
15282	(GOMP_loop_ull_ordered_static_start): Likewise.
15283	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
15284	(GOMP_loop_ull_ordered_guided_start): Likewise.
15285
152862008-06-06  Jakub Jelinek  <jakub@redhat.com>
15287	    Richard Henderson  <rth@redhat.com>
15288	    Ulrich Drepper  <drepper@redhat.com>
15289	    Jakob Blomer  <jakob.blomer@ira.uka.de>
15290
15291	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15292	Substitute also OMP_*LOCK_25*.
15293	* configure: Regenerated.
15294	* config.h.in: Regenerated.
15295	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15296	ptrlock.c and task.c.
15297	* Makefile.in: Regenerated.
15298	* testsuite/Makefile.in: Regenerated.
15299	* task.c: New file.
15300	* loop_ull.c: New file.
15301	* iter_ull.c: New file.
15302	* libgomp.h: Include ptrlock.h.
15303	(enum gomp_task_kind): New type.
15304	(struct gomp_team): Add task_lock, task_queue, task_count,
15305	task_running_count, single_count fields.  Add
15306	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15307	Remove work_share_lock, generation_mask,
15308	oldest_live_gen, num_live_gen and init_work_shares fields, add
15309	work work_share_list_alloc, work_share_list_free and work_share_chunk
15310	fields.  Change work_shares from pointer to pointers into an array.
15311	Change ordered_release field into gomp_sem_t ** from flexible array
15312	member.  Add implicit_task and initial_work_shares fields.
15313	Move close to the end of the struct.
15314	(struct gomp_team_state): Add single_count, last_work_share,
15315	active_level and level fields, remove work_share_generation.
15316	(gomp_barrier_handle_tasks): New prototype.
15317	(gomp_finish_task): New inline function.
15318	(struct gomp_work_share): Move chunk_size, end, incr into
15319	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15320	next_ll fields.  Reshuffle fields.  Add next_alloc,
15321	next_ws, next_free and inline_ordered_team_ids fields, change
15322	ordered_team_ids into pointer from flexible array member.
15323	Add mode field.  Put lock and next into a different cache line
15324	from most of the write-once fields.
15325	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15326	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15327	gomp_iter_ull_guided_next): New prototypes.
15328	(gomp_new_icv): New prototype.
15329	(struct gomp_thread): Add thread_pool and task fields.
15330	(struct gomp_thread_pool): New type.
15331	(gomp_new_team): New prototype.
15332	(gomp_team_start): Change type of last argument.
15333	(gomp_new_work_share): Removed.
15334	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
15335	(gomp_work_share_init_done): New static inline.
15336	(gomp_throttled_spin_count_var, gomp_available_cpus,
15337	gomp_managed_threads): New extern decls.
15338	(gomp_init_task): New prototype.
15339	(gomp_spin_count_var): New extern var decl.
15340	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15341	or no alias support, or if not PIC.
15342	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15343	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15344	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15345	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15346	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15347	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15348	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15349	gomp_test_nest_lock_25): New prototypes.
15350	(omp_lock_symver, strong_alias): Define.
15351	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15352	decls.
15353	(gomp_end_task): New.
15354	(struct gomp_task_icv, gomp_global_icv): New.
15355	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
15356	(struct gomp_task): New.
15357	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15358	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15359	(gomp_icv): New.
15360	(gomp_schedule_type): Reorder enum to match
15361	omp_sched_t.
15362	* team.c (struct gomp_thread_start_data): Add thread_pool and task
15363	fields.
15364	(gomp_thread_start): Add gomp_team_barrier_wait call.
15365	For non-nested case remove clearing of docked thread thr fields.
15366	Use pool fields instead of global gomp_* variables.  Use
15367	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
15368	Create tasks for each member thread.
15369	(free_team): Only destroy team barrier, task_lock here and free it.
15370	(gomp_free_thread): Free last_team if non-NULL.
15371	(gomp_team_end): Call gomp_team_barrier_wait instead of
15372	gomp_barrier_wait.  For nested case call one extra
15373	gomp_barrier_wait.  Move here some destruction from free_team.
15374	Call free_team on pool->last_team if any, rather than freeing
15375	current team.  Destroy work_share_list_free_lock ifndef
15376	HAVE_SYNC_BUILTINS.
15377	(gomp_new_icv): New function.
15378	(gomp_threads, gomp_threads_size, gomp_threads_used,
15379	gomp_threads_dock): Removed.
15380	(gomp_thread_destructor): New variable.
15381	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15382	functions.
15383	(gomp_team_start): Create new pool if current thread doesn't have
15384	one.  Use pool fields instead of global gomp_* variables.
15385	Initialize thread_pool field for new threads.  Clear single_count.
15386	Change last argument from ws to team, don't create
15387	new team, set ts.work_share to &team->work_shares[0] and clear
15388	ts.last_work_share.  Don't clear ts.work_share_generation.
15389	If number of threads changed, adjust atomically gomp_managed_threads.
15390	Use gomp_init_task instead of gomp_new_task,
15391	set thr->task to the corresponding implicit_task array entry.
15392	Create tasks for each member thread.  Initialize ts.level.
15393	(initialize_team): Call pthread_key_create on
15394	gomp_thread_destructor.
15395	(team_destructor): New function.
15396	(new_team): Removed.
15397	(gomp_new_team): New function.
15398	(free_team): Free gomp_work_share blocks chained through next_alloc,
15399	instead of freeing work_shares and destroying work_share_lock.
15400	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
15401	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
15402	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15403	of gomp_barrier_wait.
15404	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15405	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
15406	if gomp_work_share_start returned true.  Don't unlock ws->lock.
15407	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15408	of gomp_barrier_wait.
15409	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
15410	gomp_work_share_init_done if gomp_work_share_start returned true.
15411	Don't unlock ws->lock.
15412	* work.c: Include stddef.h.
15413	(free_work_share): Use work_share_list_free_lock instead
15414	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
15415	Call gomp_fini_work_share and then either free ws if orphaned, or
15416	put it into work_share_list_free list of the current team.
15417	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15418	functions.
15419	(gomp_work_share_start, gomp_work_share_end,
15420	gomp_work_share_end_nowait): Rewritten.
15421	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15422	(openmp_version): Set to 200805.
15423	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15424	omp_sched_guided, omp_sched_auto): New parameters.
15425	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15426	omp_set_max_active_levels, omp_get_max_active_levels,
15427	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15428	omp_get_active_level): New interfaces.
15429	* omp_lib.h.in (openmp_version): Set to 200805.
15430	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15431	omp_sched_guided, omp_sched_auto): New parameters.
15432	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15433	omp_set_max_active_levels, omp_get_max_active_levels,
15434	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15435	omp_get_active_level): New externals.
15436	* loop.c: Include limits.h.
15437	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15438	GFS_AUTO.
15439	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15440	Likewise.  Use gomp_icv.
15441	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15442	ts.static_trip here.
15443	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15444	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
15445	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15446	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
15447	don't unlock ws->lock, otherwise lock it.
15448	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15449	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
15450	(gomp_parallel_loop_start): Call gomp_new_team instead of
15451	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
15452	Adjust gomp_team_start caller.  Pass 0 as second argument to
15453	gomp_resolve_num_threads.
15454	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15455	If adding ws->chunk_size nthreads + 1 times after end won't
15456	overflow, set ws->mode to 1.
15457	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15458	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15459	GOMP_loop_ull_ordered_static_start,
15460	GOMP_loop_ull_ordered_dynamic_start,
15461	GOMP_loop_ull_ordered_guided_start,
15462	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15463	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15464	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15465	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15466	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15467	prototypes.
15468	* libgomp.map: Export lock routines also @@OMP_2.0.
15469	(GOMP_loop_ordered_dynamic_first,
15470	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15471	GOMP_loop_ordered_static_first): Remove.
15472	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15473	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15474	GOMP_loop_ull_ordered_dynamic_next,
15475	GOMP_loop_ull_ordered_dynamic_start,
15476	GOMP_loop_ull_ordered_guided_next,
15477	GOMP_loop_ull_ordered_guided_start,
15478	GOMP_loop_ull_ordered_runtime_next,
15479	GOMP_loop_ull_ordered_runtime_start,
15480	GOMP_loop_ull_ordered_static_next,
15481	GOMP_loop_ull_ordered_static_start,
15482	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15483	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15484	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15485	(omp_set_schedule, omp_get_schedule,
15486	omp_get_thread_limit, omp_set_max_active_levels,
15487	omp_get_max_active_levels, omp_get_level,
15488	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15489	omp_set_schedule_, omp_set_schedule_8_,
15490	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15491	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15492	omp_get_max_active_levels_, omp_get_level_,
15493	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15494	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15495	New exports @@OMP_3.0.
15496	* omp.h.in (omp_sched_t): New type.
15497	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15498	omp_set_max_active_levels, omp_get_max_active_levels,
15499	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15500	omp_get_active_level): New prototypes.
15501	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15502	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15503	gomp_thread_limit_var, gomp_remaining_threads_count,
15504	gomp_remaining_threads_lock): New variables.
15505	(parse_spincount): New function.
15506	(initialize_env): Call gomp_init_num_threads unconditionally.
15507	Initialize gomp_available_cpus.  Call parse_spincount,
15508	initialize gomp_{,throttled_}spin_count_var
15509	depending on presence and value of OMP_WAIT_POLICY and
15510	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
15511	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15512	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
15513	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
15514	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
15515	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15516	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15517	(gomp_global_icv): New.
15518	(parse_schedule): Use it.  Parse "auto".
15519	(omp_set_num_threads): Use gomp_icv.
15520	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15521	Likewise.
15522	(omp_get_max_threads): Move from parallel.c.
15523	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15524	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15525	add ialias.
15526	(parse_stacksize, parse_wait_policy): New functions.
15527	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
15528	both wrappers for compatibility and new locks.
15529	(omp_set_schedule, omp_get_schedule,
15530	omp_get_thread_limit, omp_set_max_active_levels,
15531	omp_get_max_active_levels, omp_get_level,
15532	omp_get_ancestor_thread_num, omp_get_team_size,
15533	omp_get_active_level): New ialias_redirect.
15534	(omp_set_schedule_, omp_set_schedule_8_,
15535	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15536	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15537	omp_get_max_active_levels_, omp_get_level_,
15538	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15539	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15540	New functions.
15541	* parallel.c: Include limits.h.
15542	(gomp_resolve_num_threads): Add count argument.  Rewritten.
15543	(GOMP_parallel_start): Call gomp_new_team and pass that as last
15544	argument to gomp_team_start.  Pass 0 as second argument to
15545	gomp_resolve_num_threads.
15546	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
15547	if gomp_thread_limit_var != ULONG_MAX.
15548	(omp_in_parallel): Implement using ts.active_level.
15549	(omp_get_max_threads): Move to env.c.
15550	(omp_get_level, omp_get_ancestor_thread_num,
15551	omp_get_team_size, omp_get_active_level): New functions,
15552	add ialias.
15553	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15554	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
15555	gomp_iter_dynamic_next instead of the _locked variant and don't take
15556	lock around it, otherwise acquire it before calling
15557	gomp_iter_dynamic_next_locked.
15558	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15559	gomp_iter_dynamic_next instead of the _locked variant and don't take
15560	lock around it.
15561	(GOMP_parallel_sections_start): Call gomp_new_team instead of
15562	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
15563	Adjust gomp_team_start caller.  Pass count as second argument to
15564	gomp_resolve_num_threads, don't adjust num_threads after the call.
15565	Use gomp_icv.
15566	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15567	ws->chunk_size by incr.
15568	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
15569	code.
15570	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15571	types.
15572	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15573	(omp_check_defines): Check even the compat defines.
15574	* config/linux/ptrlock.c: New file.
15575	* config/linux/ptrlock.h: New file.
15576	* config/linux/wait.h: New file.
15577	* config/posix/ptrlock.c: New file.
15578	* config/posix/ptrlock.h: New file.
15579	* config/linux/bar.h (gomp_team_barrier_wait,
15580	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15581	(gomp_team_barrier_set_task_pending,
15582	gomp_team_barrier_clear_task_pending,
15583	gomp_team_barrier_set_waiting_for_tasks,
15584	gomp_team_barrier_waiting_for_tasks,
15585	gomp_team_barrier_done): New inlines.
15586	(gomp_barrier_t): Rewritten.
15587	(gomp_barrier_state_t): New typedef.
15588	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15589	gomp_barrier_wait_start): Rewritten.
15590	(gomp_barrier_wait_end): Change second argument to
15591	gomp_barrier_state_t.
15592	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15593	inlines.
15594	* config/linux/bar.c: Include wait.h instead of libgomp.h and
15595	futex.h.
15596	(gomp_barrier_wait_end): Rewritten.
15597	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15598	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15599	* config/posix/bar.h (gomp_barrier_t): Add generation field.
15600	(gomp_barrier_state_t): New typedef.
15601	(gomp_team_barrier_wait,
15602	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15603	(gomp_barrier_wait_start): Or all but low 2 bits from generation
15604	into the return value.  Return gomp_barrier_state_t.
15605	(gomp_team_barrier_set_task_pending,
15606	gomp_team_barrier_clear_task_pending,
15607	gomp_team_barrier_set_waiting_for_tasks,
15608	gomp_team_barrier_waiting_for_tasks,
15609	gomp_team_barrier_done): New inlines.
15610	(gomp_barrier_wait_end): Change second argument to
15611	gomp_barrier_state_t.
15612	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15613	inlines.
15614	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
15615	(gomp_barrier_wait_end): Change second argument to
15616	gomp_barrier_state_t.
15617	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15618	gomp_team_barrier_wake): New functions.
15619	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
15620	futex.h.
15621	(gomp_futex_wake, gomp_futex_wait): New variables.
15622	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15623	* config/linux/lock.c: Rewrite to make locks task owned,
15624	for backwards compatibility provide the old entrypoints
15625	if symbol versioning.  Include wait.h instead of libgomp.h and
15626	futex.h.
15627	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15628	* config/posix95/lock.c: Rewrite to make locks task owned,
15629	for backwards compatibility provide the old entrypoints
15630	if symbol versioning.
15631	* config/posix/lock.c: Rewrite to make locks task owned,
15632	for backwards compatibility provide the old entrypoints
15633	if symbol versioning.
15634	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15635	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15636	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
15637	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15638	(sys_futex0): Return error code.
15639	(futex_wake, futex_wait): If ENOSYS was returned, clear
15640	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15641	(cpu_relax, atomic_write_barrier): New static inlines.
15642	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15643	(futex_wake, futex_wait): If ENOSYS was returned, clear
15644	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15645	(cpu_relax, atomic_write_barrier): New static inlines.
15646	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15647	(sys_futex0): Return error code.
15648	(futex_wake, futex_wait): If ENOSYS was returned, clear
15649	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15650	(cpu_relax, atomic_write_barrier): New static inlines.
15651	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15652	(sys_futex0): Return error code.
15653	(futex_wake, futex_wait): If ENOSYS was returned, clear
15654	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15655	(cpu_relax, atomic_write_barrier): New static inlines.
15656	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15657	(sys_futex0): Return error code.
15658	(futex_wake, futex_wait): If ENOSYS was returned, clear
15659	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15660	(cpu_relax, atomic_write_barrier): New static inlines.
15661	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15662	(sys_futex0): Return error code.
15663	(futex_wake, futex_wait): If ENOSYS was returned, clear
15664	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15665	(cpu_relax, atomic_write_barrier): New static inlines.
15666	* config/linux/sem.c: Include wait.h instead of libgomp.h and
15667	futex.h.
15668	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15669	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15670	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15671	types.
15672	(omp_nest_lock_t): Change owner into void *, add lock field.
15673	* config/posix95/omp-lock.h: Include semaphore.h.
15674	(omp_lock_25_t, omp_nest_lock_25_t): New types.
15675	(omp_lock_t): Use sem_t instead of mutex if semaphores
15676	aren't broken.
15677	(omp_nest_lock_t): Likewise.  Change owner to void *.
15678	* config/posix/omp-lock.h: Include semaphore.h.
15679	(omp_lock_25_t, omp_nest_lock_25_t): New types.
15680	(omp_lock_t): Use sem_t instead of mutex if semaphores
15681	aren't broken.
15682	(omp_nest_lock_t): Likewise.  Add owner field.
15683
156842008-06-06  Jakub Jelinek  <jakub@redhat.com>
15685
15686	* testsuite/libgomp.c/collapse-1.c: New test.
15687	* testsuite/libgomp.c/collapse-2.c: New test.
15688	* testsuite/libgomp.c/collapse-3.c: New test.
15689	* testsuite/libgomp.c/icv-1.c: New test.
15690	* testsuite/libgomp.c/icv-2.c: New test.
15691	* testsuite/libgomp.c/lib-2.c: New test.
15692	* testsuite/libgomp.c/lock-1.c: New test.
15693	* testsuite/libgomp.c/lock-2.c: New test.
15694	* testsuite/libgomp.c/lock-3.c: New test.
15695	* testsuite/libgomp.c/loop-4.c: New test.
15696	* testsuite/libgomp.c/loop-5.c: New test.
15697	* testsuite/libgomp.c/loop-6.c: New test.
15698	* testsuite/libgomp.c/loop-7.c: New test.
15699	* testsuite/libgomp.c/loop-8.c: New test.
15700	* testsuite/libgomp.c/loop-9.c: New test.
15701	* testsuite/libgomp.c/nested-3.c: New test.
15702	* testsuite/libgomp.c/nestedfn-6.c: New test.
15703	* testsuite/libgomp.c/sort-1.c: New test.
15704	* testsuite/libgomp.c/task-1.c: New test.
15705	* testsuite/libgomp.c/task-2.c: New test.
15706	* testsuite/libgomp.c/task-3.c: New test.
15707	* testsuite/libgomp.c/task-4.c: New test.
15708	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15709	to C++ testsuite default compiler options.
15710	* testsuite/libgomp.c++/collapse-1.C: New test.
15711	* testsuite/libgomp.c++/collapse-2.C: New test.
15712	* testsuite/libgomp.c++/ctor-10.C: New test.
15713	* testsuite/libgomp.c++/for-1.C: New test.
15714	* testsuite/libgomp.c++/for-2.C: New test.
15715	* testsuite/libgomp.c++/for-3.C: New test.
15716	* testsuite/libgomp.c++/for-4.C: New test.
15717	* testsuite/libgomp.c++/for-5.C: New test.
15718	* testsuite/libgomp.c++/loop-8.C: New test.
15719	* testsuite/libgomp.c++/loop-9.C: New test.
15720	* testsuite/libgomp.c++/loop-10.C: New test.
15721	* testsuite/libgomp.c++/task-1.C: New test.
15722	* testsuite/libgomp.c++/task-2.C: New test.
15723	* testsuite/libgomp.c++/task-3.C: New test.
15724	* testsuite/libgomp.c++/task-4.C: New test.
15725	* testsuite/libgomp.c++/task-5.C: New test.
15726	* testsuite/libgomp.c++/task-6.C: New test.
15727	* testsuite/libgomp.fortran/allocatable1.f90: New test.
15728	* testsuite/libgomp.fortran/allocatable2.f90: New test.
15729	* testsuite/libgomp.fortran/allocatable3.f90: New test.
15730	* testsuite/libgomp.fortran/allocatable4.f90: New test.
15731	* testsuite/libgomp.fortran/collapse1.f90: New test.
15732	* testsuite/libgomp.fortran/collapse2.f90: New test.
15733	* testsuite/libgomp.fortran/collapse3.f90: New test.
15734	* testsuite/libgomp.fortran/collapse4.f90: New test.
15735	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
15736	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
15737	* testsuite/libgomp.fortran/lib4.f90: New test.
15738	* testsuite/libgomp.fortran/lock-1.f90: New test.
15739	* testsuite/libgomp.fortran/lock-2.f90: New test.
15740	* testsuite/libgomp.fortran/nested1.f90: New test.
15741	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
15742	* testsuite/libgomp.fortran/strassen.f90: New test.
15743	* testsuite/libgomp.fortran/tabs1.f90: New test.
15744	* testsuite/libgomp.fortran/tabs2.f: New test.
15745	* testsuite/libgomp.fortran/task1.f90: New test.
15746	* testsuite/libgomp.fortran/task2.f90: New test.
15747	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15748	* testsuite/libgomp.fortran/vla5.f90: Likewise.
15749	* testsuite/libgomp.c/pr26943-2.c: Likewise.
15750	* testsuite/libgomp.c/pr26943-3.c: Likewise.
15751	* testsuite/libgomp.c/pr26943-4.c: Likewise.
15752
157532008-05-23  Jakub Jelinek  <jakub@redhat.com>
15754
15755	PR c++/36308
15756	* testsuite/libgomp.c++/ctor-11.C: New test.
15757	* testsuite/libgomp.c++/ctor-12.C: New test.
15758
157592008-05-15  Janis Johnson  <janis187@us.ibm.com>
15760
15761	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15762
157632008-05-07  Jakub Jelinek  <jakub@redhat.com>
15764
15765	PR middle-end/36106
15766	* testsuite/libgomp.c/atomic-5.c: New test.
15767	* testsuite/libgomp.c/atomic-6.c: New test.
15768	* testsuite/libgomp.c/autopar-1.c: New test.
15769
157702008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15771
15772	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15773	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15774	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15775	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15776	* configure: Regenerate.
15777	* Makefile.in, testsuite/Makefile.in: Likewise.
15778
157792008-04-18  Paolo Bonzini  <bonzini@gnu.org>
15780
15781	PR bootstrap/35457
15782	* aclocal.m4: Regenerate.
15783	* configure: Regenerate.
15784
157852008-03-18  Jakub Jelinek  <jakub@redhat.com>
15786
15787	PR middle-end/35611
15788	* testsuite/libgomp.c/atomic-4.c: New test.
15789
15790	PR libgomp/35625
15791	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15792	(gomp_iter_guided_next): Likewise.
15793	* testsuite/libgomp.c/pr35625.c: New test.
15794
157952008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15796
15797	* aclocal.m4: Regenerate.
15798	* configure: Likewise.
15799	* Makefile.in: Likewise.
15800	* testsuite/Makefile.in: Likewise.
15801
158022008-03-13  Jakub Jelinek  <jakub@redhat.com>
15803
15804	PR middle-end/35185
15805	* testsuite/libgomp.c++/pr35185.C: New test.
15806
158072008-03-12  Jakub Jelinek  <jakub@redhat.com>
15808
15809	PR middle-end/35549
15810	* testsuite/libgomp.c/pr35549.c: New test.
15811
158122008-03-06  Jakub Jelinek  <jakub@redhat.com>
15813
15814	* testsuite/libgomp.c/atomic-3.c: New test.
15815
158162008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
15817
15818	PR fortran/33197
15819	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15820	.F08 file suffixes.
15821
158222008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
15823
15824	PR libgomp/33131
15825	* configure.ac: Add ACX_HEADER_STRING.
15826	* env.c: Include strings.h.
15827	* aclocal.m4: Regenerate.
15828	* config.h.in: Regenerate.
15829	* configure: Regenerate.
15830	* Makefile.in: Regenerate.
15831	* testsuite/Makefile.in: Regenerate.
15832
158332008-02-15  Jakub Jelinek  <jakub@redhat.com>
15834
15835	PR middle-end/35196
15836	* testsuite/libgomp.c/pr35196.c: New test.
15837
15838	PR middle-end/35130
15839	* testsuite/libgomp.fortran/pr35130.f90: New test.
15840	* testsuite/libgomp.c/pr35130.c: New test.
15841
158422008-01-25  Jakub Jelinek  <jakub@redhat.com>
15843
15844	PR middle-end/33880
15845	* testsuite/libgomp.c/pr33880.c: New test.
15846	* testsuite/libgomp.fortran/pr33880.f90: New test.
15847
158482008-01-24  David Edelsohn  <edelsohn@gnu.org>
15849
15850	* configure: Regenerate.
15851
158522008-01-08  Jakub Jelinek  <jakub@redhat.com>
15853
15854	* configure.ac: Move futex checking into ../config/futex.m4.
15855	* configure: Rebuilt.
15856	* aclocal.m4: Rebuilt.
15857	* Makefile.in: Rebuilt.
15858
15859	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15860	2007-10-15 ../config/tls.m4 change.
15861
158622007-12-19  Jakub Jelinek  <jakub@redhat.com>
15863
15864	PR c++/34513
15865	* testsuite/libgomp.c/pr34513.c: New test.
15866	* testsuite/libgomp.c++/pr34513.C: New test.
15867
158682007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
15869
15870	PR target/32765
15871	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15872
158732007-12-04  Jakub Jelinek  <jakub@redhat.com>
15874
15875	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
15876
158772007-12-03  Jakub Jelinek  <jakub@redhat.com>
15878
15879	* testsuite/libgomp.c/private-1.c: New test.
15880
158812007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
15882	    Paolo Bonzini  <bonzini@gnu.org>
15883
15884	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
15885	instead of 'VPATH ='.
15886	* Makefile.in: Regenerate.
15887
158882007-11-23  Matthias Klose  <doko@ubuntu.com>
15889
15890	* configure.ac: Adjust makeinfo version check.
15891	* configure: Regenerate.
15892
158932007-11-10  Jakub Jelinek  <jakub@redhat.com>
15894
15895	PR fortran/34020
15896	* testsuite/libgomp.fortran/pr34020.f90: New test.
15897
158982007-11-06  Jakub Jelinek  <jakub@redhat.com>
15899
15900	PR c++/33894
15901	* testsuite/libgomp.c++/atomic-1.C: New test.
15902
159032007-10-25  Jakub Jelinek  <jakub@redhat.com>
15904
15905	PR libgomp/33275
15906	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15907	Make x and y integers rather than (implicit) reals.  Add private (j)
15908	clause to the last omp parallel.
15909
159102007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
15911
15912	* configure: Regenerate following changes to ../config/tls.m4.
15913
159142007-09-28  Jakub Jelinek  <jakub@redhat.com>
15915
15916	* testsuite/libgomp.fortran/stack.f90: New test.
15917
159182007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
15919
15920	* config/mingw32/proc.c: New file.
15921
159222007-09-05  Uros Bizjak  <ubizjak@gmail.com>
15923
15924	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15925	(main): Use __get_cpuid to get i386 target fetaures.
15926	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15927	(main): Use __get_cpuid to get x86_64 target fetaures.
15928
159292007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
15930
15931	PR target/32765
15932	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15933	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15934
159352007-07-12  Jakub Jelinek  <jakub@redhat.com>
15936
15937	PR fortran/32550
15938	* testsuite/libgomp.fortran/pr32550.f90: New test.
15939	* testsuite/libgomp.fortran/crayptr2.f90: New test.
15940
159412007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
15942
15943	* aclocal.m4: Regenerated.
15944
159452007-07-05  Tobias Burnus  <burnus@net-b.de>
15946
15947	PR fortran/32359
15948	* testsuite/libgomp.fortran/pr32359.f90: New.
15949
159502007-07-02  Jakub Jelinek  <jakub@redhat.com>
15951
15952	PR libgomp/32468
15953	* sections.c (GOMP_parallel_sections_start): Only decrease
15954	number of threads to COUNT if dyn_var is true.
15955	* testsuite/libgomp.c/pr32468.c: New test.
15956
159572007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15958
15959	PR libgomp/26308
15960	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15961
159622007-06-21  Jakub Jelinek  <jakub@redhat.com>
15963
15964	PR middle-end/32362
15965	* testsuite/libgomp.c/pr32362-1.c: New test.
15966	* testsuite/libgomp.c/pr32362-2.c: New test.
15967	* testsuite/libgomp.c/pr32362-3.c: New test.
15968
159692007-06-07  Jakub Jelinek  <jakub@redhat.com>
15970
15971	* team.c (gomp_team_start): Fix setting up thread_attr
15972	stack size.
15973
159742007-06-02  Paolo Bonzini  <bonzini@gnu.org>
15975
15976	* configure: Regenerate.
15977
159782007-05-23  Steve Ellcey  <sje@cup.hp.com>
15979
15980	* Makefile.in: Regenerate.
15981	* configure: Regenerate.
15982	* aclocal.m4: Regenerate.
15983	* testsuite/Makefile.in: Regenerate.
15984
159852007-05-04  Jakub Jelinek  <jakub@redhat.com>
15986
15987	* config/linux/proc.c: New file.
15988
15989	PR libgomp/28482
15990	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15991
159922007-04-19  Daniel Franke  <franke.daniel@gmail.com>
15993
15994	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15995
159962007-04-16  Matthias Klose  <doko@debian.org>
15997
15998	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15999	flags if not building with -m64.
16000	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16001	flag for i?86-*-* targets, if current target matches -m64.
16002
160032007-04-14  Steve Ellcey  <sje@cup.hp.com>
16004
16005	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16006	* Makefile.in: Regenerate.
16007
160082007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16009
16010	PR testsuite/31369
16011	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16012	ld_library_path.
16013	* testsuite/libgomp.fortran/fortran.exp: Likewise.
16014
160152007-04-04  Jakub Jelinek  <jakub@redhat.com>
16016
16017	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16018	decls.
16019	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16020	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16021	(parse_affinity): New function.
16022	(initialize_env): Call it and gomp_init_affinity.
16023	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16024	create new pthread_attr_t and call gomp_init_thread_affinity
16025	on it for each thread before passing the attribute to pthread_create.
16026	* config/linux/affinity.c: New file.
16027	* config/posix/affinity.c: New file.
16028	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16029	* configure: Rebuilt.
16030	* config.h.in: Rebuilt.
16031	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16032	* Makefile.in: Rebuilt.
16033
160342007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
16035
16036	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16037	*-*-darwin*.
16038	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16039	and use it if found.
16040
160412007-03-18  Uros Bizjak  <ubizjak@gmail.com>
16042
16043	* testsuite/config/default.exp: New file.
16044	* testsuite/lib/libgomp.exp: New file.
16045	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16046	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16047	load_lib *, load_gcc_lib *): Move to libgomp.exp.
16048	(libgomp_load): Remove.
16049	* testsuite/lib/libgomp.exp (libgomp_init): Compute
16050	always_ld_library_path, not ld_library_path.  Set additional_flags
16051	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16052	(target_compile): Do not call libgomp_init.  Append lang_library_path
16053	and lang_link_flags to options.
16054	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
16055	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
16056	here.
16057	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16058	always_ld_library_path.  Set LD_LIBRARY_PATH here.
16059	* testsuite/libgomp.fortran/fortran.exp: Ditto.
16060	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
16061	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16062	CX8 flag.
16063	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16064	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16065	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16066	* testsuite/libgomp.c/pr29947-1.c: Ditto.
16067	* testsuite/libgomp.c/atomic-10.c: Ditto.
16068
160692007-03-21  Jakub Jelinek  <jakub@redhat.com>
16070
16071	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16072	dg-final cleanup-modules line.
16073	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16074	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16075	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16076	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16077	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
16078	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16079	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16080
160812007-03-18  Andreas Schwab  <schwab@suse.de>
16082
16083	* acinclude.m4: Adjust regular expression for ld version
16084	extraction.
16085	* configure: Regenerate.
16086
160872007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
16088
16089	* Makefile.am: Add install-pdf target as copied from
16090	automake v1.10 rules.
16091	* Makefile.in: Regenerate
16092
160932007-02-07  Jakub Jelinek  <jakub@redhat.com>
16094
16095	PR libgomp/28486
16096	* configure: Regenerate.
16097
16098	PR c++/30703
16099	* testsuite/libgomp.c++/pr30703.C: New test.
16100
161012007-02-02  Jakub Jelinek  <jakub@redhat.com>
16102
16103	Revert:
16104	2006-07-05  Eric Christopher  <echristo@apple.com>
16105	* configure.ac: Depend addition of -pthread on host OS.
16106	* configure: Regenerate.
16107
161082007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16109
16110	* libgomp.texi: Fix spacing after abbreviations.
16111
161122007-01-31  Daniel Franke <franke.daniel@gmail.com>
16113
16114	PR libgomp/30546
16115	* configure.ac: Add check for makeinfo
16116	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
16117	if an appropriate version of makeinfo is found.
16118	* aclocal.m4: Regenerated.
16119	* configure: Regenerated.
16120	* Makefile.in: Regenerated.
16121	* testsuite/Makefile.in: Regenerated.
16122
161232007-01-29  Daniel Franke <franke.daniel@gmail.com>
16124
16125	PR libgomp/30540
16126	* libgomp.texi: More about implementation-dependent settings.
16127
161282007-01-26  Tobias Burnus  <burnus@net-b.de>
16129
16130	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16131
161322007-01-24  Jakub Jelinek  <jakub@redhat.com>
16133
16134	PR middle-end/30494
16135	* testsuite/libgomp.c/pr30494.c: New test.
16136
161372007-01-15  Tom Tromey  <tromey@redhat.com>
16138
16139	* configure: Rebuilt.
16140	* configure.ac: Fixed comment.
16141
161422007-01-14  Daniel Franke  <franke.daniel@gmail.com>
16143
16144	* libgomp.texi: Document implementation specific default values of
16145	environment variables.
16146
161472006-12-21  Daniel Franke  <franke.daniel@gmail.com>
16148
16149	PR libgomp/28209
16150	* libgomp.texi: New file.
16151	* configure.ac: Add --enable-generated-files-in-srcdir option.
16152	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16153	files to srcdir.
16154	* Makefile.in: Regenerated.
16155	* config.h.in: Regenerated.
16156	* testsuite/Makefile.in: Regenerated.
16157	* NOTES: Removed.
16158
161592006-12-04  Daniel Franke  <franke.daniel@gmail.com>
16160
16161	PR libgomp/29949
16162	* env.c (omp_set_num_threads): Set illegal thread count to 1.
16163
161642006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
16165
16166	* configure: Regenerate.
16167
161682006-12-04  Jakub Jelinek  <jakub@redhat.com>
16169
16170	PR libgomp/29947
16171	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
16172	start if there shouldn't be any loop iterations.
16173	(gomp_loop_ordered_static_start): Remove start == end test.
16174	* testsuite/libgomp.c/pr29947-1.c: New test.
16175	* testsuite/libgomp.c/pr29947-2.c: New test.
16176
161772006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
16178
16179	* configure.tgt: Force initial-exec TLS model on Linux only.
16180
161812006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
16182
16183	* configure: Regenerated.
16184
161852006-11-09  Uros Bizjak  <ubizjak@gmail.com>
16186
16187	* env.c (parse_schedule): Reject out of range values.
16188	(parse_unsigned_long): Reject out of range, negative or zero values.
16189
161902006-10-29  Jakub Jelinek  <jakub@redhat.com>
16191
16192	PR fortran/29629
16193	* testsuite/libgomp.fortran/pr29629.f90: New test.
16194
161952006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
16196
16197	PR libgomp/29494
16198	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16199	* config/posix95: New directory.
16200	* config/posix95/omp-lock.h: New file.
16201	* config/posix95/lock.c: Likewise.
16202
162032006-10-14  Geoffrey Keating  <geoffk@apple.com>
16204
16205	* aclocal.m4: Regenerate.
16206	* configure: Regenerate.
16207
162082006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
16209
16210	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16211	'<' to '<='.
16212
162132006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
16214
16215	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16216	test.
16217	* configure: Regenerate.
16218	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16219
162202006-09-26  Jakub Jelinek  <jakub@redhat.com>
16221
16222	PR middle-end/25261
16223	PR middle-end/28790
16224	* testsuite/libgomp.c/nestedfn-4.c: New test.
16225	* testsuite/libgomp.c/nestedfn-5.c: New test.
16226	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
16227
16228	PR fortran/29097
16229	* testsuite/libgomp.fortran/condinc1.f: New test.
16230	* testsuite/libgomp.fortran/condinc2.f: New test.
16231	* testsuite/libgomp.fortran/condinc3.f90: New test.
16232	* testsuite/libgomp.fortran/condinc4.f90: New test.
16233	* testsuite/libgomp.fortran/condinc1.inc: New file.
16234
162352006-09-18  Tom Tromey  <tromey@redhat.com>
16236
16237	* configure: Rebuilt.
16238
162392006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
16240
16241	PR c/28768
16242	PR preprocessor/14634
16243	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16244	to AC_DEFINE.
16245	* configure: Regenerate.
16246
162472006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
16248
16249	* testsuite/libgomp.fortran/reduction3.f90: Change
16250	-2147483648 to -huge(i)-1 to avoid overflow.
16251	* testsuite/libgomp.fortran/reduction4.f90: Change
16252	Z'ffffffff' to not(0) to avoid overflow.
16253
162542006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
16255
16256	PR libgomp/25938
16257	* Makefile.am (libsubincludedir): New.
16258	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16259	* Makefile.in: Regenerate.
16260
162612006-08-17  Jakub Jelinek  <jakub@redhat.com>
16262
16263	PR libgomp/28725
16264	* env.c: Include ctype.h.
16265	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
16266	leading and/or trailing whitespace and compare strings case
16267	insensitively.
16268
162692006-07-16  Jakub Jelinek  <jakub@redhat.com>
16270
16271	PR fortran/28390
16272	* testsuite/libgomp.fortran/pr28390.f: New test.
16273
162742006-07-05  Eric Christopher  <echristo@apple.com>
16275
16276	* configure.ac: Depend addition of -pthread on host OS.
16277	* configure: Regenerate.
16278
162792006-06-21  Jakub Jelinek  <jakub@redhat.com>
16280
16281	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
16282	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16283	defined.
16284
162852006-06-20  Jakub Jelinek  <jakub@redhat.com>
16286
16287	PR libgomp/26175
16288	PR libgomp/26477
16289	* configure.ac: If neither --enable-linux-futex nor
16290	--disable-linux-futex is passed, determine the default by checking
16291	for compiling and/or running against NPTL.  With --enable-linux-futex,
16292	check if SYS_gettid and SYS_futex are defined.
16293	* configure: Rebuilt.
16294
162952006-06-14  Richard Henderson  <rth@redhat.com>
16296
16297	PR libgomp/28008
16298	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16299	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16300
163012006-06-09  Richard Henderson  <rth@redhat.com>
16302
16303	* env.c (gomp_nthreads_var): Change to unsigned long.
16304	(gomp_run_sched_chunk): Likewise.
16305	(parse_unsigned_long): Rename from parse_num_threads and generalize.
16306	(initialize_env): Initialize gomp_thread_attr.
16307	* libgomp.h (gomp_nthreads_var): Update decl.
16308	(gomp_run_sched_chunk): Likewise.
16309	(gomp_thread_attr): Declare.
16310	* team.c (gomp_thread_attr): Export.
16311	(initialize_team): Don't initialize it.
16312
163132006-06-09  Jakub Jelinek  <jakub@redhat.com>
16314
16315	PR fortran/27916
16316	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
16317	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
16318
163192006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
16320
16321	* config/mingw32/time.c: New file.
16322	* configure.tgt: Use it.
16323
163242006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
16325
16326	* Makefile.am: Add install-html target. Add install-html to .PHONY
16327	* Makefile.in: Regenerate.
16328
163292006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16330
16331	PR libgomp/27612
16332	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16333	* testsuite/libgomp.c/critical-1.c: Likewise.
16334	* testsuite/libgomp.c/loop-1.c: Likewise.
16335	* testsuite/libgomp.c/loop-2.c: Likewise.
16336	* testsuite/libgomp.c/single-1.c: Likewise.
16337	* testsuite/libgomp.c/ordered-1.c: Likewise.
16338	* testsuite/libgomp.c/ordered-2.c: Likewise.
16339
163402006-05-15  Jakub Jelinek  <jakub@redhat.com>
16341
16342	PR middle-end/27416
16343	* libgomp.fortran/pr27416-1.f90: New test.
16344
163452006-05-03  Jakub Jelinek  <jakub@redhat.com>
16346
16347	PR fortran/27395
16348	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
16349	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
16350
163512006-05-02  Jakub Jelinek  <jakub@redhat.com>
16352
16353	PR c++/26943
16354	* testsuite/libgomp.c/pr26943-1.c: New test.
16355	* testsuite/libgomp.c/pr26943-2.c: New test.
16356	* testsuite/libgomp.c/pr26943-3.c: New test.
16357	* testsuite/libgomp.c/pr26943-4.c: New test.
16358	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
16359	* testsuite/libgomp.c++/pr26943.C: New test.
16360
163612006-05-02  Jakub Jelinek  <jakub@redhat.com>
16362
16363	PR middle-end/27337
16364	* testsuite/libgomp.c++/pr27337.C: New test.
16365
163662006-04-26  Jakub Jelinek  <jakub@redhat.com>
16367
16368	PR c/26171
16369	* testsuite/libgomp.c/pr26171.c: New test.
16370
163712006-04-25  Richard Henderson  <rth@redhat.com>
16372
16373	PR libgomp/25865
16374	* configure.ac: Use GCC_CHECK_TLS.
16375	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16376	* Makefile.in, aclocal.m4, configure: Regenerate.
16377
163782006-04-10  Matthias Klose  <doko@debian.org>
16379
16380	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16381	directory names containing underscores.
16382
163832006-03-21  Jakub Jelinek  <jakub@redhat.com>
16384
16385	PR c++/26691
16386	* testsuite/libgomp.c++/pr26691.C: New test.
16387
163882006-03-13  Jakub Jelinek  <jakub@redhat.com>
16389
16390	* testsuite/libgomp.fortran/retval2.f90: New test.
16391
163922006-03-09  Diego Novillo  <dnovillo@redhat.com>
16393
16394	* testsuite/libgomp.c++: New directory.
16395
163962006-02-25  Shantonu Sen  <ssen@opendarwin.org>
16397
16398	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16399	* config/posix/sem.c: Implement the above.
16400
164012006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
16402
16403	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16404	define HAVE_BROKEN_POSIX_SEMAPHORES.
16405	* configure: Rebuilt.
16406	* config.h.in: Rebuilt.
16407
164082006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
16409
16410	PR bootstrap/26161
16411	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16412	for the other pthread check.
16413	* configure: Regenerate.
16414	* config.h.in: Regenerate.
16415
164162006-02-15  Jakub Jelinek  <jakub@redhat.com>
16417
16418	PR libgomp/25938
16419	PR libgomp/25984
16420	* Makefile.am (fincludedir): New variable.
16421	(nodist_include_HEADERS): Remove Fortran files.
16422	(nodist_finclude_HEADERS): New variable.
16423	* Makefile.in: Regenerated.
16424
164252006-02-13  Jakub Jelinek  <jakub@redhat.com>
16426
16427	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16428	Remove tests for returning assumed character length arrays.
16429
164302006-02-12  Roger Sayle  <roger@eyesopen.com>
16431	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
16432
16433	PR libgomp/25936
16434	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16435
164362006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
16437
16438	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16439
164402006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
16441
16442	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16443	part of LD_LIBRARY_PATH manually.
16444
164452006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
16446
16447	PR libgomp/25852
16448	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
16449	libgomp_init.
16450
164512005-01-25  Paolo Bonzini  <bonzini@gnu.org>
16452
16453	PR libgomp/25884
16454	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16455	* configure.ac (PERL): Don't set.
16456	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16457	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16458	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16459	* omp.h.in: Wrap the new configure substitutions with @ characters.
16460	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16461	* aclocal.m4, configure, Makefile.in: Regenerate.
16462	* mkomp_h.pl: Delete.
16463
164642005-01-24  Paolo Bonzini  <bonzini@gnu.org>
16465
16466	PR libgomp/25259
16467	* configure.ac: Use GCC_HEADER_STDINT.
16468	* libgomp.h: Include gstdint.h.
16469	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16470	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16471
164722006-01-24  Richard Henderson  <rth@redhat.com>
16473
16474	PR libgomp/25942
16475	* configure.ac: Add AM_MAINTAINER_MODE.
16476	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16477
164782006-01-24  Diego Novillo  <dnovillo@redhat.com>
16479
16480	* Makefile.in: Regenerate.
16481	* testsuite/Makefile.in: Regenerate.
16482	* aclocal.m4: Regenerate.
16483
164842006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
16485
16486	* config/posix/proc.c: Conditional include of sys/loadavg.h for
16487	Solaris.
16488	* configure.ac: Add check for loadavg.h.
16489	(link_gomp): Adjust comment.
16490	* configure: Regenerate.
16491	* config.h.in: Regenerate.
16492
164932006-01-21  Steve Ellcey  <sje@cup.hp.com>
16494
16495	PR libgomp/25877
16496	* configure.ac: Remove check for alloca.h.
16497	* configure: Regenerate.
16498	* config.h.in: Regenerate.
16499	* libgomp.h: define gomp_alloca to be __builtin_alloca.
16500	* team.c: Remove use of alloca.h.
16501	Call gomp_alloca instead of alloca.
16502
165032006-01-20  Steve Ellcey  <sje@cup.hp.com>
16504
16505	PR libgomp/25877
16506	* team.c: Add include of alloca.h.
16507	* configure.ac: Add check for alloca.h.
16508	* configure: Regenerate.
16509	* config.h.in: Regenerate.
16510
165112006-01-17  Jakub Jelinek  <jakub@redhat.com>
16512
16513	PR fortran/25219
16514	* testsuite/libgomp.fortran/pr25219.f90: New test.
16515
165162005-12-05  Uros Bizjak  <uros@kss-loka.si>
16517
16518	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16519	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16520	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16521	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16522	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16523	testsuite/libgomp.fortran/threadprivate1.f90,
16524	testsuite/libgomp.fortran/threadprivate2.f90,
16525	testsuite/libgomp.fortran/threadprivate3.f90,
16526	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16527	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16528	testsuite/libgomp.fortran/omp_parse3.f90: Change required
16529	effective-target to TLS runtime.
16530
16531	* testsuite/libgomp.fortran/pr25162.f: Require
16532	effective-target TLS runtime.
16533
165342005-12-01  Jakub Jelinek  <jakub@redhat.com>
16535
16536	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
16537	* testsuite/libgomp.c/nestedfn-3.c: New test.
16538
165392005-11-30  Jakub Jelinek  <jakub@redhat.com>
16540
16541	PR fortran/25162
16542	* testsuite/libgomp.fortran/pr25162.f: New test.
16543
165442005-11-28  Jakub Jelinek  <jakub@redhat.com>
16545
16546	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16547	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16548
165492005-11-25  Jakub Jelinek  <jakub@redhat.com>
16550
16551	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16552	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16553	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16554	single.c, team.c, work.c, config/linux/alpha/futex.h,
16555	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16556	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16557	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16558	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16559	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16560	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16561	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16562	FSF address.
16563
165642005-11-18  Jakub Jelinek  <jakub@redhat.com>
16565
16566	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16567	to nodist_noinst_HEADERS.
16568	* Makefile.in: Rebuilt.
16569
16570	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16571	add integer count field.
16572	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16573	omp_nest_lock_t type change.
16574	(omp_init_nest_lock): Likewise.  Initialize count to 0.
16575	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16576	Increment count.
16577	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16578	Decrement count.
16579	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16580	Increment count if successful and return the new nesting level.
16581	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16582	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16583	* testsuite/libgomp.c/lib-1.c: New test.
16584	* testsuite/libgomp.fortran/lib1.f90: New test.
16585	* testsuite/libgomp.fortran/lib2.f: New test.
16586	* testsuite/libgomp.fortran/lib3.f: New test.
16587
165882005-11-17  Richard Henderson  <rth@redhat.com>
16589
16590	PR 24845
16591	* Makefile.am (nodist_toolexeclib_HEADERS): New.
16592	* configure.ac (link_gomp): New.  Substitute it.
16593	(AC_CONFIG_FILES): Add libgomp.spec.
16594	* libgomp.spec.in: New file.
16595	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16596	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16597
165982005-11-18  Jakub Jelinek  <jakub@redhat.com>
16599
16600	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
16601	reduction(-:var) behaving the same as reduction(+:var).
16602	* testsuite/libgomp.c/reduction-4.c: New test.
16603
166042005-11-15  Uros Bizjak  <uros@kss-loka.si>
16605
16606	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16607	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16608	testsuite/libgomp.c/copyin-3.c,
16609	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16610	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16611	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16612	testsuite/libgomp.c++/pr24455.C,
16613	testsuite/libgomp.fortran/threadprivate1.f90,
16614	testsuite/libgomp.fortran/threadprivate2.f90,
16615	testsuite/libgomp.fortran/threadprivate3.f90,
16616	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16617	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16618	testsuite/libgomp.fortran/omp_parse3.f90: Require
16619	effective-target TLS.
16620
166212005-11-14  Diego Novillo  <dnovillo@redhat.com>
16622
16623	* HEADER: Remove.
16624
166252005-11-13  Jakub Jelinek  <jakub@redhat.com>
16626
16627	PR libgomp/24797
16628	* team.c (initialize_team): Pass NULL rather than free as
16629	pthread_key_create destructor.  Initialize thread specific data
16630	pointer in initial thread to a static local variable rather than
16631	malloced memory.
16632
166332005-11-11  Uros Bizjak  <uros@kss-loka.si>
16634
16635	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16636	its location to ld_library_path.
16637
166382005-11-10  Diego Novillo  <dnovillo@redhat.com>
16639
16640	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
16641
166422005-11-10  Diego Novillo  <dnovillo@redhat.com>
16643
16644	* testsuite/libgomp.c: Rename from libgomp.dg.
16645
166462005-11-09  Diego Novillo  <dnovillo@redhat.com>
16647
16648	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16649	threadprivate variable 'i'.
16650
166512005-11-09  Jakub Jelinek  <jakub@redhat.com>
16652
16653	* config/linux/s390/futex.h: New file.
16654	* configure.tgt: Use it.
16655
16656	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16657	before the parallel.
16658
166592005-11-08  Jakub Jelinek  <jakub@redhat.com>
16660
16661	PR c++/24734
16662	* testsuite/libgomp.c++/master-1.C: New test.
16663
166642005-11-07  Jakub Jelinek  <jakub@redhat.com>
16665
16666	* testsuite/libgomp.dg/copyin-3.c: New test.
16667
166682005-11-07  Jakub Jelinek  <jakub@redhat.com>
16669
16670	* testsuite/libgomp.fortran/retval1.f90: New test.
16671	* testsuite/libgomp.fortran/vla7.f90: New test.
16672
166732005-11-06  Jakub Jelinek  <jakub@redhat.com>
16674
16675	* testsuite/libgomp.fortran/vla2.f90: New test.
16676	* testsuite/libgomp.fortran/vla3.f90: New test.
16677	* testsuite/libgomp.fortran/vla4.f90: New test.
16678	* testsuite/libgomp.fortran/vla5.f90: New test.
16679	* testsuite/libgomp.fortran/vla6.f90: New test.
16680
166812005-11-01  Jakub Jelinek  <jakub@redhat.com>
16682
16683	* config/linux/sparc/futex.h: New file.
16684	* configure.tgt: Use it.
16685	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16686
16687	* critical.c: Include stdlib.h.
16688	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16689	ignoring return value.
16690	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16691	LIBGOMP_CHECK_SYNC_BUILTINS check.
16692	* configure: Rebuilt.
16693
166942005-10-31  Jakub Jelinek  <jakub@redhat.com>
16695
16696	* testsuite/libgomp.fortran/vla1.f90: New test.
16697
166982005-10-31  Richard Henderson  <rth@redhat.com>
16699
16700	* testsuite/libgomp.fortran/character2.f90: Fix race condition
16701	setting 's' in different threads.
16702
167032005-10-31  Jakub Jelinek  <jakub@redhat.com>
16704
16705	* libgomp.h (attribute_hidden, ialias): Define.
16706	* config/posix/proc.c (omp_get_num_procs): Add ialias.
16707	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16708	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16709	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16710	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16711	omp_test_lock, omp_test_nest_lock): Likewise.
16712	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16713	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16714	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16715	omp_test_lock, omp_test_nest_lock): Likewise.
16716	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16717	omp_get_dynamic, omp_get_nested): Likewise.
16718	* parallel.c (omp_get_num_threads, omp_get_max_threads,
16719	omp_get_thread_num, omp_in_parallel): Likewise.
16720	* fortran.c (ialias_redirect): Define.
16721	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16722	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16723	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16724	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16725	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16726	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16727	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16728	omp_get_wtime): Add ialias_redirect.
16729
167302005-10-30  Jakub Jelinek  <jakub@redhat.com>
16731
16732	* fortran.c: Include stdlib.h.
16733
167342005-10-29  Jakub Jelinek  <jakub@redhat.com>
16735
16736	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16737	* Makefile.in: Regenerated.
16738
167392005-10-28  Jakub Jelinek  <jakub@redhat.com>
16740
16741	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16742	* libgomp_f.h.in (omp_check_defines): New function.
16743	* env.c: Include libgomp_f.h.
16744	(initialize_env): Call omp_check_defines.
16745
16746	* testsuite/libgomp.dg/copyin-2.c: New test.
16747	* testsuite/libgomp.c++/copyin-2.C: New test.
16748	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
16749
16750	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
16751	* testsuite/libgomp.fortran/sharing2.f90: New test.
16752
16753	* testsuite/libgomp.dg/copyin-1.c: New test.
16754	* testsuite/libgomp.c++/copyin-1.C: New test.
16755
167562005-10-26  Jakub Jelinek  <jakub@redhat.com>
16757
16758	* testsuite/libgomp.fortran/crayptr1.f90: New test.
16759
16760	* testsuite/libgomp.fortran/workshare1.f90: New test.
16761
16762	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16763	only test.
16764	* libgomp.fortran/sharing1.f90: New test.
16765
167662005-10-24  Jakub Jelinek  <jakub@redhat.com>
16767
16768	PR c++/24502
16769	* testsuite/libgomp.c++/loop-7.C: New test.
16770
16771	* testsuite/libgomp.dg/nestedfn-2.c: New test.
16772
16773	* testsuite/libgomp.dg/nestedfn-1.c: New test.
16774	* testsuite/libgomp.fortran/reduction6.f90: New test.
16775	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
16776
167772005-10-23  Richard Henderson  <rth@redhat.com>
16778
16779	* testsuite/libgomp.c++/ctor-1.C: New.
16780	* testsuite/libgomp.c++/ctor-2.C: New.
16781	* testsuite/libgomp.c++/ctor-3.C: New.
16782	* testsuite/libgomp.c++/ctor-4.C: New.
16783	* testsuite/libgomp.c++/ctor-5.C: New.
16784	* testsuite/libgomp.c++/ctor-6.C: New.
16785	* testsuite/libgomp.c++/ctor-7.C: New.
16786	* testsuite/libgomp.c++/ctor-8.C: New.
16787	* testsuite/libgomp.c++/ctor-9.C: New.
16788
167892005-10-21  Diego Novillo  <dnovillo@redhat.com>
16790
16791	PR 24455
16792	* testsuite/libgomp.c++/pr24455-1.C: New test.
16793	* testsuite/libgomp.c++/pr24455.C: New test.
16794	* testsuite/libgomp.dg/pr24455-1.c: New test.
16795	* testsuite/libgomp.dg/pr24455.c: New test.
16796
167972005-10-20  Richard Henderson  <rth@redhat.com>
16798
16799	* testsuite/libgomp.c++/loop-6.C: New.
16800	* testsuite/libgomp.dg/loop-3.c: New.
16801
168022005-10-20  Jakub Jelinek  <jakub@redhat.com>
16803
16804	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16805	explicitly private.
16806	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16807	explicitly shared.
16808
168092005-10-19  Diego Novillo  <dnovillo@redhat.com>
16810
16811	* testsuite/libgomp.fortran/jacobi.f: New test.
16812
168132005-10-19  Richard Henderson  <rth@redhat.com>
16814
16815	* configure.tgt (i?86-linux): Default to with_arch instead of
16816	CFLAGS.  Add -mtune to match target_cpu.
16817	(x86_64-linux): Tune to i686.
16818
16819	* fortran.c (omp_test_nest_lock_): Fix typo.
16820
168212005-10-19  Jakub Jelinek  <jakub@redhat.com>
16822
16823	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16824	gomp_ordered_sync): Do nothing if team->nthreads == 1.
16825	* testsuite/libgomp.dg/ordered-3.c: New test.
16826
16827	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16828	Remove volatile keyword.
16829
16830	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16831	in COMMON block to avoid warnings on 64-bit targets.
16832
168332005-10-18  Diego Novillo  <dnovillo@redhat.com>
16834
16835	* testsuite/libgomp.dg/shared-3.c: New test.
16836
168372005-10-18  Jakub Jelinek  <jakub@redhat.com>
16838
16839	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16840	* testsuite/libgomp.fortran/reduction5.f90: New test.
16841
168422005-10-18  Jakub Jelinek  <jakub@redhat.com>
16843
16844	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16845	dg-options.
16846	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
16847	flush loop now that __sync_synchronize has proper memory barrier.
16848	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16849	Add -ffixed-form to dg-options.
16850
168512005-10-17  Diego Novillo  <dnovillo@redhat.com>
16852
16853	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
16854	from subdirectories.
16855	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16856	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16857	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16858	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16859	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16860	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16861	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16862	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16863	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16864	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16865	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16866	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16867	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16868	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16869	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16870	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16871	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16872	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16873	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16874	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16875	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16876	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16877	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16878	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16879	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16880
168812005-10-17  Jakub Jelinek  <jakub@redhat.com>
16882
16883	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16884	lang_library_path exists.  Use find instead of glob to gather tests.
16885	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16886
168872005-10-17  Diego Novillo  <dnovillo@redhat.com>
16888
16889	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16890	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16891	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16892	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16893	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16894	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16895	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16896	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16897	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16898	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16899	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16900	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16901	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16902
169032005-10-15  Jakub Jelinek  <jakub@redhat.com>
16904
16905	* testsuite/libgomp.dg/vla-1.c: New test.
16906
16907	* testsuite/libgomp.fortran/reference2.f90: New test.
16908
16909	* testsuite/libgomp.fortran/character2.f90: Remove explicit
16910	declaration of omp_get_thread_num.
16911	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
16912	use omp_lib.
16913
16914	* testsuite/libgomp.fortran/reduction1.f90: New test.
16915	* testsuite/libgomp.fortran/reduction2.f90: New test.
16916	* testsuite/libgomp.fortran/reduction3.f90: New test.
16917	* testsuite/libgomp.fortran/reduction4.f90: New test.
16918
169192005-10-13  Richard Henderson  <rth@redhat.com>
16920
16921	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
16922	* Makefile.in: Regenerate.
16923	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16924	* libgomp.h: Include bar.h.
16925	(struct gomp_barrier): Remove.
16926	(struct gomp_team): Add barrier.  Replace master_barrier with
16927	master_release.  Replace threads with ordered_release.
16928	(struct gomp_thread): Replace barrier with release.
16929	* ordered.c (gomp_ordered_first): Update for ordered_release change.
16930	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16931	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16932	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16933	(GOMP_single_copy_end): Likewise.
16934	* team.c (gomp_threads_dock): New.
16935	(gomp_barrier_init, gomp_barrier_destroy): Remove.
16936	(gomp_thread_start): Use gomp_barrier_wait.
16937	(new_team, free_team): Update for gomp_team changes.
16938	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16939	(gomp_team_end): Use gomp_barrier_wait.
16940	(initialize_team): Update for gomp_thread changes.
16941	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16942	(gomp_work_share_end_nowait): Use atomic ops when available.
16943	* config/linux/bar.c, config/linux/bar.h: New files.
16944	* config/posix/bar.c, config/posix/bar.h: New files.
16945
169462005-10-13  Jakub Jelinek  <jakub@redhat.com>
16947
16948	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16949	* testsuite/libgomp.dg/single-2.c: New test.
16950
16951	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16952	lang_link_flags): Unset, so that they aren't inherited from previously
16953	sourced *.exp.
16954
16955	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
16956
169572005-10-12  Richard Henderson  <rth@redhat.com>
16958
16959	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16960	(libgomp_init): Use lang_test_file, lang_library_path, and
16961	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
16962
16963	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16964	(lang_test_file, lang_link_flags): New.
16965	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16966
16967	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16968	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16969	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16970	testsuite/libgomp.c++/parallel-1.C,
16971	testsuite/libgomp.c++/reduction-1.C,
16972	testsuite/libgomp.c++/reduction-2.C,
16973	testsuite/libgomp.c++/reduction-3.C,
16974	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16975	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16976	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16977	New files, largely cribbed from the C testsuite.
16978
169792005-10-12  Jakub Jelinek  <jakub@redhat.com>
16980
16981	* testsuite/libgomp.fortran/character1.f90: New test.
16982	* testsuite/libgomp.fortran/character2.f90: New test.
16983
16984	* testsuite/libgomp.dg/nested-1.c: New test.
16985	* testsuite/libgomp.dg/nested-2.c: New test.
16986	* testsuite/libgomp.fortran/do1.f90: New test.
16987	* testsuite/libgomp.fortran/do2.f90: New test.
16988
16989	* testsuite/libgomp.fortran/reference1.f90: New test.
16990
169912005-10-11  Jakub Jelinek  <jakub@redhat.com>
16992
16993	* testsuite/libgomp.dg/reduction-1.c: New test.
16994	* testsuite/libgomp.dg/reduction-2.c: New test.
16995	* testsuite/libgomp.dg/reduction-3.c: New test.
16996
169972005-10-10  Jakub Jelinek  <jakub@redhat.com>
16998
16999	* testsuite/libgomp.dg/atomic-1.c: New test.
17000	* testsuite/libgomp.dg/atomic-2.c: New test.
17001
170022005-10-09  Richard Henderson  <rth@redhat.com>
17003
17004	* critical.c (atomic_lock): New.
17005	(initialize_critical): Initialize it.
17006	(GOMP_atomic_start, GOMP_atomic_end): New.
17007	* libgomp.map: Export them.
17008	* libgomp_g.h: Declare them.
17009
17010	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17011
170122005-10-02  Richard Henderson  <rth@redhat.com>
17013
17014	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
17015	to XCFLAGS instead of CFLAGS.
17016
170172005-09-30  Richard Henderson  <rth@redhat.com>
17018
17019	* configure.ac: Determine whether -pthread or -lpthread is needed.
17020	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17021	* Makefile.in, configure: Rebuild.
17022
170232005-09-28  Richard Henderson  <rth@redhat.com>
17024
17025	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17026	* testsuite/libgomp.dg/omp-single-3.c: New test.
17027
170282005-09-28  Diego Novillo  <dnovillo@redhat.com>
17029
17030	* testsuite/libgomp.dg/omp-single-2.c: New test.
17031	* testsuite/libgomp.dg/shared-2.c: Fix return code.
17032
170332005-09-27  Richard Henderson  <rth@redhat.com>
17034
17035	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17036	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17037
170382005-09-27  Jakub Jelinek  <jakub@redhat.com>
17039
17040	* testsuite/libgomp.dg/omp-loop03.c: New test.
17041
170422005-09-27  Diego Novillo  <dnovillo@redhat.com>
17043
17044	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
17045
170462005-09-27  Diego Novillo  <dnovillo@redhat.com>
17047
17048	* testsuite/libgomp.dg/omp-single-1.c: New test.
17049	* testsuite/libgomp.dg/shared-1.c: Return 0.
17050	Add prototype for abort.
17051	* testsuite/libgomp.dg/shared-2.c: Likewise.
17052
170532005-09-26  Jakub Jelinek  <jakub@redhat.com>
17054
17055	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17056	constructs.
17057
170582005-09-26  Diego Novillo  <dnovillo@redhat.com>
17059
17060	* testsuite/libgomp.dg/shared-1.c: New test.
17061	* testsuite/libgomp.dg/shared-2.c: New test.
17062
170632005-09-24  Richard Henderson  <rth@redhat.com>
17064
17065	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17066
170672005-09-24  Richard Henderson  <rth@redhat.com>
17068
17069	* iter.c (gomp_iter_static_next): Round up when computing number
17070	of iterations.  Don't bother distributing a remainder equally.
17071
17072	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17073	Don't call srand.  Zero b before testing.
17074	(main): New.
17075
170762005-09-24  Jakub Jelinek  <jakub@redhat.com>
17077
17078	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17079	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17080
170812005-09-23  Jakub Jelinek  <jakub@redhat.com>
17082
17083	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17084	without !$omp end do, followed immediately by subroutine end.
17085
170862005-09-23  Diego Novillo  <dnovillo@redhat.com>
17087
17088	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
17089
170902005-09-22  Richard Henderson  <rth@redhat.com>
17091
17092	* critical.c (GOMP_critical_name_start): Change argument to void**.
17093	Reuse the pointer space if the mutex fits.
17094	(GOMP_critical_name_end): Likewise.
17095	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17096	* libgomp_g.h (GOMP_critical_name_start): Update decl.
17097	(GOMP_critical_name_end): Likewise.
17098	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17099	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17100
171012005-09-20  Richard Henderson  <rth@redhat.com>
17102
17103	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17104	(create_lock_lock): New.
17105	(initialize_critical): Initialize it.
17106	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17107	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17108
171092005-09-20  Diego Novillo  <dnovillo@redhat.com>
17110
17111	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17112
171132005-09-20  Diego Novillo  <dnovillo@redhat.com>
17114
17115	* testsuite/libgomp.dg/omp-loop01.c: New test.
17116	* testsuite/libgomp.dg/omp-loop02.c: New test.
17117
171182005-09-20  Jakub Jelinek  <jakub@redhat.com>
17119
17120	* configure.ac (AC_PROG_FC): Add.
17121	(USE_FORTRAN): New automake conditional.
17122	* configure: Rebuilt.
17123	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17124	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17125	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17126	Add rules to build them.
17127	* Makefile.in: Rebuilt.
17128	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17129	OMP_NEST_LOCK_KIND.
17130	* libgomp.map: Add Fortran wrappers.
17131	* libgomp_f.h.in: New file.
17132	* omp_lib.h.in: New file.
17133	* omp_lib.f90.in: New file.
17134	* fortran.c: New file.
17135	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17136	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17137	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17138	libgfortran has been built.
17139	* testsuite/libgomp.fortran/fortran.exp: New file.
17140	* testsuite/libgomp.fortran/omp_cond1.f: New test.
17141	* testsuite/libgomp.fortran/omp_cond2.f: New test.
17142	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
17143	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
17144	* testsuite/libgomp.fortran/omp_hello.f: New test.
17145	* testsuite/libgomp.fortran/omp_orphan.f: New test.
17146	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
17147	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
17148	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
17149	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
17150	* testsuite/libgomp.fortran/omp_reduction.f: New test.
17151	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
17152	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
17153
171542005-08-30  Richard Henderson  <rth@redhat.com>
17155
17156	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
17157	function for when aliases are not usable.
17158	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17159	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17160	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17161	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17162	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17163	GOMP_loop_ordered_guided_next): Likewise.
17164	* ordered.c (GOMP_ordered_start): Likewise.
17165
171662005-08-01  Diego Novillo  <dnovillo@redhat.com>
17167
17168	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17169	* testsuite/libgomp.dg/omp_hello.c: Fix return code
17170	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
17171	* testsuite/libgomp.dg/omp_orphan.c: Likewise
17172	* testsuite/libgomp.dg/omp_reduction.c: Likewise
17173	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
17174	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
17175	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
17176	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
17177
171782005-07-07  Eric Christopher  <echristo@redhat.com>
17179	    Diego Novillo  <dnovillo@redhat.com>
17180
17181	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17182	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17183	up code.
17184	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
17185	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
17186	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
17187	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17188	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17189	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17190	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17191
171922005-06-13  Diego Novillo  <dnovillo@redhat.com>
17193
17194	* TOPLEVEL.patch: Remove.
17195
171962005-05-16  Richard Henderson  <rth@redhat.com>
17197
17198	* configure.ac: Test for clock_gettime.
17199	* config.h.in, configure: Rebuild.
17200	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17201	(omp_get_wtime): Use clock_gettime if available.
17202	(omp_get_wtick): Use clock_getres if available.
17203
172042005-05-11  Richard Henderson  <rth@redhat.com>
17205
17206	* config/linux/ia64/futex.h: New file.
17207	* configure.tgt: Use it.
17208
17209	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17210
172112005-05-07  Richard Henderson  <rth@redhat.com>
17212
17213	* config/linux/powerpc/futex.h: New file.
17214	* configure.tgt: Use it.
17215
17216	* config/linux/i486/futex.h: Merge ...
17217	* config/linux/x86_64/futex.h: ... into ...
17218	* config/linux/x86/futex.h: ... here.
17219	* configure.tgt: Update to match.
17220
172212005-05-06  Richard Henderson  <rth@redhat.com>
17222
17223	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
17224	* config/linux/i486/futex.h: Likewise.
17225	* config/linux/x86_64/futex.h: Likewise.
17226
17227	* config/linux/lock.c: New file.
17228	* config/linux/omp-lock.h: New file.
17229
17230	* critical.c, env.h: Don't include omp.h
17231	* config/posix/lock.c: Include libgomp.h instead of omp.h.
17232	* config/posix/time.c: Likewise.
17233	* config/posix/omp-lock.h: New file.
17234	* libgomp.h: Include omp-lock.h and omp.h.
17235	* Makefile.am (nodist_include_HEADERS): New.
17236	(omp.h): New rule.
17237	* configure.ac (PERL): New.
17238	* mkomp_h.pl: New file.
17239	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17240	with templates.
17241	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17242
17243	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17244	build directory.  Re-add -march=i486 hack.
17245
17246	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17247	(libgomp_link_flags): Remove.
17248	(libgomp_initialized): Remove.
17249	(libgomp_init): Don't protect from reinitialization.  Copy code
17250	from libstdc++ for getting the multilib set correctly.
17251
172522005-05-05  Richard Henderson  <rth@redhat.com>
17253
17254	* config/linux/alpha/futex.h: New file.
17255	* configure.tgt (alpha*-*-linux*): Use it.
17256
17257	* config/posix/mutex.c: New file.
17258	* config/posix/sem.c: Use libgomp.h.
17259
17260	* configure.tgt (x86_64-linux): Also test CC for -m32.
17261	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17262
17263	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17264	after $gccpath.
17265
17266	* Makefile.am (SUBDIRS): New.
17267	(libgomp_la_LDFLAGS): Add -lpthread.
17268	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17269	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17270
17271	* libgomp_g.h: New file.
17272	* libgomp.h: Split out all public declarations to libgomp_g.h.
17273	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17274	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17275	* config/linux/sem.h: Likewise.
17276	* config/posix/sem.h: Likewise.
17277
17278	* Makefile.am (AM_LDFLAGS): New.
17279	(libgomp_version_script): Split out from ...
17280	(libgomp_la_LDFLAGS): ... here.
17281	(libgomp_version_info): New.
17282	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17283	(LIBGOMP_ENABLE): New.
17284	(LIBGOMP_CHECK_LINKER_FEATURES): New.
17285	(LIBGOMP_ENABLE_SYMVERS): New.
17286	* configure.ac (AC_INIT): Version 1.0.
17287	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17288	(enable-linux-futex): Likewise.  Rename from enable-futex.
17289	(libtool_VERSION): New.
17290	(LIBGOMP_ENABLE_SYMVERS): Use it.
17291	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17292	* Makefile.in, aclocal.m4, configure: Rebuild.
17293
17294	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17295	(gomp_mutex_unlock_slow): Fix typo.
17296	* config/linux/sem.c: Similarly.
17297	(gomp_sem_post_slow): Fix typo.
17298	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17299	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17300	[__PIC__] (sys_futex0): Don't use tmp output in asm.
17301
17302	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17303	(libgomp_la_LDFLAGS): Add top_srcdir to path.
17304	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17305	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
17306	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17307	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17308	LDFLAGS.  Pull enable_futex check to top-level.
17309	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
17310	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17311
17312	First attempt at real configury.
17313	* Makefile, config.h: Remove file.
17314	* Makefile.am, Makefile.in: New file.
17315	* acinclude.m4 aclocal.m4: New file.
17316	* configure.ac, configure.tgt, configure: New file.
17317
17318	* config/posix/lock.c: Rename from sys-lock.c.
17319	* config/posix/mutex.h: Rename from sys-mutex.h.
17320	* config/posix/sem.c: Rename from sys-sem.c.
17321	* config/posix/sem.h: Rename from sys-sem.h.
17322	* config/posix/proc.c: Rename from sys-proc.c.
17323	* config/posix/time.c: Rename from sys-proc.c.
17324
17325	* config/linux/mutex.c: New file.
17326	* config/linux/mutex.h: New file.
17327	* config/linux/sem.c: New file.
17328	* config/linux/sem.h: New file.
17329	* config/linux/i486/futex.h: New file.
17330	* config/linux/x86_64/futex.h: New file.
17331
173322005-05-04  Richard Henderson  <rth@redhat.com>
17333
17334	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17335	* libgomp.h: Declare them.
17336	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17337	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17338
173392005-05-04  Richard Henderson  <rth@redhat.com>
17340
17341	* libgomp-1 code drop
17342
173432005-05-04  Richard Henderson  <rth@redhat.com>
17344
17345	* iter.c (gomp_iter_static_next): Return tri-state on 0.
17346	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
17347	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17348	(gomp_iter_static_next): Update.
17349	(gomp_ordered_static_next): Update.
17350	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17351	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
17352	totally empty range.
17353	(gomp_loop_ordered_static_next): Refine test for calling
17354	gomp_ordered_static_next.
17355	* testsuite/ordered-1.c: Add case for more threads than iterations.
17356
17357	* iter.c (gomp_iter_runtime_next_locked): Remove.
17358	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17359	gomp_loop_guided_start, gomp_loop_ordered_static_start,
17360	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17361	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17362	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17363	gomp_loop_ordered_guided_next): Downcase name, make static, add
17364	an external alias with the old name.
17365	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17366	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17367	switch and call one of the above static functions.
17368	* libgomp.h: Update.
17369
17370	* work.c (gomp_work_share_start): Lock the mutex for !first too.
17371	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17372	GOMP_loop_guided_start, GOMP_loop_runtime_start,
17373	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17374	GOMP_loop_ordered_guided_start): Update to match.
17375	* sections.c (GOMP_sections_start): Likewise.
17376	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17377
17378	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17379	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17380	Use bounds check instead of modulus.
17381	(gomp_ordered_sync): Split out of GOMP_ordered_start.
17382	(gomp_ordered_last): Don't sync with ordered_owner here.
17383	(gomp_ordered_next): Likewise.
17384	(gomp_ordered_static_loop_next): Likewise.
17385	* loop.c, libgomp.h: Update to match.
17386
17387	* libgomp.h (GOMP_barrier): Declare.
17388
17389	* testsuite/barrier-1.c: New file.
17390	* testsuite/critical-1.c: New file.
17391	* testsuite/ordered-2.c: New file.
17392	* testsuite/ordered-1.c: New file.
17393	* testsuite/sections-1.c: New file.
17394	* testsuite/single-1.c: New file.
17395	* testsuite/Makefile (TESTS): Add them.
17396
173972005-05-04  Richard Henderson  <rth@redhat.com>
17398
17399	* libgomp.h (struct gomp_work_share): Add ordered_owner.
17400	* loop.c (GOMP_loop_static_start): If not the startup thread,
17401	acquire the mutex to wait for initialization complete.
17402	(GOMP_loop_ordered_static_start): Likewise.
17403	(GOMP_loop_ordered_runtime_start): Likewise.
17404	(GOMP_loop_ordered_static_first): Remove.
17405	(GOMP_loop_ordered_dynamic_first): Remove.
17406	(GOMP_loop_ordered_guided_first): Remove.
17407	(GOMP_loop_ordered_runtime_first): Remove.
17408	* ordered.c (gomp_ordered_loop_first): Post to own release when
17409	we're the first thread.
17410	(gomp_ordered_loop_last): Wait on release if not owner.
17411	(gomp_ordered_loop_next): Likewise.
17412	(gomp_ordered_static_loop_init): New.
17413	(gomp_ordered_static_loop_next): Use ordered_owner.
17414	(GOMP_ordered_start): Likewise.
17415	* work.c (gomp_new_work_share): Initialize ordered_owner.
17416
174172005-05-03  Richard Henderson  <rth@redhat.com>
17418
17419	* Makefile (OPT): New.
17420	(CFLAGS): Use it.
17421
17422	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17423	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17424	* libgomp.h, libgomp.map, NOTES: Update to match.
17425
17426	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17427	Add initialized and thr members.
17428	(gomp_thread_start): Pause when initially spawned to wait for
17429	the whole team to be created.
17430	(gomp_team_start): Release team members at the end.
17431
17432	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
17433	(f_foo_1): Use GOMP_loop_end.
17434	(f_foo_2): Use GOMP_loop_end_nowait.
17435
17436	* testsuite/loop-2.c: New file.
17437	* testsuite/Makefile (TESTS): Add it.
17438
174392005-05-03  Richard Henderson  <rth@redhat.com>
17440
17441	* iter.c (gomp_iter_static_next): Fix overflow check typo.
17442	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17443	* team.c (new_team): Initialize oldest_live_gen to 1 if no
17444	initial work_share.
17445
17446	* testsuite/Makefile: New file.
17447	* testsuite/loop-1.c: New file.
17448
174492005-05-03  Richard Henderson  <rth@redhat.com>
17450
17451	Initial implementation and checkin.
17452
17453Copyright (C) 2005-2022 Free Software Foundation, Inc.
17454
17455Copying and distribution of this file, with or without modification,
17456are permitted in any medium without royalty provided the copyright
17457notice and this notice are preserved.
17458