12019-05-03  Release Manager
2
3	* GCC 9.1.0 released.
4
52019-03-27  Kevin Buettner  <kevinb@redhat.com>
6
7	* team.c (gomp_team_start): Initialize pool->threads[0].
8
92019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
10
11	* testsuite/libgomp.oacc-c++/c++.exp: Specify
12	"-foffload=$offload_target".
13	* testsuite/libgomp.oacc-c/c.exp: Likewise.
14	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15	* testsuite/lib/libgomp.exp
16	(check_effective_target_openacc_nvidia_accel_configured): Remove,
17	as (conceptually) merged into
18	check_effective_target_openacc_nvidia_accel_selected.  Adjust all
19	users.
20
21	* plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
22	* testsuite/libgomp-test-support.exp.in: Adjust.
23	* testsuite/lib/libgomp.exp: Likewise.  Don't populate
24	openacc_device_types_s.
25	(offload_target_to_openacc_device_type): New proc.
26	* testsuite/libgomp.oacc-c++/c++.exp: Adjust.
27	* testsuite/libgomp.oacc-c/c.exp: Likewise.
28	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
29	* Makefile.in: Regenerate.
30	* configure: Likewise.
31	* testsuite/Makefile.in: Likewise.
32
33	* plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
34	instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
35	instead of OFFLOAD_TARGETS.
36	* target.c (gomp_target_init): Adjust.
37	* testsuite/libgomp-test-support.exp.in: Likewise.
38	* testsuite/lib/libgomp.exp: Likewise.  Populate
39	openacc_device_types_s instead of offload_targets_s_openacc.
40	(check_effective_target_openacc_nvidia_accel_selected)
41	(check_effective_target_openacc_host_selected): Adjust.
42	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
43	* testsuite/libgomp.oacc-c/c.exp: Likewise.
44	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
45	* Makefile.in: Regenerate.
46	* config.h.in: Likewise.
47	* configure: Likewise.
48	* testsuite/Makefile.in: Likewise.
49
50	* testsuite/lib/libgomp.exp: Error out for unknown offload target.
51	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
52	"offloading: supported, but hardware not accessible".
53	* testsuite/libgomp.oacc-c/c.exp: Likewise.
54	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
55
562019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
57
58	PR c/87924
59	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
60	goacc_wait().
61	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
62	and related adjustment.
63
642019-01-30  Jakub Jelinek  <jakub@redhat.com>
65
66	PR c++/88988
67	* testsuite/libgomp.c++/pr88988.C: New test.
68
692019-01-28  Jakub Jelinek  <jakub@redhat.com>
70
71	PR middle-end/89002
72	* testsuite/libgomp.c/pr89002.c: New test.
73
742019-01-28  Richard Biener  <rguenther@suse.de>
75
76	PR testsuite/89064
77	PR tree-optimization/86865
78	* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
79
802019-01-24  Tom de Vries  <tdevries@suse.de>
81
82	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
83	once instantiated_devices drops to 0.
84
852019-01-23  Tom de Vries  <tdevries@suse.de>
86
87	PR target/PR88946
88	* plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
89	cuMemFree.
90	(nvptx_exec): Don't call map_push if mapnum == 0.
91	* testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
92
932019-01-23  Tom de Vries  <tdevries@suse.de>
94
95	PR target/88941
96	PR target/88939
97	* plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
98	(map_fini): Remove "assert (!s->map->active)".
99	* testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
100
1012019-01-23  Tom de Vries  <tdevries@suse.de>
102
103	PR target/87835
104	* plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
105	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
106
1072019-01-15  Tom de Vries  <tdevries@suse.de>
108
109	PR target/80547
110	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
111	New test.
112
1132019-01-12  Tom de Vries  <tdevries@suse.de>
114
115	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
116	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
117	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
118	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
119
1202019-01-12  Tom de Vries  <tdevries@suse.de>
121
122	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
123
1242019-01-12  Tom de Vries  <tdevries@suse.de>
125
126	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
127	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
128	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
129
1302019-01-12  Tom de Vries  <tdevries@suse.de>
131
132	PR target/85486
133	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
134	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
135
1362019-01-12  Tom de Vries  <tdevries@suse.de>
137
138	PR target/85381
139	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
140	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
141
1422019-01-12  Tom de Vries  <tdevries@suse.de>
143
144	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
145	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
146	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
147
1482019-01-12  Tom de Vries  <tdevries@suse.de>
149
150	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
151	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
152	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
153
1542019-01-12  Tom de Vries  <tdevries@suse.de>
155
156	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
157	resources diagnostic.
158
1592019-01-12  Tom de Vries  <tdevries@suse.de>
160
161	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
162	vector length to be 128.
163	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
164	length 2097152 to be reduced to 1024 instead of 32.
165
1662019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
167            James Norris  <jnorris@codesourcery.com>
168
169	* libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
170	Library Routines", and "Environment Variables".
171
1722019-01-11  Tom de Vries  <tdevries@suse.de>
173
174	* plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
175	num_workers 16.
176
1772019-01-11  Tom de Vries  <tdevries@suse.de>
178
179	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
180	-foffload=-w.
181	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
182	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
183	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
184	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
185
1862019-01-11  Tom de Vries  <tdevries@suse.de>
187
188	* testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
189	test.
190
1912019-01-10  Nathan Sidwell  <nathan@acm.org>
192	    Julian Brown  <julian@codesourcery.com>
193
194	PR lto/71959
195	* testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
196	* testsuite/libgomp.oacc-c++/pr71959.C: New.
197
1982019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
199
200	* config/rtems/bar.c: Include "../linux/bar.c" and delete copy
201	and paste code.
202
2032019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
204
205	* config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
206	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
207	write.
208
2092019-01-09  Tom de Vries  <tdevries@suse.de>
210
211	PR target/88756
212	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
213	#define instead of "const int".
214	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
215	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
216	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
217	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
218
2192019-01-09  Tom de Vries  <tdevries@suse.de>
220
221	* plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
222	one worker.
223
2242019-01-07  Tom de Vries  <tdevries@suse.de>
225
226	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
227	GOMP_OPENACC_DIM argument.
228
2292019-01-03  Tom de Vries  <tdevries@suse.de>
230
231	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
232	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
233
2342019-01-01  Jakub Jelinek  <jakub@redhat.com>
235
236	Update copyright years.
237
2382019-01-01  Jakub Jelinek  <jakub@redhat.com>
239
240	* libgomp.texi: Bump @copying's copyright year.
241
2422018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
243
244	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
245	(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
246	(GOACC_declare): Redefine the "device" argument to "flags".
247
2482018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
249	    Cesar Philippidis  <cesar@codesourcery.com>
250
251	* target.c (struct gomp_coalesce_chunk): New structure.
252	(struct gomp_coalesce_buf): Update the chunks member to use that
253	type.  Adjust all users.
254
2552018-12-19  Tom de Vries  <tdevries@suse.de>
256
257	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
258	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
259	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
260
2612018-12-19  Tom de Vries  <tdevries@suse.de>
262
263	* testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
264	* testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
265	gcc/testsuite/gcc.dg/goacc.
266	* testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
267
2682018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
269	    Chung-Lin Tang  <cltang@codesourcery.com>
270
271	* oacc-mem.c (acc_present_or_create): Remove definition and change
272	to alias of acc_create.
273	(acc_present_or_copyin): Remove definition and change to alias of
274	acc_copyin.
275	* oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
276	of acc_present_or_create.
277	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
278	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
279	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
280	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
281	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
282	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
283	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
284	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
285	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
286	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
287	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
288	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
289	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
290	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
291	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
292	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
293
2942018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
295
296	PR libgomp/88495
297	* plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
298	"identical parameters".
299	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
300	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
301
302	PR libgomp/88484
303	* oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
304	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
305
306	PR libgomp/88407
307	* plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
308	(nvptx_wait_async): Unseen async-argument is a no-op.
309	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
310	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
311	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
312	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
313	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
314	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
315	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
316	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
317	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
318
319	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
320	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
321
3222018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
323
324	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
325	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
326	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
327
3282018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
329
330	PR libgomp/88370
331	* libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
332	(acc_set_cuda_stream): Clarify.
333	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
334	"async_valid_p".
335	* plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
336	acc_async_sync".
337	* testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
338	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
339	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
340	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
341
3422018-12-14  Tom de Vries  <tdevries@suse.de>
343
344	* testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
345	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
346	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
347	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
348	* testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
349
3502018-12-13  Tom de Vries  <tdevries@suse.de>
351
352	* affinity-fmt.c (gomp_print_string): New function, factored out of ...
353	(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
354	* fortran.c (omp_display_affinity_): ... here.
355	* libgomp.h (gomp_print_string): Declare.
356	* config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
357	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
358	write.
359
3602018-12-13  Jakub Jelinek  <jakub@redhat.com>
361
362	PR libgomp/88460
363	* testsuite/libgomp.c++/for-24.C (results): Include it in
364	omp declare target region.
365	(main): Use map (always, tofrom: results) instead of
366	map (tofrom: results).
367
3682018-12-12  Jakub Jelinek  <jakub@redhat.com>
369
370	PR fortran/88463
371	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
372	* testsuite/libgomp.fortran/pr88463-2.f90: New test.
373
374	* testsuite/libgomp.c-c++-common/for-16.c: New test.
375
3762018-12-12  Andreas Schwab  <schwab@suse.de>
377
378	* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
379	clobbered.
380
3812018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
382
383	PR fortran/88411
384	* testsuite/libgomp.fortran/async_io_8.f90: New test.
385
3862018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
387	    Jakub Jelinek  <jakub@redhat.com>
388
389	* target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
390	devicep->host2dev_func.
391
3922018-12-08  Jakub Jelinek  <jakub@redhat.com>
393
394	PR libgomp/87995
395	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
396	tls_runtime effective target.
397	(t): New threadprivate variable.
398	(main): Set t in threads which execute iterations of the worksharing
399	loop.  Propagate that to the task after the loop and don't abort
400	if the current taskgroup hasn't been cancelled.
401
4022018-12-02  Jakub Jelinek  <jakub@redhat.com>
403
404	* testsuite/libgomp.c/task-reduction-3.c: New test.
405
406	* testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
407
4082018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
409
410	PR libgomp/88288
411	* oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
412	* testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
413
4142018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
415
416	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
417
4182018-10-19  Richard Biener  <rguenther@suse.de>
419
420	PR tree-optimization/88182
421	* testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
422
4232018-11-26  Jakub Jelinek  <jakub@redhat.com>
424
425	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
426	(RUNTEST): Don't define.
427	(RUNTESTDEFAULTFLAGS): Add.
428	(check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
429	(distclean-am): Depend on distclean-DEJAGNU.
430	(check-am): If -j% option is present in MFLAGS and if
431	`getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
432	(.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
433	* testsuite/Makefile.in: Regenerated.
434
4352018-11-26  Richard Biener  <rguenther@suse.de>
436
437	PR tree-optimization/88182
438	* testsuite/libgomp.c++/pr88182.C: New testcase.
439
4402018-11-20  Jakub Jelinek  <jakub@redhat.com>
441
442	PR bootstrap/88106
443	* config/mingw32/affinity-fmt.c: New file.
444
4452018-11-09  Jakub Jelinek  <jakub@redhat.com>
446
447	* affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
448	(gomp_display_affinity): Use __builtin_choose_expr to handle
449	properly handle argument having integral, or pointer or some other
450	type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
451	with uint64_t type instead of %llx and unsigned long long.
452
453	* testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
454	* testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
455
4562018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
457
458	* affinity.c: Include <string.h>, <stdio.h>.
459	(gomp_display_affinity_place): Remove cpusetp.
460	* teams.c: Include <limits.h>.
461
4622018-11-08  Jakub Jelinek  <jakub@redhat.com>
463
464	* testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
465	in_reduction clause for s[0].
466
467	* affinity.c (gomp_display_affinity_place): New function.
468	* affinity-fmt.c: New file.
469	* alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
470	* config/linux/affinity.c (gomp_display_affinity_place): New function.
471	* config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
472	Move these functions to ...
473	* config/nvptx/teams.c: ... here.  New file.
474	* config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
475	New functions.
476	* config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
477	functions.
478	* configure.ac: Check for aligned_alloc, posix_memalign, memalign
479	and _aligned_malloc.
480	(HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
481	* configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
482	* env.c (gomp_display_affinity_var, gomp_affinity_format_var,
483	gomp_affinity_format_len): New variables.
484	(parse_schedule): Parse monotonic and nonmonotonic modifiers in
485	OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
486	(handle_omp_display_env): Display monotonic/nonmonotonic schedule
487	modifiers.  Display (non-default) chunk sizes.  Print
488	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
489	(initialize_env): Don't call pthread_attr_setdetachstate.  Handle
490	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
491	* fortran.c: Include stdio.h and string.h.
492	(omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
493	(omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
494	(omp_set_affinity_format_, omp_get_affinity_format_,
495	omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
496	omp_pause_resource_all_): New functions.
497	* icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
498	switch.
499	* icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
500	functions to ...
501	* teams.c: ... here.  New file.
502	* libgomp_g.h: Include gstdint.h.
503	(GOMP_loop_nonmonotonic_runtime_start,
504	GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
505	GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
506	GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
507	GOMP_parallel_loop_nonmonotonic_runtime,
508	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
509	GOMP_loop_ull_nonmonotonic_runtime_start,
510	GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
511	GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
512	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
513	GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
514	GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
515	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
516	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
517	GOMP_teams_reg): Declare.
518	* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
519	gomp_aligned_alloc uses fallback implementation.
520	(gomp_aligned_alloc, gomp_aligned_free): Declare.
521	(enum gomp_schedule_type): Add GFS_MONOTONIC.
522	(struct gomp_doacross_work_share): Add extra field.
523	(struct gomp_work_share): Add task_reductions field.
524	(struct gomp_taskgroup): Add workshare and reductions fields.
525	(GOMP_NEEDS_THREAD_HANDLE): Define if needed.
526	(gomp_thread_handle): New typedef.
527	(gomp_display_affinity_place, gomp_set_affinity_format,
528	gomp_display_string, gomp_display_affinity,
529	gomp_display_affinity_thread): Declare.
530	(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
531	(gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
532	gomp_workshare_task_reduction_register): Declare.
533	(gomp_team_start): Add taskgroup argument.
534	(gomp_pause_host): Declare.
535	(gomp_init_work_share, gomp_work_share_start): Change bool argument
536	to size_t.
537	(gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
538	* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
539	GOMP_loop_ordered_start, GOMP_loop_doacross_start,
540	GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
541	GOMP_loop_ull_doacross_start,
542	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
543	GOMP_loop_maybe_nonmonotonic_runtime_next,
544	GOMP_loop_maybe_nonmonotonic_runtime_start,
545	GOMP_loop_nonmonotonic_runtime_next,
546	GOMP_loop_nonmonotonic_runtime_start,
547	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
548	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
549	GOMP_loop_ull_nonmonotonic_runtime_next,
550	GOMP_loop_ull_nonmonotonic_runtime_start,
551	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
552	GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
553	GOMP_taskgroup_reduction_register,
554	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
555	GOMP_teams_reg and GOMP_taskwait_depend.
556	(OMP_5.0): Export omp_pause_resource{,_all}{,_},
557	omp_{capture,display}_affinity{,_}, and
558	omp_[gs]et_affinity_format{,_}.
559	* loop.c: Include string.h.
560	(GOMP_loop_runtime_next): Add ialias.
561	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
562	(gomp_loop_static_start, gomp_loop_dynamic_start,
563	gomp_loop_guided_start, gomp_loop_ordered_static_start,
564	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
565	gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
566	gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
567	or gomp_doacross_init callers.
568	(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
569	GOMP_loop_doacross_start): New functions.
570	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
571	GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
572	Mask off GFS_MONOTONIC bit.
573	(GOMP_loop_maybe_nonmonotonic_runtime_next,
574	GOMP_loop_maybe_nonmonotonic_runtime_start,
575	GOMP_loop_nonmonotonic_runtime_next,
576	GOMP_loop_nonmonotonic_runtime_start,
577	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
578	GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
579	functions.
580	(gomp_parallel_loop_start): Pass NULL as taskgroup to
581	gomp_team_start.
582	* loop_ull.c: Include string.h.
583	(GOMP_loop_ull_runtime_next): Add ialias.
584	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
585	(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
586	gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
587	gomp_loop_ull_ordered_dynamic_start,
588	gomp_loop_ull_ordered_guided_start,
589	gomp_loop_ull_doacross_static_start,
590	gomp_loop_ull_doacross_dynamic_start,
591	gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
592	and gomp_doacross_ull_init callers.
593	(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
594	GOMP_loop_ull_doacross_start): New functions.
595	(GOMP_loop_ull_runtime_start,
596	GOMP_loop_ull_ordered_runtime_start,
597	GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
598	(GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
599	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
600	GOMP_loop_ull_nonmonotonic_runtime_next,
601	GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
602	* Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
603	* omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
604	(omp_pause_resource_t, omp_depend_t): New typedefs.
605	(enum omp_lock_hint_t): Renamed to ...
606	(enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
607	enumerators using numbers and omp_lock_hint_* as their aliases.
608	(omp_lock_hint_t): New typedef.  Rename to ...
609	(omp_sync_hint_t): ... this.
610	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
611	omp_sync_hint_t instead of omp_lock_hint_t.
612	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
613	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
614	Declare.
615	(omp_target_is_present, omp_target_disassociate_ptr):
616	Change first argument from void * to const void *.
617	(omp_target_memcpy, omp_target_memcpy_rect): Change second argument
618	from void * to const void *.
619	(omp_target_associate_ptr): Change first and second arguments from
620	void * to const void *.
621	* omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
622	omp_pause_hard): New parameters.
623	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
624	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
625	New interfaces.
626	* omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
627	omp_pause_hard): New parameters.
628	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
629	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
630	New externals.
631	* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
632	EXTRA argument.  If not needed to prepare array, if extra is 0,
633	clear ws->doacross, otherwise allocate just doacross structure and
634	extra payload.  If array is needed, allocate also extra payload.
635	(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
636	GOMP_doacross_ull_wait): Handle doacross->array == NULL like
637	doacross == NULL.
638	* parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
639	gomp_team_start.
640	(GOMP_parallel): Likewise.  Formatting fix.
641	(GOMP_parallel_reductions): New function.
642	(GOMP_cancellation_point): If taskgroup has workshare
643	flag set, check cancelled of prev taskgroup if any.
644	(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
645	on prev taskgroup if any.
646	* sections.c: Include string.h.
647	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
648	(GOMP_sections_start): Adjust gomp_work_share_start caller.
649	(GOMP_sections2_start): New function.
650	(GOMP_parallel_sections_start, GOMP_parallel_sections):
651	Pass NULL as taskgroup to gomp_team_start.
652	* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
653	gomp_work_share_start callers.
654	* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
655	If taskgroup has workshare flag set, check cancelled on prev
656	taskgroup if any.  Guard all cancellation tests with
657	gomp_cancel_var test.
658	(omp_target_is_present, omp_target_disassociate_ptr):
659	Change ptr argument from void * to const void *.
660	(omp_target_memcpy): Change src argument from void * to const void *.
661	(omp_target_memcpy_rect): Likewise.
662	(omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
663	instead of char * where needed.
664	(omp_target_associate_ptr): Change host_ptr and device_ptr arguments
665	from void * to const void *.
666	(omp_pause_resource, omp_pause_resource_all): New functions.
667	* task.c (gomp_task_handle_depend): Handle new depend array format
668	in addition to the old.  Handle mutexinoutset kinds the same as
669	inout for now, handle unspecified kinds.
670	(gomp_create_target_task): If taskgroup has workshare flag set, check
671	cancelled on prev taskgroup if any.  Guard all cancellation tests with
672	gomp_cancel_var test.  Handle new depend array format count in
673	addition to the old.
674	(GOMP_task): Likewise.  Adjust function comment.
675	(gomp_task_run_pre): If taskgroup has workshare flag set, check
676	cancelled on prev taskgroup if any.  Guard all cancellation tests with
677	gomp_cancel_var test.
678	(GOMP_taskwait_depend): New function.
679	(gomp_task_maybe_wait_for_dependencies): Handle new depend array
680	format in addition to the old.  Handle mutexinoutset kinds the same as
681	inout for now, handle unspecified kinds.  Fix a function comment typo.
682	(gomp_taskgroup_init): New function.
683	(GOMP_taskgroup_start): Use it.
684	(gomp_reduction_register, gomp_create_artificial_team,
685	GOMP_taskgroup_reduction_register,
686	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
687	gomp_parallel_reduction_register,
688	gomp_workshare_task_reduction_register,
689	gomp_workshare_taskgroup_start,
690	GOMP_workshare_task_reduction_unregister): New functions.
691	* taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
692	check cancelled on prev taskgroup if any.  Guard all cancellation
693	tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
694	by calling GOMP_taskgroup_reduction_register.
695	* team.c (gomp_thread_attr): Remove comment.
696	(struct gomp_thread_start_data): Add handle field.
697	(gomp_thread_start): Call pthread_detach.
698	(gomp_new_team): Adjust gomp_init_work_share caller.
699	(gomp_free_pool_helper): Call pthread_detach.
700	(gomp_team_start): Add taskgroup argument, initialize implicit
701	tasks' taskgroup field to that.  Don't call
702	pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
703	(gomp_team_end): Determine nesting by thr->ts.level != 0
704	rather than thr->ts.team != NULL.
705	(gomp_pause_pool_helper, gomp_pause_host): New functions.
706	* work.c (alloc_work_share): Use gomp_aligned_alloc instead of
707	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
708	(gomp_init_work_share): Change ORDERED argument from bool to size_t,
709	if more than 1 allocate also extra payload at the end of array.  Never
710	keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
711	(gomp_work_share_start): Change ORDERED argument from bool to size_t,
712	return true instead of ws.
713	* Makefile.in: Regenerated.
714	* configure: Regenerated.
715	* config.h.in: Regenerated.
716	* testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
717	in some cases.
718	* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
719	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
720	* testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
721	* testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
722	* testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
723	* testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
724	* testsuite/libgomp.c-c++-common/depobj-1.c: New test.
725	* testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
726	* testsuite/libgomp.c-c++-common/for-10.c: New test.
727	* testsuite/libgomp.c-c++-common/for-11.c: New test.
728	* testsuite/libgomp.c-c++-common/for-12.c: New test.
729	* testsuite/libgomp.c-c++-common/for-13.c: New test.
730	* testsuite/libgomp.c-c++-common/for-14.c: New test.
731	* testsuite/libgomp.c-c++-common/for-15.c: New test.
732	* testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
733	define a different N(test), don't define N(f0) to N(f14), but instead
734	define N(f20) to N(f34) using != comparisons.
735	* testsuite/libgomp.c-c++-common/for-7.c: New test.
736	* testsuite/libgomp.c-c++-common/for-8.c: New test.
737	* testsuite/libgomp.c-c++-common/for-9.c: New test.
738	* testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
739	* testsuite/libgomp.c-c++-common/pause-1.c: New test.
740	* testsuite/libgomp.c-c++-common/pause-2.c: New test.
741	* testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
742	* testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
743	* testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
744	* testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
745	* testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
746	* testsuite/libgomp.c-c++-common/simd-1.c: New test.
747	* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
748	* testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
749	* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
750	* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
751	* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
752	* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
753	* testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
754	* testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
755	* testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
756	* testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
757	* testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
758	* testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
759	* testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
760	* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
761	* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
762	* testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
763	* testsuite/libgomp.c++/depend-1.C: New test.
764	* testsuite/libgomp.c++/depend-iterator-1.C: New test.
765	* testsuite/libgomp.c++/depobj-1.C: New test.
766	* testsuite/libgomp.c++/for-16.C: New test.
767	* testsuite/libgomp.c++/for-21.C: New test.
768	* testsuite/libgomp.c++/for-22.C: New test.
769	* testsuite/libgomp.c++/for-23.C: New test.
770	* testsuite/libgomp.c++/for-24.C: New test.
771	* testsuite/libgomp.c++/for-25.C: New test.
772	* testsuite/libgomp.c++/for-26.C: New test.
773	* testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
774	* testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
775	* testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
776	* testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
777	* testsuite/libgomp.c++/task-reduction-10.C: New test.
778	* testsuite/libgomp.c++/task-reduction-11.C: New test.
779	* testsuite/libgomp.c++/task-reduction-12.C: New test.
780	* testsuite/libgomp.c++/task-reduction-13.C: New test.
781	* testsuite/libgomp.c++/task-reduction-14.C: New test.
782	* testsuite/libgomp.c++/task-reduction-15.C: New test.
783	* testsuite/libgomp.c++/task-reduction-16.C: New test.
784	* testsuite/libgomp.c++/task-reduction-17.C: New test.
785	* testsuite/libgomp.c++/task-reduction-18.C: New test.
786	* testsuite/libgomp.c++/task-reduction-19.C: New test.
787	* testsuite/libgomp.c/task-reduction-1.c: New test.
788	* testsuite/libgomp.c++/task-reduction-1.C: New test.
789	* testsuite/libgomp.c/task-reduction-2.c: New test.
790	* testsuite/libgomp.c++/task-reduction-2.C: New test.
791	* testsuite/libgomp.c++/task-reduction-3.C: New test.
792	* testsuite/libgomp.c++/task-reduction-4.C: New test.
793	* testsuite/libgomp.c++/task-reduction-5.C: New test.
794	* testsuite/libgomp.c++/task-reduction-6.C: New test.
795	* testsuite/libgomp.c++/task-reduction-7.C: New test.
796	* testsuite/libgomp.c++/task-reduction-8.C: New test.
797	* testsuite/libgomp.c++/task-reduction-9.C: New test.
798	* testsuite/libgomp.c/teams-1.c: New test.
799	* testsuite/libgomp.c/teams-2.c: New test.
800	* testsuite/libgomp.c/thread-limit-4.c: New test.
801	* testsuite/libgomp.c/thread-limit-5.c: New test.
802	* testsuite/libgomp.fortran/display-affinity-1.f90: New test.
803
8042018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
805
806	* oacc-mem.c (memcpy_tofrom_device): New function, combined from
807	acc_memcpy_to/from_device functions, now with async parameter.
808	(acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
809	(acc_memcpy_from_device): Likewise.
810	(acc_memcpy_to_device_async): New API function.
811	(acc_memcpy_from_device_async): Likewise.
812	(present_create_copy): Add async parameter and async setting/unsetting.
813	(acc_create): Adjust present_create_copy call.
814	(acc_copyin): Likewise.
815	(acc_present_or_create): Likewise.
816	(acc_present_or_copyin): Likewise.
817	(acc_create_async): New API function.
818	(acc_copyin_async): New API function.
819	(delete_copyout): Add async parameter and async setting/unsetting.
820	(acc_delete): Adjust delete_copyout call.
821	(acc_copyout): Likewise.
822	(acc_delete_async): New API function.
823	(acc_copyout_async): Likewise.
824	(update_dev_host): Add async parameter and async setting/unsetting.
825	(acc_update_device): Adjust update_dev_host call.
826	(acc_update_self): Likewise.
827	(acc_update_device_async): New API function.
828	(acc_update_self_async): Likewise.
829	* openacc.h (acc_copyin_async): Declare new API function.
830	(acc_create_async): Likewise.
831	(acc_copyout_async): Likewise.
832	(acc_delete_async): Likewise.
833	(acc_update_device_async): Likewise.
834	(acc_update_self_async): Likewise.
835	(acc_memcpy_to_device_async): Likewise.
836	(acc_memcpy_from_device_async): Likewise.
837	* openacc_lib.h (acc_copyin_async_32_h): New subroutine.
838	(acc_copyin_async_64_h): New subroutine.
839	(acc_copyin_async_array_h): New subroutine.
840	(acc_create_async_32_h): New subroutine.
841	(acc_create_async_64_h): New subroutine.
842	(acc_create_async_array_h): New subroutine.
843	(acc_copyout_async_32_h): New subroutine.
844	(acc_copyout_async_64_h): New subroutine.
845	(acc_copyout_async_array_h): New subroutine.
846	(acc_delete_async_32_h): New subroutine.
847	(acc_delete_async_64_h): New subroutine.
848	(acc_delete_async_array_h): New subroutine.
849	(acc_update_device_async_32_h): New subroutine.
850	(acc_update_device_async_64_h): New subroutine.
851	(acc_update_device_async_array_h): New subroutine.
852	(acc_update_self_async_32_h): New subroutine.
853	(acc_update_self_async_64_h): New subroutine.
854	(acc_update_self_async_array_h): New subroutine.
855	* openacc.f90 (acc_copyin_async_32_h): New subroutine.
856	(acc_copyin_async_64_h): New subroutine.
857	(acc_copyin_async_array_h): New subroutine.
858	(acc_create_async_32_h): New subroutine.
859	(acc_create_async_64_h): New subroutine.
860	(acc_create_async_array_h): New subroutine.
861	(acc_copyout_async_32_h): New subroutine.
862	(acc_copyout_async_64_h): New subroutine.
863	(acc_copyout_async_array_h): New subroutine.
864	(acc_delete_async_32_h): New subroutine.
865	(acc_delete_async_64_h): New subroutine.
866	(acc_delete_async_array_h): New subroutine.
867	(acc_update_device_async_32_h): New subroutine.
868	(acc_update_device_async_64_h): New subroutine.
869	(acc_update_device_async_array_h): New subroutine.
870	(acc_update_self_async_32_h): New subroutine.
871	(acc_update_self_async_64_h): New subroutine.
872	(acc_update_self_async_array_h): New subroutine.
873	* libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
874	acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
875	acc_delete_finalize_async*, acc_memcpy_from_device_async*,
876	acc_memcpy_to_device_async*, acc_update_device_async*, and
877	acc_update_self_async* entries.
878	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
879	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
880	* testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
881
8822018-10-31  Joseph Myers  <joseph@codesourcery.com>
883
884	PR bootstrap/82856
885	* Makefile.am: Include multilib.am
886	(AUTOMAKE_OPTIONS): Add info-in-builddir.
887	(CLEANFILES): Remove libgomp.info.
888	* configure.ac: Remove AC_PREREQ.
889	* testsuite/Makefile.am (RUNTEST): Remove quotes.
890	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
891	Regenerate.
892
8932018-10-29  Joseph Myers  <joseph@codesourcery.com>
894	    Julian Brown  <julian@codesourcery.com>
895
896	* testsuite/libgomp.oacc-c++/this.C: New.
897
8982018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
899
900	* plugin/plugin-nvptx.c (struct cuda_map): New.
901	(struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
902	h_tail with (cuda_map *) map.
903	(cuda_map_create): New function.
904	(cuda_map_destroy): New function.
905	(map_init): Update to use a linked list of cuda_map objects.
906	(map_fini): Likewise.
907	(map_pop): Likewise.
908	(map_push): Likewise.  Return CUdeviceptr instead of void.
909	(init_streams_for_device): Remove stales references to ptx_stream
910	members.
911	(select_stream_for_async): Likewise.
912	(nvptx_exec): Update call to map_init.
913
9142018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
915            Julian Brown  <julian@codesourcery.com>
916
917	PR middle-end/86336
918	* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
919
9202018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
921	Thomas Koenig <tkoenig@gcc.gnu.org>
922
923	PR fortran/25829
924	* testsuite/libgomp.fortran/async_io_1.f90: New test.
925	* testsuite/libgomp.fortran/async_io_2.f90: New test.
926	* testsuite/libgomp.fortran/async_io_3.f90: New test.
927	* testsuite/libgomp.fortran/async_io_4.f90: New test.
928	* testsuite/libgomp.fortran/async_io_5.f90: New test.
929	* testsuite/libgomp.fortran/async_io_6.f90: New test.
930	* testsuite/libgomp.fortran/async_io_7.f90: New test.
931
9322018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
933	    Tom de Vries  <tdevries@suse.de>
934
935	PR target/85590
936	* plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
937	(cuOccupancyMaxPotentialBlockSize): Declare.
938	* plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
939	CUDA_ONE_CALL_MAYBE_NULL.
940	* plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
941	CUoccupancyB2DSize and declare
942	cuOccupancyMaxPotentialBlockSize.
943	(nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
944	default num_gangs and num_workers when the driver supports it.
945
9462018-08-08  Tom de Vries  <tdevries@suse.de>
947
948	* plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
949	CUDA_ONE_CALL_MAYBE_NULL.
950	* plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
951	(cuLinkAddData_v2, cuLinkCreate_v2): Declare.
952	(link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
953	are not found.
954
9552018-08-08  Tom de Vries  <tdevries@suse.de>
956
957	* plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
958	* plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
959	present.
960
9612018-08-08  Tom de Vries  <tdevries@suse.de>
962
963	* plugin/plugin-nvptx.c
964	(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
965	(nvptx_open_device): Use
966	CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
967
9682018-08-08  Tom de Vries  <tdevries@suse.de>
969
970	* plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
971	(cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
972
9732018-08-07  Tom de Vries  <tdevries@suse.de>
974
975	* plugin/plugin-nvptx.c (DO_PRAGMA): Define.
976	(struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
977	(init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
978	corresponding call in CUDA_ONE_CALL.  Add def/undef of
979	CUDA_ONE_CALL_MAYBE_NULL.
980	(CUDA_CALL_EXISTS): Define.
981
9822018-08-07  Tom de Vries  <tdevries@suse.de>
983
984	* plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
985	CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
986	corresponding undefs right after.
987
9882018-08-04  Tom de Vries  <tdevries@suse.de>
989
990	* plugin/configfrag.ac: For --without-cuda-driver, set
991	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
992	CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
993	* configure: Regenerate.
994
9952018-08-02  Tom de Vries  <tdevries@suse.de>
996
997	PR target/86660
998	* testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
999	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
1000	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1001	Same.
1002	* testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
1003	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
1004	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
1005
10062018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
1007	    Thomas Schwinge <thomas@codesourcery.com>
1008
1009	* config/nvptx/oacc-parallel.c: Truncate.
1010
10112018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
1012	    James Norris <jnorris@codesourcery.com>
1013
1014	* plugin/plugin-nvptx.c (struct map): Removed.
1015	(map_init, map_pop): Remove use of struct map.
1016	(map_push): Likewise and change argument list.
1017	* testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
1018
10192018-08-01  Tom de Vries  <tdevries@suse.de>
1020
1021	* plugin/cuda-lib.def: New file.  Factor out of ...
1022	* plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
1023	(struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
1024	using CUDA_CALLS.
1025
10262018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1027
1028	Revert 'AsyncI/O patch committed'.
1029	2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
1030		Thomas Koenig <tkoenig@gcc.gnu.org>
1031
1032	PR fortran/25829
1033	* testsuite/libgomp.fortran/async_io_1.f90: New test.
1034	* testsuite/libgomp.fortran/async_io_2.f90: New test.
1035	* testsuite/libgomp.fortran/async_io_3.f90: New test.
1036	* testsuite/libgomp.fortran/async_io_4.f90: New test.
1037	* testsuite/libgomp.fortran/async_io_5.f90: New test.
1038	* testsuite/libgomp.fortran/async_io_6.f90: New test.
1039	* testsuite/libgomp.fortran/async_io_7.f90: New test.
1040
10412018-07-30  Tom de Vries  <tdevries@suse.de>
1042
1043	* plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1044	(nvptx_exec): Ensure worker and vector default dims don't exceed
1045	targ_fn->max_threads_per_block.
1046
10472018-07-30  Tom de Vries  <tdevries@suse.de>
1048
1049	* plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1050	(nvptx_open_device): Init default_dims for device.
1051	(nvptx_exec): Use default_dims from device.
1052
10532018-07-26  Jakub Jelinek  <jakub@redhat.com>
1054
1055	PR testsuite/86660
1056	* testsuite/libgomp.c++/for-15.C (results): Include it in
1057	omp declare target region.
1058	(main): Use map (always, tofrom: results) instead of
1059	map (tofrom: results).
1060
1061	PR middle-end/86660
1062	* testsuite/libgomp.c/pr86660.c: New test.
1063
10642018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
1065	    Tom de Vries  <tdevries@suse.de>
1066
1067	* plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1068	sufficient resources to launch a kernel, and give a hint on how to fix
1069	it.
1070
10712018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
1072	    Tom de Vries  <tdevries@suse.de>
1073
1074	* plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1075	max_threads_per_block and max_threads_per_multiprocessor fields.
1076	(nvptx_open_device): Initialize new fields.
1077	(nvptx_exec): Use num_sms, and new fields.
1078
10792018-07-26  Tom de Vries  <tdevries@suse.de>
1080
1081	* testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1082	to correct locations.  Remove xfail.
1083
10842018-07-26  Tom de Vries  <tdevries@suse.de>
1085
1086	* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1087	acc_wait.  Move acc_async_test calls to correct locations.  Remove
1088	xfail.
1089
10902018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
1091	Thomas Koenig <tkoenig@gcc.gnu.org>
1092
1093	PR fortran/25829
1094	* testsuite/libgomp.fortran/async_io_1.f90: New test.
1095	* testsuite/libgomp.fortran/async_io_2.f90: New test.
1096	* testsuite/libgomp.fortran/async_io_3.f90: New test.
1097	* testsuite/libgomp.fortran/async_io_4.f90: New test.
1098	* testsuite/libgomp.fortran/async_io_5.f90: New test.
1099	* testsuite/libgomp.fortran/async_io_6.f90: New test.
1100	* testsuite/libgomp.fortran/async_io_7.f90: New test.
1101
11022018-07-17  Jakub Jelinek  <jakub@redhat.com>
1103
1104	PR middle-end/86542
1105	* testsuite/libgomp.c++/pr86542.C: New test.
1106
1107	PR middle-end/86539
1108	* testsuite/libgomp.c++/pr86539.C: New test.
1109
11102018-07-11  Jakub Jelinek  <jakub@redhat.com>
1111
1112	PR c++/86443
1113	* testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1114	(results): Make sure the variable is not inside declare target region.
1115	(qux): Remove unused function.
1116
11172018-07-10  Jakub Jelinek  <jakub@redhat.com>
1118
1119	PR c++/86443
1120	* testsuite/libgomp.c++/for-15.C: New test.
1121
11222018-06-26  Jakub Jelinek  <jakub@redhat.com>
1123
1124	PR c++/86291
1125	* testsuite/libgomp.c++/pr86291.C: New test.
1126
11272018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
1128
1129	* libgomp.texi (Top): Move www.openmp.org to https.
1130	(Enabling OpenMP): Ditto.
1131	(omp_get_active_level): Ditto.
1132	(omp_get_ancestor_thread_num): Ditto.
1133	(omp_get_cancellation): Ditto.
1134	(omp_get_default_device): Ditto.
1135	(omp_get_dynamic): Ditto.
1136	(omp_get_level): Ditto.
1137	(omp_get_max_active_levels): Ditto.
1138	(omp_get_max_task_priority): Ditto.
1139	(omp_get_max_threads): Ditto.
1140	(omp_get_nested): Ditto.
1141	(omp_get_num_devices): Ditto.
1142	(omp_get_num_procs): Ditto.
1143	(omp_get_num_teams): Ditto.
1144	(omp_get_num_threads): Ditto.
1145	(omp_get_proc_bind): Ditto.
1146	(omp_get_schedule): Ditto.
1147	(omp_get_team_num): Ditto.
1148	(omp_get_team_size): Ditto.
1149	(omp_get_thread_limit): Ditto.
1150	(omp_get_thread_num): Ditto.
1151	(omp_in_parallel): Ditto.
1152	(omp_in_final): Ditto.
1153	(omp_is_initial_device): Ditto.
1154	(omp_set_default_device): Ditto.
1155	(omp_set_dynamic): Ditto.
1156	(omp_set_max_active_levels): Ditto.
1157	(omp_set_nested): Ditto.
1158	(omp_set_num_threads): Ditto.
1159	(omp_set_schedule): Ditto.
1160	(omp_init_lock): Ditto.
1161	(omp_set_lock): Ditto.
1162	(omp_test_lock): Ditto.
1163	(omp_unset_lock): Ditto.
1164	(omp_destroy_lock): Ditto.
1165	(omp_init_nest_lock): Ditto.
1166	(omp_set_nest_lock): Ditto.
1167	(omp_test_nest_lock): Ditto.
1168	(omp_unset_nest_lock): Ditto.
1169	(omp_destroy_nest_lock): Ditto.
1170	(omp_get_wtick): Ditto.
1171	(omp_get_wtime): Ditto.
1172	(OMP_CANCELLATION): Ditto.
1173	(OMP_DISPLAY_ENV): Ditto.
1174	(OMP_DEFAULT_DEVICE): Ditto.
1175	(OMP_DYNAMIC): Ditto.
1176	(OMP_MAX_ACTIVE_LEVELS): Ditto.
1177	(OMP_MAX_TASK_PRIORITY): Ditto.
1178	(OMP_NESTED): Ditto.
1179	(OMP_NUM_THREADS): Ditto.
1180	(OMP_PROC_BIND): Ditto.
1181	(OMP_PLACES): Ditto.
1182	(OMP_STACKSIZE): Ditto.
1183	(OMP_SCHEDULE): Ditto.
1184	(OMP_THREAD_LIMIT): Ditto.
1185	(OMP_WAIT_POLICY): Ditto.
1186
11872018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
1188	    James Norris  <jnorris@codesourcery.com>
1189	    Julian Brown  <julian@codesourcery.com>
1190	    Thomas Schwinge  <thomas@codesourcery.com>
1191	    Tom de Vries  <tom@codesourcery.com>
1192
1193	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1194	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1195	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1196	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1197	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1198	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1199	* testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1200	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1201	* testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1202	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1203	Likewise.
1204	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1205	Likewise.
1206	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1207	Likewise.
1208	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1209	Likewise.
1210	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1211	Likewise.
1212	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1213	Likewise.
1214	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1215	Likewise.
1216	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1217	Likewise.
1218	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1219	Likewise.
1220	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1221	Likewise.
1222	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1223	Likewise.
1224	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1225	Likewise.
1226	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1227	Likewise.
1228	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1229	Likewise.
1230	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1231	Likewise.
1232	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1233	Likewise.
1234	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1235	Likewise.
1236	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1237	Likewise.
1238	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1239	Likewise.
1240	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1241	Likewise.
1242	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1243	Likewise.
1244	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1245	Likewise.
1246	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1247	Likewise.
1248	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1249	Likewise.
1250	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1251	Likewise.
1252	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1253	Likewise.
1254	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1255	Likewise.
1256	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1257	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1258	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1259	* testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1260	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1261	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1262	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1263	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1264	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1265	Likewise.
1266	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1267	Likewise.
1268	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1269	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1270	* testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1271	Likewise.
1272	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1273	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1274	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1275	Likewise.
1276	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1277	Likewise.
1278	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1279	Likewise.
1280	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1281	Likewise.
1282	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1283	Likewise.
1284	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1285	Likewise.
1286	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1287	Likewise.
1288	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1289	Likewise.
1290	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1291	Likewise.
1292	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1293	Likewise.
1294	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1295	Likewise.
1296	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1297	Likewise.
1298	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1299	Likewise.
1300	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1301	Likewise.
1302	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1303	Likewise.
1304	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1305	* testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1306	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1307	* testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1308	* testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1309	* testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1310	* testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1311
13122018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
1313	    Thomas Schwinge <thomas@codesourcery.com>
1314	    Cesar Philippidis  <cesar@codesourcery.com>
1315
1316	* libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1317	(gomp_acc_remove_pointer): Update declaration.
1318	(gomp_acc_declare_allocate): Declare.
1319	(gomp_remove_var): Declare.
1320	* libgomp.map (OACC_2.5): Define.
1321	* oacc-mem.c (acc_map_data): Update refcount.
1322	(acc_unmap_data): Likewise.
1323	(present_create_copy): Likewise.
1324	(acc_create): Add FLAG_PRESENT when calling present_create_copy.
1325	(acc_copyin): Likewise.
1326	(FLAG_FINALIZE): Define.
1327	(delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1328	(acc_delete_finalize): New function.
1329	(acc_delete_finalize_async): New function.
1330	(acc_copyout_finalize): New function.
1331	(acc_copyout_finalize_async): New function.
1332	(gomp_acc_insert_pointer): Update refcounts.
1333	(gomp_acc_remove_pointer): Return if data is not present on the
1334	accelerator.
1335	* oacc-parallel.c (find_pset): Rename to find_pointer.
1336	(find_pointer): Add support for GOMP_MAP_POINTER.
1337	(handle_ftn_pointers): New function.
1338	(GOACC_parallel_keyed): Update refcounts of variables.
1339	(GOACC_enter_exit_data): Add support for finalized data mappings.
1340	Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1341	of fortran arrays.
1342	(GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1343	(GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1344	for GOMP_MAP_FORCE_FROM.
1345	* openacc.f90 (module openacc_internal): Add
1346	acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1347	acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1348	acc_copyout_finalize and acc_delete_finalize.
1349	(acc_copyout_finalize_32_h): New subroutine.
1350	(acc_copyout_finalize_64_h): New subroutine.
1351	(acc_copyout_finalize_array_h): New subroutine.
1352	(acc_delete_finalize_32_h): New subroutine.
1353	(acc_delete_finalize_64_h): New subroutine.
1354	(acc_delete_finalize_array_h): New subroutine.
1355	* openacc.h (acc_copyout_finalize): Declare.
1356	(acc_copyout_finalize_async): Declare.
1357	(acc_delete_finalize): Declare.
1358	(acc_delete_finalize_async): Declare.
1359	* openacc_lib.h (acc_copyout_finalize): New interface.
1360	(acc_delete_finalize): New interface.
1361	* target.c (gomp_map_vars): Update dynamic_refcount.
1362	(gomp_remove_var): New function.
1363	(gomp_unmap_vars): Use it.
1364	(gomp_unload_image_from_device): Likewise.
1365	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1366	case to utilize OpenACC 2.5 data clause semantics.
1367	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1368	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1369	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1370	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1371	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1372	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1373	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1374	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1375	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1376	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1377	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1378	* testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1379	* testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1380	utilize OpenACC 2.5 data clause semantics.
1381	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1382	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1383	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1384	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1385	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1386	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1387	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1388	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1389	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1390
13912018-05-21  Janus Weil  <janus@gcc.gnu.org>
1392
1393	PR fortran/85841
1394	PR testsuite/85865
1395	* testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1396	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1397	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1398	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1399	* testsuite/libgomp.fortran/task2.f90: Ditto.
1400	* testsuite/libgomp.fortran/vla1.f90: Ditto.
1401	* testsuite/libgomp.fortran/vla2.f90: Ditto.
1402	* testsuite/libgomp.fortran/vla3.f90: Ditto.
1403	* testsuite/libgomp.fortran/vla4.f90: Ditto.
1404	* testsuite/libgomp.fortran/vla5.f90: Ditto.
1405	* testsuite/libgomp.fortran/vla6.f90: Ditto.
1406	* testsuite/libgomp.fortran/vla8.f90: Ditto.
1407	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1408	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1409
14102018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
1411
1412	PR c++/85782
1413	* testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1414
14152018-05-09  Tom de Vries  <tom@codesourcery.com>
1416
1417	PR libgomp/82901
1418	* oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1419	to GOACC_enter_exit_data.
1420
14212018-05-09  Tom de Vries  <tom@codesourcery.com>
1422
1423	PR libgomp/83792
1424	* oacc-int.h (async_valid_stream_id_p, async_valid_p)
1425	(async_synchronous_p): New function.
1426	* oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1427	async_valid_p.
1428	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1429	async_valid_stream_id_p.
1430	* oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1431	* oacc-parallel.c (GOACC_parallel_keyed): Same.
1432
14332018-05-07  Tom de Vries  <tom@codesourcery.com>
1434
1435	PR testsuite/85677
1436	* testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1437	include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1438
14392018-05-03  Tom de Vries  <tom@codesourcery.com>
1440
1441	PR testsuite/85106
1442	* testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1443	extra_tool_flags if it contains an -foffload=-fdump-* flag.
1444	* testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1445	* testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1446
14472018-05-02  Tom de Vries  <tom@codesourcery.com>
1448
1449	PR libgomp/85411
1450	* plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1451	GOMP_OPENACC_DIM ...
1452	* env.c (parse_gomp_openacc_dim): ... here.  New function.
1453	(initialize_env): Call parse_gomp_openacc_dim.
1454	(goacc_default_dims): Define.
1455	* libgomp.h (goacc_default_dims): Declare.
1456	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1457	* oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1458	* libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1459	GOMP_PLUGIN_acc_default_dim.
1460	* testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1461	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1462
14632018-05-02  Tom de Vries  <tom@codesourcery.com>
1464
1465	PR testsuite/83791
1466	* testsuite/libgomp.c++/udr-9.C: Update.
1467	* testsuite/libgomp.c++/atomic-16.C: Remove.
1468	* testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1469	* testsuite/libgomp.c++/loop-13.C: Remove.
1470	* testsuite/libgomp.c++/loop-14.C: Remove.
1471	* testsuite/libgomp.c++/loop-15.C: Remove.
1472	* testsuite/libgomp.c++/monotonic-1.C: Remove.
1473	* testsuite/libgomp.c++/monotonic-2.C: Remove.
1474	* testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1475	* testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1476	* testsuite/libgomp.c++/ordered-1.C: Remove.
1477	* testsuite/libgomp.c++/pr45784.C: Remove.
1478	* testsuite/libgomp.c++/pr64824.C: Remove.
1479	* testsuite/libgomp.c++/pr64868.C: Remove.
1480	* testsuite/libgomp.c++/pr66199-1.C: Remove.
1481	* testsuite/libgomp.c++/pr66199-2.C: Remove.
1482	* testsuite/libgomp.c++/pr66199-3.C: Remove.
1483	* testsuite/libgomp.c++/pr66199-4.C: Remove.
1484	* testsuite/libgomp.c++/pr66199-5.C: Remove.
1485	* testsuite/libgomp.c++/pr66199-6.C: Remove.
1486	* testsuite/libgomp.c++/pr66199-7.C: Remove.
1487	* testsuite/libgomp.c++/pr66199-8.C: Remove.
1488	* testsuite/libgomp.c++/pr66199-9.C: Remove.
1489	* testsuite/libgomp.c++/pr69389.C: Remove.
1490	* testsuite/libgomp.c++/simd10.C: Remove.
1491	* testsuite/libgomp.c++/simd11.C: Remove.
1492	* testsuite/libgomp.c++/simd12.C: Remove.
1493	* testsuite/libgomp.c++/simd13.C: Remove.
1494	* testsuite/libgomp.c++/target-1.C: Remove.
1495	* testsuite/libgomp.c++/target-3.C: Remove.
1496	* testsuite/libgomp.c++/target-4.C: Remove.
1497	* testsuite/libgomp.c++/target-5.C: Remove.
1498	* testsuite/libgomp.c++/taskgroup-1.C: Remove.
1499	* testsuite/libgomp.c++/taskloop-1.C: Remove.
1500	* testsuite/libgomp.c++/taskloop-2.C: Remove.
1501	* testsuite/libgomp.c++/taskloop-3.C: Remove.
1502	* testsuite/libgomp.c++/taskloop-4.C: Remove.
1503	* testsuite/libgomp.c++/udr-9.C: Remove.
1504	* testsuite/libgomp.c++/for-10.C: Remove.
1505	* testsuite/libgomp.c++/for-11.C: Remove.
1506	* testsuite/libgomp.c++/for-12.C: Remove.
1507	* testsuite/libgomp.c++/for-13.C: Remove.
1508	* testsuite/libgomp.c++/for-14.C: Remove.
1509	* testsuite/libgomp.c++/for-9.C: Remove.
1510	* testsuite/libgomp.c/atomic-18.c: Move ...
1511	* testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1512	* testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1513	* testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1514	* testsuite/libgomp.c/loop-13.c: Move ...
1515	* testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1516	* testsuite/libgomp.c/loop-14.c: Move ...
1517	* testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1518	* testsuite/libgomp.c/loop-15.c: Remove.
1519	* testsuite/libgomp.c-c++-common/loop-15.c: New test.
1520	* testsuite/libgomp.c/monotonic-1.c: Move ...
1521	* testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1522	* testsuite/libgomp.c/monotonic-2.c: Move ...
1523	* testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1524	* testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1525	* testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1526	* testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1527	* testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1528	* testsuite/libgomp.c/ordered-4.c: Move ...
1529	* testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1530	* testsuite/libgomp.c/pr45784.c: Move ...
1531	* testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1532	* testsuite/libgomp.c/pr64824.c: Move ...
1533	* testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1534	* testsuite/libgomp.c/pr64868.c: Move ...
1535	* testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1536	* testsuite/libgomp.c/pr66199-1.c: Move ...
1537	* testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1538	* testsuite/libgomp.c/pr66199-2.c: Move ...
1539	* testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1540	* testsuite/libgomp.c/pr66199-3.c: Move ...
1541	* testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1542	* testsuite/libgomp.c/pr66199-4.c: Move ...
1543	* testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1544	* testsuite/libgomp.c/pr66199-5.c: Move ...
1545	* testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1546	* testsuite/libgomp.c/pr66199-6.c: Move ...
1547	* testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1548	* testsuite/libgomp.c/pr66199-7.c: Move ...
1549	* testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1550	* testsuite/libgomp.c/pr66199-8.c: Move ...
1551	* testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1552	* testsuite/libgomp.c/pr66199-9.c: Move ...
1553	* testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1554	* testsuite/libgomp.c/pr69389.c: Move ...
1555	* testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1556	* testsuite/libgomp.c/simd-14.c: Move ...
1557	* testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1558	* testsuite/libgomp.c/simd-15.c: Move ...
1559	* testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1560	* testsuite/libgomp.c/simd-16.c: Move ...
1561	* testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1562	* testsuite/libgomp.c/simd-17.c: Move ...
1563	* testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1564	* testsuite/libgomp.c/target-1.c: Move ...
1565	* testsuite/libgomp.c-c++-common/target-1.c: ... here.
1566	* testsuite/libgomp.c/target-10.c: Move ...
1567	* testsuite/libgomp.c-c++-common/target-10.c: ... here.
1568	* testsuite/libgomp.c/target-13.c: Move ...
1569	* testsuite/libgomp.c-c++-common/target-13.c: ... here.
1570	* testsuite/libgomp.c/target-2.c: Move ...
1571	* testsuite/libgomp.c-c++-common/target-2.c: ... here.
1572	* testsuite/libgomp.c/taskgroup-1.c: Move ...
1573	* testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1574	* testsuite/libgomp.c/taskloop-1.c: Move ...
1575	* testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1576	* testsuite/libgomp.c/taskloop-2.c: Move ...
1577	* testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1578	* testsuite/libgomp.c/taskloop-3.c: Move ...
1579	* testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1580	* testsuite/libgomp.c/taskloop-4.c: Move ...
1581	* testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1582	* testsuite/libgomp.c/udr-1.c: Move ...
1583	* testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1584	* testsuite/libgomp.c/for-1.c: Move ...
1585	* testsuite/libgomp.c-c++-common/for-1.c: ... here.
1586	* testsuite/libgomp.c/for-1.h: Move ...
1587	* testsuite/libgomp.c-c++-common/for-1.h: ... here.
1588	* testsuite/libgomp.c/for-2.c: Move ...
1589	* testsuite/libgomp.c-c++-common/for-2.c: ... here.
1590	* testsuite/libgomp.c/for-2.h: Move ...
1591	* testsuite/libgomp.c-c++-common/for-2.h: ... here.
1592	* testsuite/libgomp.c/for-3.c: Move ...
1593	* testsuite/libgomp.c-c++-common/for-3.c: ... here.
1594	* testsuite/libgomp.c/for-4.c: Move ...
1595	* testsuite/libgomp.c-c++-common/for-4.c: ... here.
1596	* testsuite/libgomp.c/for-5.c: Move ...
1597	* testsuite/libgomp.c-c++-common/for-5.c: ... here.
1598	* testsuite/libgomp.c/for-6.c: Move ...
1599	* testsuite/libgomp.c-c++-common/for-6.c: ... here.
1600
16012018-05-02  Tom de Vries  <tom@codesourcery.com>
1602
1603	PR libgomp/82428
1604	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1605	__builtin_goacc_parlevel_{id,size}.
1606	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1607	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1608	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1609	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1610	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1611	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1612	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1613	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1614	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1615	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1616	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1617	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1618	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1619	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1620	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1621	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1622	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1623	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1624	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1625	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1626	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1627	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1628	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1629
16302018-05-02  Tom de Vries  <tom@codesourcery.com>
1631
1632	PR testsuite/85106
1633	* testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1634
16352018-05-02  Tom de Vries  <tom@codesourcery.com>
1636
1637	PR testsuite/85106
1638	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1639
16402018-04-29  Julian Brown  <julian@codesourcery.com>
1641	    Tom de Vries  <tom@codesourcery.com>
1642
1643	PR testsuite/85527
1644	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1645	arbitrary order for iterations of atomic subtract check.
1646
16472018-04-28  Tom de Vries  <tom@codesourcery.com>
1648
1649	PR testsuite/85527
1650	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1651	atomic capture results obtained in parallel loop to an array, instead of
1652	to a scalar.
1653
16542018-04-26  Tom de Vries  <tom@codesourcery.com>
1655
1656	PR libgomp/84020
1657	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1658	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1659	(process_GOMP_NVPTX_JIT): New function.
1660	(link_ptx): Use process_GOMP_NVPTX_JIT.
1661
16622018-04-26  Richard Biener <rguenther@suse.de>
1663	    Tom de Vries  <tom@codesourcery.com>
1664
1665	PR lto/85422
1666	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1667
16682018-04-26  Tom de Vries  <tom@codesourcery.com>
1669
1670	PR target/85519
1671	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1672	recursion depth from 25 to 23.
1673	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1674
16752018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
1676
1677	* configure: Regenerated.
1678
16792018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
1680	    Tom de Vries  <tom@codesourcery.com>
1681
1682	PR target/85445
1683	* testsuite/libgomp.oacc-c++/ref-1.C: New.
1684
16852018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
1686
1687	PR libgomp/85463
1688	* testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
1689	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1690	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1691	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1692	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1693	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1694
1695	PR libfortran/85166
1696	* testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
1697	abort".
1698	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1699
17002018-04-19  Jakub Jelinek  <jakub@redhat.com>
1701
1702	* configure: Regenerated.
1703
17042018-04-18  David Malcolm  <dmalcolm@redhat.com>
1705
1706	PR jit/85384
1707	* configure: Regenerate.
1708
17092018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
1710	    Tom de Vries  <tom@codesourcery.com>
1711
1712	PR middle-end/84955
1713	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1714	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1715
17162018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1717
1718	PR fortran/83064
1719	PR testsuite/85346
1720	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
1721	test from gfortran.dg to here.
1722
17232018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
1724
1725	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
1726	* testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
1727
17282018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
1729
1730	PR middle-end/84955
1731	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1732	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1733
17342018-04-05  Tom de Vries  <tom@codesourcery.com>
1735
1736	PR target/85204
1737	* testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
1738
17392018-03-26  Tom de Vries  <tom@codesourcery.com>
1740
1741	PR tree-optimization/85063
1742	* testsuite/libgomp.c/switch-conversion-2.c: New test.
1743	* testsuite/libgomp.c/switch-conversion.c: New test.
1744	* testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
1745	* testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
1746
17472018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
1748
1749	PR fortran/84381
1750	* testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
1751	call abort by STOP n.
1752	* testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
1753	* testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
1754	* testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
1755	* testsuite/libgomp.fortran/allocatable1.f90: Likewise.
1756	* testsuite/libgomp.fortran/allocatable10.f90: Likewise.
1757	* testsuite/libgomp.fortran/allocatable11.f90: Likewise.
1758	* testsuite/libgomp.fortran/allocatable12.f90: Likewise.
1759	* testsuite/libgomp.fortran/allocatable2.f90: Likewise.
1760	* testsuite/libgomp.fortran/allocatable3.f90: Likewise.
1761	* testsuite/libgomp.fortran/allocatable4.f90: Likewise.
1762	* testsuite/libgomp.fortran/allocatable5.f90: Likewise.
1763	* testsuite/libgomp.fortran/allocatable6.f90: Likewise.
1764	* testsuite/libgomp.fortran/allocatable7.f90: Likewise.
1765	* testsuite/libgomp.fortran/allocatable8.f90: Likewise.
1766	* testsuite/libgomp.fortran/allocatable9.f90: Likewise.
1767	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
1768	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
1769	* testsuite/libgomp.fortran/associate1.f90: Likewise.
1770	* testsuite/libgomp.fortran/associate2.f90: Likewise.
1771	* testsuite/libgomp.fortran/associate3.f90: Likewise.
1772	* testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
1773	* testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
1774	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
1775	* testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
1776	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
1777	* testsuite/libgomp.fortran/character1.f90: Likewise.
1778	* testsuite/libgomp.fortran/character2.f90: Likewise.
1779	* testsuite/libgomp.fortran/collapse1.f90: Likewise.
1780	* testsuite/libgomp.fortran/collapse2.f90: Likewise.
1781	* testsuite/libgomp.fortran/collapse3.f90: Likewise.
1782	* testsuite/libgomp.fortran/collapse4.f90: Likewise.
1783	* testsuite/libgomp.fortran/crayptr1.f90: Likewise.
1784	* testsuite/libgomp.fortran/crayptr2.f90: Likewise.
1785	* testsuite/libgomp.fortran/crayptr3.f90: Likewise.
1786	* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
1787	* testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
1788	* testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
1789	* testsuite/libgomp.fortran/depend-1.f90: Likewise.
1790	* testsuite/libgomp.fortran/depend-2.f90: Likewise.
1791	* testsuite/libgomp.fortran/depend-3.f90: Likewise.
1792	* testsuite/libgomp.fortran/do1.f90: Likewise.
1793	* testsuite/libgomp.fortran/do2.f90: Likewise.
1794	* testsuite/libgomp.fortran/doacross1.f90: Likewise.
1795	* testsuite/libgomp.fortran/doacross2.f90: Likewise.
1796	* testsuite/libgomp.fortran/doacross3.f90: Likewise.
1797	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
1798	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
1799	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
1800	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1801	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
1802	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
1803	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
1804	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
1805	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
1806	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1807	* testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
1808	* testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
1809	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
1810	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
1811	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
1812	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
1813	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
1814	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
1815	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
1816	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
1817	* testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
1818	* testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
1819	* testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
1820	* testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
1821	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1822	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
1823	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
1824	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
1825	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
1826	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
1827	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1828	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1829	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
1830	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
1831	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
1832	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
1833	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
1834	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
1835	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
1836	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
1837	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
1838	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1839	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
1840	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
1841	* testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
1842	* testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
1843	* testsuite/libgomp.fortran/lib1.f90: Likewise.
1844	* testsuite/libgomp.fortran/lib2.f: Likewise.
1845	* testsuite/libgomp.fortran/lib3.f: Likewise.
1846	* testsuite/libgomp.fortran/lib4.f90: Likewise.
1847	* testsuite/libgomp.fortran/lock-1.f90: Likewise.
1848	* testsuite/libgomp.fortran/lock-2.f90: Likewise.
1849	* testsuite/libgomp.fortran/nested1.f90: Likewise.
1850	* testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
1851	* testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
1852	* testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
1853	* testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
1854	* testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
1855	* testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
1856	* testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
1857	* testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
1858	* testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
1859	* testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
1860	* testsuite/libgomp.fortran/omp_cond1.f: Likewise.
1861	* testsuite/libgomp.fortran/omp_cond2.f: Likewise.
1862	* testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
1863	* testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
1864	* testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
1865	* testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
1866	* testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
1867	* testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
1868	* testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
1869	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1870	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
1871	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
1872	* testsuite/libgomp.fortran/pointer1.f90: Likewise.
1873	* testsuite/libgomp.fortran/pointer2.f90: Likewise.
1874	* testsuite/libgomp.fortran/pr25162.f: Likewise.
1875	* testsuite/libgomp.fortran/pr25219.f90: Likewise.
1876	* testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
1877	* testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
1878	* testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
1879	* testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
1880	* testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
1881	* testsuite/libgomp.fortran/pr28390.f: Likewise.
1882	* testsuite/libgomp.fortran/pr29629.f90: Likewise.
1883	* testsuite/libgomp.fortran/pr32550.f90: Likewise.
1884	* testsuite/libgomp.fortran/pr33880.f90: Likewise.
1885	* testsuite/libgomp.fortran/pr34020.f90: Likewise.
1886	* testsuite/libgomp.fortran/pr35130.f90: Likewise.
1887	* testsuite/libgomp.fortran/pr42162.f90: Likewise.
1888	* testsuite/libgomp.fortran/pr46753.f90: Likewise.
1889	* testsuite/libgomp.fortran/pr48894.f90: Likewise.
1890	* testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
1891	* testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
1892	* testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
1893	* testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
1894	* testsuite/libgomp.fortran/pr65597.f90: Likewise.
1895	* testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
1896	* testsuite/libgomp.fortran/pr71014.f90: Likewise.
1897	* testsuite/libgomp.fortran/pr81304.f90: Likewise.
1898	* testsuite/libgomp.fortran/pr81841.f90: Likewise.
1899	* testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
1900	* testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
1901	* testsuite/libgomp.fortran/procptr1.f90: Likewise.
1902	* testsuite/libgomp.fortran/recursion1.f90: Likewise.
1903	* testsuite/libgomp.fortran/reduction1.f90: Likewise.
1904	* testsuite/libgomp.fortran/reduction2.f90: Likewise.
1905	* testsuite/libgomp.fortran/reduction3.f90: Likewise.
1906	* testsuite/libgomp.fortran/reduction4.f90: Likewise.
1907	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
1908	* testsuite/libgomp.fortran/reduction6.f90: Likewise.
1909	* testsuite/libgomp.fortran/reference1.f90: Likewise.
1910	* testsuite/libgomp.fortran/reference2.f90: Likewise.
1911	* testsuite/libgomp.fortran/retval1.f90: Likewise.
1912	* testsuite/libgomp.fortran/retval2.f90: Likewise.
1913	* testsuite/libgomp.fortran/sharing1.f90: Likewise.
1914	* testsuite/libgomp.fortran/sharing2.f90: Likewise.
1915	* testsuite/libgomp.fortran/simd1.f90: Likewise.
1916	* testsuite/libgomp.fortran/simd2.f90: Likewise.
1917	* testsuite/libgomp.fortran/simd3.f90: Likewise.
1918	* testsuite/libgomp.fortran/simd4.f90: Likewise.
1919	* testsuite/libgomp.fortran/simd5.f90: Likewise.
1920	* testsuite/libgomp.fortran/simd6.f90: Likewise.
1921	* testsuite/libgomp.fortran/simd7.f90: Likewise.
1922	* testsuite/libgomp.fortran/stack.f90: Likewise.
1923	* testsuite/libgomp.fortran/strassen.f90: Likewise.
1924	* testsuite/libgomp.fortran/tabs1.f90: Likewise.
1925	* testsuite/libgomp.fortran/tabs2.f: Likewise.
1926	* testsuite/libgomp.fortran/target1.f90: Likewise.
1927	* testsuite/libgomp.fortran/target2.f90: Likewise.
1928	* testsuite/libgomp.fortran/target3.f90: Likewise.
1929	* testsuite/libgomp.fortran/target4.f90: Likewise.
1930	* testsuite/libgomp.fortran/target5.f90: Likewise.
1931	* testsuite/libgomp.fortran/target6.f90: Likewise.
1932	* testsuite/libgomp.fortran/target7.f90: Likewise.
1933	* testsuite/libgomp.fortran/target8.f90: Likewise.
1934	* testsuite/libgomp.fortran/task1.f90: Likewise.
1935	* testsuite/libgomp.fortran/task2.f90: Likewise.
1936	* testsuite/libgomp.fortran/task3.f90: Likewise.
1937	* testsuite/libgomp.fortran/task4.f90: Likewise.
1938	* testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
1939	* testsuite/libgomp.fortran/taskloop1.f90: Likewise.
1940	* testsuite/libgomp.fortran/taskloop2.f90: Likewise.
1941	* testsuite/libgomp.fortran/taskloop3.f90: Likewise.
1942	* testsuite/libgomp.fortran/taskloop4.f90: Likewise.
1943	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1944	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1945	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1946	* testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
1947	* testsuite/libgomp.fortran/udr1.f90: Likewise.
1948	* testsuite/libgomp.fortran/udr10.f90: Likewise.
1949	* testsuite/libgomp.fortran/udr11.f90: Likewise.
1950	* testsuite/libgomp.fortran/udr12.f90: Likewise.
1951	* testsuite/libgomp.fortran/udr13.f90: Likewise.
1952	* testsuite/libgomp.fortran/udr14.f90: Likewise.
1953	* testsuite/libgomp.fortran/udr15.f90: Likewise.
1954	* testsuite/libgomp.fortran/udr2.f90: Likewise.
1955	* testsuite/libgomp.fortran/udr3.f90: Likewise.
1956	* testsuite/libgomp.fortran/udr4.f90: Likewise.
1957	* testsuite/libgomp.fortran/udr5.f90: Likewise.
1958	* testsuite/libgomp.fortran/udr6.f90: Likewise.
1959	* testsuite/libgomp.fortran/udr7.f90: Likewise.
1960	* testsuite/libgomp.fortran/udr8.f90: Likewise.
1961	* testsuite/libgomp.fortran/udr9.f90: Likewise.
1962	* testsuite/libgomp.fortran/vla1.f90: Likewise.
1963	* testsuite/libgomp.fortran/vla2.f90: Likewise.
1964	* testsuite/libgomp.fortran/vla3.f90: Likewise.
1965	* testsuite/libgomp.fortran/vla4.f90: Likewise.
1966	* testsuite/libgomp.fortran/vla5.f90: Likewise.
1967	* testsuite/libgomp.fortran/vla6.f90: Likewise.
1968	* testsuite/libgomp.fortran/vla7.f90: Likewise.
1969	* testsuite/libgomp.fortran/vla8.f90: Likewise.
1970	* testsuite/libgomp.fortran/workshare1.f90: Likewise.
1971	* testsuite/libgomp.fortran/workshare2.f90: Likewise.
1972	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1973	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1974	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1975	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1976	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1977	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1978	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1979	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1980	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1981	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
1982	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1983	* testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
1984	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1985	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1986	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1987	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1988	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1989	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1990	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1991	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1992	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1993	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
1994	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
1995	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1996	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1997	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1998	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1999	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
2000	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2001	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2002	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2003	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2004	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2005	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2006	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
2007	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
2008	* testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
2009	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2010	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
2011	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2012	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
2013	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
2014	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
2015	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
2016	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2017	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2018	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
2019	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2020	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
2021	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
2022	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2023	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2024	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
2025	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2026	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
2027	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2028	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2029	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2030	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2031	* testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2032	* testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2033	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2034	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2035	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2036	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2037	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2038	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2039	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2040	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2041	* testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2042	* testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2043	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2044	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2045	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2046	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2047	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2048	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2049	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2050	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2051	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2052	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2053	* testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2054	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2055	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2056	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2057	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2058	* testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2059	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2060	* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2061	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2062	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2063	* testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2064
20652018-03-20  Richard Biener  <rguenther@suse.de>
2066
2067	* testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2068	parallelizable loop.
2069
20702018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
2071
2072	PR target/84148
2073	* configure: Regenerate.
2074
20752018-02-16  Jakub Jelinek  <jakub@redhat.com>
2076
2077	PR fortran/84418
2078	* libgomp.fortran/pr84418-1.f90: New test.
2079	* libgomp.fortran/pr84418-2.f90: New test.
2080
20812018-02-14  Jakub Jelinek  <jakub@redhat.com>
2082
2083	PR fortran/84313
2084	* testsuite/libgomp.fortran/threadprivate4.f90: Add
2085	-std=f2003 -fall-intrinsics into dg-additional-options.
2086
20872018-02-08  Martin Jambor  <mjambor@suse.cz>
2088
2089	* testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2090	clonable.
2091
20922018-02-08  Martin Jambor  <mjambor@suse.cz>
2093
2094	* testsuite/libgomp.hsa.c/staticvar.c: New test.
2095
20962018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2097
2098	* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2099	[__cplusplus]: Declare extern "C".
2100
21012018-02-07  Tom de Vries  <tom@codesourcery.com>
2102
2103	PR libgomp/84217
2104	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2105
21062018-01-29  Christoph Spiel  <cspiel@freenet.de>
2107	    Jakub Jelinek  <jakub@redhat.com>
2108
2109	PR libgomp/84096
2110	* omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2111	instead of omp_lock_t.
2112
21132018-01-25  Tom de Vries  <tom@codesourcery.com>
2114
2115	PR target/84028
2116	* testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2117
21182018-01-24  Tom de Vries  <tom@codesourcery.com>
2119
2120	PR target/83589
2121	* testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2122
21232018-01-24  Tom de Vries  <tom@codesourcery.com>
2124
2125	PR target/81352
2126	* testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2127
21282018-01-19  Tom de Vries  <tom@codesourcery.com>
2129	    Cesar Philippidis  <cesar@codesourcery.com>
2130
2131	PR target/83920
2132	* testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2133	* testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2134
21352018-01-03  Jakub Jelinek  <jakub@redhat.com>
2136
2137	Update copyright years.
2138
2139	* libgomp.texi: Bump @copying's copyright year.
2140
21412017-12-30  Tom de Vries  <tom@codesourcery.com>
2142
2143	PR libgomp/83046
2144	* testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2145	* testsuite/libgomp.c-c++-common/pr83046.c: New test.
2146
21472017-12-27  Tom de Vries  <tom@codesourcery.com>
2148
2149	PR c++/83046
2150	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2151	(test_nonstatic): Fix return type to workaround PR83046.
2152
21532017-12-05  Jakub Jelinek  <jakub@redhat.com>
2154
2155	PR testsuite/83281
2156	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2157	j suffix instead of i.
2158	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2159	Likewise.
2160
21612017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
2162
2163	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2164	call to acc_wait (1).
2165
21662017-11-24  Jakub Jelinek  <jakub@redhat.com>
2167
2168	PR fortran/81304
2169	* testsuite/libgomp.fortran/pr81304.f90: New test.
2170
21712017-11-23  Jakub Jelinek  <jakub@redhat.com>
2172
2173	PR fortran/81841
2174	* libgomp.fortran/pr81841.f90: New test.
2175
21762017-11-22  Jakub Jelinek  <jakub@redhat.com>
2177
2178	PR libgomp/83106
2179	* target.c (gomp_target_init): Compute lengths just once and
2180	use them in both malloc size and subsequent copying.
2181
21822017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
2183
2184	* configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2185	* acinclude.m4: Add cet.m4.
2186	* configure: Regenerate.
2187	* Makefile.in: Likewise.
2188	* testsuite/Makefile.in: Likewise.
2189
21902017-11-15  Tom de Vries  <tom@codesourcery.com>
2191
2192	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2193	from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
2194	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2195	from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
2196	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2197	from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
2198
21992017-11-14  Tom de Vries  <tom@codesourcery.com>
2200
2201	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2202	non-nvidia devices.
2203
22042017-11-07  Jakub Jelinek  <jakub@redhat.com>
2205
2206	PR c++/82835
2207	* testsuite/libgomp.c++/pr82835.C: New test.
2208
22092017-11-06  Martin Liska  <mliska@suse.cz>
2210
2211	* testsuite/libgomp.c++/loop-2.C: Return a value
2212	for functions with non-void return type, or change type to void,
2213	or add -Wno-return-type for test.
2214	* testsuite/libgomp.c++/loop-4.C: Likewise.
2215	* testsuite/libgomp.c++/parallel-1.C: Likewise.
2216	* testsuite/libgomp.c++/shared-1.C: Likewise.
2217	* testsuite/libgomp.c++/single-1.C: Likewise.
2218	* testsuite/libgomp.c++/single-2.C: Likewise.
2219
22202017-10-31  Tom de Vries  <tom@codesourcery.com>
2221
2222	* plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2223	"do {} while (false)".
2224	(init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2225	after HSA_DEBUG call.
2226
22272017-10-28  Jakub Jelinek  <jakub@redhat.com>
2228
2229	* target.c (struct gomp_coalesce_buf): New type.
2230	(MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2231	(gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2232	(gomp_copy_host2dev): Add CBUF argument, if copying into
2233	the cached ranges, memcpy into buffer instead of copying
2234	into device.
2235	(gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2236	Add CBUF argument, pass it through to other calls.
2237	(gomp_map_vars): Aggregate copies from host to device if small enough
2238	and with small enough gaps in between into memcpy into a buffer and
2239	fewer host to device copies from the buffer.
2240	(gomp_update): Adjust gomp_copy_host2dev caller.
2241
22422017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
2243
2244	* testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2245	run" directive.
2246	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2247	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2248	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2249	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2250
22512017-10-16  Tom de Vries  <tom@codesourcery.com>
2252
2253	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2254	openacc_nvidia_accel_selected.
2255	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2256	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2257	* testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2258	* testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2259	* testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2260	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2261	openacc_nvidia_accel_selected. Skip for shared memory device.
2262	* testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2263	* testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2264
22652017-10-09  Martin Jambor  <mjambor@suse.cz>
2266
2267	PR hsa/82416
2268	* testsuite/libgomp.hsa.c/pr82416.c: New test.
2269
22702017-10-07  Tom de Vries  <tom@codesourcery.com>
2271
2272	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2273	Remove acc_device_nvidia references.
2274	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2275	Same.
2276
22772017-10-05  Tom de Vries  <tom@codesourcery.com>
2278
2279	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2280	vector_length(32) clause from acc parallel directive.
2281	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2282
22832017-10-04  Tom de Vries  <tom@codesourcery.com>
2284
2285	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2286	(main): Reduce sum of arr elements.  Assert that hres is exactly
2287	representable in 32-bit floating point.
2288	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2289	(main): Reduce sum of arr elements.  Assert that hres and hmres are
2290	exactly representable in 32-bit floating point.
2291	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2292
22932017-09-28  Tom de Vries  <tom@codesourcery.com>
2294
2295	* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2296	setting.
2297	* testsuite/libgomp.c++/pr69393.C: Same.
2298	* testsuite/libgomp.c++/taskloop-1.C: Same.
2299	* testsuite/libgomp.c++/taskloop-3.C: Same.
2300	* testsuite/libgomp.c++/taskloop-4.C: Same.
2301	* testsuite/libgomp.c/for-4.c: Same.
2302	* testsuite/libgomp.c/pr66199-3.c: Same.
2303	* testsuite/libgomp.c/pr66199-4.c: Same.
2304	* testsuite/libgomp.c/pr66199-6.c: Same.
2305	* testsuite/libgomp.c/taskloop-1.c: Same.
2306	* testsuite/libgomp.c/taskloop-3.c: Same.
2307	* testsuite/libgomp.c/taskloop-4.c: Same.
2308	* testsuite/libgomp.fortran/aligned1.f03: Same.
2309	* testsuite/libgomp.fortran/condinc1.f: Same.
2310	* testsuite/libgomp.fortran/condinc3.f90: Same.
2311	* testsuite/libgomp.fortran/crayptr1.f90: Same.
2312	* testsuite/libgomp.fortran/crayptr2.f90: Same.
2313	* testsuite/libgomp.fortran/crayptr3.f90: Same.
2314	* testsuite/libgomp.fortran/omp_cond1.f: Same.
2315	* testsuite/libgomp.fortran/omp_cond3.F90: Same.
2316	* testsuite/libgomp.fortran/pr66199-1.f90: Same.
2317	* testsuite/libgomp.fortran/pr66199-2.f90: Same.
2318	* testsuite/libgomp.fortran/recursion1.f90: Same.
2319	* testsuite/libgomp.fortran/target2.f90: Same.
2320	* testsuite/libgomp.fortran/target5.f90: Same.
2321	* testsuite/libgomp.fortran/task3.f90: Same.
2322
23232017-09-28  Tom de Vries  <tom@codesourcery.com>
2324
2325	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2326	vector_length(32) clause from acc parallel directive.
2327	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2328
23292017-09-27  Tom de Vries  <tom@codesourcery.com>
2330
2331	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2332	Remove acc_device_nvidia references.
2333
23342017-09-16  Tom de Vries  <tom@codesourcery.com>
2335
2336	PR c/81875
2337	* testsuite/libgomp.c-c++-common/pr81875.c: New test.
2338
23392017-09-14  Tom de Vries  <tom@codesourcery.com>
2340
2341	* testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2342	* testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2343	* testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2344	* testsuite/libgomp.c/c.exp: Include test-cases from
2345	libgomp.c-c++-common.
2346	* testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
2347	files.
2348
23492017-09-14  Jakub Jelinek  <jakub@redhat.com>
2350
2351	PR c++/81314
2352	* testsuite/libgomp.c++/pr81314.C: New test.
2353
23542017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
2355
2356	* libgomp.texi (Top): www.openacc.org now uses https.
2357	(Enabling OpenACC): Ditto.
2358	(acc_get_num_devices): Ditto.
2359	(acc_set_device_type): Ditto.
2360	(acc_get_device_type): Ditto.
2361	(acc_set_device_num): Ditto.
2362	(acc_get_device_num): Ditto.
2363	(acc_async_test): Ditto.
2364	(acc_async_test_all): Ditto.
2365	(acc_wait): Ditto.
2366	(acc_wait_all): Ditto.
2367	(acc_wait_all_async): Ditto.
2368	(acc_wait_async): Ditto.
2369	(acc_init): Ditto.
2370	(acc_shutdown): Ditto.
2371	(acc_on_device): Ditto.
2372	(acc_malloc): Ditto.
2373	(acc_free): Ditto.
2374	(acc_copyin): Ditto.
2375	(acc_present_or_copyin): Ditto.
2376	(acc_create): Ditto.
2377	(acc_present_or_create): Ditto.
2378	(acc_copyout): Ditto.
2379	(acc_delete): Ditto.
2380	(acc_update_device): Ditto.
2381	(acc_update_self): Ditto.
2382	(acc_map_data): Ditto.
2383	(acc_unmap_data): Ditto.
2384	(acc_deviceptr): Ditto.
2385	(acc_hostptr): Ditto.
2386	(acc_is_present): Ditto.
2387	(acc_memcpy_to_device): Ditto.
2388	(acc_memcpy_from_device): Ditto.
2389	(acc_get_current_cuda_device): Ditto.
2390	(acc_get_current_cuda_context): Ditto.
2391	(acc_get_cuda_stream): Ditto.
2392	(acc_set_cuda_stream): Ditto.
2393	(ACC_DEVICE_TYPE): Ditto.
2394	(ACC_DEVICE_NUM): Ditto.
2395	(OpenACC Library Interoperability): Ditto.
2396
23972017-08-09  Jakub Jelinek  <jakub@redhat.com>
2398
2399	PR c/81687
2400	* testsuite/libgomp.c/pr81687-1.c: New test.
2401	* testsuite/libgomp.c/pr81687-2.c: New test.
2402
24032017-08-07  Jakub Jelinek  <jakub@redhat.com>
2404
2405	PR c/69389
2406	* testsuite/libgomp.c/pr69389.c: New test.
2407	* testsuite/libgomp.c++/pr69389.C: New test.
2408
24092017-08-07  Tom de Vries  <tom@codesourcery.com>
2410
2411	PR middle-end/78266
2412	* testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2413	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2414
24152017-07-27  Jakub Jelinek  <jakub@redhat.com>
2416
2417	PR c/45784
2418	* testsuite/libgomp.c/pr45784.c: New test.
2419	* testsuite/libgomp.c++/pr45784.C: New test.
2420
24212017-07-19  Tom de Vries  <tom@codesourcery.com>
2422
2423	* testsuite/libgomp.oacc-c/vec.c: New test.
2424
24252017-07-03  Tom de Vries  <tom@codesourcery.com>
2426
2427	* plugin/plugin-hsa.c: Fix secure_getenv.h include.
2428
24292017-06-27  Tom de Vries  <tom@codesourcery.com>
2430
2431	* plugin/plugin-nvptx.c (notify_var): New function.
2432	(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2433
24342017-06-27  Tom de Vries  <tom@codesourcery.com>
2435
2436	* env.c (parse_unsigned_long_1): Factor out of ...
2437	(parse_unsigned_long): ... here.
2438	(parse_int_1): Factor out of ...
2439	(parse_int): ... here.
2440	(parse_int_secure): New function.
2441	(initialize_env): Use parse_int_secure for GOMP_DEBUG.
2442	* secure_getenv.h: Factor out of ...
2443	* plugin/plugin-hsa.c: ... here.
2444	* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2445
24462017-06-21  Jakub Jelinek  <jakub@redhat.com>
2447
2448	PR c++/81130
2449	* testsuite/libgomp.c++/pr81130.C: New test.
2450
24512017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2452
2453	* testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2454	default args.
2455	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2456	dg-xfail-run-if default args.
2457
24582017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2459
2460	* testsuite/libgomp.c/pr39591-2.c: Fix test case.
2461	* testsuite/libgomp.c/pr39591-3.c: Likewise.
2462
24632017-05-30  Jakub Jelinek  <jakub@redhat.com>
2464
2465	PR libgomp/80822
2466	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2467	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
2468	sibling lists, depending on level just pick up what CPUs to put
2469	together into a place vs. whether add multiple ordered places.
2470
24712017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
2472
2473	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2474	* libgomp.map (OACC_2.0.1): Add these.
2475	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2476	for "acc_wait", and "acc_wait_all", respectively.
2477	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2478	for "acc_wait", and "acc_wait_all", respectively.
2479	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2480	* libgomp.texi (acc_wait, acc_wait_all): Update.
2481	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2482	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2483	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2484
2485	* openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2486	acc_present_or_copyin and acc_present_or_create procedures,
2487	respectively.
2488	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2489	generally different variants of OpenACC Runtime Library functions.
2490	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2491
2492	* testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2493	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2494
2495	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2496	of preprocessor definitions.
2497	* libgomp.h (strong_alias): Guard by "#ifdef
2498	HAVE_ATTRIBUTE_ALIAS".
2499	* oacc-mem.c: Provide "acc_pcreate" as alias for
2500	"acc_present_or_create", and "acc_pcopyin" as alias for
2501	"acc_present_or_copyin".
2502	* libgomp.map: New version "OACC_2.0.1".
2503	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2504	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2505	its content into...
2506	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2507	Extend testing.
2508
2509	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2510	when disabling nvptx offloading.
2511
25122017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
2513
2514	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2515	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2516	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2517
2518	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2519	* testsuite/lib/libgomp.exp
2520	(check_effective_target_openacc_nvidia_accel_configured): New
2521	proc.
2522	* testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2523	(check_effective_target_c++): New procs.
2524	* testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2525	(check_effective_target_c++): Likewise.
2526
25272017-05-22  Jakub Jelinek  <jakub@redhat.com>
2528
2529	PR middle-end/80809
2530	* testsuite/libgomp.c/pr80809-2.c: New test.
2531	* testsuite/libgomp.c/pr80809-3.c: New test.
2532
2533	PR middle-end/80809
2534	* testsuite/libgomp.c/pr80809-1.c: New test.
2535
2536	PR middle-end/80853
2537	* testsuite/libgomp.c/pr80853.c: New test.
2538
25392017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
2540
2541	* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2542	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2543	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2544	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2545	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2546
2547	* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2548	Debug output for failure.
2549
25502017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2551
2552	* testsuite/lib/libgomp.exp: Load scanlang.exp.
2553
25542017-04-27  Jakub Jelinek  <jakub@redhat.com>
2555
2556	PR bootstrap/80531
2557	* configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2558	bootstrap compare failures.
2559
25602017-04-20  Alexander Monakov  <amonakov@ispras.ru>
2561
2562	* testsuite/libgomp.c/target-36.c: New testcase.
2563
25642017-04-13  Jakub Jelinek  <jakub@redhat.com>
2565
2566	* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2567	instead of char.
2568
25692017-04-11  Jakub Jelinek  <jakub@redhat.com>
2570
2571	PR libgomp/80394
2572	* testsuite/libgomp.c/pr80394.c: New test.
2573
25742017-04-04  Jakub Jelinek  <jakub@redhat.com>
2575
2576	PR libgomp/79876
2577	* config/posix/thread-stacksize.h: New file.
2578	* config/darwin/thread-stacksize.h: New file.
2579	* config/nvptx/thread-stacksize.h: New file.
2580	* env.c: Include thread-stacksize.h.
2581	(initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2582	instead of 0.  Call pthread_attr_setstacksize even if
2583	GOMP_DEFAULT_STACKSIZE is non-zero.
2584
25852017-03-30  Jakub Jelinek  <jakub@redhat.com>
2586
2587	* env.c (initialize_env): Initialize stacksize to 0.
2588
25892017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
2590
2591	PR c++/80029
2592	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2593
25942017-03-08  Jakub Jelinek  <jakub@redhat.com>
2595
2596	PR c/79940
2597	* testsuite/libgomp.c/pr79940.c: New test.
2598
25992017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2600
2601	* testsuite/libgomp.c/pr48591.c: Enable on all __float128
2602	targets.
2603	Add __float128 options.
2604
26052017-02-11  John David Anglin  <danglin@gcc.gnu.org>
2606
2607	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2608	hppa*-*-* dg-skip-if directive.
2609
26102017-02-09  Jakub Jelinek  <jakub@redhat.com>
2611
2612	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2613	dg-skip-if directive into a comment.
2614
26152017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
2616	    Chung-Lin Tang  <cltang@codesourcery.com>
2617
2618	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2619	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2620	add additional case.
2621	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2622	"openacc_nvidia_accel_selected".
2623	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
2624	Add num_workers(8) clause.
2625
26262017-02-08  John David Anglin  <danglin@gcc.gnu.org>
2627
2628	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2629	hppa*-*-*.
2630	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2631	include complex.h on hppa*-*-hpux*.
2632	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2633
26342017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
2635
2636	* plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2637
2638	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2639	GOMP_OFFLOAD_openacc_exec.  Adjust all users.
2640	(GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2641	GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
2642	(GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2643	GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
2644	(GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2645	GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
2646	(GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2647	GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
2648
26492017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
2650
2651	* libgomp-plugin.h: #include <stdbool.h>.
2652	(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2653	(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2654	(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2655	(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2656	(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2657	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2658	(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2659	(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2660	(GOMP_OFFLOAD_openacc_register_async_cleanup)
2661	(GOMP_OFFLOAD_openacc_async_test)
2662	(GOMP_OFFLOAD_openacc_async_test_all)
2663	(GOMP_OFFLOAD_openacc_async_wait)
2664	(GOMP_OFFLOAD_openacc_async_wait_async)
2665	(GOMP_OFFLOAD_openacc_async_wait_all)
2666	(GOMP_OFFLOAD_openacc_async_wait_all_async)
2667	(GOMP_OFFLOAD_openacc_async_set_async)
2668	(GOMP_OFFLOAD_openacc_create_thread_data)
2669	(GOMP_OFFLOAD_openacc_destroy_thread_data)
2670	(GOMP_OFFLOAD_openacc_get_current_cuda_device)
2671	(GOMP_OFFLOAD_openacc_get_current_cuda_context)
2672	(GOMP_OFFLOAD_openacc_get_cuda_stream)
2673	(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2674	* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2675	these.
2676	* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2677	(GOMP_OFFLOAD_unload_image): Fix argument types.
2678
26792017-01-26  Jakub Jelinek  <jakub@redhat.com>
2680
2681	* testsuite/lib/libgomp.exp
2682	(check_effective_target_hsa_offloading_selected_nocache): Fix up
2683	check_compile invocation.  Fix up removal of executable.  Drop
2684	bogus "2>&1" argument.
2685
2686	* testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2687	directive.
2688
26892017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
2690	    Martin Jambor  <mjambor@suse.cz>
2691
2692	* plugin/hsa.h: Moved to top level include.
2693	* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
2694
26952017-01-21  Jakub Jelinek  <jakub@redhat.com>
2696
2697	PR other/79046
2698	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
2699	of cat to get version from BASE-VER file.
2700	* testsuite/Makefile.in: Regenerated.
2701
27022017-01-19  Jakub Jelinek  <jakub@redhat.com>
2703
2704	* plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
2705	for _WIN64.
2706
27072017-01-17  Jakub Jelinek  <jakub@redhat.com>
2708
2709	* plugin/hsa.h: Add GCC runtime library exception.
2710	* plugin/hsa_ext_finalize.h: Likewise.
2711
2712	* plugin/configfrag.ac: For --without-cuda-driver don't initialize
2713	CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
2714	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
2715	cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
2716	plugin/include/cuda as include dir and -ldl instead of -lcuda as
2717	library to link ptx plugin against.
2718	* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
2719	(CUDA_CALLS): Define.
2720	(cuda_lib, cuda_lib_inited): New variables.
2721	(init_cuda_lib): New function.
2722	(CUDA_CALL_PREFIX): Define.
2723	(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
2724	(CUDA_CALL): Use FN instead of (FN).
2725	(CUDA_CALL_NOCHECK): Define.
2726	(cuda_error, fini_streams_for_device, select_stream_for_async,
2727	nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
2728	event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
2729	nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
2730	nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
2731	CUDA_CALL_NOCHECK.
2732	(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
2733	CUDA_CALL_NOCHECK.
2734	(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
2735	Use CUDA_CALL_NOCHECK.
2736	* plugin/cuda/cuda.h: New file.
2737	* config.h.in: Regenerated.
2738	* configure: Regenerated.
2739
2740	PR other/79046
2741	* configure.ac: Add GCC_BASE_VER.
2742	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
2743	get version from BASE-VER file.
2744	* testsuite/Makefile.in: Regenerated.
2745	* configure: Regenerated.
2746	* Makefile.in: Regenerated.
2747
27482017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2749
2750	PR libgomp/60670
2751	* Makefile.am: Make fincludedir multilib-aware.
2752	* Makefile.in: Regenerate.
2753
27542017-01-01  Jakub Jelinek  <jakub@redhat.com>
2755
2756	Update copyright years.
2757
2758	* libgomp.texi: Bump @copying's copyright year.
2759
27602016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2761
2762	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
2763	pthread_spinlock_t instead of gomp_mutex_t lock.
2764	(gomp_get_thread_pool): Likewise.
2765	(gomp_release_thread_pool): Likewise.
2766	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
2767	Likewise.
2768
27692016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2770
2771	* config/rtems/pool.h (gomp_get_thread_pool): Return proper
2772	thread pool in case nthreads == 1.
2773
27742016-11-30  Alexander Monakov  <amonakov@ispras.ru>
2775
2776	* config/nvptx/env.c: Delete.
2777	* icv.c: Move definitions of ICV variables back ...
2778	* env.c: ...here.  Do not compile environment-related functionality if
2779	LIBGOMP_OFFLOADED_ONLY is set.
2780
27812016-11-30  Alexander Monakov  <amonakov@ispras.ru>
2782
2783	* configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
2784	(LIBGOMP_OFFLOADED_ONLY): ...here; new define.
2785	* configure: Regenerate.
2786	* config.h.in: Likewise.
2787
27882016-11-30  Alexander Monakov  <amonakov@ispras.ru>
2789
2790	* Makefile.in: Regenerate with automake-1.11.6.
2791	* aclocal.m4: Likewise.
2792	* configure: Likewise.
2793	* testsuite/Makefile.in: Likewise.
2794
27952016-11-28  Alexander Monakov  <amonakov@ispras.ru>
2796
2797	* config/nvptx/critical.c: Delete to use generic implementation.
2798
27992016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
2800
2801	* config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
2802	../../affinity.c as fallback.
2803	* config/nvptx/affinity.c: Delete to use fallback implementation.
2804
28052016-11-23  Alexander Monakov  <amonakov@ispras.ru>
2806	    Jakub Jelinek  <jakub@redhat.com>
2807	    Dmitry Melnik  <dm@ispras.ru>
2808
2809	* Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
2810	* Makefile.in. Regenerate.
2811	* configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
2812	(LIBGOMP_USE_PTHREADS): ...here; new define.
2813	* configure: Regenerate.
2814	* config.h.in: Likewise.
2815	* config/posix/affinity.c: Move to...
2816	* affinity.c: ...here (new file).  Guard use of Pthreads-specific
2817	interface by LIBGOMP_USE_PTHREADS.
2818	* critical.c: Split out GOMP_atomic_{start,end} into...
2819	* atomic.c: ...here (new file).
2820	* env.c: Split out ICV definitions into...
2821	* icv.c: ...here (new file) and...
2822	* icv-device.c: ...here. New file.
2823	* config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
2824	(gomp_destroy_lock_30): Ditto.
2825	(gomp_set_lock_30): Ditto.
2826	(gomp_unset_lock_30): Ditto.
2827	(gomp_test_lock_30): Ditto.
2828	(gomp_init_nest_lock_30): Ditto.
2829	(gomp_destroy_nest_lock_30): Ditto.
2830	(gomp_set_nest_lock_30): Ditto.
2831	(gomp_unset_nest_lock_30): Ditto.
2832	(gomp_test_nest_lock_30): Ditto.
2833	* lock.c: New.
2834	* config/nvptx/lock.c: New.
2835	* config/nvptx/bar.c: New.
2836	* config/nvptx/bar.h: New.
2837	* config/nvptx/doacross.h: New.
2838	* config/nvptx/error.c: New.
2839	* config/nvptx/icv-device.c: New.
2840	* config/nvptx/mutex.h: New.
2841	* config/nvptx/pool.h: New.
2842	* config/nvptx/proc.c: New.
2843	* config/nvptx/ptrlock.h: New.
2844	* config/nvptx/sem.h: New.
2845	* config/nvptx/simple-bar.h: New.
2846	* config/nvptx/target.c: New.
2847	* config/nvptx/task.c: New.
2848	* config/nvptx/team.c: New.
2849	* config/nvptx/time.c: New.
2850	* config/posix/simple-bar.h: New.
2851	* libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
2852	(gomp_num_teams_var): Declare.
2853	(struct gomp_thread_pool): Change threads_dock member to
2854	gomp_simple_barrier_t.
2855	[__nvptx__] (gomp_thread): New implementation.
2856	(gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
2857	(gomp_thread_destructor): Ditto.
2858	(gomp_init_thread_affinity): Ditto.
2859	* team.c: Guard uses of Pthreads-specific interfaces by
2860	LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
2861	(gomp_free_thread) [__nvptx__]: Do not call 'free'.
2862	* config/nvptx/alloc.c: Delete.
2863	* config/nvptx/barrier.c: Ditto.
2864	* config/nvptx/fortran.c: Ditto.
2865	* config/nvptx/iter.c: Ditto.
2866	* config/nvptx/iter_ull.c: Ditto.
2867	* config/nvptx/loop.c: Ditto.
2868	* config/nvptx/loop_ull.c: Ditto.
2869	* config/nvptx/ordered.c: Ditto.
2870	* config/nvptx/parallel.c: Ditto.
2871	* config/nvptx/priority_queue.c: Ditto.
2872	* config/nvptx/sections.c: Ditto.
2873	* config/nvptx/single.c: Ditto.
2874	* config/nvptx/splay-tree.c: Ditto.
2875	* config/nvptx/work.c: Ditto.
2876	* testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
2877	-foffload=-lgfortran in addition to -lgfortran.
2878	* testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
2879	* plugin/plugin-nvptx.c: Include <limits.h>.
2880	(struct targ_fn_descriptor): Add new fields.
2881	(struct ptx_device): Ditto.  Set them...
2882	(nvptx_open_device): ...here.
2883	(nvptx_adjust_launch_bounds): New.
2884	(nvptx_host2dev): Allow NULL 'nvthd'.
2885	(nvptx_dev2host): Ditto.
2886	(GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
2887	(link_ptx): Adjust log sizes.
2888	(nvptx_host2dev): Allow NULL 'nvthd'.
2889	(nvptx_dev2host): Ditto.
2890	(nvptx_set_clocktick): New.  Use it...
2891	(GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
2892	fields.
2893	(GOMP_OFFLOAD_dev2dev): New.
2894	(nvptx_adjust_launch_bounds): New.
2895	(nvptx_stacks_size): New.
2896	(nvptx_stacks_alloc): New.
2897	(nvptx_stacks_free): New.
2898	(GOMP_OFFLOAD_run): New.
2899	(GOMP_OFFLOAD_async_run): New (stub).
2900
29012016-11-23  Martin Jambor  <mjambor@suse.cz>
2902
2903	* testsuite/libgomp.hsa.c/bits-insns.c: New test.
2904	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2905	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2906
29072016-11-23  Martin Liska  <mliska@suse.cz>
2908	    Martin Jambor  <mjambor@suse.cz>
2909
2910	* plugin/hsa.h: New file.
2911	* plugin/hsa_ext_finalize.h: New file.
2912	* plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
2913	header file unistd.h, and functions secure_getenv, __secure_getenv,
2914	getuid, geteuid, getgid and getegid.
2915	* plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
2916	-D_GNU_SOURCE.
2917	* plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
2918	Handle various cases of secure_getenv presence, add an implementation
2919	when we can test effective UID and GID.
2920	(struct hsa_runtime_fn_info): New structure.
2921	(hsa_runtime_fn_info hsa_fns): New variable.
2922	(hsa_runtime_lib): Likewise.
2923	(support_cpu_devices): Likewise.
2924	(init_enviroment_variables): Load newly introduced ENV
2925	variables.
2926	(hsa_warn): Call hsa run-time functions via hsa_fns structure.
2927	(hsa_fatal): Likewise.
2928	(DLSYM_FN): New macro.
2929	(init_hsa_runtime_functions): New function.
2930	(suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
2931	structure.  Depending on environment, also allow CPU devices.
2932	(init_hsa_context): Call hsa run-time functions via hsa_fns structure.
2933	(get_kernarg_memory_region): Likewise.
2934	(GOMP_OFFLOAD_init_device): Likewise.
2935	(destroy_hsa_program): Likewise.
2936	(init_basic_kernel_info): New function.
2937	(GOMP_OFFLOAD_load_image): Use it.
2938	(create_and_finalize_hsa_program): Call hsa run-time functions via
2939	hsa_fns structure.
2940	(create_single_kernel_dispatch): Likewise.
2941	(release_kernel_dispatch): Likewise.
2942	(init_single_kernel): Likewise.
2943	(parse_target_attributes): Allow up multiple HSA grid dimensions.
2944	(get_group_size): New function.
2945	(run_kernel): Likewise.
2946	(GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
2947	(GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
2948	structure.
2949	* testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
2950	* testsuite/libgomp-test-support.exp.in: Likewise.
2951	* Makefile.in: Regenerated.
2952	* aclocal.m4: Likewise.
2953	* config.h.in: Likewise.
2954	* configure: Likewise.
2955	* testsuite/Makefile.in: Likewise.
2956
29572016-11-15  Martin Jambor  <mjambor@suse.cz>
2958	    Alexander Monakov  <amonakov@ispras.ru>
2959
2960	* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
2961	mapping clauses to target constructs.
2962	* testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
2963
29642016-11-15  Matthias Klose  <doko@ubuntu.com>
2965
2966	* configure: Regenerate.
2967
29682016-11-10  Jakub Jelinek  <jakub@redhat.com>
2969
2970	* omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
2971	* omp_lib.h.in (openmp_version): Likewise.
2972	* testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
2973	of 201307.
2974	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2975
2976	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90
2977	(fib_wrapper): Add map(from: x) clause.
2978	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90
2979	(e_53_2): Likewise.
2980	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90
2981	(accum): Add map(tmp) clause.
2982	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90
2983	(accum): Add map(tofrom: tmp) clause.
2984	* testsuite/libgomp.fortran/examples-4/target_data-3.f90
2985	(gramSchmidt): Likewise.
2986	* testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
2987	map(tofrom: sum) clause.
2988	* testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
2989	map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
2990	* testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
2991	only allowed on the loop iterator.
2992	* testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
2993	* testsuite/libgomp.fortran/taskloop2.f90: New test.
2994	* testsuite/libgomp.fortran/taskloop4.f90: New test.
2995	* testsuite/libgomp.fortran/doacross1.f90: New test.
2996	* testsuite/libgomp.fortran/doacross3.f90: New test.
2997	* testsuite/libgomp.fortran/taskloop1.f90: New test.
2998	* testsuite/libgomp.fortran/taskloop3.f90: New test.
2999	* testsuite/libgomp.fortran/doacross2.f90: New test.
3000	* testsuite/libgomp.c/doacross-1.c (main): Add missing
3001	#pragma omp atomic read.
3002	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
3003	* testsuite/libgomp.c/doacross-3.c (main): Likewise.
3004
30052016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
3006	    Nathan Sidwell  <nathan@acm.org>
3007
3008	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
3009	to determine default geometry.
3010	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
3011	dimension.
3012
30132016-11-01  Jakub Jelinek  <jakub@redhat.com>
3014
3015	* hashtab.h: Use standard GPLv3 with runtime exception
3016	boilerplate.
3017
30182016-10-27  Aldy Hernandez  <aldyh@redhat.com>
3019
3020	* oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
3021	size when allocating new thread.
3022
30232016-09-14  Marek Polacek  <polacek@redhat.com>
3024
3025	* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
3026
30272016-08-19  Jakub Jelinek  <jakub@redhat.com>
3028
3029	PR fortran/71014
3030	* testsuite/libgomp.fortran/pr71014.f90: New test.
3031
30322016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
3033
3034	PR middle-end/70895
3035	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3036	firstprivate clauses.
3037	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3038	copy clauses.
3039	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3040	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3041	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3042	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3043	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3044	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3045	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3046	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3047	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3048	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3049	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3050	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3051
30522016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
3053
3054	PR fortran/70598
3055	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3056
30572016-08-08  Jakub Jelinek  <jakub@redhat.com>
3058
3059	PR c++/58706
3060	* testsuite/libgomp.c++/pr58706.C: New test.
3061
30622016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
3063
3064	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3065	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3066	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3067	Likewise.
3068	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3069	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3070	Likewise.
3071	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3072
3073	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3074	test, and don't hardcode -O0.
3075
30762016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
3077
3078	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3079
30802016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
3081
3082	* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3083	test.
3084
30852016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
3086
3087	PR middle-end/71734
3088	* testsuite/libgomp.fortran/pr71734-1.f90: New test.
3089	* testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3090
30912016-07-01  Jakub Jelinek  <jakub@redhat.com>
3092
3093	PR fortran/71717
3094	* testsuite/libgomp.fortran/associate3.f90: New test.
3095
30962016-06-17  Jakub Jelinek  <jakub@redhat.com>
3097
3098	* testsuite/libgomp.c++/target-21.C: New test.
3099
31002016-06-16  Jakub Jelinek  <jakub@redhat.com>
3101
3102	* testsuite/libgomp.c++/target-20.C: New test.
3103
31042016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3105	    Cesar Philippidis  <cesar@codesourcery.com>
3106
3107	PR middle-end/71373
3108	* libgomp.oacc-c/nested-function-1.c: New file.
3109	* libgomp.oacc-c/nested-function-2.c: Likewise.
3110	* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3111	* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3112	* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3113
31142016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3115
3116	PR c/71381
3117	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3118	"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3119	* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3120
31212016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
3122
3123	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3124	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3125
31262016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
3127
3128	PR c/70688
3129	* testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3130
31312016-05-26  Jakub Jelinek  <jakub@redhat.com>
3132
3133	* testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3134	instead of invalid schedule(static, 0).
3135	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
3136
31372016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
3138
3139	* oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3140	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3141	parameter, use to set async stream around call to gomp_unmap_vars,
3142	call gomp_unmap_vars() with 'do_copyfrom' set to true.
3143	* plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3144	(event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3145	events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3146	(event_add): Add int parameter, initialize 'val' field when
3147	adding new ptx_event struct.
3148	(nvptx_evec): Adjust event_add() call arguments.
3149	(nvptx_host2dev): Likewise.
3150	(nvptx_dev2host): Likewise.
3151	(nvptx_wait_async): Likewise.
3152	(nvptx_wait_all_async): Likewise.
3153	(GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3154	pass to event_add() call.
3155	* oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3156	parameter.
3157	* oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3158	call openacc.register_async_cleanup_func() hook.
3159	* oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3160	* target.c (gomp_copy_from_async): Delete function.
3161	(gomp_map_vars): Remove async_refcount.
3162	(gomp_unmap_vars): Likewise.
3163	(gomp_load_image_to_device): Likewise.
3164	(omp_target_associate_ptr): Likewise.
3165	* libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3166	(acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3167	(gomp_copy_from_async): Remove.
3168
31692016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
3170
3171	* target.c (gomp_device_copy): New function.
3172	(gomp_copy_host2dev): Likewise.
3173	(gomp_copy_dev2host): Likewise.
3174	(gomp_free_device_memory): Likewise.
3175	(gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3176	(gomp_map_pointer): Likewise.
3177	(gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3178	NULL value from alloc_func plugin hook.
3179	(gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3180	(gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3181	(gomp_unmap_vars): Likewise.
3182	(gomp_update): Adjust to call gomp_copy_dev2host and
3183	gomp_copy_host2dev functions.
3184	(gomp_unload_image_from_device): Handle false value from
3185	unload_image_func plugin hook.
3186	(gomp_init_device): Handle false value from init_device_func
3187	plugin hook.
3188	(gomp_exit_data): Adjust to call gomp_copy_dev2host.
3189	(omp_target_free): Adjust to call gomp_free_device_memory.
3190	(omp_target_memcpy): Handle return values from host2dev_func,
3191	dev2host_func, and dev2dev_func plugin hooks.
3192	(omp_target_memcpy_rect_worker): Likewise.
3193	(gomp_target_fini): Handle false value from fini_device_func
3194	plugin hook.
3195	* libgomp.h (struct gomp_device_descr): Adjust return type of
3196	init_device_func, fini_device_func, unload_image_func, free_func,
3197	dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3198	* oacc-init.c (acc_shutdown_1): Handle false value from
3199	fini_device_func plugin hook.
3200	* oacc-host.c (host_init_device): Change return type to bool.
3201	(host_fini_device): Likewise.
3202	(host_unload_image): Likewise.
3203	(host_free): Likewise.
3204	(host_dev2host): Likewise.
3205	(host_host2dev): Likewise.
3206	* oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3207	(acc_memcpy_to_device): Likewise.
3208	(acc_memcpy_from_device): Likewise.
3209	(delete_copyout): Add libfnname parameter, handle free_func
3210	hook fatal error case.
3211	(acc_delete): Adjust delete_copyout call.
3212	(acc_copyout): Likewise.
3213	(update_dev_host): Move gomp_mutex_unlock to after
3214	host2dev/dev2host hook calls.
3215
3216	* plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3217	to 'hsa_error_msg', for clarity.
3218	(hsa_fatal): Likewise.
3219	(hsa_error): New function.
3220	(init_hsa_context): Change return type to bool, adjust to return
3221	false on error.
3222	(GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3223	return value.
3224	(GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3225	return false on error.
3226	(get_agent_info): Adjust to return NULL on error.
3227	(destroy_hsa_program): Change return type to bool, adjust to
3228	return false on error.
3229	(GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3230	(destroy_module): Change return type to bool, adjust to
3231	return false on error.
3232	(GOMP_OFFLOAD_unload_image): Likewise.
3233	(GOMP_OFFLOAD_fini_device): Likewise.
3234	(GOMP_OFFLOAD_alloc): Change to return NULL when called.
3235	(GOMP_OFFLOAD_free): Change to return false when called.
3236	(GOMP_OFFLOAD_dev2host): Likewise.
3237	(GOMP_OFFLOAD_host2dev): Likewise.
3238	(GOMP_OFFLOAD_dev2dev): Likewise.
3239
3240	* plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3241	(CUDA_CALL): Likewise.
3242	(CUDA_CALL_ASSERT): Likewise.
3243	(map_init): Change return type to bool, use CUDA_CALL* macros.
3244	(map_fini): Likewise.
3245	(init_streams_for_device): Change return type to bool, adjust
3246	call to map_init.
3247	(fini_streams_for_device): Change return type to bool, adjust
3248	call to map_fini.
3249	(select_stream_for_async): Release stream_lock before calls to
3250	GOMP_PLUGIN_fatal, adjust call to map_init.
3251	(nvptx_init): Use CUDA_CALL* macros.
3252	(nvptx_attach_host_thread_to_device): Change return type to bool,
3253	use CUDA_CALL* macros.
3254	(nvptx_open_device): Use CUDA_CALL* macros.
3255	(nvptx_close_device): Change return type to bool, use CUDA_CALL*
3256	macros.
3257	(nvptx_get_num_devices): Use CUDA_CALL* macros.
3258	(link_ptx): Change return type to bool, use CUDA_CALL* macros.
3259	(nvptx_exec): Use CUDA_CALL* macros.
3260	(nvptx_alloc): Use CUDA_CALL* macros.
3261	(nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3262	(nvptx_host2dev): Likewise.
3263	(nvptx_dev2host): Likewise.
3264	(nvptx_wait): Use CUDA_CALL* macros.
3265	(nvptx_wait_async): Likewise.
3266	(nvptx_wait_all): Likewise.
3267	(nvptx_wait_all_async): Likewise.
3268	(nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3269	use CUDA_CALL* macros, adjust call to map_fini.
3270	(GOMP_OFFLOAD_init_device): Change return type to bool,
3271	adjust code accordingly.
3272	(GOMP_OFFLOAD_fini_device): Likewise.
3273	(GOMP_OFFLOAD_load_image): Adjust calls to
3274	nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3275	use CUDA_CALL* macros.
3276	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3277	return code.
3278	(GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3279	(GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3280	handle error return.
3281	(GOMP_OFFLOAD_dev2host): Likewise.
3282	(GOMP_OFFLOAD_host2dev): Likewise.
3283	(GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3284	(GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3285
32862016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
3287
3288	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3289	(acc_free): Likewise.
3290	(acc_memcpy_to_device): Likewise.
3291	(acc_memcpy_from_device): Likewise.
3292	(acc_deviceptr): Likewise.
3293	(acc_hostptr): Likewise.
3294	(acc_is_present): Likewise.
3295	(acc_map_data): Likewise.
3296	(acc_unmap_data): Likewise.
3297	(present_create_copy): Likewise.
3298	(delete_copyout): Likewise.
3299	(update_dev_host): Likewise.
3300	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3301	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3302	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3303	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3304	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3305	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3306	it only runs on nvptx targets.
3307	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3308	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3309	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3310	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3311	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3312	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3313	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3314	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3315	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3316	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3317	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3318	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3319	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3320	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3321	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3322	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3323	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3324	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3325	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3326	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3327	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3328	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3329	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3330
33312016-05-23  Martin Jambor  <mjambor@suse.cz>
3332
3333	* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3334
33352016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
3336
3337	* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3338	to gomp_init_targets_once.
3339	(acc_set_device_type): Remove !cached_base_dev condition on call to
3340	gomp_init_targets_once, move call to before acc_device_lock acquire,
3341	to avoid deadlock.
3342	(acc_get_device_num): Remove !cached_base_dev condition on call to
3343	gomp_init_targets_once.
3344	(acc_set_device_num): Likewise.
3345
33462016-05-16  Martin Jambor  <mjambor@suse.cz>
3347
3348	* testsuite/libgomp.hsa.c/complex-align-2.c: New test.
3349
33502016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
3351
3352	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3353	expected partitioning.
3354
33552016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
3356
3357	PR middle-end/70626
3358	* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3359	* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3360	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3361
33622016-04-21  Alexander Monakov  <amonakov@ispras.ru>
3363
3364	* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3365	non-fatal.
3366
33672016-04-19  Jakub Jelinek  <jakub@redhat.com>
3368
3369	PR middle-end/70680
3370	* testsuite/libgomp.c/pr70680-1.c: New test.
3371	* testsuite/libgomp.c/pr70680-2.c: New test.
3372
33732016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
3374
3375	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3376	pass parameter variables to subroutines.
3377
33782016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
3379
3380	PR middle-end/70643
3381	* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3382
33832016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
3384
3385	PR testsuite/68242
3386	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3387	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3388
33892016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
3390
3391	* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3392	GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3393	GOACC_declare prototype.
3394
3395	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3396	Merge this file, and...
3397	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3398	... this file, and...
3399	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3400	... this file, and...
3401	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3402	... this file, and...
3403	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3404	... this file, and...
3405	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3406	... this file, and...
3407	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3408	... this file, and...
3409	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3410	... this file, and...
3411	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3412	... this file, and...
3413	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3414	... this file, and...
3415	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3416	... this file, and...
3417	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3418	... this file, and...
3419	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3420	... this file into...
3421	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3422	file.
3423
3424	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3425	Make failure observable.
3426
34272016-04-12  Jakub Jelinek  <jakub@redhat.com>
3428
3429	* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3430	field.
3431	* target.c (gomp_target_fallback_firstprivate,
3432	gomp_target_unshare_firstprivate): Removed.
3433	(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3434	before waiting for dependencies.
3435	(gomp_target_task_fn): Don't copy firstprivate vars here.
3436	* task.c (GOMP_PLUGIN_target_task_completion): Don't free
3437	firstprivate_copies here.
3438	(gomp_create_target_task): Don't initialize firstprivate_copies field.
3439	* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3440	explicit/implicit firstprivate.
3441
34422016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
3443
3444	PR lto/70289
3445	PR ipa/70348
3446	PR tree-optimization/70373
3447	PR middle-end/70533
3448	PR middle-end/70534
3449	PR middle-end/70535
3450	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3451	test.
3452	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3453	test.
3454	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3455	test.
3456	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3457	test.
3458	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3459	test.
3460	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3461	test.
3462	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3463	test.
3464	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3465	test.
3466	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3467	test.
3468	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3469	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3470	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3471	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3472	test.
3473	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3474	test.
3475	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3476	test.
3477	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3478	test.
3479	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3480	coverage.
3481	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3482	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3483	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3484	* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3485	* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3486	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3487	coverage.
3488	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3489	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3490	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3491	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3492	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3493	* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3494	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3495	* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3496	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3497	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3498	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3499	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3500	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3501	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3502	* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3503
35042016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
3505	    James Norris  <jnorris@codesourcery.com>
3506	    Nathan Sidwell  <nathan@codesourcery.com>
3507	    Julian Brown  <julian@codesourcery.com>
3508	    Cesar Philippidis  <cesar@codesourcery.com>
3509	    Chung-Lin Tang  <cltang@codesourcery.com>
3510	    Tom de Vries  <tom@codesourcery.com>
3511
3512	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3513	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3514	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3515	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3516	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3517	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3518	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3519	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3520	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3521	XFAIL.
3522	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3523	Incorporate...
3524	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3525	file.
3526	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3527	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3528	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3529	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3530	Likewise.
3531	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3532	Likewise.
3533	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3534	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3535	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3536	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3537	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3538	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3539	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3540	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3541	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3542	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3543	Likewise.
3544	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3545	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3546	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3547	file...
3548	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3549	file into...
3550	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3551	file.  Update.
3552	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3553	file.
3554	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3555	Likewise.
3556	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3557	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3558	... this new file.  Update.
3559	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3560	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3561	... this new file.  Update.
3562	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3563	file.  Incorporate...
3564	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3565	file, and...
3566	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3567	file, and...
3568	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3569	file.
3570	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3571
35722016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
3573
3574	* testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3575	set-torture-options.
3576
35772016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
3578
3579	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3580	gcc-dg-runtest.
3581	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3582	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3583	-fno-builtin-acc_on_device instead of -O0.
3584	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3585	-O0.
3586	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3587	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3588	Likewise.
3589	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3590	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3591	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3592	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3593	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3594	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3595	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3596	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3597	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3598	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3599	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3600	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3601	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3602	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3603	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3604	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3605	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3606	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3607	Don't specify -O2.
3608	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3609	Likewise.
3610	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3611	Likewise.
3612
36132016-03-24  Martin Liska  <mliska@suse.cz>
3614
3615	* plugin/plugin-hsa.c (packet_store_release): New function
3616	that is taken from the HSA runtime manual.
3617	(GOMP_OFFLOAD_run): Use the function.
3618
36192016-03-23  Jakub Jelinek  <jakub@redhat.com>
3620
3621	PR c++/70376
3622	* testsuite/libgomp.c++/pr70376.C: New test.
3623
36242016-03-23  Tom de Vries  <tom@codesourcery.com>
3625
3626	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3627	initialization of lresult and lvresult.
3628	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3629
36302016-03-23  James Norris  <jnorris@codesourcery.com>
3631	    Daichi Fukuoka <dc-fukuoka@sgi.com>
3632
3633	PR libgomp/69414
3634	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3635	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3636	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3637	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3638
36392016-03-23  Martin Liska  <mliska@suse.cz>
3640
3641	PR hsa/70337
3642	* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3643	argument just in case a dispatched kernel uses that argument.
3644
36452016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
3646
3647	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3648	-ftree-parallelize-loops/-fopenacc changes.
3649	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3650	Likewise.
3651	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3652	Likewise.
3653	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3654	Likewise.
3655	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3656	Likewise.
3657	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3658	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3659
36602016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
3661
3662	* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3663	always_ld_library_path the path to libgcc_s.
3664
36652016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
3666
3667	PR testsuite/70009
3668	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3669
36702016-03-09  Tom de Vries  <tom@codesourcery.com>
3671
3672	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3673	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3674	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3675	Same.
3676	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3677	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3678	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3679	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3680
36812016-03-07  Martin Jambor  <mjambor@suse.cz>
3682
3683	* testsuite/lib/libgomp.exp
3684	(check_effective_target_hsa_offloading_selected_nocache): New.
3685	(check_effective_target_hsa_offloading_selected): Likewise.
3686	* testsuite/libgomp.hsa.c/c.exp: Likewise.
3687	* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3688	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3689	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3690	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3691	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3692	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3693	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3694	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3695	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3696	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3697	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3698	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3699	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3700	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3701	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3702	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3703
37042016-03-07  Martin Jambor  <mjambor@suse.cz>
3705
3706	* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
3707	non-shared memory accelerators.
3708	* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
3709	* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
3710	* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
3711	* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
3712	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3713	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3714	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3715	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3716	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3717
37182016-03-07  Martin Jambor  <mjambor@suse.cz>
3719
3720	* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
3721	ALWAYS_CFLAGS.
3722
37232016-03-02  Jakub Jelinek  <jakub@redhat.com>
3724
3725	PR libgomp/69555
3726	* testsuite/libgomp.c++/pr69555-1.C: New test.
3727	* testsuite/libgomp.c++/pr69555-2.C: New test.
3728
37292016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
3730	    Martin Jambor  <mjambor@suse.cz>
3731
3732	* testsuite/lib/libgomp.exp
3733	(check_effective_target_offload_device_shared_as): New proc.
3734	* testsuite/libgomp.c++/declare_target-1.C: New test.
3735
37362016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
3737
3738	PR driver/68463
3739	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
3740
37412016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
3742
3743	* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
3744	* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
3745	dims.
3746	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
3747	-ftree-parallelize-loops/-fopenacc changes.
3748	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
3749	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
3750	Likewise.
3751	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
3752	Likewise.
3753	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
3754	Likewise.
3755	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
3756	Likewise.
3757	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
3758	Likewise.
3759	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
3760	Likewise.
3761	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
3762	Likewise.
3763	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3764	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
3765	Likewise.
3766	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
3767	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
3768	Likewise.
3769	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
3770	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
3771	Likewise.
3772
37732016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
3774
3775	* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
3776
37772016-02-19  Jakub Jelinek  <jakub@redhat.com>
3778
3779	PR driver/69805
3780	* testsuite/libgomp.c/pr69805.c: New test.
3781
37822016-02-16  Tom de Vries  <tom@codesourcery.com>
3783
3784	PR lto/67709
3785	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
3786
37872016-02-09  Tom de Vries  <tom@codesourcery.com>
3788
3789	PR tree-optimization/69599
3790	* testsuite/libgomp.c/omp-nested-3.c: New test.
3791	* testsuite/libgomp.c/pr46032-2.c: New test.
3792	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
3793	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
3794
37952016-02-09  Tom de Vries  <tom@codesourcery.com>
3796
3797	PR lto/69707
3798	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
3799
38002016-02-02  Alexander Monakov  <amonakov@ispras.ru>
3801
3802	* testsuite/libgomp.c/target-31.c: Fix testcase.
3803
38042016-02-02  Alexander Monakov  <amonakov@ispras.ru>
3805
3806	* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
3807	clause.
3808	* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
3809	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
3810	reduction and map clauses.
3811	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3812
38132016-02-02  James Norris  <jnorris@codesourcery.com>
3814
3815	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
3816
38172016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
3818
3819	* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
3820	* oacc-parallel.c (GOACC_host_data): Remove function definition.
3821
3822	* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
3823	cases.
3824
3825	* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
3826	variables.
3827	* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
3828	(hsa_kmt_lib): Set variables.
3829	* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
3830	always_ld_library_path.
3831	* Makefile.in: Regenerate.
3832	* configure: Likewise.
3833	* testsuite/Makefile.in: Likewise.
3834
3835	* plugin/configfrag.ac (offload_additional_options)
3836	(offload_additional_lib_paths): Don't amend for hsa offloading.
3837	* configure: Regenerate.
3838
3839	* plugin/configfrag.ac: Don't configure for offloading target if
3840	we don't build the corresponding plugin.
3841	* configure: Regenerate.
3842
38432016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
3844
3845	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
3846	* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
3847
38482016-01-26  Tom de Vries  <tom@codesourcery.com>
3849
3850	PR tree-optimization/69110
3851	* testsuite/libgomp.c/pr69110.c: New test.
3852
38532016-01-25  Richard Biener  <rguenther@suse.de>
3854
3855	PR lto/69393
3856	* testsuite/libgomp.c++/pr69393.C: New testcase.
3857
38582016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
3859
3860	* target.c (gomp_get_target_fn_addr): Allow host fallback if target
3861	function wasn't mapped to the device with non-shared memory.
3862
38632016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
3864
3865	* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
3866
38672016-01-19  Martin Jambor  <mjambor@suse.cz>
3868	    Martin Liska  <mliska@suse.cz>
3869
3870	* plugin/Makefrag.am: Add HSA plugin requirements.
3871	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
3872	(HSA_RUNTIME_LIB): Likewise.
3873	(HSA_RUNTIME_CPPFLAGS): Likewise.
3874	(HSA_RUNTIME_INCLUDE): New substitution.
3875	(HSA_RUNTIME_LIB): Likewise.
3876	(HSA_RUNTIME_LDFLAGS): Likewise.
3877	(hsa-runtime): New configure option.
3878	(hsa-runtime-include): Likewise.
3879	(hsa-runtime-lib): Likewise.
3880	(PLUGIN_HSA): New substitution variable.
3881	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
3882	configure options.
3883	(PLUGIN_HSA_CPPFLAGS): Likewise.
3884	(PLUGIN_HSA_LDFLAGS): Likewise.
3885	(PLUGIN_HSA_LIBS): Likewise.
3886	Check that we have access to HSA run-time.
3887	* libgomp-plugin.h (offload_target_type): New element
3888	OFFLOAD_TARGET_TYPE_HSA.
3889	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
3890	args.
3891	(bool gomp_create_target_task): Updated.
3892	(gomp_device_descr): Extra parameter of run_func and async_run_func,
3893	new field can_run_func.
3894	* libgomp_g.h (GOMP_target_ext): Update prototype.
3895	* oacc-host.c (host_run): Added a new parameter args.
3896	* target.c (calculate_firstprivate_requirements): New function.
3897	(copy_firstprivate_data): Likewise.
3898	(gomp_target_fallback_firstprivate): Use them.
3899	(gomp_target_unshare_firstprivate): New function.
3900	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
3901	devices.
3902	(GOMP_target): Do host fallback for all shared memory devices.  Do not
3903	pass any args to plugins.
3904	(GOMP_target_ext): Introduce device-specific argument parameter args.
3905	Allow host fallback if device shares memory.  Do not remap data if
3906	device has shared memory.
3907	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
3908	like host fallback for mappings.
3909	(GOMP_target_data): Treat shared memory devices like host fallback.
3910	(GOMP_target_data_ext): Likewise.
3911	(GOMP_target_update): Likewise.
3912	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
3913	gomp_create_target_task.
3914	(GOMP_target_enter_exit_data): Likewise.
3915	(omp_target_alloc): Treat shared memory devices like host fallback.
3916	(omp_target_free): Likewise.
3917	(omp_target_is_present): Likewise.
3918	(omp_target_memcpy): Likewise.
3919	(omp_target_memcpy_rect): Likewise.
3920	(omp_target_associate_ptr): Likewise.
3921	(gomp_load_plugin_for_device): Also load can_run.
3922	* task.c (GOMP_PLUGIN_target_task_completion): Free
3923	firstprivate_copies.
3924	(gomp_create_target_task): Accept new argument args and store it to
3925	ttask.
3926	* plugin/plugin-hsa.c: New file.
3927
39282016-01-18  Tom de Vries  <tom@codesourcery.com>
3929
3930	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
3931	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
3932	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
3933	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
3934	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
3935	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
3936	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
3937	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
3938	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
3939	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
3940	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3941	Same.
3942	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3943	Same.
3944	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
3945	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
3946	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
3947	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
3948	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
3949	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
3950	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
3951	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3952	Same.
3953	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
3954
39552016-01-15  Jakub Jelinek  <jakub@redhat.com>
3956
3957	* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
3958
39592016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
3960
3961	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
3962
39632016-01-12  James Norris  <jnorris@codesourcery.com>
3964
3965	* libgomp.texi: Updates for OpenACC.
3966
39672016-01-11  Alexander Monakov  <amonakov@ispras.ru>
3968
3969	* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
3970
39712016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3972
3973	PR fortran/66680
3974	* testsuite/libgomp.fortran/pr66680.f90: New test.
3975
39762016-01-07  Jakub Jelinek  <jakub@redhat.com>
3977
3978	PR middle-end/68960
3979	* testsuite/libgomp.c/pr68960.c: New test.
3980
39812016-01-06  Nathan Sidwell  <nathan@acm.org>
3982
3983	* openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
3984	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
3985
39862016-01-04  Jakub Jelinek  <jakub@redhat.com>
3987
3988	Update copyright years.
3989
3990	* libgomp.texi: Bump @copying's copyright year.
3991
39922015-12-31  Nathan Sidwell  <nathan@acm.org>
3993
3994	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
3995	dg-additional-options syntax.
3996	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3997	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3998	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3999	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4000	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4001	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4002	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4003	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4004	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4005	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4006	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4007	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4008	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4009	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4010	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4011	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4012	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4013	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4014
40152015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
4016
4017	* libgomp.h (REFCOUNT_LINK): Define.
4018	(struct splay_tree_key_s): Add link_key.
4019	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
4020	Replace target address of the pointer with target address of newly
4021	mapped object in the splay tree.  Set link pointer on target to the
4022	device address of the mapped object.
4023	(gomp_unmap_vars): Restore target address of the pointer in the splay
4024	tree for REFCOUNT_LINK objects after unmapping.
4025	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
4026	declare target link" objects.
4027	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
4028	"omp declare target link" objects, which were mapped for the image.
4029	(gomp_exit_data): Restore target address of the pointer in the splay
4030	tree for REFCOUNT_LINK objects after unmapping.
4031	* testsuite/libgomp.c/target-link-1.c: New file.
4032
40332015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
4034
4035	* libgomp.h (gomp_device_state): New enum.
4036	(struct gomp_device_descr): Replace is_initialized with state.
4037	(gomp_fini_device): Remove declaration.
4038	* oacc-host.c (host_dispatch): Use state instead of is_initialized.
4039	* oacc-init.c (acc_init_1): Use state instead of is_initialized.
4040	(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
4041	(acc_set_device_type): Use state instead of is_initialized.
4042	(acc_set_device_num): Likewise.
4043	* target.c (resolve_device): Use state instead of is_initialized.
4044	Do not initialize finalized device.
4045	(gomp_map_vars): Do nothing if device is finalized.
4046	(gomp_unmap_vars): Likewise.
4047	(gomp_update): Likewise.
4048	(GOMP_offload_register_ver): Use state instead of is_initialized.
4049	(GOMP_offload_unregister_ver): Likewise.
4050	(gomp_init_device): Likewise.
4051	(gomp_unload_device): Likewise.
4052	(gomp_fini_device): Remove.
4053	(gomp_get_target_fn_addr): Do nothing if device is finalized.
4054	(GOMP_target): Go to host fallback if device is finalized.
4055	(GOMP_target_ext): Likewise.
4056	(gomp_exit_data): Do nothing if device is finalized.
4057	(gomp_target_task_fn): Go to host fallback if device is finalized.
4058	(gomp_target_fini): New static function.
4059	(gomp_target_init): Use state instead of is_initialized.
4060	Call gomp_target_fini at exit.
4061
40622015-12-09  Tom de Vries  <tom@codesourcery.com>
4063
4064	PR tree-optimization/68716
4065	* testsuite/libgomp.c/omp-nested-2.c: New test.
4066
40672015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
4068
4069	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4070	target openacc_nvidia_accel_selected.
4071	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4072	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4073	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4074	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4075
40762015-12-01  Julian Brown  <julian@codesourcery.com>
4077	    James Norris  <James_Norris@mentor.com>
4078
4079	* oacc-parallel.c (GOACC_host_data): New function.
4080	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4081	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4082	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4083	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4084	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4085	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4086	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4087
40882015-11-30  James Norris  <jnorris@codesourcery.com>
4089	    Cesar Philippidis  <cesar@codesourcery.com>
4090
4091	libgomp/
4092	* libgomp.oacc-fortran/routine-5.f90: New test.
4093	* libgomp.oacc-fortran/routine-7.f90: New test.
4094	* libgomp.oacc-fortran/routine-9.f90: New test.
4095
40962015-11-30  Tom de Vries  <tom@codesourcery.com>
4097
4098	PR tree-optimization/46032
4099	* testsuite/libgomp.c/pr46032.c: New test.
4100
41012015-11-27  Jakub Jelinek  <jakub@redhat.com>
4102
4103	PR libgomp/68579
4104	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4105	(gomp_create_target_task): Call it before freeing
4106	GOMP_TARGET_TASK_DATA tasks.
4107
4108	PR c/63326
4109	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4110	in between case label and OpenMP standalone directives.
4111	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4112
41132015-11-26  David Edelsohn  <dje.gcc@gmail.com>
4114
4115	* configure: Regenerate.
4116
41172015-11-26  Jakub Jelinek  <jakub@redhat.com>
4118
4119	* testsuite/libgomp.c/target-35.c: New test.
4120
41212015-11-22  James Norris  <jnorris@codesourcery.com>
4122	    Cesar Philippidis  <cesar@codesourcery.com>
4123
4124	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4125	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4126	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4127	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4128	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4129
41302015-11-20  Jakub Jelinek  <jakub@redhat.com>
4131
4132	PR middle-end/68221
4133	* testsuite/libgomp.c/reduction-11.c: Remove xfail.
4134	* testsuite/libgomp.c/reduction-12.c: Likewise.
4135	* testsuite/libgomp.c++/reduction-11.C: Likewise.
4136	* testsuite/libgomp.c++/reduction-12.C: Likewise.
4137
41382015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
4139
4140	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4141	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
4142	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4143	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4144	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4145	and fix.
4146	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4147	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4148
41492015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
4150
4151	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4152	worker & gang cases.
4153	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4154
41552015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
4156
4157	* config/nvptx/priority_queue.c: New file.
4158
41592015-11-14  Jakub Jelinek  <jakub@redhat.com>
4160
4161	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4162	sections.
4163
41642015-11-14  Jakub Jelinek  <jakub@redhat.com>
4165	    Aldy Hernandez  <aldyh@redhat.com>
4166	    Ilya Verbin  <ilya.verbin@intel.com>
4167
4168	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
4169	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4170	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4171	iterators or IV by chunk size.
4172	* parallel.c (gomp_resolve_num_threads): Don't assume that
4173	if thr->ts.team is non-NULL, then pool must be non-NULL.
4174	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4175	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4176	GOMP_PLUGIN_target_task_completion.
4177	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4178	* Makefile.in: Regenerate.
4179	* libgomp.h: Shuffle prototypes and forward definitions around so
4180	priority queues can be defined.
4181	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4182	(enum gomp_target_task_state): New enum.
4183	(struct gomp_target_task): Add state, tgt, task and team fields.
4184	(gomp_create_target_task): Change return type to bool, add
4185	state argument.
4186	(gomp_target_task_fn): Change return type to bool.
4187	(struct gomp_device_descr): Add async_run_func.
4188	(struct gomp_task): Remove children, next_child, prev_child,
4189	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4190	Add pnode field.
4191	(struct gomp_taskgroup): Remove children.
4192	Add taskgroup_queue.
4193	(struct gomp_team): Change task_queue type to a priority queue.
4194	(splay_compare): Define inline.
4195	(priority_queue_offset): New.
4196	(priority_node_to_task): New.
4197	(task_to_priority_node): New.
4198	* oacc-mem.c: Do not include splay-tree.h.
4199	* priority_queue.c: New file.
4200	* priority_queue.h: New file.
4201	* splay-tree.c: Do not include splay-tree.h.
4202	(splay_tree_foreach_internal): New.
4203	(splay_tree_foreach): New.
4204	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4205	(splay_tree_callback): Define typedef.
4206	* target.c (splay_compare): Move to libgomp.h.
4207	(GOMP_target): Don't adjust *thr in any way around running offloaded
4208	task.
4209	(GOMP_target_ext): Likewise.  Handle target nowait.
4210	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4211	return value from gomp_create_target_task, if false, fallthrough
4212	as if no dependencies exist.
4213	(gomp_target_task_fn): Change return type to bool, return true
4214	if the task should have another part scheduled later.  Handle
4215	target nowait.
4216	(gomp_load_plugin_for_device): Initialize async_run.
4217	* task.c (gomp_init_task): Initialize children_queue.
4218	(gomp_clear_parent_in_list): New.
4219	(gomp_clear_parent_in_tree): New.
4220	(gomp_clear_parent): Handle priorities.
4221	(GOMP_task): Likewise.
4222	(priority_queue_move_task_first,
4223	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4224	New functions.
4225	(gomp_create_target_task): Use priority queues.  Change return type
4226	to bool, add state argument, return false if for async
4227	{{enter,exit} data,update} constructs no dependencies need to be
4228	waited for, handle target nowait.  Set task->fn to NULL instead of
4229	gomp_target_task_fn.
4230	(verify_children_queue): Remove.
4231	(priority_list_upgrade_task): New.
4232	(priority_queue_upgrade_task): New.
4233	(verify_task_queue): Remove.
4234	(priority_list_downgrade_task): New.
4235	(priority_queue_downgrade_task): New.
4236	(gomp_task_run_pre): Use priority queues.
4237	Abstract code out to priority_queue_downgrade_task.
4238	(gomp_task_run_post_handle_dependers): Use priority queues.
4239	(gomp_task_run_post_remove_parent): Likewise.
4240	(gomp_task_run_post_remove_taskgroup): Likewise.
4241	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
4242	tasks specially.
4243	(GOMP_taskwait): Likewise.
4244	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
4245	priority-queue_upgrade_task.
4246	(GOMP_taskgroup_start): Use priority queues.
4247	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
4248	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
4249	barrier.
4250	* taskloop.c (GOMP_taskloop): Handle priorities.
4251	* team.c (gomp_new_team): Call priority_queue_init.
4252	(free_team): Call priority_queue_free.
4253	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4254	team created for target nowait in implicit parallel region.
4255	(gomp_team_start): For nested check, test thr->ts.level instead of
4256	thr->ts.team != NULL.
4257	* testsuite/libgomp.c/doacross-3.c: New test.
4258	* testsuite/libgomp.c/ordered-5.c: New test.
4259	* testsuite/libgomp.c/priority.c: New test.
4260	* testsuite/libgomp.c/target-31.c: New test.
4261	* testsuite/libgomp.c/target-32.c: New test.
4262	* testsuite/libgomp.c/target-33.c: New test.
4263	* testsuite/libgomp.c/target-34.c: New test.
4264
42652015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
4266
4267	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4268
4269	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4270	loop is sequential.
4271
42722015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
4273
4274	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4275	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4276
42772015-11-12  James Norris  <jnorris@codesourcery.com>
4278	    Joseph Myers  <joseph@codesourcery.com>
4279
4280	* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4281	* oacc-parallel.c (GOACC_declare): New function.
4282	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4283	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4284	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4285	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4286	* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4287
42882015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
4289
4290	* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4291
42922015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
4293
4294	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4295	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4296
42972015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
4298
4299	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4300	inadvertent commit.
4301
43022015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
4303
4304	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4305	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4306	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4307	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4308	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4309
43102015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
4311
4312	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4313	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4314
43152015-11-05  Jakub Jelinek  <jakub@redhat.com>
4316	    Ilya Verbin  <ilya.verbin@intel.com>
4317
4318	* libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4319	GOMP_loop_nonmonotonic_dynamic_start,
4320	GOMP_loop_nonmonotonic_guided_next,
4321	GOMP_loop_nonmonotonic_guided_start,
4322	GOMP_loop_ull_nonmonotonic_dynamic_next,
4323	GOMP_loop_ull_nonmonotonic_dynamic_start,
4324	GOMP_loop_ull_nonmonotonic_guided_next,
4325	GOMP_loop_ull_nonmonotonic_guided_start,
4326	GOMP_parallel_loop_nonmonotonic_dynamic,
4327	GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4328	(GOMP_target_41): Renamed to ...
4329	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
4330	arguments.
4331	(GOMP_target_data_41): Renamed to ...
4332	(GOMP_target_data_ext): ... this.
4333	(GOMP_target_update_41): Renamed to ...
4334	(GOMP_target_update_ext): ... this.
4335	* libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4336	GOMP_target_data_ext and GOMP_target_update_ext instead of
4337	GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4338	Export GOMP_loop_nonmonotonic_dynamic_next,
4339	GOMP_loop_nonmonotonic_dynamic_start,
4340	GOMP_loop_nonmonotonic_guided_next,
4341	GOMP_loop_nonmonotonic_guided_start,
4342	GOMP_loop_ull_nonmonotonic_dynamic_next,
4343	GOMP_loop_ull_nonmonotonic_dynamic_start,
4344	GOMP_loop_ull_nonmonotonic_guided_next,
4345	GOMP_loop_ull_nonmonotonic_guided_start,
4346	GOMP_parallel_loop_nonmonotonic_dynamic and
4347	GOMP_parallel_loop_nonmonotonic_guided.
4348	* loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4349	GOMP_parallel_loop_nonmonotonic_guided,
4350	GOMP_loop_nonmonotonic_dynamic_start,
4351	GOMP_loop_nonmonotonic_guided_start,
4352	GOMP_loop_nonmonotonic_dynamic_next,
4353	GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4354	* loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4355	GOMP_loop_ull_nonmonotonic_guided_start,
4356	GOMP_loop_ull_nonmonotonic_dynamic_next,
4357	GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4358	* target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4359	functions.
4360	(gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
4361	GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4362	Use gomp_map_val function.
4363	(gomp_target_fallback_firstprivate): New static function.
4364	(GOMP_target_41): Renamed to ...
4365	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
4366	arguments.  Move firstprivate fallback handling into a new
4367	function.
4368	(GOMP_target_data_41): Renamed to ...
4369	(GOMP_target_data_ext): ... this.
4370	(GOMP_target_update_41): Renamed to ...
4371	(GOMP_target_update_ext): ... this.
4372	(gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4373	gomp_map_0len_lookup instead of gomp_map_lookup.
4374	(omp_target_is_present): Use gomp_map_0len_lookup instead of
4375	gomp_map_lookup.
4376	* testsuite/libgomp.c/target-28.c: Likewise.
4377	* testsuite/libgomp.c/monotonic-1.c: New test.
4378	* testsuite/libgomp.c/monotonic-2.c: New test.
4379	* testsuite/libgomp.c/nonmonotonic-1.c: New test.
4380	* testsuite/libgomp.c/nonmonotonic-2.c: New test.
4381	* testsuite/libgomp.c/pr66199-5.c: New test.
4382	* testsuite/libgomp.c/pr66199-6.c: New test.
4383	* testsuite/libgomp.c/pr66199-7.c: New test.
4384	* testsuite/libgomp.c/pr66199-8.c: New test.
4385	* testsuite/libgomp.c/pr66199-9.c: New test.
4386	* testsuite/libgomp.c/reduction-11.c: New test.
4387	* testsuite/libgomp.c/reduction-12.c: New test.
4388	* testsuite/libgomp.c/reduction-13.c: New test.
4389	* testsuite/libgomp.c/reduction-14.c: New test.
4390	* testsuite/libgomp.c/reduction-15.c: New test.
4391	* testsuite/libgomp.c/target-12.c (main): Adjust for
4392	omp_target_is_present change for one-past-last element.
4393	* testsuite/libgomp.c/target-17.c (foo): Drop tests where
4394	the same var is both mapped and privatized.
4395	* testsuite/libgomp.c/target-19.c (foo): Adjust for different
4396	handling of zero-length array sections.
4397	* testsuite/libgomp.c/target-28.c: New test.
4398	* testsuite/libgomp.c/target-29.c: New test.
4399	* testsuite/libgomp.c/target-30.c: New test.
4400	* testsuite/libgomp.c/target-teams-1.c: New test.
4401	* testsuite/libgomp.c++/member-6.C: New test.
4402	* testsuite/libgomp.c++/member-7.C: New test.
4403	* testsuite/libgomp.c++/monotonic-1.C: New test.
4404	* testsuite/libgomp.c++/monotonic-2.C: New test.
4405	* testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4406	* testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4407	* testsuite/libgomp.c++/pr66199-3.C: New test.
4408	* testsuite/libgomp.c++/pr66199-4.C: New test.
4409	* testsuite/libgomp.c++/pr66199-5.C: New test.
4410	* testsuite/libgomp.c++/pr66199-6.C: New test.
4411	* testsuite/libgomp.c++/pr66199-7.C: New test.
4412	* testsuite/libgomp.c++/pr66199-8.C: New test.
4413	* testsuite/libgomp.c++/pr66199-9.C: New test.
4414	* testsuite/libgomp.c++/reduction-11.C: New test.
4415	* testsuite/libgomp.c++/reduction-12.C: New test.
4416	* testsuite/libgomp.c++/target-13.C: New test.
4417	* testsuite/libgomp.c++/target-14.C: New test.
4418	* testsuite/libgomp.c++/target-15.C: New test.
4419	* testsuite/libgomp.c++/target-16.C: New test.
4420	* testsuite/libgomp.c++/target-17.C: New test.
4421	* testsuite/libgomp.c++/target-18.C: New test.
4422	* testsuite/libgomp.c++/target-19.C: New test.
4423
44242015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
4425
4426	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4427	and reduction copy.
4428	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4429	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4430	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4431	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4432	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4433	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4434	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4435	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4436	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4437	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4438	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4439	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4440	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4441	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4442
44432015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
4444
4445	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4446	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4447	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4448	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4449	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4450	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4451	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4452	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4453
44542015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
4455
4456	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4457	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4458	(GOMP_OFFLOAD_openacc_parallel): Likewise.
4459	* oacc-host.c (host_openacc_exec): Likewise.
4460	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4461
44622015-11-03  Julian Brown  <julian@codesourcery.com>
4463	    Thomas Schwinge  <thomas@codesourcery.com>
4464
4465	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4466	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4467	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4468	Likewise.
4469	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4470	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4471
44722015-11-03  James Norris  <jnorris@codesourcery.com>
4473
4474	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4475	file.
4476	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4477	Likewise.
4478	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4479	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4480	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4481	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4482	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4483
44842015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
4485
4486	* openacc.h (enum acc_device_t): Reformat. Ensure layout
4487	compatibility.
4488	(enum acc_async_t): Reformat.
4489	(acc_on_device): Declare compatible with builtin and provide C++
4490	wrapper.
4491	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4492
44932015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
4494	    Cesar Philippidis  <cesar@codesourcery.com>
4495
4496	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4497	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4498	... this.  Add a description of the test at the top of the file.
4499	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4500	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4501	... this.  Add a description of the test at the top of the file.
4502
45032015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
4504
4505	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4506	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4507	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4508	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4509	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4510	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4511
45122015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
4513
4514	* plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4515	dimensions.
4516
45172015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
4518
4519	PR testsuite/68063
4520	* testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4521
45222015-10-27  James Norris  <jnorris@codesourcery.com>
4523
4524	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4525	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4526
45272015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
4528
4529	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4530	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4531
4532	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4533	acc_device_nvidia usage.
4534	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4535	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4536	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4537
4538	* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4539	* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4540
4541	PR libgomp/66518
4542	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4543
4544	PR libgomp/65437
4545	PR libgomp/66518
4546	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4547	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4548
45492015-10-23  Tom de Vries  <tom@codesourcery.com>
4550
4551	PR testsuite/68063
4552	* testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4553
45542015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
4555
4556	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4557	vector_length.
4558	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4559
45602015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
4561	    Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
4562
4563	* target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4564	to 0 when mapnum is 0.
4565
45662015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4567
4568	* fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4569	Cast to int from int32_t.
4570
45712015-10-13  Jakub Jelinek  <jakub@redhat.com>
4572	    Aldy Hernandez  <aldyh@redhat.com>
4573	    Ilya Verbin  <ilya.verbin@intel.com>
4574
4575	* config/linux/affinity.c (omp_get_place_num_procs,
4576	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4577	* config/linux/doacross.h: New file.
4578	* config/posix/affinity.c (omp_get_place_num_procs,
4579	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4580	* config/posix/doacross.h: New file.
4581	* env.c: Include gomp-constants.h.
4582	(struct gomp_task_icv): Rename run_sched_modifier to
4583	run_sched_chunk_size.
4584	(gomp_max_task_priority_var): New variable.
4585	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4586	(handle_omp_display_env): Change _OPENMP value from 201307 to
4587	201511.  Print OMP_MAX_TASK_PRIORITY.
4588	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4589	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
4590	chunk_size and run_sched_modifier to run_sched_chunk_size.
4591	(omp_get_max_task_priority, omp_get_initial_device,
4592	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4593	omp_get_partition_place_nums): New functions.
4594	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4595	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4596	to chunk_size.
4597	(omp_get_num_places_, omp_get_place_num_procs_,
4598	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4599	omp_get_place_proc_ids_8_, omp_get_place_num_,
4600	omp_get_partition_num_places_, omp_get_partition_place_nums_,
4601	omp_get_partition_place_nums_8_, omp_get_initial_device_,
4602	omp_get_max_task_priority_): New functions.
4603	* libgomp_g.h (GOMP_loop_doacross_static_start,
4604	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4605	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4606	GOMP_loop_ull_doacross_dynamic_start,
4607	GOMP_loop_ull_doacross_guided_start,
4608	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4609	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4610	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4611	GOMP_target_data_41, GOMP_target_update_41,
4612	GOMP_target_enter_exit_data): New prototypes.
4613	(GOMP_task): Add prototype argument.
4614	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4615	(struct gomp_doacross_work_share): New type.
4616	(struct gomp_work_share): Add doacross field.
4617	(struct gomp_task_icv): Rename run_sched_modifier to
4618	run_sched_chunk_size.
4619	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4620	GOMP_TASK_UNDEFERRED.  Add comments.
4621	(struct gomp_task_depend_entry): Add comments.
4622	(struct gomp_task): Likewise.
4623	(struct gomp_taskgroup): Likewise.
4624	(struct gomp_target_task): New type.
4625	(struct gomp_team): Add comment.
4626	(gomp_get_place_proc_ids_8, gomp_doacross_init,
4627	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4628	gomp_create_target_task, gomp_target_task_fn): New prototypes.
4629	(struct target_var_desc): New type.
4630	(struct target_mem_desc): Adjust comment.  Use struct
4631	target_var_desc instead of splay_tree_key for list.
4632	(REFCOUNT_INFINITY): Define.
4633	(struct splay_tree_key_s): Remove copy_from field.
4634	(struct gomp_device_descr): Add dev2dev_func field.
4635	(enum gomp_map_vars_kind): New enum.
4636	(gomp_map_vars): Add one argument.
4637	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4638	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4639	omp_get_place_num_procs, omp_get_place_num_procs_,
4640	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4641	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4642	omp_get_place_num_, omp_get_partition_num_places,
4643	omp_get_partition_num_places_, omp_get_partition_place_nums,
4644	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4645	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4646	omp_target_free, omp_target_is_present, omp_target_memcpy,
4647	omp_target_memcpy_rect, omp_target_associate_ptr and
4648	omp_target_disassociate_ptr.
4649	(GOMP_4.0.2): Renamed to ...
4650	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
4651	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4652	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4653	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4654	GOMP_loop_doacross_static_start, GOMP_doacross_post,
4655	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4656	GOMP_loop_ull_doacross_guided_start,
4657	GOMP_loop_ull_doacross_runtime_start,
4658	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4659	GOMP_doacross_ull_wait.
4660	* libgomp.texi: Document omp_get_max_task_priority.
4661	Rename modifier argument to chunk_size for omp_set_schedule and
4662	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
4663	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4664	to run_sched_chunk_size renaming.
4665	(GOMP_loop_ordered_runtime_start): Likewise.
4666	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4667	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4668	GOMP_parallel_loop_runtime_start): New functions.
4669	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4670	to run_sched_chunk_size renaming.
4671	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4672	GOMP_loop_doacross_guided_start): New functions or aliases.
4673	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4674	run_sched_modifier to run_sched_chunk_size renaming.
4675	(GOMP_loop_ull_ordered_runtime_start): Likewise.
4676	(gomp_loop_ull_doacross_static_start,
4677	gomp_loop_ull_doacross_dynamic_start,
4678	gomp_loop_ull_doacross_guided_start,
4679	GOMP_loop_ull_doacross_runtime_start): New functions.
4680	(GOMP_loop_ull_doacross_static_start,
4681	GOMP_loop_ull_doacross_dynamic_start,
4682	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4683	* oacc-mem.c (acc_map_data, present_create_copy,
4684	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4685	to gomp_map_vars.
4686	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4687	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4688	instead of false to gomp_map_vars.
4689	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
4690	* omp.h.in (omp_lock_hint_t): New type.
4691	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4692	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4693	omp_get_place_num, omp_get_partition_num_places,
4694	omp_get_partition_place_nums, omp_get_initial_device,
4695	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
4696	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
4697	omp_target_associate_ptr, omp_target_disassociate_ptr): New
4698	prototypes.
4699	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
4700	(omp_lock_hint_none, omp_lock_hint_uncontended,
4701	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4702	omp_lock_hint_speculative): New parameters.
4703	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4704	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4705	omp_get_place_num, omp_get_partition_num_places,
4706	omp_get_partition_place_nums, omp_get_initial_device,
4707	omp_get_max_task_priority): New interfaces.
4708	(omp_set_schedule, omp_get_schedule): Rename modifier argument
4709	to chunk_size.
4710	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
4711	(omp_lock_hint_none, omp_lock_hint_uncontended,
4712	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4713	omp_lock_hint_speculative): New parameters.
4714	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4715	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4716	omp_get_place_num, omp_get_partition_num_places,
4717	omp_get_partition_place_nums, omp_get_initial_device,
4718	omp_get_max_task_priority): New functions and subroutines.
4719	* ordered.c: Include stdarg.h and string.h.
4720	(MAX_COLLAPSED_BITS): Define.
4721	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
4722	gomp_doacross_ull_init, GOMP_doacross_ull_post,
4723	GOMP_doacross_ull_wait): New functions.
4724	* target.c: Include errno.h.
4725	(resolve_device): If device is not initialized, call
4726	gomp_init_device on it.
4727	(gomp_map_lookup): New function.
4728	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
4729	Don't bump refcount if REFCOUNT_INFINITY.  Handle
4730	GOMP_MAP_ALWAYS_TO_P.
4731	(get_kind): Rename is_openacc argument to short_mapkind.
4732	(gomp_map_pointer): Use gomp_map_lookup.
4733	(gomp_map_fields_existing): New function.
4734	(gomp_map_vars): Rename is_openacc argument to short_mapkind
4735	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
4736	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
4737	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
4738	Adjust for tgt->list changed type and copy_from living in there.
4739	(gomp_copy_from_async): Adjust for tgt->list changed type and
4740	copy_from living in there.
4741	(gomp_unmap_vars): Likewise.
4742	(gomp_update): Likewise.  Rename is_openacc argument to
4743	short_mapkind.  Don't fail if object is not mapped.
4744	(gomp_load_image_to_device): Initialize refcount to
4745	REFCOUNT_INFINITY.
4746	(gomp_target_fallback): New function.
4747	(gomp_get_target_fn_addr): Likewise.
4748	(GOMP_target): Adjust gomp_map_vars caller, use
4749	gomp_get_target_fn_addr and gomp_target_fallback.
4750	(GOMP_target_41): New function.
4751	(gomp_target_data_fallback): New function.
4752	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
4753	(GOMP_target_data_41): New function.
4754	(GOMP_target_update): Adjust gomp_update caller.
4755	(GOMP_target_update_41): New function.
4756	(gomp_exit_data, GOMP_target_enter_exit_data,
4757	gomp_target_task_fn, omp_target_alloc, omp_target_free,
4758	omp_target_is_present, omp_target_memcpy,
4759	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
4760	omp_target_associate_ptr, omp_target_disassociate_ptr,
4761	gomp_load_plugin_for_device): New functions.
4762	* task.c: Include gomp-constants.h.  Include taskloop.c
4763	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
4764	(gomp_task_handle_depend): New function.
4765	(GOMP_task): Use it.  Add priority argument.  Use
4766	gomp-constant.h constants instead of hardcoded numbers.
4767	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
4768	(gomp_create_target_task): New function.
4769	(verify_children_queue, verify_taskgroup_queue,
4770	verify_task_queue): New functions.
4771	(gomp_task_run_pre): Call verify_*_queue functions.
4772	If an upcoming tied task is about to leave the sibling or
4773	taskgroup queues in an invalid state, adjust appropriately.
4774	Remove taskgroup argument.  Add comments.
4775	(gomp_task_run_post_handle_dependers): Add comments.
4776	(gomp_task_run_post_remove_parent): Likewise.
4777	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
4778	(GOMP_taskwait): Likewise.  Add comments.
4779	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
4780	problem such that the first non parent_depends_on task does not
4781	end up at the end of the children queue.
4782	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
4783	GOMP_TASK_UNDEFERRED.
4784	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
4785	* taskloop.c: New file.
4786	* testsuite/lib/libgomp.exp
4787	(check_effective_target_offload_device_nonshared_as): New proc.
4788	* testsuite/libgomp.c/affinity-2.c: New test.
4789	* testsuite/libgomp.c/doacross-1.c: New test.
4790	* testsuite/libgomp.c/doacross-2.c: New test.
4791	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
4792	Add map clause to target.
4793	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
4794	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
4795	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
4796	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
4797	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
4798	Likewise.
4799	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
4800	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
4801	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
4802	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
4803	not defined.  Use those where needed.
4804	* testsuite/libgomp.c/for-4.c: New test.
4805	* testsuite/libgomp.c/for-5.c: New test.
4806	* testsuite/libgomp.c/for-6.c: New test.
4807	* testsuite/libgomp.c/linear-1.c: New test.
4808	* testsuite/libgomp.c/ordered-4.c: New test.
4809	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
4810	only allowed on the loop iterator.
4811	* testsuite/libgomp.c/pr66199-3.c: New test.
4812	* testsuite/libgomp.c/pr66199-4.c: New test.
4813	* testsuite/libgomp.c/reduction-7.c: New test.
4814	* testsuite/libgomp.c/reduction-8.c: New test.
4815	* testsuite/libgomp.c/reduction-9.c: New test.
4816	* testsuite/libgomp.c/reduction-10.c: New test.
4817	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
4818	map(tofrom:s).
4819	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
4820	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
4821	* testsuite/libgomp.c/target-11.c: New test.
4822	* testsuite/libgomp.c/target-12.c: New test.
4823	* testsuite/libgomp.c/target-13.c: New test.
4824	* testsuite/libgomp.c/target-14.c: New test.
4825	* testsuite/libgomp.c/target-15.c: New test.
4826	* testsuite/libgomp.c/target-16.c: New test.
4827	* testsuite/libgomp.c/target-17.c: New test.
4828	* testsuite/libgomp.c/target-18.c: New test.
4829	* testsuite/libgomp.c/target-19.c: New test.
4830	* testsuite/libgomp.c/target-20.c: New test.
4831	* testsuite/libgomp.c/target-21.c: New test.
4832	* testsuite/libgomp.c/target-22.c: New test.
4833	* testsuite/libgomp.c/target-23.c: New test.
4834	* testsuite/libgomp.c/target-24.c: New test.
4835	* testsuite/libgomp.c/target-25.c: New test.
4836	* testsuite/libgomp.c/target-26.c: New test.
4837	* testsuite/libgomp.c/target-27.c: New test.
4838	* testsuite/libgomp.c/taskloop-1.c: New test.
4839	* testsuite/libgomp.c/taskloop-2.c: New test.
4840	* testsuite/libgomp.c/taskloop-3.c: New test.
4841	* testsuite/libgomp.c/taskloop-4.c: New test.
4842	* testsuite/libgomp.c++/ctor-13.C: New test.
4843	* testsuite/libgomp.c++/doacross-1.C: New test.
4844	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
4845	Replace offload_device with offload_device_nonshared_as.
4846	* testsuite/libgomp.c++/for-12.C: New test.
4847	* testsuite/libgomp.c++/for-13.C: New test.
4848	* testsuite/libgomp.c++/for-14.C: New test.
4849	* testsuite/libgomp.c++/linear-1.C: New test.
4850	* testsuite/libgomp.c++/member-1.C: New test.
4851	* testsuite/libgomp.c++/member-2.C: New test.
4852	* testsuite/libgomp.c++/member-3.C: New test.
4853	* testsuite/libgomp.c++/member-4.C: New test.
4854	* testsuite/libgomp.c++/member-5.C: New test.
4855	* testsuite/libgomp.c++/ordered-1.C: New test.
4856	* testsuite/libgomp.c++/reduction-5.C: New test.
4857	* testsuite/libgomp.c++/reduction-6.C: New test.
4858	* testsuite/libgomp.c++/reduction-7.C: New test.
4859	* testsuite/libgomp.c++/reduction-8.C: New test.
4860	* testsuite/libgomp.c++/reduction-9.C: New test.
4861	* testsuite/libgomp.c++/reduction-10.C: New test.
4862	* testsuite/libgomp.c++/reference-1.C: New test.
4863	* testsuite/libgomp.c++/simd14.C: New test.
4864	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
4865	* testsuite/libgomp.c++/target-5.C: New test.
4866	* testsuite/libgomp.c++/target-6.C: New test.
4867	* testsuite/libgomp.c++/target-7.C: New test.
4868	* testsuite/libgomp.c++/target-8.C: New test.
4869	* testsuite/libgomp.c++/target-9.C: New test.
4870	* testsuite/libgomp.c++/target-10.C: New test.
4871	* testsuite/libgomp.c++/target-11.C: New test.
4872	* testsuite/libgomp.c++/target-12.C: New test.
4873	* testsuite/libgomp.c++/taskloop-1.C: New test.
4874	* testsuite/libgomp.c++/taskloop-2.C: New test.
4875	* testsuite/libgomp.c++/taskloop-3.C: New test.
4876	* testsuite/libgomp.c++/taskloop-4.C: New test.
4877	* testsuite/libgomp.c++/taskloop-5.C: New test.
4878	* testsuite/libgomp.c++/taskloop-6.C: New test.
4879	* testsuite/libgomp.c++/taskloop-7.C: New test.
4880	* testsuite/libgomp.c++/taskloop-8.C: New test.
4881	* testsuite/libgomp.c++/taskloop-9.C: New test.
4882	* testsuite/libgomp.fortran/affinity1.f90: New test.
4883	* testsuite/libgomp.fortran/affinity2.f90: New test.
4884
48852015-10-13  Tom de Vries  <tom@codesourcery.com>
4886
4887	PR tree-optimization/67476
4888	* testsuite/libgomp.c/autopar-3.c: New test.
4889	* testsuite/libgomp.c/autopar-4.c: New test.
4890	* testsuite/libgomp.c/autopar-5.c: New test.
4891	* testsuite/libgomp.c/autopar-6.c: New test.
4892	* testsuite/libgomp.c/autopar-7.c: New test.
4893	* testsuite/libgomp.c/autopar-8.c: New test.
4894
48952015-10-12  James Norris  <jnorris@codesourcery.com>
4896
4897	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
4898	initializer.
4899
49002015-10-09  David Malcolm  <dmalcolm@redhat.com>
4901
4902	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
4903	using load_gcc_lib.
4904
49052015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
4906
4907	* oacc-ptx.h: Remove file, moving its content into...
4908	* config/nvptx/fortran.c: ... here...
4909	* config/nvptx/oacc-init.c: ..., here...
4910	* config/nvptx/oacc-parallel.c: ..., and here.
4911	* config/nvptx/openacc.f90: New file.
4912	* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
4913	(link_ptx): Don't link in predefined bits of PTX code.
4914
49152015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
4916	    Bernd Schmidt <bernds@codesourcery.com>
4917
4918	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
4919	(struct targ_ptx_obj): New.
4920	(nvptx_tdata): Move earlier, change data format.
4921	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
4922	objects.
4923	(GOMP_OFFLOAD_load_image): Adjust.
4924
49252015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
4926
4927	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
4928	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4929	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4930	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4931	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4932	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4933	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4934	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4935	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4936	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4937	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4938	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4939	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4940	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4941	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4942	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4943	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4944	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4945	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4946	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4947	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4948	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4949	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4950	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4951	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4952	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4953	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4954	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4955	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4956	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4957	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4958	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4959	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4960	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4961	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4962	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4963	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4964	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4965	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4966	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4967	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4968	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4969	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4970	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4971	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4972	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4973	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4974	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4975	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4976	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4977	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4978	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4979	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4980	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4981	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4982	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4983	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4984	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4985	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4986	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4987	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4988	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4989	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4990
49912015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
4992
4993	* oacc-init.c (acc_on_device): Force optimization level.
4994
49952015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
4996
4997	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
4998	(cuda_errlist): Delete.
4999	(cuda_error): Reimplement.
5000
50012015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
5002
5003	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
5004	array.
5005	* libgomp.map (GOACC_parallel_keyed): New.
5006	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
5007	all callers.
5008	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
5009	and take keyed varargs list.  Adjust call to exec_func.
5010	(GOACC_parallel): Force host fallback.
5011	* libgomp_g.h (GOACC_parallel): Remove.
5012	(GOACC_parallel_keyed): Declare.
5013	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
5014	(stuct targ_gn_descriptor): Replace name field with launch field.
5015	(nvptx_exec): Lose separate geometry args, take array.  Process
5016	dynamic dimensions and adjust.
5017	(struct nvptx_tdata): Replace fn_names field with fn_descs.
5018	(GOMP_OFFLOAD_load_image): Adjust for change in function table
5019	data.
5020	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
5021	passing.
5022	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
5023	passing.
5024
50252015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
5026
5027	PR libgomp/67141
5028	* oacc-int.h (goacc_host_init): Add declaration.
5029	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5030	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5031
50322015-09-08  Aditya Kumar  <hiraditya@msn.com>
5033	    Sebastian Pop  <s.pop@samsung.com>
5034
5035	* testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5036	match o/p.
5037	* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5038	* testsuite/libgomp.graphite/force-parallel-4.c: Same.
5039	* testsuite/libgomp.graphite/force-parallel-5.c: Same.
5040	* testsuite/libgomp.graphite/force-parallel-7.c: Same.
5041	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
5042
50432015-09-03  Jakub Jelinek  <jakub@redhat.com>
5044
5045	* configure.tgt: Add missing ;; in between nvptx and rtems
5046	snippets.
5047
50482015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5049
5050	* config/posix/pool.h (gomp_adjust_thread_attr): New.
5051	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5052	(gomp_thread_pool_reservoir): Add priority member.
5053	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5054	priority.
5055	(parse_thread_pools): Likewise.
5056	* team.c (gomp_team_start): Call configuration provided
5057	gomp_adjust_thread_attr(). Destroy thread attributes if
5058	necessary.
5059	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5060
50612015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5062
5063	* config/posix/pool.h: New.
5064	* config/rtems/pool.h: Likewise.
5065	* config/rtems/proc.c: Likewise.
5066	* libgomp.h (gomp_thread_destructor): Declare.
5067	* team.c: Include configuration provided "pool.h".
5068	(gomp_get_thread_pool): Define in configuration.
5069	(gomp_team_end): Call configuration defined
5070	gomp_release_thread_pool().
5071
50722015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5073
5074	* config/rtems/bar.c: New.
5075	* config/rtems/bar.h: Likewise.
5076	* config/rtems/mutex.c: Likewise.
5077	* config/rtems/mutex.h: Likewise.
5078	* config/rtems/sem.c: Likewise.
5079	* config/rtems/sem.h: Likewise.
5080	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
5081	<sys/lock.h> header file.
5082	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5083	supported by Newlib.
5084	* configure: Regenerate.
5085
50862015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5087
5088	* team.c (gomp_new_thread_pool): Delete and move content to ...
5089	(gomp_get_thread_pool): ... new function.  Allocate and
5090	initialize thread pool on demand.
5091	(get_last_team): Use gomp_get_thread_pool().
5092	(gomp_team_start): Delete thread pool initialization.
5093
50942015-09-03  Tom de Vries  <tom@codesourcery.com>
5095
5096	PR tree-optimization/65637
5097	* testsuite/libgomp.c/autopar-2.c: New test.
5098
50992015-08-29  Tom de Vries  <tom@codesourcery.com>
5100
5101	PR tree-optimization/46193
5102	* testsuite/libgomp.c/pr46193.c: New test.
5103
51042015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
5105
5106	libgomp/
5107	* libgomp.map: Add 4.0.2 version.
5108	* target.c (offload_image_descr): Add version field.
5109	(gomp_load_image_to_device): Add version argument.  Adjust plugin
5110	call.  Improve load mismatch diagnostic.
5111	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
5112	call.
5113	(GOMP_offload_regster): Make stub function, move bulk to ...
5114	(GOMP_offload_register_ver): ... here.  Process version argument.
5115	(GOMP_offload_unregister): Make stub function, move bulk to ...
5116	(GOMP_offload_unregister_ver): ... here.  Process version argument.
5117	(gomp_init_device): Process version field.
5118	(gomp_unload_device): Process version field.
5119	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5120	macros.  Check plugin version.
5121	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
5122	loader and unloader types.
5123	* oacc-host.c: Include gomp-constants.h.
5124	(host_version): New.
5125	(host_load_image, host_unload_image): Adjust.
5126	(host_dispatch): Add host_version.
5127	* plugin/plugin-nvptx.c: Include gomp-constants.h.
5128	(GOMP_OFFLOAD_version): New.
5129	(GOMP_OFFLOAD_load_image): Add version arg and check it.
5130	(GOMP_OFFLOAD_unload_image): Likewise.
5131	* plugin/plugin-host.c: Include gomp-constants.h.
5132	(GOMP_OFFLOAD_version): New.
5133	(GOMP_OFFLOAD_load_image): Add version arg.
5134	(GOMP_OFFLOAD_unload_image): Likewise.
5135
51362015-08-24  Tom de Vries  <tom@codesourcery.com>
5137
5138	PR tree-optimization/65468
5139	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5140
51412015-08-24  Tom de Vries  <tom@codesourcery.com>
5142
5143	PR tree-optimization/65468
5144	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
5145
51462015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
5147
5148	PR libgomp/66761
5149	PR libgomp/67303
5150	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5151	(gomp_iter_guided_next): Idem.
5152	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5153	(gomp_iter_ull_guided_next): Idem.
5154	* config/linux/wait.h (do_spin): Idem.
5155
51562015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
5157
5158	* libgomp-plugin.h (enum offload_target_type): Remove
5159	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5160	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5161	* openacc.h (enum acc_device_t): Likewise.
5162	* openacc_lib.h: Likewise.
5163	* oacc-init.c (name_of_acc_device_t): Don't handle it.
5164	(acc_on_device): Just use __builtin_acc_on_device.
5165	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5166	of acc_on_device builtin.
5167	* plugin/plugin-host.h: Remove file.
5168	* plugin/plugin-host.c: Likewise, but salvage some content into...
5169	* oacc-host.c: ... this file.
5170	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5171	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5172	* Makefile.in: Regenerate.
5173	* configure: Likewise.
5174	* testsuite/lib/libgomp.exp
5175	(check_effective_target_openacc_host_nonshm_selected): Remove.
5176	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5177	ACC_DEVICE_TYPE=host_nonshm.
5178	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5179	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5180	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5181	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5182	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5183	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5184
51852015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
5186	    Jakub Jelinek  <jakub@redhat.com>
5187
5188	* config/nvptx/affinity.c: New file.
5189	* config/nvptx/alloc.c: Likewise.
5190	* config/nvptx/bar.c: Likewise.
5191	* config/nvptx/barrier.c: Likewise.
5192	* config/nvptx/critical.c: Likewise.
5193	* config/nvptx/env.c: Likewise.
5194	* config/nvptx/error.c: Likewise.
5195	* config/nvptx/fortran.c: Likewise.
5196	* config/nvptx/iter.c: Likewise.
5197	* config/nvptx/iter_ull.c: Likewise.
5198	* config/nvptx/libgomp-plugin.c: Likewise.
5199	* config/nvptx/lock.c: Likewise.
5200	* config/nvptx/loop.c: Likewise.
5201	* config/nvptx/loop_ull.c: Likewise.
5202	* config/nvptx/mutex.c: Likewise.
5203	* config/nvptx/oacc-async.c: Likewise.
5204	* config/nvptx/oacc-cuda.c: Likewise.
5205	* config/nvptx/oacc-host.c: Likewise.
5206	* config/nvptx/oacc-init.c: Likewise.
5207	* config/nvptx/oacc-mem.c: Likewise.
5208	* config/nvptx/oacc-parallel.c: Likewise.
5209	* config/nvptx/oacc-plugin.c: Likewise.
5210	* config/nvptx/omp-lock.h: Likewise.
5211	* config/nvptx/ordered.c: Likewise.
5212	* config/nvptx/parallel.c: Likewise.
5213	* config/nvptx/proc.c: Likewise.
5214	* config/nvptx/ptrlock.c: Likewise.
5215	* config/nvptx/sections.c: Likewise.
5216	* config/nvptx/sem.c: Likewise.
5217	* config/nvptx/single.c: Likewise.
5218	* config/nvptx/splay-tree.c: Likewise.
5219	* config/nvptx/target.c: Likewise.
5220	* config/nvptx/task.c: Likewise.
5221	* config/nvptx/team.c: Likewise.
5222	* config/nvptx/time.c: Likewise.
5223	* config/nvptx/work.c: Likewise.
5224	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5225	* configure: Regenerate.
5226	* configure.tgt (config_path): Set to "nvptx" for target
5227	nvptx*-*-*.
5228
52292015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
5230
5231	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5232
52332015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
5234
5235	* plugin/plugin-nvptx.c: Don't include dlfcn.h.
5236	(cuda_errlist): Constify.
5237	(errmsg):  Move into ...
5238	(cuda_error): ... here.  Make smaller.
5239	(_XSTR, _STR): Delete.
5240	(cuda_synames): Delete.
5241	(verify_device_library): Delete.
5242	(nvptx_init): Don't call it.
5243
52442015-07-28  Tom de Vries  <tom@codesourcery.com>
5245
5246	* testsuite/libgomp.c/uns-outer-4.c: New test.
5247
52482015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
5249
5250	* testsuite/libgomp.c/pr66714.c: New test.
5251
52522015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5253
5254	PR libgomp/66950
5255	* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5256	(fib_ref): New function.
5257	(fib): Correct corner cases in the recursion.
5258	(main): Replace the non-simd loop with fib_ref call.
5259	* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5260	subroutine.
5261	(fibonacci): Lower the parameter N to 30.  Correct accordingly check
5262	for the last array element value.  Replace the non-simd loop with
5263	fib_ref call.  Remove redundant b_ref array.  Remove the comparison
5264	of the last array element with according Fibonacci sequence element.
5265	(fib): Correct corner cases in the recursion.
5266
52672015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
5268
5269	* target.c (gomp_offload_image_to_device): Rename to ...
5270	(gomp_load_image_to_device): ... here.
5271	(GOMP_offload_register): Adjust call.
5272	(gomp_init_device): Likewise.
5273	(gomp_unload_image_from_device): New.  Broken out of ...
5274	(GOMP_offload_unregister): ... here.  Call it.
5275	(gomp_unload_device): New.
5276	* libgomp.h (gomp_unload_device): Declare.
5277	* oacc-init.c (acc_shutdown_1): Unload from device before deleting
5278	mem maps.
5279
52802015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
5281
5282	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
5283	wait=-specific if.
5284	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5285	!=0 condition.
5286	(goacc_waits): Move !num_waits handling to ...
5287	(GOACC_wait): ... here, the only caller that might have zero waits.
5288
5289	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5290	(struct ptx_image_data): Move earlier, add fns field.
5291	(struct ptx_device): Add images and image_lock fields.
5292	(ptx_images, ptx_image_lock): Delete.
5293	(nvptx_open_device): Initialize images and image_lock fields.
5294	(nvptx_close_device): Destroy image_lock.
5295	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5296	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5297	fields.
5298
52992015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
5300
5301	* target.c (GOMP_offload_register): Use int for device type arg.
5302	(GOMP_offload_unregister): Likewise.
5303
5304	* target.c (struct_offload_image_descr): Constify host_table.
5305	(gomp_offload_image_to_device): Likewise.
5306	(GOMP_offload_register, GOMP_offload_unregister): Likewise.
5307
5308	* libgomp.h (gomp_device_descr): Constify target data arguments.
5309	* target.c (struct offload_image_descr): Constify target_data.
5310	(gomp_offload_image_to_device): Likewise.
5311	(GOMP_offload_register): Likewise.
5312	(GOMP_offload_unrefister): Likewise.
5313	* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5314	GOMP_OFFLOAD_unload_image): Constify target data.
5315	* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5316	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5317
53182015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
5319
5320	* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5321	Workaround driver library const error.
5322	(struct nvptx_tdata, nvptx_tdata_t): New.
5323	(GOMP_OFFLOAD_load_image): Use struct for target_data's real
5324	type.
5325
53262015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5327
5328	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5329	of EPS parameter from integer to real.
5330	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5331	type of EPS parameter from integer to real.
5332
53332015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5334
5335	* team.c (get_last_team): New.
5336	(gomp_new_team): Recycle last non-nested team if possible.
5337	(gomp_team_end): Move team work share list free lock destruction
5338	to ...
5339	(free_team): ... here.
5340
53412015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5342
5343	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5344	and ref from int to double.  Replaced their comparison with
5345	an inequality of their difference and EPS.
5346	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5347	comparison of pri and a reference number with an inequality of their
5348	difference and EPS.
5349	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5350	the comparison of sum and sum_ref with an inequality of their
5351	difference and EPS.
5352	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5353	the comparison of pri and a reference number with an inequality of
5354	their difference and EPS.
5355
53562015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
5357
5358	* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5359	* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5360	* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5361	* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5362	* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5363	* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5364	* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5365	* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5366	* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5367	* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5368	* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5369	* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5370	(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5371	variables.
5372	(vec_mult): Likewise.  Add #pragma omp taskwait.
5373	(main): Adjust caller.
5374	* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5375	* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5376	* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5377	* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5378	* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5379	* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5380	* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5381	* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5382	* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5383	* testsuite/libgomp.c/examples-4/device-1.c: ...this.
5384	* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5385	* testsuite/libgomp.c/examples-4/device-2.c: ...this.
5386	* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5387	* testsuite/libgomp.c/examples-4/device-3.c: ...this.
5388	* testsuite/libgomp.c/examples-4/simd-1.c: New file.
5389	* testsuite/libgomp.c/examples-4/simd-2.c: New file.
5390	* testsuite/libgomp.c/examples-4/simd-3.c: New file.
5391	* testsuite/libgomp.c/examples-4/simd-4.c: New file.
5392	* testsuite/libgomp.c/examples-4/simd-5.c: New file.
5393	* testsuite/libgomp.c/examples-4/simd-6.c: New file.
5394	* testsuite/libgomp.c/examples-4/simd-7.c: New file.
5395	* testsuite/libgomp.c/examples-4/simd-8.c: New file.
5396	* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5397	* testsuite/libgomp.c/examples-4/target-1.c: ...this.
5398	* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5399	* testsuite/libgomp.c/examples-4/target-2.c: ...this.
5400	* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5401	* testsuite/libgomp.c/examples-4/target-3.c: ...this.
5402	* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5403	* testsuite/libgomp.c/examples-4/target-4.c: ...this.
5404	* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5405	* testsuite/libgomp.c/examples-4/target-5.c: ...this.
5406	* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5407	* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5408	* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5409	* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5410	* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5411	* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5412	* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5413	* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5414	* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5415	* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5416	* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5417	* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5418	* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5419	* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5420	* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5421	* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5422	* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5423	* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5424	* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5425	* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5426	* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5427	* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5428	* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5429	* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5430	* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5431	* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5432	* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5433	* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5434	* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5435	* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5436	* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5437	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5438	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5439	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5440	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5441	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5442	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5443	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5444	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5445	(vec_mult): Add !$omp taskwait.
5446	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5447	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5448	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5449	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5450	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5451	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5452	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5453	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5454	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5455	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5456	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5457	* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5458	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5459	* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5460	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5461	* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5462	* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5463	* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5464	* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5465	* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5466	* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5467	* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5468	* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5469	* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5470	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5471	* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5472	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5473	* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5474	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5475	* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5476	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5477	* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5478	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5479	* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5480	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5481	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5482	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5483	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5484	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5485	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5486	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5487	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5488	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5489	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5490	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5491	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5492	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5493	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5494	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5495	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5496	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5497	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5498	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5499	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5500	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5501	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5502	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5503	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5504	* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5505	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5506	* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5507	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5508	* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5509	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5510	* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5511	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5512	* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5513
55142015-07-10  Tom de Vries  <tom@codesourcery.com>
5515
5516	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5517	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5518
55192015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
5520
5521	PR libgomp/65099
5522	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5523	in a 64-bit configuration.
5524	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5525	offloading testing if no such device is available.
5526	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5527	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5528
55292015-07-08  Tom de Vries  <tom@codesourcery.com>
5530
5531	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5532	second call to f.
5533	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5534
55352015-07-07  Tom de Vries  <tom@codesourcery.com>
5536
5537	PR tree-optimization/66642
5538	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5539	iteration count case.
5540	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5541	function, factor out of ...
5542	(main): ... here.  Test low iteration count case.
5543
55442015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5545
5546	* libgomp.h (gomp_thread_pool): Comment last_team field.
5547
55482015-07-02  Uros Bizjak  <ubizjak@gmail.com>
5549
5550	* testsuite/libgomp.c++/pr66702-1.C: Require
5551	vect_simd_clones effective target.
5552	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
5553
55542015-06-30  Tom de Vries  <tom@codesourcery.com>
5555
5556	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5557	already set.  Use DEFAULT_CFLAGS in dg-runtest.
5558	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5559	"-O2".
5560
55612015-06-30  Tom de Vries  <tom@codesourcery.com>
5562
5563	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5564	already set.  Use DEFAULT_CFLAGS in dg-runtest.
5565	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5566	* testsuite/libgomp.c++/pr64824.C: Same.
5567	* testsuite/libgomp.c++/pr64868.C: Same.
5568	* testsuite/libgomp.c++/pr66199-1.C: Same.
5569	* testsuite/libgomp.c++/pr66199-2.C: Same.
5570	* testsuite/libgomp.c++/target-2.C: Same.
5571	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5572	-std=<standard> option.
5573	* testsuite/libgomp.c++/udr-11.C: Same.
5574	* testsuite/libgomp.c++/udr-12.C: Same.
5575	* testsuite/libgomp.c++/udr-13.C: Same.
5576	* testsuite/libgomp.c++/udr-14.C: Same.
5577	* testsuite/libgomp.c++/udr-15.C: Same.
5578	* testsuite/libgomp.c++/udr-16.C: Same.
5579	* testsuite/libgomp.c++/udr-17.C: Same.
5580	* testsuite/libgomp.c++/udr-18.C: Same.
5581	* testsuite/libgomp.c++/udr-19.C: Same.
5582	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5583	* testsuite/libgomp.c++/simd-1.C: Same.
5584	* testsuite/libgomp.c++/simd-2.C: Same.
5585	* testsuite/libgomp.c++/simd-3.C: Same.
5586	* testsuite/libgomp.c++/simd-4.C: Same.
5587	* testsuite/libgomp.c++/simd-5.C: Same.
5588	* testsuite/libgomp.c++/simd-6.C: Same.
5589	* testsuite/libgomp.c++/simd-7.C: Same.
5590	* testsuite/libgomp.c++/simd-8.C: Same.
5591	* testsuite/libgomp.c++/simd-9.C: Same.
5592	* testsuite/libgomp.c++/simd10.C: Same.
5593	* testsuite/libgomp.c++/simd11.C: Same.
5594	* testsuite/libgomp.c++/simd12.C: Same.
5595	* testsuite/libgomp.c++/simd13.C: Same.
5596
55972015-06-30  Jakub Jelinek  <jakub@redhat.com>
5598
5599	PR middle-end/66702
5600	* testsuite/libgomp.c++/pr66702-1.C: New test.
5601	* testsuite/libgomp.c++/pr66702-2.C: New test.
5602
56032015-06-30  Tom de Vries  <tom@codesourcery.com>
5604
5605	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5606	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5607	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5608	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5609
56102015-06-30  Tom de Vries  <tom@codesourcery.com>
5611
5612	PR tree-optimization/66652
5613	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5614	using restrict pointers.
5615	(main): Add arguments to calls to f.
5616	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5617
56182015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
5619
5620	* configure.ac: Fix check for header <sys/sysctl.h>.
5621	* configure: Regenerate.
5622	* config.h.in: Likewise.
5623
56242015-06-23  Tom de Vries  <tom@codesourcery.com>
5625
5626	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5627	abort.
5628	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5629
56302015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
5631
5632	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5633	acc_device_nvidia.
5634
5635	PR libgomp/66518
5636	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5637	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5638
56392015-06-15  Tom de Vries  <tom@codesourcery.com>
5640
5641	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
5642	dg-additional-options for any remaining options.
5643	* testsuite/libgomp.c/atomic-2.c: Same.
5644	* testsuite/libgomp.c/atomic-4.c: Same.
5645	* testsuite/libgomp.c/atomic-5.c: Same.
5646	* testsuite/libgomp.c/atomic-6.c: Same.
5647	* testsuite/libgomp.c/autopar-1.c: Same.
5648	* testsuite/libgomp.c/copyin-1.c: Same.
5649	* testsuite/libgomp.c/copyin-2.c: Same.
5650	* testsuite/libgomp.c/copyin-3.c: Same.
5651	* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5652	* testsuite/libgomp.c/nestedfn-5.c: Same.
5653	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5654	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5655	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5656	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5657	* testsuite/libgomp.c/pr32362-1.c: Same.
5658	* testsuite/libgomp.c/pr32362-2.c: Same.
5659	* testsuite/libgomp.c/pr32362-3.c: Same.
5660	* testsuite/libgomp.c/pr39591-1.c: Same.
5661	* testsuite/libgomp.c/pr39591-2.c: Same.
5662	* testsuite/libgomp.c/pr39591-3.c: Same.
5663	* testsuite/libgomp.c/pr58392.c: Same.
5664	* testsuite/libgomp.c/pr58756.c: Same.
5665	* testsuite/libgomp.c/simd-1.c: Same.
5666	* testsuite/libgomp.c/simd-10.c: Same.
5667	* testsuite/libgomp.c/simd-11.c: Same.
5668	* testsuite/libgomp.c/simd-12.c: Same.
5669	* testsuite/libgomp.c/simd-13.c: Same.
5670	* testsuite/libgomp.c/simd-14.c: Same.
5671	* testsuite/libgomp.c/simd-15.c: Same.
5672	* testsuite/libgomp.c/simd-2.c: Same.
5673	* testsuite/libgomp.c/simd-3.c: Same.
5674	* testsuite/libgomp.c/simd-4.c: Same.
5675	* testsuite/libgomp.c/simd-5.c: Same.
5676	* testsuite/libgomp.c/simd-6.c: Same.
5677	* testsuite/libgomp.c/simd-7.c: Same.
5678	* testsuite/libgomp.c/simd-8.c: Same.
5679	* testsuite/libgomp.c/simd-9.c: Same.
5680
56812015-06-15  Tom de Vries  <tom@codesourcery.com>
5682
5683	* testsuite/libgomp.c/pr35625.c: Fix typo.
5684
56852015-06-15  Tom de Vries  <tom@codesourcery.com>
5686
5687	* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5688	in dg-options.
5689	* testsuite/libgomp.c/atomic-3.c: Same.
5690	* testsuite/libgomp.c/debug-1.c: Same.
5691	* testsuite/libgomp.c/nqueens-1.c: Same.
5692	* testsuite/libgomp.c/pr26171.c: Same.
5693	* testsuite/libgomp.c/pr48591.c: Same.
5694	* testsuite/libgomp.c/pr64824.c: Same.
5695	* testsuite/libgomp.c/pr64868.c: Same.
5696	* testsuite/libgomp.c/pr66133.c: Same.
5697	* testsuite/libgomp.c/pr66199-1.c: Same.
5698	* testsuite/libgomp.c/pr66199-2.c: Same.
5699	* testsuite/libgomp.c/target-8.c: Same.
5700
57012015-06-15  Tom de Vries  <tom@codesourcery.com>
5702
5703	* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
5704	-std={gnu99,c99}.
5705	* testsuite/libgomp.c/for-1.c: Same.
5706	* testsuite/libgomp.c/for-2.c: Same.
5707	* testsuite/libgomp.c/for-3.c: Same.
5708	* testsuite/libgomp.c/pr35625.c: Same.
5709	* testsuite/libgomp.c/pr39154.c: Same.
5710	* testsuite/libgomp.c/simd-16.c: Same.
5711	* testsuite/libgomp.c/simd-17.c: Same.
5712
57132015-06-13  Tom de Vries  <tom@codesourcery.com>
5714
5715	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
5716
57172015-06-13  Tom de Vries  <tom@codesourcery.com>
5718
5719	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
5720	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5721	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
5722	(N): Define.
5723	(main): Use N instead of hardcoded constants.
5724
57252015-06-05  Tom de Vries  <tom@codesourcery.com>
5726
5727	merge from gomp4 branch:
5728	2015-05-28  Tom de Vries  <tom@codesourcery.com>
5729
5730	PR tree-optimization/65443
5731	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
5732	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
5733	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
5734
57352015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5736
5737	* testsuite/libgomp.graphite/bounds.c: Adjust for
5738	cleanup-tree-dump removal.
5739	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
5740	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5741	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5742	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5743	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5744	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5745	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5746	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5747	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5748	* testsuite/libgomp.graphite/pr41118.c: Likewise.
5749
57502015-05-28  Uros Bizjak  <ubizjak@gmail.com>
5751
5752	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
5753	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
5754	(futex_wake) [!__x86_64__]: Ditto.
5755
57562015-05-28  Julian Brown  <julian@codesourcery.com>
5757
5758	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
5759	function comment. Only call gomp_fatal if new argument is true.
5760	(acc_dev_num_out_of_range): New function.
5761	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
5762	acc_dev_num_out_of_range as appropriate.
5763	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
5764	(acc_get_device_num, acc_set_device_num): Update calls to
5765	resolve_device.
5766	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
5767	output.
5768
57692015-05-28  Julian Brown  <julian@codesourcery.com>
5770
5771	PR libgomp/65742
5772	* oacc-init.c (plugin/plugin-host.h): Include.
5773	(acc_on_device): Check whether we're in an offloaded region for
5774	host_nonshm
5775	plugin. Don't use __builtin_acc_on_device.
5776	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
5777	nonshm_exec flag in thread-local data.
5778	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
5779	data for host_nonshm plugin.
5780	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
5781	for host_nonshm plugin.
5782	* plugin/plugin-host.h: New.
5783
57842015-05-27  Uros Bizjak  <ubizjak@gmail.com>
5785
5786	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
5787
57882015-05-27  Uros Bizjak  <ubizjak@gmail.com>
5789
5790	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
5791	Declare as int.
5792	(FUTEX_PRIVATE_FLAG): Remove L suffix.
5793	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
5794	Declare as int.
5795
57962015-05-27  Uros Bizjak  <ubizjak@gmail.com>
5797
5798	* config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
5799
58002015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
5801
5802	* target.c (gomp_map_pointer): New function abstracting out
5803	GOMP_MAP_POINTER handling.
5804	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
5805	gomp_map_pointer().
5806
58072015-05-19  Jakub Jelinek  <jakub@redhat.com>
5808
5809	PR middle-end/66199
5810	* testsuite/libgomp.c/pr66199-1.c: New test.
5811	* testsuite/libgomp.c/pr66199-2.c: New test.
5812	* testsuite/libgomp.c++/pr66199-1.C: New test.
5813	* testsuite/libgomp.c++/pr66199-2.C: New test.
5814	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
5815	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
5816
58172015-05-19  Julian Brown  <julian@codesourcery.com>
5818
5819	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
5820	on cuInit failure.
5821
58222015-05-13  Jakub Jelinek  <jakub@redhat.com>
5823
5824	PR middle-end/66133
5825	* testsuite/libgomp.c/pr66133.c: New test.
5826
58272015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
5828
5829	* Makefile.in: Regenerated with automake-1.11.6.
5830	* aclocal.m4: Likewise.
5831	* config.h.in: Likewise.
5832	* configure: Likewise.
5833	* testsuite/Makefile.in: Likewise.
5834
58352015-05-08  Jason Merrill  <jason@redhat.com>
5836
5837	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
5838	_Complex.
5839
5840	* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
5841
58422015-05-06  Julian Brown  <julian@codesourcery.com>
5843
5844	* oacc-init.c (acc_device_lock): Add explanatory comment.
5845	(resolve_device): Add comment about locking requirement.
5846	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
5847	gomp_init_device and gomp_fini_device calls.
5848	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
5849	(acc_get_device_num, acc_set_device_num): Add locking around
5850	resolve_device and gomp_init_device calls.
5851
58522015-05-06  Julian Brown  <julian@codesourcery.com>
5853
5854	* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
5855	goacc_thread_lock on error paths.
5856	* oacc-mem.c (lookup_host): Remove locking from function. Note
5857	locking requirement for caller in function comment.
5858	(lookup_dev): Likewise.
5859	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
5860	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
5861	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5862	Add locking.
5863
58642015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
5865
5866	PR testsuite/65205
5867	PR libgomp/65993
5868	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
5869	don't expect "0x" prefix for "%p" format specifier, don't expect
5870	"(nil)" for NULL pointer.
5871	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5872	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5873	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5874	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5875	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5876	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5877	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5878	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5879	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5880	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5881	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5882	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5883	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5884	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5885	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5886	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5887	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5888	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5889	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5890	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5891	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5892	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5893	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5894	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5895	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5896	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5897	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5898	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5899	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
5900	accurately specify what we're looking for.
5901	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5902	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5903	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5904	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5905	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5906
59072015-04-30  James Norris  <jnorris@codesourcery.com>
5908
5909	PR testsuite/65205
5910	* testsuite/lib/libgomp.exp
5911	(check_effective_target_openacc_host_selected)
5912	(check_effective_target_openacc_host_nonshm_selected): New
5913	procedures.
5914	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
5915	dg-shouldfail.
5916	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5917	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5918	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5919	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5920	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5921	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5922	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5923	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5924	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5925	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5926	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5927	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5928	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5929	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5930	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5931	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5932	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5933	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5934	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5935	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5936	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5937	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5938	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5939	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5940	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5941	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5942	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5943	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5944	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5945	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5946	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5947	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5948	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5949	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5950	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5951	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5952	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5953	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5954	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5955	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5956	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5957	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5958	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5959
59602015-04-08  Julian Brown  <julian@codesourcery.com>
5961
5962	* libgomp.h (target_mem_desc: Remove mem_map field.
5963	(acc_dispatch_t): Remove open_device_func, close_device_func,
5964	get_device_num_func, set_device_num_func, target_data members.
5965	Change create_thread_data_func argument to device number instead of
5966	generic pointer.
5967	* oacc-async.c (assert.h): Include.
5968	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
5969	(acc_wait_all, acc_wait_all_async): Use current host thread's
5970	active device, not base_dev.
5971	* oacc-cuda.c (acc_get_current_cuda_device)
5972	(acc_get_current_cuda_context, acc_get_cuda_stream)
5973	(acc_set_cuda_stream): Likewise.
5974	* oacc-host.c (host_dispatch): Don't set open_device_func,
5975	close_device_func, get_device_num_func or set_device_num_func.
5976	* oacc-init.c (base_dev, init_key): Remove.
5977	(cached_base_dev): New.
5978	(name_of_acc_device_t): New.
5979	(acc_init_1): Initialise default-numbered device, not zeroth.
5980	(acc_shutdown_1): Close all devices of a given type.
5981	(goacc_destroy_thread): Don't use base_dev.
5982	(lazy_open, lazy_init, lazy_init_and_open): Remove.
5983	(goacc_attach_host_thread_to_device): New.
5984	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
5985	(acc_get_num_devices): Don't use base_dev.
5986	(acc_set_device_type): Reimplement.
5987	(acc_get_device_type): Don't use base_dev.
5988	(acc_get_device_num): Tweak logic.
5989	(acc_set_device_num): Likewise.
5990	(acc_on_device): Use acc_get_device_type.
5991	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
5992	(goacc_lazy_initialize): Reimplement with acc_init and
5993	goacc_attach_host_thread_to_device.
5994	* oacc-int.h (goacc_thread): Add base_dev field.
5995	(base_dev): Remove extern declaration.
5996	(goacc_attach_host_thread_to_device): Add prototype.
5997	* oacc-mem.c (acc_malloc): Use current thread's device instead of
5998	base_dev.
5999	(acc_free): Likewise.
6000	(acc_memcpy_to_device): Likewise.
6001	(acc_memcpy_from_device): Likewise.
6002	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
6003	goacc_lazy_initialize (throughout).
6004	(GOACC_parallel): Use tgt_offset to locate target functions.
6005	* target.c (gomp_map_vars): Don't set tgt->mem_map.
6006	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
6007	(gomp_load_plugin_for_device): Remove open_device, close_device,
6008	get_device_num, set_device_num openacc hook initialisation. Don't set
6009	openacc.target_data.
6010	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
6011	(GOMP_OFFLOAD_openacc_close_device)
6012	(GOMP_OFFLOAD_openacc_get_device_num)
6013	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
6014	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
6015	to int.
6016	* plugin/plugin-nvptx.c (ptx_inited): Remove.
6017	(instantiated_devices, ptx_dev_lock): New.
6018	(struct ptx_image_data): New.
6019	(ptx_devices, ptx_images, ptx_image_lock): New.
6020	(fini_streams_for_device): Reorder cuStreamDestroy call.
6021	(nvptx_get_num_devices): Remove forward declaration.
6022	(nvptx_init): Change return type to bool.
6023	(nvptx_fini): Remove.
6024	(nvptx_attach_host_thread_to_device): New.
6025	(nvptx_open_device): Return struct ptx_device* instead of void*.
6026	(nvptx_close_device): Change argument type to struct ptx_device*,
6027	return type to void.
6028	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
6029	(kernel_target_data, kernel_host_table): Remove static globals.
6030	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6031	(GOMP_OFFLOAD_init_device): Reimplement.
6032	(GOMP_OFFLOAD_fini_device): Likewise.
6033	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6034	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6035	(GOMP_OFFLOAD_host2dev): Use ORD argument.
6036	(GOMP_OFFLOAD_openacc_open_device)
6037	(GOMP_OFFLOAD_openacc_close_device)
6038	(GOMP_OFFLOAD_openacc_set_device_num)
6039	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
6040	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6041	(device number).
6042
6043	testsuite/
6044	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6045
60462015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
6047
6048	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6049	* libgomp.h (struct gomp_memory_mapping): Remove.
6050	(struct target_mem_desc): Change type of mem_map from
6051	gomp_memory_mapping * to splay_tree_s *.
6052	(struct gomp_device_descr): Remove register_image_func, get_table_func.
6053	Add load_image_func, unload_image_func.
6054	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6055	Remove offload_regions_registered.
6056	(gomp_init_tables): Remove.
6057	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6058	to splay_tree_s *.
6059	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6060	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
6061	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6062	offload_regions_registered.
6063	Initialize load_image_func, unload_image_func, mem_map.root.
6064	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6065	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
6066	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6067	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6068	gomp_memory_mapping *.  Use dev's lock and splay_tree.
6069	(lookup_dev): Use dev's lock.
6070	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6071	(acc_is_present): Likewise.
6072	(acc_map_data): Likewise.
6073	(acc_unmap_data): Likewise.  Use dev's lock.
6074	(present_create_copy): Likewise.
6075	(delete_copyout): Pass dev to lookup_host instead of mem_map.
6076	(update_dev_host): Likewise.
6077	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
6078	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6079	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6080	(GOMP_OFFLOAD_get_table): Remove
6081	(GOMP_OFFLOAD_load_image): New function.
6082	(GOMP_OFFLOAD_unload_image): New function.
6083	* target.c (register_lock): New mutex for offload image registration.
6084	(num_devices): Do not guard with PLUGIN_SUPPORT.
6085	(gomp_realloc_unlock): New static function.
6086	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
6087	before gomp_fatal.
6088	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6089	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
6090	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
6091	mem_map's.
6092	(gomp_unmap_vars): Likewise.
6093	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
6094	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
6095	(gomp_offload_image_to_device): New static function.
6096	(GOMP_offload_register): Add mutex lock.
6097	Call gomp_offload_image_to_device for all initialized devices.
6098	Replace gomp_realloc with gomp_realloc_unlock.
6099	(GOMP_offload_unregister): New function.
6100	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
6101	get_table_func from the plugin with calls to init_device_func and
6102	gomp_offload_image_to_device.
6103	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6104	to splay_tree_s *.
6105	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
6106	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
6107	(GOMP_target_data): Do not call gomp_init_tables.
6108	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
6109	(gomp_load_plugin_for_device): Replace register_image and get_table
6110	with load_image and unload_image in DLSYM ().
6111	(gomp_register_images_for_device): Remove function.
6112	(gomp_target_init): Do not initialize current_device.mem_map.*,
6113	current_device.offload_regions_registered.
6114	Remove call to gomp_register_images_for_device.
6115	Do not free offload_images and num_offload_images.
6116
61172015-03-30  Jakub Jelinek  <jakub@redhat.com>
6118
6119	PR fortran/65597
6120	* testsuite/libgomp.fortran/pr65597.f90: New test.
6121
61222015-03-27  Tom de Vries  <tom@codesourcery.com>
6123
6124	PR testsuite/65594
6125	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6126	(init, check): New function.
6127	(foo): Change return type to void.
6128	(main): Call init and check.
6129
61302015-03-27  Tom de Vries  <tom@codesourcery.com>
6131
6132	PR testsuite/65594
6133	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6134	(foo): Use M for non-inner loops to scale down test-case.
6135
61362015-03-25  Kai Tietz  <ktietz@redhat.com>
6137
6138	PR libgomp/64972
6139	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6140	(GOACC_data_start): Likewise.
6141	* target.c (gomp_map_vars): Likewise.
6142
61432015-03-21  John David Anglin  <danglin@gcc.gnu.org>
6144
6145	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6146	hppa*-*-hpux*.
6147
61482015-03-19  Jakub Jelinek  <jakub@redhat.com>
6149
6150	* testsuite/libgomp.c/target-10.c: New test.
6151	* testsuite/libgomp.c++/target-4.C: New test.
6152
61532015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
6154
6155	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
6156	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
6157
61582015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6159
6160	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
6161	* configure.ac (*-*-rtems*): Assume Pthread is supported.
6162	(pthread.h): Check for this header file.
6163	* configure: Regenerate.
6164
61652015-02-25  Tom de Vries  <tom@codesourcery.com>
6166
6167	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6168	(check_reduction_op, check_reduction_macro, max, min):
6169	Declare.
6170	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6171	function.
6172	(main): Use new functions.
6173
61742015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
6175
6176	* target.c (gomp_load_plugin_for_device): Use const char * instead of
6177	char * for variables holding dlerror return values.
6178	(DLSYM_OPT): Ditto.
6179
61802015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
6181
6182	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6183
61842015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
6185	    Cesar Philippidis  <cesar@codesourcery.com>
6186
6187	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6188	GOACC_ctaid, and GOACC_nctaid routines.
6189
61902015-02-11  Jakub Jelinek  <jakub@redhat.com>
6191
6192	PR c/64824
6193	* testsuite/libgomp.c/atomic-18.c: New test.
6194	* testsuite/libgomp.c++/atomic-16.C: New test.
6195
61962015-02-04  Jakub Jelinek  <jakub@redhat.com>
6197
6198	PR c/64824
6199	PR c/64868
6200	* testsuite/libgomp.c/pr64824.c: New test.
6201	* testsuite/libgomp.c/pr64868.c: New test.
6202	* testsuite/libgomp.c++/pr64824.C: New test.
6203	* testsuite/libgomp.c++/pr64868.C: New test.
6204
62052015-02-01  David Edelsohn  <dje.gcc@gmail.com>
6206
6207	PR libgomp/64635
6208	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6209	Link with -lpthread.
6210	* config/aix/plugin-suffix.h: Delete.
6211
62122015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
6213
6214	PR libgomp/64635
6215	* configure.tgt (*-*-aix*): Use config_path "aix posix".
6216	(*-*-darwin*): Use config_path "bsd darwin posix".
6217	(*-*-hpux*): Use config_path "hpux posix".
6218	* target.c: Add include of plugin-suffix.h and use
6219	SONAME_SUFFIX macro.
6220	* config/aix/plugin-suffix.h: New file.
6221	* config/darwin/plugin-suffix.h: New file.
6222	* config/hpux/plugin-suffix.h: New file.
6223	* config/posix/plugin-suffix.h: New file.
6224
62252015-01-23  Jakub Jelinek  <jakub@redhat.com>
6226
6227	PR middle-end/64734
6228	* libgomp.c/pr64734.c: New test.
6229
62302015-01-23  Tom de Vries  <tom@codesourcery.com>
6231
6232	PR libgomp/64672
6233	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6234
62352015-01-23  Tom de Vries  <tom@codesourcery.com>
6236
6237	PR libgomp/64707
6238	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6239	dg-options.
6240
62412015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
6242
6243	PR libgomp/64625
6244	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6245	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
6246	formal parameter.  Update all users.
6247	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6248	Document unused formal parameter.
6249
62502015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
6251
6252	* oacc-parallel.c: Don't include <alloca.h>.
6253	(GOACC_parallel): Use gomp_alloca instead of alloca.
6254
62552015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
6256
6257	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
6258
62592015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
6260	    James Norris  <jnorris@codesourcery.com>
6261	    Tom de Vries  <tom@codesourcery.com>
6262	    Julian Brown  <julian@codesourcery.com>
6263	    Cesar Philippidis  <cesar@codesourcery.com>
6264	    Nathan Sidwell  <nathan@codesourcery.com>
6265	    Tobias Burnus  <burnus@net-b.de>
6266
6267	* Makefile.am (search_path): Add $(top_srcdir)/../include.
6268	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6269	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6270	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6271	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6272	Include $(top_srcdir)/plugin/Makefrag.am.
6273	(nodist_libsubinclude_HEADERS): Add openacc.h.
6274	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6275	openacc.f90, openacc.mod, openacc_kinds.mod.
6276	(omp_lib.mod): Generalize into...
6277	(%.mod): ... this new rule.
6278	(openacc_kinds.mod, openacc.mod): New rules.
6279	* plugin/configfrag.ac: New file.
6280	* configure.ac: Move plugin/offloading support into it.  Include
6281	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
6282	* plugin/Makefrag.am: New file.
6283	* testsuite/Makefile.am (OFFLOAD_TARGETS)
6284	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6285	export.
6286	(libgomp-test-support.exp): New rule.
6287	(all-local): Depend on it.
6288	* Makefile.in: Regenerate.
6289	* testsuite/Makefile.in: Regenerate.
6290	* config.h.in: Likewise.
6291	* configure: Likewise.
6292	* configure.tgt: Harden shell syntax.
6293	* env.c: Include "oacc-int.h".
6294	(parse_acc_device_type): New function.
6295	(gomp_debug_var, goacc_device_type, goacc_device_num): New
6296	variables.
6297	(initialize_env): Initialize those.  Call
6298	goacc_runtime_initialize.
6299	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6300	(gomp_fatal): Call gomp_vfatal.
6301	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6302	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6303	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6304	(splay_tree_node, splay_tree, splay_tree_key)
6305	(struct target_mem_desc, struct splay_tree_key_s)
6306	(struct gomp_memory_mapping, struct acc_dispatch_t)
6307	(struct gomp_device_descr, gomp_acc_insert_pointer)
6308	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6309	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6310	(gomp_free_memmap, gomp_fini_device): New declarations.
6311	(gomp_vdebug, gomp_debug): New macros.
6312	Include "splay-tree.h".
6313	* libgomp.map (OACC_2.0): New symbol version.  Use for
6314	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6315	acc_set_device_type_h_, acc_get_device_type,
6316	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6317	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6318	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6319	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6320	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6321	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6322	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6323	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6324	acc_copyin_array_h_, acc_present_or_copyin,
6325	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6326	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6327	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6328	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6329	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6330	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6331	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6332	acc_update_device, acc_update_device_32_h_,
6333	acc_update_device_64_h_, acc_update_device_array_h_,
6334	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6335	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6336	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6337	acc_is_present_64_h_, acc_is_present_array_h_,
6338	acc_memcpy_to_device, acc_memcpy_from_device,
6339	acc_get_current_cuda_device, acc_get_current_cuda_context,
6340	acc_get_cuda_stream, acc_set_cuda_stream.
6341	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
6342	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6343	GOACC_update, GOACC_wait, GOACC_get_thread_num,
6344	GOACC_get_num_threads.
6345	(GOMP_PLUGIN_1.0): New symbol version.  Use for
6346	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6347	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6348	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6349	GOMP_PLUGIN_acc_thread.
6350	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6351	environment variable.
6352	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
6353	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6354	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6355	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
6356	(splay_tree_remove): New declarations.
6357	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6358	(splay_tree_remove, splay_tree_lookup): Move into...
6359	* splay-tree.c: ... this new file.
6360	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6361	(splay_tree_node, splay_tree, splay_tree_key)
6362	(struct target_mem_desc, struct splay_tree_key_s)
6363	(struct gomp_device_descr): Don't declare.
6364	(num_devices_openmp): New variable.
6365	(gomp_get_num_devices ): Use it.
6366	(gomp_init_targets_once): New function.
6367	(gomp_get_num_devices ): Use it.
6368	(get_kind, gomp_copy_from_async, gomp_free_memmap)
6369	(gomp_fini_device, gomp_register_image_for_device): New functions.
6370	(gomp_map_vars): Add devaddrs parameter.
6371	(gomp_update): Add mm parameter.
6372	(gomp_init_device): Move most of it into...
6373	(gomp_init_tables): ... this new function.
6374	(gomp_register_images_for_device): Remove function.
6375	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6376	Make them hidden instead of static.
6377	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6378	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6379	(GOMP_target_end_data, GOMP_target_update)
6380	(gomp_load_plugin_for_device, gomp_target_init): Update for
6381	OpenACC changes.
6382	* oacc-async.c: New file.
6383	* oacc-cuda.c: Likewise.
6384	* oacc-host.c: Likewise.
6385	* oacc-init.c: Likewise.
6386	* oacc-int.h: Likewise.
6387	* oacc-mem.c: Likewise.
6388	* oacc-parallel.c: Likewise.
6389	* oacc-plugin.c: Likewise.
6390	* oacc-plugin.h: Likewise.
6391	* oacc-ptx.h: Likewise.
6392	* openacc.f90: Likewise.
6393	* openacc.h: Likewise.
6394	* openacc_lib.h: Likewise.
6395	* plugin/plugin-host.c: Likewise.
6396	* plugin/plugin-nvptx.c: Likewise.
6397	* libgomp-plugin.c: Likewise.
6398	* libgomp-plugin.h: Likewise.
6399	* libgomp_target.h: Remove file after merging content into the
6400	former file.  Update all users.
6401	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6402	(offload_targets_s, offload_targets_s_openacc): New variables.
6403	(check_effective_target_openacc_nvidia_accel_present)
6404	(check_effective_target_openacc_nvidia_accel_selected): New
6405	procedures.
6406	(libgomp_init): Update for OpenACC changes.
6407	* testsuite/libgomp-test-support.exp.in: New file.
6408	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6409	* testsuite/libgomp.oacc-c/c.exp: Likewise.
6410	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6411	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6412	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6413	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6414	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6415	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6416	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6417	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6418	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6419	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6420	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6421	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6422	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6423	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6424	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6425	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6426	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6427	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6428	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6429	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6430	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6431	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6432	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6433	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6434	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6435	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6436	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6437	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6438	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6439	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6440	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6441	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6442	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6443	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6444	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6445	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6446	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6447	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6448	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6449	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6450	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6451	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6452	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6453	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6454	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6455	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6456	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6457	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6458	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6459	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6460	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6461	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6462	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6463	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6464	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6465	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6466	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6467	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6468	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6469	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6470	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6471	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6472	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6473	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6474	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6475	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6476	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6477	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6478	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6479	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6480	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6481	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6482	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6483	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6484	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6485	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6486	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6487	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6488	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6489	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6490	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6491	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6492	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6493	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6494	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6495	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6496	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6497	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6498	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6499	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6500	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6501	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6502	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6503	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6504	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6505	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6506	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6507	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6508	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6509	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6510	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6511	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6512	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6513	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6514	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6515	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6516	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6517	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6518	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6519	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6520	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6521	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6522	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6523	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6524	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6525	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6526	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6527	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6528	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6529	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6530	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6531	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6532	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6533	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6534	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6535	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6536	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6537	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6538	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6539	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6540	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6541	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6542	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6543	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6544	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6545	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6546	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6547	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6548	Likewise.
6549	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6550	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6551	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6552	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6553	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6554	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6555	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6556	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6557	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6558	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6559	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6560	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6561	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6562	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6563	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6564	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6565	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6566	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6567	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6568	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6569	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6570	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6571	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6572	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6573	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6574	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6575	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6576	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6577	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6578	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6579	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6580	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6581	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6582	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6583	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6584	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6585	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6586	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6587	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6588	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6589	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6590	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6591	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6592	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6593	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6594	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6595	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6596	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6597	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6598	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6599	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6600	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6601	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6602	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6603	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6604	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6605	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6606	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6607	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6608	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6609
66102015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
6611	    Julian Brown  <julian@codesourcery.com>
6612	    David Malcolm  <dmalcolm@redhat.com>
6613
6614	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6615	to "GNU Offloading and Multi Processing Runtime Library".  Change
6616	all users.
6617	* configure: Regenerate.
6618	* libgomp.texi: Update.
6619
66202015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
6621
6622	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6623	"$tgt_dir/lib32".
6624	* configure: Regenerate.
6625
6626	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6627	"intelmic" in $offload_targets.
6628
66292015-01-05  Jakub Jelinek  <jakub@redhat.com>
6630
6631	Update copyright years.
6632
6633	* libgomp.texi: Bump @copying's copyright year.
6634
66352014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6636
6637	* testsuite/lib/libgomp.exp: Load target-utils.exp.
6638	Move load of target-supportes.exp earlier.
6639
66402014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
6641
6642	* testsuite/libgomp.c/target-9.c: New test.
6643
66442014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
6645
6646	* config.h.in: Regenerate.
6647	* configure: Regenerate.
6648	* configure.ac: Add GCC_CHECK_EMUTLS.
6649	* libgomp.h: Add check for USE_EMUTLS: this case
6650	is equal to HAVE_TLS.
6651	* team.c: Likewise.
6652
66532014-12-03  Uros Bizjak  <ubizjak@gmail.com>
6654
6655	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6656
66572014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
6658	    Ilya Verbin  <ilya.verbin@intel.com>
6659
6660	* testsuite/libgomp.c/target-critical-1.c: New test.
6661
66622014-11-26  Jakub Jelinek  <jakub@redhat.com>
6663
6664	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
6665	to dg-options unless expensive testing is on.
6666	(TESTITERS): Define to N if not defined.
6667	(main): Use TESTITERS instead of N.
6668	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6669	dg-additional-options depending on whether expensive testing is on.
6670	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6671	Decrease N to 100000 and CHUNKSZ to 10000.
6672
66732014-11-24  Jakub Jelinek  <jakub@redhat.com>
6674
6675	PR fortran/63938
6676	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
6677	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
6678
66792014-11-21  Steve Ellcey  <sellcey@imgtec.com>
6680
6681	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
6682
66832014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
6684
6685	PR bootstrap/63784
6686	* configure: Regenerated.
6687
66882014-11-19  Uros Bizjak  <ubizjak@gmail.com>
6689
6690	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
6691	vect_simd_clones effective target.
6692	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6693
66942014-11-14  Jakub Jelinek  <jakub@redhat.com>
6695
6696	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
6697	of 32 as block_size.
6698	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
6699	instead of 32 as block_size.
6700
67012014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
6702	    Ilya Verbin  <ilya.verbin@intel.com>
6703
6704	* Makefile.in: Regenerate.
6705	* configure: Regenerate.
6706	* configure.ac: Set up offload_additional_options,
6707	offload_additional_lib_paths and offload_targets.
6708	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
6709	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
6710	* testsuite/Makefile.in: Regenerate.
6711	* testsuite/lib/libgomp.exp (libgomp_init): Append
6712	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
6713	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
6714	build directory to LD_LIBRARY_PATH for intelmic offload targets.
6715
67162014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
6717	    Ilya Verbin  <ilya.verbin@intel.com>
6718	    Kirill Yukhin  <kirill.yukhin@intel.com>
6719	    Ilya Tocar  <ilya.tocar@intel.com>
6720
6721	* testsuite/lib/libgomp.exp
6722	(check_effective_target_offload_device): New.
6723	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
6724	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
6725	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
6726	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
6727	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
6728	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
6729	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
6730	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
6731	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
6732	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
6733	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
6734	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
6735	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
6736	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
6737	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
6738	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
6739	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
6740	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
6741	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
6742	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
6743	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
6744	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
6745	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
6746	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
6747	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
6748	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
6749	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
6750	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
6751	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
6752	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
6753	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
6754	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
6755	* testsuite/libgomp.c/target-7.c: Fix test.
6756	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
6757	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
6758	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
6759	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
6760	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
6761	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
6762	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
6763	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
6764	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
6765	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
6766	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
6767	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
6768	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
6769	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
6770	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
6771	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
6772	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
6773	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
6774	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6775	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
6776	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
6777	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
6778	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
6779	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
6780	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
6781	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
6782	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
6783	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
6784	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
6785	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
6786	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
6787
67882014-11-13  Jakub Jelinek  <jakub@redhat.com>
6789	    Ilya Verbin  <ilya.verbin@intel.com>
6790	    Thomas Schwinge  <thomas@codesourcery.com>
6791	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
6792
6793	* libgomp.map (GOMP_4.0.1): New symbol version.
6794	Add GOMP_offload_register.
6795	* libgomp_target.h: New file.
6796	* splay-tree.h: New file.
6797	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
6798	(gomp_target_init): New forward declaration.
6799	(gomp_is_initialized): New static variable.
6800	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
6801	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
6802	New structures.
6803	(offload_images, num_offload_images, devices, num_devices): New static
6804	variables.
6805	(splay_compare): New static function.
6806	(struct gomp_device_descr): New structure.
6807	(gomp_get_num_devices): Call gomp_target_init.
6808	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
6809	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
6810	(GOMP_offload_register): New function.
6811	(GOMP_target): Arrange for host callback to be performed in a separate
6812	initial thread and contention group, inheriting ICVs from
6813	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
6814	Add device initialization and lookup for target function in splay tree.
6815	(GOMP_target_data): Add device initialization and call gomp_map_vars.
6816	(GOMP_target_end_data): Call gomp_unmap_vars.
6817	(GOMP_target_update): Add device initialization and call gomp_update.
6818	(gomp_load_plugin_for_device, gomp_register_images_for_device)
6819	(gomp_target_init): New static functions.
6820
68212014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
6822	    Thomas Schwinge  <thomas@codesourcery.com>
6823	    Ilya Verbin  <ilya.verbin@intel.com>
6824	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
6825
6826	* config.h.in: Regenerate.
6827	* configure: Regenerate.
6828	* configure.ac: Check for libdl, required for plugin support.
6829	(PLUGIN_SUPPORT): Define if plugins are supported.
6830	(enable_offload_targets): Support Intel MIC targets.
6831	(OFFLOAD_TARGETS): List of target names suitable for offloading.
6832
68332014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
6834
6835	PR target/63610
6836	* configure: Regenerate.
6837
68382014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6839
6840	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
6841
68422014-10-06  Marek Polacek  <polacek@redhat.com>
6843
6844	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
6845	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
6846	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
6847	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
6848
68492014-10-06  Marek Polacek  <polacek@redhat.com>
6850
6851	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
6852	* testsuite/libgomp.c/nqueens-1.c: Likewise.
6853	* testsuite/libgomp.c/pr26943-3.c: Likewise.
6854	* testsuite/libgomp.c/pr26943-4.c: Likewise.
6855	* testsuite/libgomp.c/pr36802-2.c: Likewise.
6856	* testsuite/libgomp.c/pr36802-3.c: Likewise.
6857	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
6858	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
6859	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
6860	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
6861	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
6862	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
6863	* testsuite/libgomp.c/omp-single-1.c: Likewise.
6864	* testsuite/libgomp.c/omp-single-2.c: Likewise.
6865	* testsuite/libgomp.c/omp_matvec.c: Likewise.
6866	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
6867	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
6868	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
6869	declarations.
6870
68712014-10-03  Jakub Jelinek  <jakub@redhat.com>
6872
6873	PR libgomp/61200
6874	* testsuite/libgomp.c/pr61200.c: New test.
6875
68762014-09-18  Jakub Jelinek  <jakub@redhat.com>
6877
6878	PR c++/63248
6879	* testsuite/libgomp.c++/pr63248.C: New test.
6880
68812014-08-04  Jakub Jelinek  <jakub@redhat.com>
6882
6883	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
6884	is not zero, but taskgroup->children is NULL and there are
6885	any task->children, schedule those instead of waiting.
6886	* testsuite/libgomp.c/depend-6.c: New test.
6887	* testsuite/libgomp.c/depend-7.c: New test.
6888	* testsuite/libgomp.c/depend-8.c: New test.
6889	* testsuite/libgomp.c/depend-9.c: New test.
6890	* testsuite/libgomp.c/depend-10.c: New test.
6891
68922014-08-01  Jakub Jelinek  <jakub@redhat.com>
6893
6894	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
6895	(struct gomp_taskwait): New type.
6896	(struct gomp_task): Add taskwait and parent_depends_on, remove
6897	in_taskwait and taskwait_sem fields.
6898	(gomp_finish_task): Don't destroy taskwait_sem.
6899	* task.c (gomp_init_task): Don't init in_taskwait, instead init
6900	taskwait and parent_depends_on.
6901	(GOMP_task): For if (0) tasks with depend clause that depend on
6902	earlier tasks don't defer them, instead call
6903	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
6904	Initialize redundant_out field, for redundant out entries just
6905	move them at the end of linked list instead of removing them
6906	completely, and set redundant_out flag instead of redundant.
6907	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
6908	that task.
6909	(gomp_task_run_post_handle_dependers): If parent is in
6910	gomp_task_maybe_wait_for_dependencies and newly runnable task
6911	is not parent_depends_on, queue it in parent->children linked
6912	list after all runnable tasks with parent_depends_on set.
6913	Adjust for addition of taskwait indirection.
6914	(gomp_task_run_post_remove_parent): If parent is in
6915	gomp_task_maybe_wait_for_dependencies and task to be removed
6916	is parent_depends_on, decrement n_depend and if needed awake
6917	parent.  Adjust for addition of taskwait indirection.
6918	(GOMP_taskwait): Adjust for addition of taskwait indirection.
6919	(gomp_task_maybe_wait_for_dependencies): New function.
6920	* testsuite/libgomp.c/depend-5.c: New test.
6921
69222014-07-13  Tobias Burnus  <burnus@net-b.de>
6923
6924	* testsuite/libgomp.fortran/pr34020.f90: Make compile
6925	with TS 18508/Fortran 2015.
6926
69272014-07-06  Marek Polacek  <polacek@redhat.com>
6928
6929	PR c/6940
6930	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
6931
69322014-07-03  Jakub Jelinek  <jakub@redhat.com>
6933
6934	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
6935	matches regex $lang_source_re, add $lang_include_flags to options.
6936	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
6937	* testsuite/libgomp.c++/c++.exp: Likewise.
6938	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
6939	and lang_include_flags instead of adding -fintrinsic-modules-path= to
6940	ALWAYS_CFLAGS.
6941	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
6942
69432014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
6944
6945	* testsuite/libgomp.fortran/fortran.exp: Explain
6946	gfortran-dg-runtest usage.
6947
69482014-06-25  Jakub Jelinek  <jakub@redhat.com>
6949
6950	* testsuite/libgomp.fortran/simd5.f90: New test.
6951	* testsuite/libgomp.fortran/simd6.f90: New test.
6952	* testsuite/libgomp.fortran/simd7.f90: New test.
6953
69542014-06-24  Jakub Jelinek  <jakub@redhat.com>
6955
6956	* testsuite/libgomp.c/for-2.c: Define SC to static for
6957	#pragma omp for simd testing.
6958	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
6959	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
6960	SC macro.
6961	* testsuite/libgomp.c/simd-14.c: New test.
6962	* testsuite/libgomp.c/simd-15.c: New test.
6963	* testsuite/libgomp.c/simd-16.c: New test.
6964	* testsuite/libgomp.c/simd-17.c: New test.
6965	* testsuite/libgomp.c++/for-10.C: Define SC to static for
6966	#pragma omp for simd testing.
6967	* testsuite/libgomp.c++/simd10.C: New test.
6968	* testsuite/libgomp.c++/simd11.C: New test.
6969	* testsuite/libgomp.c++/simd12.C: New test.
6970	* testsuite/libgomp.c++/simd13.C: New test.
6971
6972	* testsuite/libgomp.fortran/aligned1.f03: New test.
6973	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
6974	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
6975	tasks with !$omp parallel !$omp single.
6976	* testsuite/libgomp.fortran/target8.f90: New test.
6977	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
6978	not to use trim in the combiner, instead call elemental function.
6979	(fn): New elemental function.
6980	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
6981	Make elemental.
6982	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
6983	omp_in): Likewise.
6984	* testsuite/libgomp.fortran/udr12.f90: New test.
6985	* testsuite/libgomp.fortran/udr13.f90: New test.
6986	* testsuite/libgomp.fortran/udr14.f90: New test.
6987	* testsuite/libgomp.fortran/udr15.f90: New test.
6988
69892014-06-18  Jakub Jelinek  <jakub@redhat.com>
6990
6991	* omp_lib.f90.in (openmp_version): Set to 201307.
6992	* omp_lib.h.in (openmp_version): Likewise.
6993	* testsuite/libgomp.c/target-8.c: New test.
6994	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
6995	and inbranch clauses.
6996	* testsuite/libgomp.fortran/depend-3.f90: New test.
6997	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
6998	openmp_version.
6999	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7000	* testsuite/libgomp.fortran/target1.f90: New test.
7001	* testsuite/libgomp.fortran/target2.f90: New test.
7002	* testsuite/libgomp.fortran/target3.f90: New test.
7003	* testsuite/libgomp.fortran/target4.f90: New test.
7004	* testsuite/libgomp.fortran/target5.f90: New test.
7005	* testsuite/libgomp.fortran/target6.f90: New test.
7006	* testsuite/libgomp.fortran/target7.f90: New test.
7007
70082014-06-10  Jakub Jelinek  <jakub@redhat.com>
7009
7010	PR fortran/60928
7011	* testsuite/libgomp.fortran/allocatable9.f90: New test.
7012	* testsuite/libgomp.fortran/allocatable10.f90: New test.
7013	* testsuite/libgomp.fortran/allocatable11.f90: New test.
7014	* testsuite/libgomp.fortran/allocatable12.f90: New test.
7015	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
7016	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
7017	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
7018	* testsuite/libgomp.fortran/associate1.f90: New test.
7019	* testsuite/libgomp.fortran/associate2.f90: New test.
7020	* testsuite/libgomp.fortran/procptr1.f90: New test.
7021
70222014-06-06  Jakub Jelinek  <jakub@redhat.com>
7023
7024	* testsuite/libgomp.fortran/simd1.f90: New test.
7025	* testsuite/libgomp.fortran/udr1.f90: New test.
7026	* testsuite/libgomp.fortran/udr2.f90: New test.
7027	* testsuite/libgomp.fortran/udr3.f90: New test.
7028	* testsuite/libgomp.fortran/udr4.f90: New test.
7029	* testsuite/libgomp.fortran/udr5.f90: New test.
7030	* testsuite/libgomp.fortran/udr6.f90: New test.
7031	* testsuite/libgomp.fortran/udr7.f90: New test.
7032	* testsuite/libgomp.fortran/udr8.f90: New test.
7033	* testsuite/libgomp.fortran/udr9.f90: New test.
7034	* testsuite/libgomp.fortran/udr10.f90: New test.
7035	* testsuite/libgomp.fortran/udr11.f90: New test.
7036
70372014-05-27  Uros Bizjak  <ubizjak@gmail.com>
7038
7039	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
7040	vect_simd_clones effective target.
7041	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7042
70432014-05-21  Jakub Jelinek  <jakub@redhat.com>
7044
7045	PR middle-end/61252
7046	* testsuite/libgomp.c++/simd-9.C: New test.
7047
70482014-05-18  Uros Bizjak  <ubizjak@gmail.com>
7049
7050	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7051	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7052	texts according to their @menu entry positions.
7053
70542014-05-11  Jakub Jelinek  <jakub@redhat.com>
7055
7056	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7057	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7058	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7059	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7060	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7061	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7062	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7063	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7064	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7065	* testsuite/libgomp.fortran/depend-1.f90: New test.
7066	* testsuite/libgomp.fortran/depend-2.f90: New test.
7067	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7068	* testsuite/libgomp.fortran/simd1.f90: New test.
7069	* testsuite/libgomp.fortran/simd2.f90: New test.
7070	* testsuite/libgomp.fortran/simd3.f90: New test.
7071	* testsuite/libgomp.fortran/simd4.f90: New test.
7072	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
7073
70742014-05-02  Jakub Jelinek  <jakub@redhat.com>
7075
7076	* testsuite/libgomp.c/simd-10.c: New test.
7077	* testsuite/libgomp.c/simd-11.c: New test.
7078	* testsuite/libgomp.c/simd-12.c: New test.
7079	* testsuite/libgomp.c/simd-13.c: New test.
7080
70812014-04-24  Jakub Jelinek  <jakub@redhat.com>
7082
7083	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7084	atomic type clauses in any order and optional comma in between.
7085	* testsuite/libgomp.c++/atomic-15.C: Likewise.
7086	* testsuite/libgomp.c/atomic-17.c: Likewise.
7087
7088	* testsuite/libgomp.c/simd-7.c: New test.
7089	* testsuite/libgomp.c/simd-8.c: New test.
7090	* testsuite/libgomp.c/simd-9.c: New test.
7091	* testsuite/libgomp.c/loop-16.c: New test.
7092
70932014-04-02  Richard Henderson  <rth@redhat.com>
7094
7095	* config/linux/futex.h (futex_wait): Get error value from errno.
7096	(futex_wake): Likewise.
7097
70982014-03-25  Jakub Jelinek  <jakub@redhat.com>
7099
7100	PR c++/60331
7101	* testsuite/libgomp.c++/udr-11.C: New test.
7102	* testsuite/libgomp.c++/udr-12.C: New test.
7103	* testsuite/libgomp.c++/udr-13.C: New test.
7104	* testsuite/libgomp.c++/udr-14.C: New test.
7105	* testsuite/libgomp.c++/udr-15.C: New test.
7106	* testsuite/libgomp.c++/udr-16.C: New test.
7107	* testsuite/libgomp.c++/udr-17.C: New test.
7108	* testsuite/libgomp.c++/udr-18.C: New test.
7109	* testsuite/libgomp.c++/udr-19.C: New test.
7110
71112014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7112
7113	Update copyright years
7114
71152014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7116
7117	* hashtab.h: Use the standard form for the copyright notice.
7118
71192014-01-02  Tobias Burnus  <burnus@net-b.de>
7120
7121	* libgomp.texi: Bump @copying's copyright year.
7122
71232013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
7124
7125	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7126	alloca () with __builtin_alloca ().
7127	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7128	* testsuite/libgomp.c/lock-3.c: Likewise.
7129	* testsuite/libgomp.c/pr48591.c: Likewise.
7130
71312013-12-17  Jakub Jelinek  <jakub@redhat.com>
7132
7133	PR testsuite/59534
7134	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7135	comparisons.
7136
71372013-12-16  Jakub Jelinek  <jakub@redhat.com>
7138
7139	PR libgomp/58756
7140	* testsuite/libgomp.c/pr58756.c: New test.
7141
71422013-12-12  Jakub Jelinek  <jakub@redhat.com>
7143
7144	PR libgomp/59467
7145	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7146	!$omp parallel.
7147
71482013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
7149
7150	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7151	ALWAYS_CFLAGS.
7152	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7153	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7154	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7155	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7156	Likewise.
7157
7158	* libgomp_g.h: Include <stddef.h> for size_t.
7159
7160	* libgomp.spec.in: Update comment about libgomp's dependencies.
7161	* configure.ac: Likewise.
7162	* configure: Regenerate.
7163
71642013-10-16  Tobias Burnus  <burnus@net-b.de>
7165
7166	* libgomp.texi: (Runtime Library Routines): Update references for
7167	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7168	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7169	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7170	(Environment Variables): Update references for OpenMP 4.0. Add
7171	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7172	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7173	order.
7174
71752013-10-14  Jakub Jelinek  <jakub@redhat.com>
7176
7177	* env.c (parse_bind_var): Initialize value to avoid
7178	(false positive) warning.
7179
71802013-10-12  Jakub Jelinek  <jakub@redhat.com>
7181
7182	PR libgomp/58691
7183	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7184	to check variable.
7185	(gomp_init_num_threads): Move i variable declaration into
7186	#ifdef CPU_ALLOC_SIZE block.
7187	* config/linux/affinity.c (gomp_affinity_init_level): Test
7188	gomp_places_list_len == 0 rather than gomp_places_list == 0
7189	when checking for topology reading error.
7190	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7191	* env.c (parse_affinity): Add ignore argument, if true, don't populate
7192	gomp_places_list, only parse env var and always return false.
7193	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
7194	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7195	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7196	and either of these variables were parsed correctly into a places
7197	list.
7198
71992013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
7200	    Jakub Jelinek  <jakub@redhat.com>
7201
7202	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7203	of 5 loopfn matches.
7204	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7205	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7206	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7207	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7208	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7209	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7210	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7211	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7212
72132013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
7214
7215	* Makefile.am (omp_lib.mod): Streamline rule.
7216	* Makefile.in: Regenerate.
7217
7218	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
7219	exceptions.
7220
7221	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7222	* testsuite/libgomp.fortran/lib1.f90: Likewise.
7223	* testsuite/libgomp.fortran/lib2.f: Likewise.
7224	* testsuite/libgomp.fortran/lib3.f: Likewise.
7225
7226	* configure.ac: Typo fix.
7227	* configure: Regenerate.
7228
7229	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
7230	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7231
7232	* omp.h.in: Don't touch the user's namespace.
7233
72342013-10-11  Jakub Jelinek  <jakub@redhat.com>
7235	    Tobias Burnus  <burnus@net-b.de>
7236	    Richard Henderson  <rth@redhat.com>
7237
7238	* target.c: New file.
7239	* Makefile.am (libgomp_la_SOURCES): Add target.c.
7240	* Makefile.in: Regenerated.
7241	* libgomp_g.h (GOMP_task): Add depend argument.
7242	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
7243	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7244	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7245	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7246	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7247	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7248	GOMP_taskgroup_start, GOMP_taskgroup_end,
7249	GOMP_parallel_sections): New prototypes.
7250	* fortran.c (omp_is_initial_device): Add ialias_redirect.
7251	(omp_is_initial_device_): New function.
7252	(ULP, STR1, STR2, ialias_redirect): Removed.
7253	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7254	omp_set_default_device_8_, omp_get_default_device_,
7255	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7256	functions.
7257	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7258	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7259	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7260	@@GOMP_4.0.
7261	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7262	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7263	omp_set_default_device, omp_set_default_device_,
7264	omp_set_default_device_8_, omp_get_default_device,
7265	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7266	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7267	omp_get_team_num_): Export @@OMP_4.0.
7268	* team.c (struct gomp_thread_start_data): Add place field.
7269	(gomp_thread_start): Clear thr->thread_pool and
7270	thr->task before returning.  Use gomp_team_barrier_wait_final
7271	instead of gomp_team_barrier_wait.  Initialize thr->place.
7272	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7273	team_cancelled and task_queued_count fields.
7274	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7275	before calling pthread_exit.
7276	(gomp_free_thread): No longer static.  Use
7277	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7278	(gomp_team_start): Add flags argument.  Set
7279	thr->thread_pool->threads_busy to nthreads immediately after creating
7280	new pool.  Use gomp_managed_threads_lock instead of
7281	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
7282	(gomp_team_end): Use gomp_managed_threads_lock instead of
7283	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
7284	of gomp_team_barrier_wait.  If team->team_cancelled, call
7285	gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7286	rather than thr->ts.work_share.
7287	(initialize_team): Don't call gomp_sem_init here.
7288	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7289	caller.
7290	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7291	* env.c (gomp_global_icv): Add default_device_var, target_data and
7292	bind_var initializers.
7293	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7294	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7295	gomp_places_list_len): New variables.
7296	(parse_bind_var, parse_one_place, parse_places_var): New functions.
7297	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
7298	sized places.
7299	(gomp_cancel_var): New global variable.
7300	(parse_int): New function.
7301	(handle_omp_display_env): New function.
7302	(initialize_env): Use it.  Initialize default_device_var.
7303	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
7304	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
7305	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
7306	been successfully parsed (and call gomp_init_affinity in that case).
7307	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7308	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7309	omp_get_team_num, omp_is_initial_device): New functions.
7310	* libgomp.h: Include stdlib.h.
7311	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7312	Define.
7313	(struct target_mem_desc): Forward declare.
7314	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
7315	and thread_limit_var fields.
7316	(gomp_get_num_devices): New prototype.
7317	(gomp_cancel_var): New extern decl.
7318	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7319	team_cancelled and task_queued_count fields.  Add comments about
7320	task_{,queued_,running_}count.
7321	(gomp_cancel_kind): New enum.
7322	(gomp_work_share_end_cancel): New prototype.
7323	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7324	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7325	and depend fields.
7326	(struct gomp_taskgroup): New type.
7327	(struct gomp_task_depend_entry,
7328	struct gomp_dependers_vec): New types.
7329	(gomp_finish_task): Free depend_hash if non-NULL.
7330	(struct gomp_team_state): Add place_partition_off
7331	and place_partition_len fields.
7332	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7333	gomp_places_list_len): New extern decls.
7334	(struct gomp_thread): Add place field.
7335	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7336	(gomp_init_thread_affinity): Add place argument.
7337	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7338	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7339	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7340	gomp_affinity_init_level, gomp_affinity_print_place): New
7341	prototypes.
7342	(gomp_team_start): Add flags argument.
7343	(gomp_thread_limit_var, gomp_remaining_threads_count,
7344	gomp_remaining_threads_lock): Remove.
7345	(gomp_managed_threads_lock): New variable.
7346	(struct gomp_thread_pool): Add threads_busy field.
7347	(gomp_free_thread): New prototype.
7348	* task.c: Include hashtab.h.
7349	(hash_entry_type): New typedef.
7350	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7351	(gomp_init_task): Clear dependers, depend_hash, depend_count,
7352	copy_ctors_done and taskgroup fields.
7353	(GOMP_task): Add depend argument, handle depend clauses.  If
7354	gomp_team_barrier_cancelled or if it's taskgroup has been
7355	cancelled, don't queue or start new tasks.  Set copy_ctors_done
7356	field if needed.  Initialize taskgroup field.  If copy_ctors_done
7357	and already cancelled, don't discard the task.  If taskgroup is
7358	non-NULL, enqueue the task into taskgroup queue.  Increment
7359	num_children field in taskgroup.  Increment task_queued_count.
7360	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
7361	gomp_task_run_post_remove_taskgroup): New inline functions.
7362	(gomp_task_run_post_handle_depend_hash,
7363	gomp_task_run_post_handle_dependers,
7364	gomp_task_run_post_handle_depend): New functions.
7365	(GOMP_taskwait): Use them.  If more than one new tasks
7366	have been queued, wake other threads if needed.
7367	(gomp_barrier_handle_tasks): Likewise.  If
7368	gomp_team_barrier_cancelled, don't start any new tasks, just free
7369	all tasks.
7370	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7371	* omp_lib.f90.in
7372	(omp_proc_bind_kind, omp_proc_bind_false,
7373	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7374	omp_proc_bind_spread): New params.
7375	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7376	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7377	omp_get_team_num, omp_is_initial_device): New interfaces.
7378	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
7379	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7380	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7381	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7382	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7383	useless use omp_lib_kinds.
7384	* omp.h.in (omp_proc_bind_t): New typedef.
7385	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7386	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7387	omp_get_team_num, omp_is_initial_device): New prototypes.
7388	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7389	through to gomp_team_start.
7390	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7391	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7392	Adjust gomp_parallel_loop_start callers.
7393	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7394	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7395	GOMP_loop_end_cancel): New functions.
7396	(GOMP_parallel_end): Add ialias_redirect.
7397	* hashtab.h: New file.
7398	* libgomp.texi (Environment Variables): Minor cleanup,
7399	update section refs to OpenMP 4.0rc2.
7400	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7401	environment variables.
7402	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7403	team->work_shares_to_free to thr->ts.work_share before calling
7404	free_work_share.
7405	(gomp_work_share_end_cancel): New function.
7406	* config/linux/proc.c: Include errno.h.
7407	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7408	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7409	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
7410	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
7411	gomp_cpuset_size is sizeof (cpu_set_t).
7412	(gomp_init_num_threads): Initialize gomp_cpuset_size,
7413	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7414	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7415	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
7416	contain any logical CPUs.
7417	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7418	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
7419	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7420	pthread_getaffinity_np.  Check gomp_places_list instead of
7421	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
7422	* config/linux/bar.c (gomp_barrier_wait_end,
7423	gomp_barrier_wait_last): Use BAR_* defines.
7424	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
7425	from state where needed.  Set work_share_cancelled to 0 on last
7426	thread.
7427	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7428	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7429	functions.
7430	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7431	Add cpusetsize argument.
7432	(gomp_cpuset_size, gomp_cpusetp): Declare.
7433	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7434	(affinity_counter): Remove.
7435	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7436	if CPU_ALLOC_SIZE isn't defined.
7437	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7438	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7439	bind current thread to the first place.
7440	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
7441	pthread_setaffinity_np to gomp_places_list[place].
7442	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7443	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7444	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7445	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7446	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7447	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7448	(gomp_barrier_t): Add awaited_final field.
7449	(gomp_barrier_init): Initialize awaited_final field.
7450	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7451	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7452	prototypes.
7453	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
7454	defines.
7455	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7456	gomp_team_barrier_cancelled): New inline functions.
7457	(gomp_barrier_last_thread,
7458	gomp_team_barrier_set_task_pending,
7459	gomp_team_barrier_clear_task_pending,
7460	gomp_team_barrier_set_waiting_for_tasks,
7461	gomp_team_barrier_waiting_for_tasks,
7462	gomp_team_barrier_done): Use BAR_* defines.
7463	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7464	(gomp_barrier_wait_end): Use BAR_* defines.
7465	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7466	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7467	Use BAR_* defines.
7468	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7469	gomp_team_barrier_cancel): New functions.
7470	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
7471	argument.
7472	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7473	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7474	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7475	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7476	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7477	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7478	(gomp_barrier_t): Add cancellable field.
7479	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7480	gomp_team_barrier_cancel): New prototypes.
7481	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7482	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7483	gomp_team_barrier_cancelled): New inline functions.
7484	(gomp_barrier_wait_start, gomp_barrier_last_thread,
7485	gomp_team_barrier_set_task_pending,
7486	gomp_team_barrier_clear_task_pending,
7487	gomp_team_barrier_set_waiting_for_tasks,
7488	gomp_team_barrier_waiting_for_tasks,
7489	gomp_team_barrier_done): Use BAR_* defines.
7490	* barrier.c (GOMP_barrier_cancel): New function.
7491	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7492	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7493	omp_proc_bind_spread): New params.
7494	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7495	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7496	omp_get_team_num, omp_is_initial_device): New externals.
7497	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7498	New functions.
7499	(gomp_resolve_num_threads): Adjust for thread_limit now being in
7500	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
7501	infinity.  If not nested, just return minimum of max_num_threads
7502	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7503	to the returned value.  Otherwise, don't update atomically
7504	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7505	(GOMP_parallel_end): Adjust for thread_limit now being in
7506	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
7507	infinity.  Adjust threads_busy in the pool rather than
7508	gomp_remaining_threads_count.  Remember team->nthreads and call
7509	gomp_team_end before adjusting threads_busy, if not nested
7510	afterwards, just set it to 1 non-atomically.  Add ialias.
7511	(GOMP_parallel_start): Adjust gomp_team_start caller.
7512	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7513	* testsuite/libgomp.c/affinity-1.c: New test.
7514	* testsuite/libgomp.c/atomic-15.c: New test.
7515	* testsuite/libgomp.c/atomic-16.c: New test.
7516	* testsuite/libgomp.c/atomic-17.c: New test.
7517	* testsuite/libgomp.c/cancel-for-1.c: New test.
7518	* testsuite/libgomp.c/cancel-for-2.c: New test.
7519	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
7520	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
7521	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
7522	* testsuite/libgomp.c/cancel-sections-1.c: New test.
7523	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7524	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7525	* testsuite/libgomp.c/depend-1.c: New test.
7526	* testsuite/libgomp.c/depend-2.c: New test.
7527	* testsuite/libgomp.c/depend-3.c: New test.
7528	* testsuite/libgomp.c/depend-4.c: New test.
7529	* testsuite/libgomp.c/for-1.c: New test.
7530	* testsuite/libgomp.c/for-1.h: New file.
7531	* testsuite/libgomp.c/for-2.c: New test.
7532	* testsuite/libgomp.c/for-2.h: New file.
7533	* testsuite/libgomp.c/for-3.c: New test.
7534	* testsuite/libgomp.c/pr58392.c: New test.
7535	* testsuite/libgomp.c/simd-1.c: New test.
7536	* testsuite/libgomp.c/simd-2.c: New test.
7537	* testsuite/libgomp.c/simd-3.c: New test.
7538	* testsuite/libgomp.c/simd-4.c: New test.
7539	* testsuite/libgomp.c/simd-5.c: New test.
7540	* testsuite/libgomp.c/simd-6.c: New test.
7541	* testsuite/libgomp.c/target-1.c: New test.
7542	* testsuite/libgomp.c/target-2.c: New test.
7543	* testsuite/libgomp.c/target-3.c: New test.
7544	* testsuite/libgomp.c/target-4.c: New test.
7545	* testsuite/libgomp.c/target-5.c: New test.
7546	* testsuite/libgomp.c/target-6.c: New test.
7547	* testsuite/libgomp.c/target-7.c: New test.
7548	* testsuite/libgomp.c/taskgroup-1.c: New test.
7549	* testsuite/libgomp.c/thread-limit-1.c: New test.
7550	* testsuite/libgomp.c/thread-limit-2.c: New test.
7551	* testsuite/libgomp.c/thread-limit-3.c: New test.
7552	* testsuite/libgomp.c/udr-1.c: New test.
7553	* testsuite/libgomp.c/udr-2.c: New test.
7554	* testsuite/libgomp.c/udr-3.c: New test.
7555	* testsuite/libgomp.c++/affinity-1.C: New test.
7556	* testsuite/libgomp.c++/atomic-10.C: New test.
7557	* testsuite/libgomp.c++/atomic-11.C: New test.
7558	* testsuite/libgomp.c++/atomic-12.C: New test.
7559	* testsuite/libgomp.c++/atomic-13.C: New test.
7560	* testsuite/libgomp.c++/atomic-14.C: New test.
7561	* testsuite/libgomp.c++/atomic-15.C: New test.
7562	* testsuite/libgomp.c++/cancel-for-1.C: New test.
7563	* testsuite/libgomp.c++/cancel-for-2.C: New test.
7564	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7565	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7566	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7567	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
7568	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7569	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7570	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7571	* testsuite/libgomp.c++/cancel-test.h: New file.
7572	* testsuite/libgomp.c++/for-9.C: New test.
7573	* testsuite/libgomp.c++/for-10.C: New test.
7574	* testsuite/libgomp.c++/for-11.C: New test.
7575	* testsuite/libgomp.c++/simd-1.C: New test.
7576	* testsuite/libgomp.c++/simd-2.C: New test.
7577	* testsuite/libgomp.c++/simd-3.C: New test.
7578	* testsuite/libgomp.c++/simd-4.C: New test.
7579	* testsuite/libgomp.c++/simd-5.C: New test.
7580	* testsuite/libgomp.c++/simd-6.C: New test.
7581	* testsuite/libgomp.c++/simd-7.C: New test.
7582	* testsuite/libgomp.c++/simd-8.C: New test.
7583	* testsuite/libgomp.c++/target-1.C: New test.
7584	* testsuite/libgomp.c++/target-2.C: New test.
7585	* testsuite/libgomp.c++/target-2-aux.cc: New file.
7586	* testsuite/libgomp.c++/target-3.C: New test.
7587	* testsuite/libgomp.c++/taskgroup-1.C: New test.
7588	* testsuite/libgomp.c++/udr-1.C: New test.
7589	* testsuite/libgomp.c++/udr-2.C: New test.
7590	* testsuite/libgomp.c++/udr-3.C: New test.
7591	* testsuite/libgomp.c++/udr-4.C: New test.
7592	* testsuite/libgomp.c++/udr-5.C: New test.
7593	* testsuite/libgomp.c++/udr-6.C: New test.
7594	* testsuite/libgomp.c++/udr-7.C: New test.
7595	* testsuite/libgomp.c++/udr-8.C: New test.
7596	* testsuite/libgomp.c++/udr-9.C: New test.
7597
75982013-09-20  Jakub Jelinek  <jakub@redhat.com>
7599
7600	PR testsuite/57605
7601	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7602	ALWAYS_CFLAGS.
7603
76042013-09-20  Alan Modra  <amodra@gmail.com>
7605
7606	* configure: Regenerate.
7607
76082013-09-19  Jakub Jelinek  <jakub@redhat.com>
7609
7610	* testsuite/libgomp.c/sections-2.c: New test.
7611
76122013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
7613
7614	* testsuite/libgomp.fortran/strassen.f90:
7615	Add dg-skip-if aarch64_tiny.
7616
76172013-06-20  Iain Sandoe  <iain@codesourcery.com>
7618	    Cesar Philippidis  <cesar@codesourcery.com>
7619
7620	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7621	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7622	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7623	* testsuite/libgomp.fortran/fortran.exp: Likewise.
7624	* testsuite/libgomp.graphite/graphite.exp: Likewise.
7625	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7626	Use dg-runtest rather than gfortran-dg-runtest.
7627
76282013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
7629
7630	* testsuite/libgomp.c/icv-2.c: Extend current handling of
7631	Linux-based x86 systems to cover all GNU systems.
7632	* testsuite/libgomp.c/lock-3.c: Likewise.
7633	* testsuite/libgomp.c/pr48591.c: Likewise.
7634
76352013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
7636
7637	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7638	GNU/Hurd, as done for Linux-based systems.
7639
7640	* config/posix/ptrlock.h: Fix comment.
7641
76422013-05-27  Tobias Burnus  <burnus@net-b.de>
7643
7644	PR fortran/57423
7645	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7646	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7647	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7648	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7649	omp_destroy_nest_lock): Correct arguments to match the one in
7650	the OpenMP spec.
7651	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7652	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7653	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7654	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7655
76562013-05-16  Jakub Jelinek  <jakub@redhat.com>
7657
7658	* testsuite/libgomp.c/loop-13.c: New test.
7659	* testsuite/libgomp.c/loop-14.c: New test.
7660	* testsuite/libgomp.c/loop-15.c: New test.
7661	* testsuite/libgomp.c++/loop-13.C: New test.
7662	* testsuite/libgomp.c++/loop-14.C: New test.
7663	* testsuite/libgomp.c++/loop-15.C: New test.
7664
76652013-02-06  Jakub Jelinek  <jakub@redhat.com>
7666
7667	PR middle-end/56217
7668	* testsuite/libgomp.c++/pr56217.C: New test.
7669
76702013-02-01  Alan Modra  <amodra@gmail.com>
7671
7672	* task.c (GOMP_task, GOMP_taskwait): Comment.
7673
76742013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
7675	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
7676
7677	PR libgomp/55561
7678	* config/linux/wait.h (do_spin): Use atomic load for addr.
7679	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7680	for intptr and ptrlock.
7681	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7682	for ptrlock.
7683
76842013-01-22  Alan Modra  <amodra@gmail.com>
7685
7686	PR libgomp/51376
7687	PR libgomp/56073
7688	* task.c (GOMP_task): Revert 2011-12-09 change.
7689	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
7690	barrier to read task->children..
7691	(gomp_barrier_handle_tasks): ..and matching atomic store with
7692	release barrier here when setting parent->children to NULL.
7693
76942013-01-16  Jakub Jelinek  <jakub@redhat.com>
7695	    Tobias Burnus  <burnus@net-b.de>
7696
7697	PR driver/55884
7698	* testsuite/libgomp.fortran/fortran.exp: Use
7699	-fintrinsic-modules-path= instead of
7700	-fintrinsic-modules-path.
7701
77022013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
7703
7704	Update copyright years.
7705
77062012-12-19  Tobias Burnus  <burnus@net-b.de>
7707
7708	* testsuite/libgomp.fortran/fortran.exp: Set
7709	-fintrinsic-modules-path.
7710
77112012-12-19  Tobias Burnus  <burnus@net-b.de>
7712
7713	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
7714	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
7715
77162012-11-21  Jakub Jelinek  <jakub@redhat.com>
7717
7718	PR libgomp/55411
7719	* team.c (gomp_free_thread): Decrease gomp_managed_threads
7720	if pool had any threads_used.
7721
77222012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
7723
7724	* testsuite/libgomp.c++/pr24455.C: Use
7725	-Wl,-undefined,dynamic_lookup on darwin.
7726
77272012-11-07  David Edelsohn  <dje.gcc@gmail.com>
7728
7729	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
7730
77312012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
7732
7733	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
7734
77352012-10-23  Ian Bolton  <ian.bolton@arm.com>
7736	    Jim MacArthur  <jim.macarthur@arm.com>
7737	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
7738	    Nigel Stephens  <nigel.stephens@arm.com>
7739	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7740	    Richard Earnshaw  <rearnsha@arm.com>
7741	    Sofiane Naci  <sofiane.naci@arm.com>
7742	    Stephen Thomas  <stephen.thomas@arm.com>
7743	    Tejas Belagod  <tejas.belagod@arm.com>
7744	    Yufeng Zhang  <yufeng.zhang@arm.com>
7745
7746	* configure.tgt: Add AArch64.
7747
77482012-10-04  Jason Merrill  <jason@redhat.com>
7749
7750	* testsuite/libgomp.c++/tls-init1.C: New.
7751
77522012-09-14  David Edelsohn  <dje.gcc@gmail.com>
7753
7754	* configure: Regenerated.
7755
77562012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
7757
7758	* config/linux/mips/futex.h (sys_futex0): Change to static
7759	function with noinline, nomips16 attributes under MIPS16. Adjust
7760	asm statement to place 'li v0,SYS_futex' immediately before
7761	syscall insn.
7762
77632012-07-04  Sandra Loosemore <sandra@codesourcery.com>
7764
7765	* libgomp.texi (Library Index): Renamed from "Index" to prevent
7766	conflict with index.html on case-insensitive file systems.
7767
77682012-07-03  Uros Bizjak  <ubizjak@gmail.com>
7769
7770	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
7771	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
7772
77732012-07-02  Richard Guenther  <rguenther@suse.de>
7774	    Michael Matz  <matz@suse.de>
7775	    Tobias Grosser <tobias@grosser.es>
7776	    Sebastian Pop <sebpop@gmail.com>
7777
7778	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
7779	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7780	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7781	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7782
77832012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
7784
7785	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
7786
77872012-06-22  Richard Guenther  <rguenther@suse.de>
7788
7789	Merge from graphite branch
7790	2012-01-13  Tobias Grosser  <tobias@grosser.es>
7791
7792	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
7793	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7794
77952012-06-07  Jakub Jelinek  <jakub@redhat.com>
7796
7797	PR middle-end/53580
7798	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
7799	use GOMP_barrier () call instead.
7800	* testsuite/libgomp.c/pr26943-3.c: Likewise.
7801	* testsuite/libgomp.c/pr26943-4.c: Likewise.
7802	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
7803	call GOMP_barrier instead.
7804	* testsuite/libgomp.fortran/vla5.f90: Likewise.
7805
78062012-06-06  Jakub Jelinek  <jakub@redhat.com>
7807
7808	PR libgomp/52993
7809	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
7810	argument to memset call.
7811
78122012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
7813
7814	* configure: Regenerated.
7815
78162012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7817
7818	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
7819
78202012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
7821
7822	PR bootstrap/52812
7823	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
7824
78252012-03-22  Jakub Jelinek  <jakub@redhat.com>
7826
7827	PR middle-end/52547
7828	* testsuite/libgomp.c/pr52547.c: New test.
7829
78302012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
7831
7832	* testsuite/lib/libgomp.exp: load fortran-modules.exp
7833
78342012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7835
7836	* configure.tgt (mips-sgi-irix6*): Remove.
7837
78382012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7839
7840	* configure.tgt (alpha*-dec-osf*): Remove.
7841
7842	* config/osf/sem.h: Remove.
7843	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
7844
78452012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
7846
7847	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
7848
78492012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7850
7851	PR libstdc++/52188
7852	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
7853	Remove ENABLE_SYMVERS_SOL2.
7854	* configure: Regenerate.
7855	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
7856	(PREPROCESS): New variable.
7857	(libgomp.ver): New target.
7858	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
7859	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
7860	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
7861	Use libgomp.ver.
7862	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
7863	* Makefile.in: Regenerate.
7864
78652012-02-14  Walter Lee  <walt@tilera.com>
7866
7867	* configure.tgt: Handle tilegx and tilepro.
7868	* config/linux/tile/futex.h: New file.
7869
78702012-02-08  Richard Guenther  <rguenther@suse.de>
7871
7872	PR tree-optimization/46886
7873	* testsuite/libgomp.c/pr46886.c: New testcase.
7874
78752012-01-25  Matthias Klose  <doko@ubuntu.com>
7876
7877	* config/linux/arm: Remove empty directory.
7878	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
7879
78802011-12-09  Alan Modra  <amodra@gmail.com>
7881
7882	PR libgomp/51376
7883	* task.c (GOMP_taskwait): Don't access task->children outside of
7884	task_lock mutex region.
7885	(GOMP_task): Likewise.
7886
78872011-12-06  Jakub Jelinek  <jakub@redhat.com>
7888
7889	PR libgomp/51132
7890	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
7891	to file scope.
7892	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7893	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7894	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7895	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7896	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7897
78982011-12-02  Alan Modra  <amodra@gmail.com>
7899
7900	* config/linux/affinity.c: Use atomic rather than sync builtin.
7901	* config/linux/lock.c: Likewise.
7902	* config/linux/ptrlock.h: Likewise.
7903	* config/linux/ptrlock.c: Likewise.
7904	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
7905	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
7906	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
7907	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
7908	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
7909	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
7910	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
7911	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
7912	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
7913	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
7914
79152011-11-30  Alan Modra  <amodra@gmail.com>
7916
7917	PR libgomp/51298
7918	* config/linux/bar.h: Use atomic rather than sync builtins.
7919	* config/linux/bar.c: Likewise.  Add missing acquire
7920	synchronisation on generation field.
7921	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
7922	double unlock.
7923
79242011-11-30  Alan Modra  <amodra@gmail.com>
7925
7926	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
7927	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
7928	* config/linux/mutex.h: Use atomic rather than sync builtins.
7929	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
7930	* config/linux/omp-lock.h: Comment fix.
7931	* config/linux/arm/mutex.h: Delete.
7932	* config/linux/powerpc/mutex.h: Delete.
7933	* config/linux/ia64/mutex.h: Delete.
7934	* config/linux/mips/mutex.h: Delete.
7935
79362011-11-30  Alan Modra  <amodra@gmail.com>
7937
7938	PR libgomp/51249
7939	* config/linux/sem.h: Rewrite.
7940	* config/linux/sem.c: Rewrite.
7941
79422011-11-28  Richard Henderson  <rth@redhat.com>
7943
7944	* libgomp.h (enum memmodel): New.
7945
79462011-11-21  Andreas Tobler  <andreast@fgznet.ch>
7947
7948	* configure: Regenerate.
7949
79502011-10-10  Matthias Klose  <doko@ubuntu.com>
7951
7952	* config/posix95: Remove empty directory.
7953
79542011-08-26  Jakub Jelinek  <jakub@redhat.com>
7955
7956	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
7957
79582011-08-19  Jakub Jelinek  <jakub@redhat.com>
7959
7960	PR fortran/49792
7961	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
7962	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
7963
79642011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7965
7966	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
7967
79682011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7969
7970	PR libgomp/49965
7971	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
7972
79732011-08-03  Uros Bizjak  <ubizjak@gmail.com>
7974
7975	* config/linux/proc.h: New.
7976	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
7977	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
7978	(gomp_init_num_threads): Update call to cpuset_popcount.
7979	(get_num_procs): Ditto.
7980	* config/linux/affinity.c (gomp_init_affinity): Call
7981	gomp_cpuset_popcount.
7982
79832011-08-02  Jakub Jelinek  <jakub@redhat.com>
7984
7985	PR fortran/42041
7986	PR fortran/46752
7987	* omp.h.in (omp_in_final): New prototype.
7988	* omp_lib.f90.in (omp_in_final): New interface.
7989	(omp_integer_kind, omp_logical_kind): Remove
7990	and replace all its uses in the module with 4.
7991	(openmp_version): Change to 201107.
7992	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
7993	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
7994	kind for the parameters.
7995	(omp_in_final): New external.
7996	(openmp_version): Change to 201107.
7997	* task.c (omp_in_final): New function.
7998	(gomp_init_task): Initialize final_task.
7999	(GOMP_task): Remove unused attribute from flags.  Handle final
8000	tasks.
8001	(GOMP_taskyield): New function.
8002	(omp_in_final): Return true if if (false) or final (true) task
8003	or descendant of final (true).
8004	* fortran.c (omp_in_final_): New function.
8005	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
8006	(GOMP_3.0): Export GOMP_taskyield.
8007	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
8008	variables.
8009	(parse_unsigned_long_list): New function.
8010	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
8011	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
8012	even if parse_affinity returned false.
8013	* config/linux/affinity.c (gomp_init_affinity): Handle
8014	gomp_cpu_affinity_len == 0.
8015	* libgomp_g.h (GOMP_taskyield): New prototype.
8016	* libgomp.h (struct gomp_task): Add final_task field.
8017	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
8018	* team.c (gomp_team_start): Override new task's nthreads_var icv
8019	if list form OMP_NUM_THREADS has been used and it has value for
8020	the new nesting level.
8021
8022	* testsuite/libgomp.c/atomic-11.c: New test.
8023	* testsuite/libgomp.c/atomic-12.c: New test.
8024	* testsuite/libgomp.c/atomic-13.c: New test.
8025	* testsuite/libgomp.c/atomic-14.c: New test.
8026	* testsuite/libgomp.c/reduction-6.c: New test.
8027	* testsuite/libgomp.c/task-5.c: New test.
8028	* testsuite/libgomp.c++/atomic-2.C: New test.
8029	* testsuite/libgomp.c++/atomic-3.C: New test.
8030	* testsuite/libgomp.c++/atomic-4.C: New test.
8031	* testsuite/libgomp.c++/atomic-5.C: New test.
8032	* testsuite/libgomp.c++/atomic-6.C: New test.
8033	* testsuite/libgomp.c++/atomic-7.C: New test.
8034	* testsuite/libgomp.c++/atomic-8.C: New test.
8035	* testsuite/libgomp.c++/atomic-9.C: New test.
8036	* testsuite/libgomp.c++/task-8.C: New test.
8037	* testsuite/libgomp.c++/reduction-4.C: New test.
8038	* testsuite/libgomp.fortran/allocatable7.f90: New test.
8039	* testsuite/libgomp.fortran/allocatable8.f90: New test.
8040	* testsuite/libgomp.fortran/crayptr3.f90: New test.
8041	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8042	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8043	* testsuite/libgomp.fortran/pointer1.f90: New test.
8044	* testsuite/libgomp.fortran/pointer2.f90: New test.
8045	* testsuite/libgomp.fortran/task4.f90: New test.
8046
80472011-08-02  Tobias Burnus  <burnus@net-b.de>
8048
8049	* libgomp.texi: Update OpenMP spec references to 3.1.
8050	(omp_in_final,OMP_PROC_BIND): New sections.
8051	(OMP_NUM_THREADS): Document that the value can be now a list.
8052	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8053
80542011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
8055
8056	* config/linux/x86/futex.h: Check __x86_64__ instead of
8057	__LP64__.
8058
80592011-07-29  Jakub Jelinek  <jakub@redhat.com>
8060
8061	PR middle-end/49897
8062	PR middle-end/49898
8063	* testsuite/libgomp.c/pr49897-1.c: New test.
8064	* testsuite/libgomp.c/pr49897-2.c: New test.
8065	* testsuite/libgomp.c/pr49898-1.c: New test.
8066	* testsuite/libgomp.c/pr49898-2.c: New test.
8067
80682011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
8069
8070	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8071	for ia32 instead of ilp32.
8072
8073	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8074	* testsuite/libgomp.c/atomic-6.c: Likewise.
8075
80762011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
8077
8078	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8079	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8080
80812011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8082
8083	PR libgomp/45351
8084	* config/osf/sem.h: New file.
8085	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8086
80872011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8088
8089	PR target/49541
8090	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8091	ldflags.
8092
80932011-07-15  Jakub Jelinek  <jakub@redhat.com>
8094
8095	* config/linux/wait.h (do_spin): New inline, largely copied
8096	from do_wait, just don't do futex_wait here, instead return true if
8097	it should be done.
8098	(do_wait): Implement using do_spin.
8099	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8100	to prototype.
8101	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8102	__sync_bool_compare_and_swap, pass the oldval to
8103	gomp_mutex_lock_slow.
8104	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8105	If all mutex contenders are just spinning and not sleeping, don't
8106	change state to 2 unnecessarily.  Optimize the loop when state has
8107	already become 2 to use just one atomic operation per loop instead
8108	of two.
8109	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8110	to prototype.
8111	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8112	__sync_bool_compare_and_swap, pass the oldval to
8113	gomp_mutex_lock_slow.
8114
81152011-06-22  Jakub Jelinek  <jakub@redhat.com>
8116
8117	PR libgomp/49490
8118	* iter.c (gomp_iter_static_next): For chunk size 0
8119	only use n ceil/ nthreads size for the first
8120	n % nthreads threads in the team instead of
8121	all threads except for the last few ones which
8122	get less work or none at all.
8123	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
8124	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8125	chunk argument, set run_sched_modifier to 0 for static
8126	resp. 1 for other kinds.  If chunk argument is 0
8127	and not static, set value to 1.
8128
81292011-05-19  Jakub Jelinek  <jakub@redhat.com>
8130
8131	PR c++/49043
8132	* testsuite/libgomp.c++/pr49043.C: New test.
8133
8134	PR c++/48869
8135	* testsuite/libgomp.c++/pr48869.C: New test.
8136
81372011-05-06  Jakub Jelinek  <jakub@redhat.com>
8138
8139	PR fortran/48894
8140	* fortran.c: Include limits.h.
8141	(TO_INT): Define.
8142	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8143	*set.
8144	(omp_set_num_threads_8_, omp_set_schedule_8_,
8145	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8146	omp_get_team_size_8_): Use TO_INT macro.
8147	* testsuite/libgomp.fortran/pr48894.f90: New test.
8148
81492011-04-13  Jakub Jelinek  <jakub@redhat.com>
8150
8151	PR middle-end/48591
8152	* testsuite/libgomp.c/pr48591.c: New test.
8153
81542011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8155
8156	PR bootstrap/48135
8157	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
8158	* configure: Regenerate.
8159
81602011-02-27  Jakub Jelinek  <jakub@redhat.com>
8161
8162	PR fortran/47886
8163	* testsuite/libgomp.fortran/task3.f90: New test.
8164
81652011-02-24  Tobias Burnus  <burnus@net-b.de>
8166
8167	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8168
81692011-02-23  Jakub Jelinek  <jakub@redhat.com>
8170
8171	PR libgomp/47854
8172	* libgomp.texi (omp_get_wtime): Don't say time in the past
8173	must be Unix Epoch.
8174
81752011-02-18  Jakub Jelinek  <jakub@redhat.com>
8176
8177	PR libgomp/47804
8178	* testsuite/libgomp.fortran/fortran.exp: Check for both
8179	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
8180	but $blddir != "", still append ${blddir}/${lang_library_path}
8181	to ld_library_path.
8182
81832011-02-16  Tobias Burnus  <burnus@net-b.de>
8184
8185	PR libgomp/47758
8186	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
8187	of libquadmath.a before adding its libpath to ldflags.
8188
81892011-02-14  Jakub Jelinek  <jakub@redhat.com>
8190
8191	PR libgomp/47731
8192	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8193	to FUTEX_WAIT futex syscall.
8194	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
8195
81962011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8197
8198	* configure: Regenerate.
8199
82002011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
8201
8202	PR libstdc++/36104
8203	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8204
82052011-01-16  Gerald Pfeifer
8206
8207	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8208
82092010-12-14  Jakub Jelinek  <jakub@redhat.com>
8210
8211	PR fortran/46874
8212	* libgomp.fortran/allocatable6.f90: New test.
8213
82142010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8215
8216	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8217	* configure: Regenerate.
8218
82192010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
8220
8221	PR target/40125
8222	PR lto/46695
8223	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
8224	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8225	* aclocal.m4: Regenerate.
8226	* configure: Regenerate.
8227	* Makefile.in: Regenerate.
8228	* testsuite/Makefile.in: Regenerate.
8229
82302010-12-02  Jakub Jelinek  <jakub@redhat.com>
8231
8232	PR fortran/46753
8233	* libgomp.fortran/pr46753.f90: New test.
8234
8235	PR libgomp/43706
8236	* env.c (initialize_env): Default to spin count 300000
8237	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8238	is specified.
8239
8240	PR libgomp/45240
8241	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8242	at the end if sync builtins aren't supported.
8243
82442010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8245
8246	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8247
82482010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8249
8250	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8251
82522010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
8253
8254	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8255
82562010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
8257	    Tobias Burnus  <burnus@net-b.de>
8258
8259	PR fortran/32049
8260	* configure.ac:
8261	* configure: Regenerate.
8262
82632010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8264
8265	* config/linux/futex.h: New.
8266	* config/linux/arm/mutex.h: New.
8267	* configure.tgt (arm*-*-linux*): Add config path.
8268
82692010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
8270
8271	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8272
82732010-09-23  Tobias Burnus  <burnus@net-b.de>
8274
8275	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8276	Change Fortran datatype to LOGICAL.
8277	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8278	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8279
82802010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8281
8282	* configure: Regenerate.
8283
82842010-07-26  Jakub Jelinek  <jakub@redhat.com>
8285
8286	* libgomp.texi: Add function keyword to a couple of Fortran
8287	interfaces, use integer instead of int for Fortran.
8288
82892010-07-26  Aldy Hernandez  <aldyh@redhat.com>
8290
8291	* libgomp.texi: Fix spelling and pasto problems throughout.
8292	Adjust prototypes to match code.
8293
82942010-07-24  Tobias Burnus  <burnus@net-b.de>
8295
8296	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8297	silence -fwhole-file warning.
8298
82992010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8300
8301	* configure.tgt (*-*-solaris2.[56]*): Removed.
8302
83032010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8304
8305	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8306	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8307	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8308	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8309	targetting solaris2*.
8310	* configure: Regenerate.
8311	* config.h.in: Regenerate.
8312
8313	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8314	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8315	Add libgomp_version_dep.
8316	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8317	versioning.
8318	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8319	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8320	* Makefile.in: Regenerate.
8321
8322	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8323	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8324	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8325	to common block, protected by
8326	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8327
83282010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
8329
8330	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
8331
83322010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
8333
8334	PR bootstrap/43170
8335	* configure: Regenerate.
8336
83372010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8338
8339	PR other/43620
8340	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8341	* configure: Regenerate.
8342	* Makefile.in: Regenerate.
8343	* testsuite/Makefile.in: Regenerate.
8344
83452010-04-26  Jakub Jelinek  <jakub@redhat.com>
8346
8347	PR c/43893
8348	* testsuite/libgomp.c/pr43893.c: New test.
8349	* testsuite/libgomp.c++/pr43893.C: New test.
8350
83512010-04-21  Jakub Jelinek  <jakub@redhat.com>
8352
8353	PR middle-end/43570
8354	* testsuite/libgomp.fortran/vla8.f90: New test.
8355
83562010-04-20  Jakub Jelinek  <jakub@redhat.com>
8357
8358	PR libgomp/43706
8359	* config/linux/affinity.c (gomp_init_affinity): Decrease
8360	gomp_available_cpus if affinity mask confines the process to fewer
8361	CPUs.
8362	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8363	non-NULL, just return gomp_available_cpus.
8364
8365	PR libgomp/43569
8366	* sections.c (gomp_sections_init): Initialize ws->mode.
8367
83682010-04-14  Uros Bizjak  <ubizjak@gmail.com>
8369
8370	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8371	not unused bar variable.
8372	* configure: Regenerate.
8373
83742010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8375
8376	* Makefile.in: Regenerate.
8377	* aclocal.m4: Regenerate.
8378	* testsuite/Makefile.in: Regenerate.
8379
83802010-03-22  Jakub Jelinek  <jakub@redhat.com>
8381
8382	PR libgomp/42942
8383	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8384	(initialize_env): Adjust callers.
8385	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
8386	when the argument is 0.
8387
8388	* testsuite/libgomp.c/pr42942.c: New test.
8389
83902010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
8391
8392	PR middle-end/42644
8393	PR middle-end/42130
8394	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8395	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8396
83972010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8398
8399	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
8400	* testsuite/libgomp.c++/task-6.C: Likewise.
8401
84022010-01-28  Steve Ellcey  <sje@cup.hp.com>
8403
8404	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8405
84062010-01-26  Paolo Bonzini  <bonzini@gnu.org>
8407
8408	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
8409	* configure: Regenerate.
8410
84112010-01-26  Jakub Jelinek  <jakub@redhat.com>
8412
8413	PR fortran/42866
8414	* testsuite/libgomp.fortran/allocatable5.f90: New test.
8415
84162010-01-20  Paolo Bonzini  <bonzini@gnu.org>
8417
8418	* configure.ac: Test for executability of GFORTRAN.
8419	* configure: Regenerate.
8420
84212010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8422
8423	* configure: Regenerate.
8424
84252010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
8426
8427	PR libgomp/42602
8428	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8429
84302010-01-03  Richard Guenther  <rguenther@suse.de>
8431
8432	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
8433
84342009-12-23  Sebastian Pop  <sebpop@gmail.com>
8435
8436	* testsuite/libgomp.graphite/pr4118.c: New.
8437
84382009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
8439
8440	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8441	for darwin, protect the test with require-effective-target tls_runtime.
8442	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
8443
84442009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
8445
8446	PR target/41605
8447	* testsuite/lib/libgomp.exp: Provide -B options to allow for
8448	link spec %s substitutions for static libraries.
8449
84502009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
8451
8452	PR testsuite/42135
8453	* libgomp.graphite/force-parallel-2.c: Reduce array size.
8454
84552009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8456
8457	* Makefile.in: Regenerate.
8458	* configure: Regenerate.
8459	* testsuite/Makefile.in: Regenerate.
8460
84612009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
8462
8463	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8464	settings for LC_ALL and LANG.
8465
84662009-11-25  Jakub Jelinek  <jakub@redhat.com>
8467
8468	PR fortran/42162
8469	* testsuite/libgomp.fortran/pr42162.f90: New test.
8470
84712009-11-13  Jakub Jelinek  <jakub@redhat.com>
8472
8473	PR middle-end/42029
8474	* testsuite/libgomp.c/pr42029.c: New test.
8475
84762009-10-26  Jakub Jelinek  <jakub@redhat.com>
8477
8478	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8479	*s.  Accept ld version without text in ()s.
8480	* configure: Regenerated.
8481
84822009-10-22  Razya Ladelsky  <razya@il.ibm.com>
8483
8484	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8485
84862009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8487
8488	PR libgomp/41418
8489	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8490	or a hyphen (happens with fortran language disabled).
8491	* configure: Regenerate.
8492
84932009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8494
8495	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8496	use sed script portable to Solaris /bin/sed for extracting ld
8497	version.
8498	* configure: Regenerate.
8499
85002009-09-17  Alexander Monakov  <amonakov@ispras.ru>
8501
8502	* testsuite/libgomp.graphite/bounds.c: New test.
8503
85042009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8505
8506	* Makefile.am (libgomp_la_LINK): New.
8507	* Makefile.in: Regenerate.
8508
85092009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8510
8511	* configure.ac (AC_PREREQ): Bump to 2.64.
8512
85132009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8514
8515	* Makefile.am (install-html, install-pdf): Remove.
8516	* Makefile.in: Regenerate.
8517
8518	* Makefile.in: Regenerate.
8519	* aclocal.m4: Regenerate.
8520	* config.h.in: Regenerate.
8521	* configure: Regenerate.
8522	* testsuite/Makefile.in: Regenerate.
8523
85242009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8525
8526	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8527	* Makefile.in: Regenerate.
8528
85292009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
8530
8531	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8532	* Makefile.in: Regenerate.
8533
85342009-08-19  Tobias Burnus  <burnus@net-b.de>
8535
8536	PR fortran/41102
8537	omp_lib.h.in: Fix -std=f95 errors.
8538
85392009-08-14  David Edelsohn  <edelsohn@gnu.org>
8540
8541	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8542	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8543	* testsuite/libgomp.graphite/graphite.exp: New.
8544
85452009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
8546
8547	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8548	only build.
8549
85502009-08-04  David Daney  <ddaney@caviumnetworks.com>
8551
8552	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8553	needed memory barrier semantics.
8554	* config/linux/mips/mutex.h: New file.
8555
85562009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8557
8558	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8559
85602009-07-16  Joseph Myers  <joseph@codesourcery.com>
8561
8562	* configure: Regenerate.
8563
85642009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
8565
8566	PR testsuite/40699
8567	PR testsuite/40707
8568	PR testsuite/40709
8569	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8570	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8571	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8572
85732009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
8574
8575	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8576	options when choosing a multilib.
8577
85782009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
8579
8580	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8581	ld_library_path.  Use add_path.  Add just find_libgcc_s to
8582	ld_library_path, not every libgcc multilib directory.
8583	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8584	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8585	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8586	Use add_path.
8587	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8588
85892009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
8590
8591	* Makefile.am (LTLDFLAGS): Define.
8592	(LINK): Define.
8593	* Makefile.in: Regenerate.
8594
85952009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
8596
8597	PR fortran/39718
8598	* testsuite/libgomp.fortran/fortran.exp: Don't link with
8599	libgfortranbegin, check existence of libgfortran.a instead of
8600	libgfortranbegin.a.
8601
86022009-05-20  Jakub Jelinek  <jakub@redhat.com>
8603
8604	PR libgomp/40174
8605	* team.c (gomp_thread_start): Destroy thr->release semaphore.
8606	(gomp_free_pool_helper): Likewise.
8607
86082009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
8609	    Jakub Jelinek  <jakub@redhat.com>
8610
8611	PR fortran/35423
8612	* testsuite/libgomp.fortran/workshare2.f90: New test.
8613
86142009-04-09  Nick Clifton  <nickc@redhat.com>
8615
8616	* iter.c: Change copyright header to refer to version 3 of the
8617	GNU General Public License with version 3.1 of the GCC Runtime
8618	Library Exception and to point readers at the COPYING3 and
8619	COPYING3.RUNTIME files and the FSF's license web page.
8620	* alloc.c: Likewise.
8621	* barrier.c: Likewise.
8622	* config/bsd/proc.c: Likewise.
8623	* config/linux/affinity.c: Likewise.
8624	* config/linux/alpha/futex.h: Likewise.
8625	* config/linux/bar.c: Likewise.
8626	* config/linux/bar.h: Likewise.
8627	* config/linux/ia64/futex.h: Likewise.
8628	* config/linux/ia64/mutex.h: Likewise.
8629	* config/linux/lock.c: Likewise.
8630	* config/linux/mips/futex.h: Likewise.
8631	* config/linux/mutex.c: Likewise.
8632	* config/linux/mutex.h: Likewise.
8633	* config/linux/powerpc/futex.h: Likewise.
8634	* config/linux/proc.c: Likewise.
8635	* config/linux/ptrlock.c: Likewise.
8636	* config/linux/ptrlock.h: Likewise.
8637	* config/linux/s390/futex.h: Likewise.
8638	* config/linux/sem.c: Likewise.
8639	* config/linux/sem.h: Likewise.
8640	* config/linux/sparc/futex.h: Likewise.
8641	* config/linux/wait.h: Likewise.
8642	* config/linux/x86/futex.h: Likewise.
8643	* config/mingw32/proc.c: Likewise.
8644	* config/mingw32/time.c: Likewise.
8645	* config/posix/affinity.c: Likewise.
8646	* config/posix/bar.c: Likewise.
8647	* config/posix/bar.h: Likewise.
8648	* config/posix/lock.c: Likewise.
8649	* config/posix/mutex.h: Likewise.
8650	* config/posix/proc.c: Likewise.
8651	* config/posix/ptrlock.h: Likewise.
8652	* config/posix/sem.c: Likewise.
8653	* config/posix/sem.h: Likewise.
8654	* config/posix/time.c: Likewise.
8655	* config/posix95/lock.c: Likewise.
8656	* critical.c: Likewise.
8657	* env.c: Likewise.
8658	* error.c: Likewise.
8659	* fortran.c: Likewise.
8660	* iter_ull.c: Likewise.
8661	* libgomp.h: Likewise.
8662	* libgomp_f.h.in: Likewise.
8663	* libgomp_g.h: Likewise.
8664	* loop.c: Likewise.
8665	* loop_ull.c: Likewise.
8666	* omp.h.in: Likewise.
8667	* omp_lib.f90.in: Likewise.
8668	* omp_lib.h.in: Likewise.
8669	* ordered.c: Likewise.
8670	* parallel.c: Likewise.
8671	* sections.c: Likewise.
8672	* single.c: Likewise.
8673	* task.c: Likewise.
8674	* team.c: Likewise.
8675	* work.c: Likewise.
8676
86772009-04-09  Jakub Jelinek  <jakub@redhat.com>
8678
8679	* testsuite/config/default.exp: Change copyright header to refer to
8680	version 3 of the GNU General Public License and to point readers
8681	at the COPYING3 file and the FSF's license web page.
8682
86832009-04-08  Jakub Jelinek  <jakub@redhat.com>
8684
8685	PR middle-end/39573
8686	* libgomp.c++/pr39573.C: New test.
8687
86882009-04-01  Jakub Jelinek  <jakub@redhat.com>
8689
8690	PR other/39591
8691	* testsuite/libgomp.c/pr39591-1.c: New test.
8692	* testsuite/libgomp.c/pr39591-2.c: New test.
8693	* testsuite/libgomp.c/pr39591-3.c: New test.
8694
86952009-03-25  Uros Bizjak  <ubizjak@gmail.com>
8696
8697	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
8698	* testsuite/libgomp.c/atomic-6.c: Ditto.
8699
87002009-03-23  Jakub Jelinek  <jakub@redhat.com>
8701
8702	PR c/39495
8703	* testsuite/libgomp.c/loop-12.c: New test.
8704	* testsuite/libgomp.c/loop-11.c: New test.
8705	* testsuite/libgomp.c++/loop-11.C: New test.
8706	* testsuite/libgomp.c++/loop-12.C: New test.
8707	* testsuite/libgomp.c++/for-8.C: New test.
8708
87092009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8710
8711	* configure: Regenerate.
8712
87132009-02-11  Jakub Jelinek  <jakub@redhat.com>
8714
8715	PR middle-end/39154
8716	* testsuite/libgomp.c/pr39154.c: New test.
8717
87182009-01-30  Ian Lance Taylor  <iant@google.com>
8719
8720	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
8721	libgomp_ld_is_gold.  Get gold version number.
8722	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
8723	* configure: Rebuild.
8724
87252009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
8726
8727	* testsuite/lib/libgomp.exp: Add -B option for targets that
8728	use libgfortran.a%s in their specs.
8729
87302009-01-07  Jakub Jelinek  <jakub@redhat.com>
8731
8732	PR libgomp/38086
8733	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
8734	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
8735	HAVE_AS_SYMVER_DIRECTIVE is not defined.
8736	* configure: Regenerated.
8737	* config.h.in: Likewise.
8738
87392008-12-28  Jakub Jelinek  <jakub@redhat.com>
8740
8741	PR c++/38650
8742	* testsuite/libgomp.c/pr38650.c: New test.
8743	* testsuite/libgomp.c++/pr38650.C: New test.
8744
87452008-12-27  Jakub Jelinek  <jakub@redhat.com>
8746
8747	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
8748
87492008-12-26  Uros Bizjak  <ubizjak@gmail.com>
8750
8751	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
8752
87532008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8754
8755	* configure: Regenerate.
8756
87572008-12-08  Jakub Jelinek  <jakub@redhat.com>
8758
8759	PR middle-end/36802
8760	* testsuite/libgomp.c/pr36802-1.c: New test.
8761	* testsuite/libgomp.c/pr36802-2.c: New test.
8762	* testsuite/libgomp.c/pr36802-3.c: New test.
8763
87642008-12-01  Janis Johnson  <janis187@us.ibm.com>
8765
8766	PR libgomp/38270
8767	* config/linux/powerpc/mutex.h: New.
8768
87692008-12-01  Jakub Jelinek  <jakub@redhat.com>
8770
8771	PR c++/38257
8772	* testsuite/libgomp.c++/for-7.C: New test.
8773
8774	PR c++/38348
8775	* testsuite/libgomp.c++/for-6.C: New test.
8776
87772008-11-26  Janis Johnson  <janis187@us.ibm.com>
8778
8779	PR testsuite/28870
8780	* testsuite/lib/libgomp.exp: Include new timeout library files.
8781	(libgomp_target_compile): Set timeout value from new proc.
8782
87832008-11-13  Steve Ellcey  <sje@cup.hp.com>
8784
8785	PR libgomp/37938
8786	* config/linux/ia64/mutex.h: New.
8787
87882008-11-04  Tobias Burnus  <burnus@net-b.de>
8789
8790	PR libgomp/37935
8791	* libgomp.texi (Runtime library routines, environment variables):
8792	Update for OpenMP version 3.0.
8793
87942008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
8795	    Steve Ellcey  <sje@cup.hp.com>
8796
8797	* configure: Regenerate for new libtool.
8798	* Makefile.in: Ditto.
8799	* testsuite/Makefile.in: Ditto.
8800
88012008-09-19  Jakub Jelinek  <jakub@redhat.com>
8802	    Andreas Tobler  <a.tobler@schweiz.org>
8803
8804	* config/bsd/proc.c: New file.
8805	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
8806	* configure.ac: Check for header <sys/sysctl.h>
8807	* configure: Regenerate.
8808	* config.h.in: Likewise.
8809
88102008-09-05  Janis Johnson  <janis187@us.ibm.com>
8811
8812	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
8813
88142008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
8815
8816	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
8817	* Makefile.in: Regenerated.
8818	* testsuite/Makefile.in: Regenerated.
8819
88202008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
8821
8822	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8823	depend on blddir if blddir exists.
8824	(libgomp_target_compile): Likewise.
8825	* testsuite/libgomp.c++/c++.exp: Likewise.
8826	* testsuite/libgomp.fortran/fortran.exp: Likewise.
8827
88282008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8829
8830	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
8831	Do not list GPL as Invariant Section.
8832
88332008-07-28  Ilie Garbacea  <ilie@mips.com>
8834	    Chao-ying Fu  <fu@mips.com>
8835
8836	* configure.tgt: Enable futex for MIPS.
8837	* config/linux/mips/futex.h: New file.
8838
88392008-07-16  Jakub Jelinek  <jakub@redhat.com>
8840
8841	* team.c (gomp_team_end): Free team immediately if it has
8842	just one thread.
8843
88442008-07-08  David Edelsohn  <edelsohn@gnu.org>
8845
8846	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
8847	* testsuite/libgomp.fortran/fortran.exp: Same.
8848	* testsuite/libgomp.c/c.exp: Same.
8849	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
8850	directory to library path first.
8851
88522008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
8853
8854	* env.c (parse_stacksize): Add cast to avoid warning.
8855	(parse_spincount): Likewise.
8856
88572008-06-27  Jakub Jelinek  <jakub@redhat.com>
8858
8859	* testsuite/libgomp.c/loop-10.c: New test.
8860	* libgomp.c/loop-3.c (main): Add lastprivate clause.
8861	* libgomp.c++/loop-6.C (main): Likewise.
8862
8863	PR debug/36617
8864	* testsuite/libgomp.c/debug-1.c: New test.
8865
88662008-06-19  Jakub Jelinek  <jakub@redhat.com>
8867
8868	* testsuite/libgomp.c/nqueens-1.c: New test.
8869
8870	PR c++/36523
8871	* testsuite/libgomp.c++/task-7.C: New function.
8872
88732008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8874
8875	* configure: Regenerate.
8876
88772008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8878
8879	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
8880	mutex when HAVE_SYNC_BUILTINS isn't defined.
8881
88822008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8883
8884	* libgomp.texi (omp_test_lock): Fix typo.
8885
88862008-06-12  Tobias Burnus  <burnus@net-b.de>
8887
8888	* omp_lib.f90.in: Add "implicit none".
8889
88902008-06-12  Jakub Jelinek  <jakub@redhat.com>
8891
8892	PR middle-end/36506
8893	* testsuite/libgomp.c/reduction-5.c: New test.
8894
88952008-06-11  Jakub Jelinek  <jakub@redhat.com>
8896
8897	* libgomp.h (struct gomp_task): Add in_tied_task field.
8898	* task.c (gomp_init_task): Initialize it.
8899	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
8900	unconditionally.  Don't call gomp_team_barrier_wake if
8901	current task is implicit or if(0) from implicit and number of
8902	running tasks is equal to nthreads - 1.
8903
8904	PR libgomp/36471
8905	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
8906	omp_get_team_size_8): Fix pastos.
8907
8908	PR libgomp/36469
8909	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
8910	* configure: Regenerated.
8911	* config.h.in: Regenerated.
8912	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
8913	defined.
8914
89152008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
8916
8917	PR bootstrap/36452
8918	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
8919	(GOMP_loop_ull_dynamic_start): Likewise.
8920	(GOMP_loop_ull_guided_start): Likewise.
8921	(GOMP_loop_ull_ordered_static_start): Likewise.
8922	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
8923	(GOMP_loop_ull_ordered_guided_start): Likewise.
8924
89252008-06-06  Jakub Jelinek  <jakub@redhat.com>
8926	    Richard Henderson  <rth@redhat.com>
8927	    Ulrich Drepper  <drepper@redhat.com>
8928	    Jakob Blomer  <jakob.blomer@ira.uka.de>
8929
8930	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
8931	Substitute also OMP_*LOCK_25*.
8932	* configure: Regenerated.
8933	* config.h.in: Regenerated.
8934	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
8935	ptrlock.c and task.c.
8936	* Makefile.in: Regenerated.
8937	* testsuite/Makefile.in: Regenerated.
8938	* task.c: New file.
8939	* loop_ull.c: New file.
8940	* iter_ull.c: New file.
8941	* libgomp.h: Include ptrlock.h.
8942	(enum gomp_task_kind): New type.
8943	(struct gomp_team): Add task_lock, task_queue, task_count,
8944	task_running_count, single_count fields.  Add
8945	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
8946	Remove work_share_lock, generation_mask,
8947	oldest_live_gen, num_live_gen and init_work_shares fields, add
8948	work work_share_list_alloc, work_share_list_free and work_share_chunk
8949	fields.  Change work_shares from pointer to pointers into an array.
8950	Change ordered_release field into gomp_sem_t ** from flexible array
8951	member.  Add implicit_task and initial_work_shares fields.
8952	Move close to the end of the struct.
8953	(struct gomp_team_state): Add single_count, last_work_share,
8954	active_level and level fields, remove work_share_generation.
8955	(gomp_barrier_handle_tasks): New prototype.
8956	(gomp_finish_task): New inline function.
8957	(struct gomp_work_share): Move chunk_size, end, incr into
8958	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
8959	next_ll fields.  Reshuffle fields.  Add next_alloc,
8960	next_ws, next_free and inline_ordered_team_ids fields, change
8961	ordered_team_ids into pointer from flexible array member.
8962	Add mode field.  Put lock and next into a different cache line
8963	from most of the write-once fields.
8964	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
8965	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
8966	gomp_iter_ull_guided_next): New prototypes.
8967	(gomp_new_icv): New prototype.
8968	(struct gomp_thread): Add thread_pool and task fields.
8969	(struct gomp_thread_pool): New type.
8970	(gomp_new_team): New prototype.
8971	(gomp_team_start): Change type of last argument.
8972	(gomp_new_work_share): Removed.
8973	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
8974	(gomp_work_share_init_done): New static inline.
8975	(gomp_throttled_spin_count_var, gomp_available_cpus,
8976	gomp_managed_threads): New extern decls.
8977	(gomp_init_task): New prototype.
8978	(gomp_spin_count_var): New extern var decl.
8979	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
8980	or no alias support, or if not PIC.
8981	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
8982	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
8983	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
8984	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
8985	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
8986	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
8987	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
8988	gomp_test_nest_lock_25): New prototypes.
8989	(omp_lock_symver, strong_alias): Define.
8990	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
8991	decls.
8992	(gomp_end_task): New.
8993	(struct gomp_task_icv, gomp_global_icv): New.
8994	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
8995	(struct gomp_task): New.
8996	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
8997	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
8998	(gomp_icv): New.
8999	(gomp_schedule_type): Reorder enum to match
9000	omp_sched_t.
9001	* team.c (struct gomp_thread_start_data): Add thread_pool and task
9002	fields.
9003	(gomp_thread_start): Add gomp_team_barrier_wait call.
9004	For non-nested case remove clearing of docked thread thr fields.
9005	Use pool fields instead of global gomp_* variables.  Use
9006	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
9007	Create tasks for each member thread.
9008	(free_team): Only destroy team barrier, task_lock here and free it.
9009	(gomp_free_thread): Free last_team if non-NULL.
9010	(gomp_team_end): Call gomp_team_barrier_wait instead of
9011	gomp_barrier_wait.  For nested case call one extra
9012	gomp_barrier_wait.  Move here some destruction from free_team.
9013	Call free_team on pool->last_team if any, rather than freeing
9014	current team.  Destroy work_share_list_free_lock ifndef
9015	HAVE_SYNC_BUILTINS.
9016	(gomp_new_icv): New function.
9017	(gomp_threads, gomp_threads_size, gomp_threads_used,
9018	gomp_threads_dock): Removed.
9019	(gomp_thread_destructor): New variable.
9020	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
9021	functions.
9022	(gomp_team_start): Create new pool if current thread doesn't have
9023	one.  Use pool fields instead of global gomp_* variables.
9024	Initialize thread_pool field for new threads.  Clear single_count.
9025	Change last argument from ws to team, don't create
9026	new team, set ts.work_share to &team->work_shares[0] and clear
9027	ts.last_work_share.  Don't clear ts.work_share_generation.
9028	If number of threads changed, adjust atomically gomp_managed_threads.
9029	Use gomp_init_task instead of gomp_new_task,
9030	set thr->task to the corresponding implicit_task array entry.
9031	Create tasks for each member thread.  Initialize ts.level.
9032	(initialize_team): Call pthread_key_create on
9033	gomp_thread_destructor.
9034	(team_destructor): New function.
9035	(new_team): Removed.
9036	(gomp_new_team): New function.
9037	(free_team): Free gomp_work_share blocks chained through next_alloc,
9038	instead of freeing work_shares and destroying work_share_lock.
9039	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
9040	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
9041	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9042	of gomp_barrier_wait.
9043	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9044	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
9045	if gomp_work_share_start returned true.  Don't unlock ws->lock.
9046	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9047	of gomp_barrier_wait.
9048	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
9049	gomp_work_share_init_done if gomp_work_share_start returned true.
9050	Don't unlock ws->lock.
9051	* work.c: Include stddef.h.
9052	(free_work_share): Use work_share_list_free_lock instead
9053	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
9054	Call gomp_fini_work_share and then either free ws if orphaned, or
9055	put it into work_share_list_free list of the current team.
9056	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9057	functions.
9058	(gomp_work_share_start, gomp_work_share_end,
9059	gomp_work_share_end_nowait): Rewritten.
9060	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9061	(openmp_version): Set to 200805.
9062	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9063	omp_sched_guided, omp_sched_auto): New parameters.
9064	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9065	omp_set_max_active_levels, omp_get_max_active_levels,
9066	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9067	omp_get_active_level): New interfaces.
9068	* omp_lib.h.in (openmp_version): Set to 200805.
9069	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9070	omp_sched_guided, omp_sched_auto): New parameters.
9071	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9072	omp_set_max_active_levels, omp_get_max_active_levels,
9073	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9074	omp_get_active_level): New externals.
9075	* loop.c: Include limits.h.
9076	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9077	GFS_AUTO.
9078	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9079	Likewise.  Use gomp_icv.
9080	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9081	ts.static_trip here.
9082	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9083	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
9084	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9085	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
9086	don't unlock ws->lock, otherwise lock it.
9087	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9088	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
9089	(gomp_parallel_loop_start): Call gomp_new_team instead of
9090	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
9091	Adjust gomp_team_start caller.  Pass 0 as second argument to
9092	gomp_resolve_num_threads.
9093	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9094	If adding ws->chunk_size nthreads + 1 times after end won't
9095	overflow, set ws->mode to 1.
9096	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9097	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9098	GOMP_loop_ull_ordered_static_start,
9099	GOMP_loop_ull_ordered_dynamic_start,
9100	GOMP_loop_ull_ordered_guided_start,
9101	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9102	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9103	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9104	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9105	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9106	prototypes.
9107	* libgomp.map: Export lock routines also @@OMP_2.0.
9108	(GOMP_loop_ordered_dynamic_first,
9109	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9110	GOMP_loop_ordered_static_first): Remove.
9111	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9112	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9113	GOMP_loop_ull_ordered_dynamic_next,
9114	GOMP_loop_ull_ordered_dynamic_start,
9115	GOMP_loop_ull_ordered_guided_next,
9116	GOMP_loop_ull_ordered_guided_start,
9117	GOMP_loop_ull_ordered_runtime_next,
9118	GOMP_loop_ull_ordered_runtime_start,
9119	GOMP_loop_ull_ordered_static_next,
9120	GOMP_loop_ull_ordered_static_start,
9121	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9122	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9123	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9124	(omp_set_schedule, omp_get_schedule,
9125	omp_get_thread_limit, omp_set_max_active_levels,
9126	omp_get_max_active_levels, omp_get_level,
9127	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9128	omp_set_schedule_, omp_set_schedule_8_,
9129	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9130	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9131	omp_get_max_active_levels_, omp_get_level_,
9132	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9133	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9134	New exports @@OMP_3.0.
9135	* omp.h.in (omp_sched_t): New type.
9136	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9137	omp_set_max_active_levels, omp_get_max_active_levels,
9138	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9139	omp_get_active_level): New prototypes.
9140	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9141	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9142	gomp_thread_limit_var, gomp_remaining_threads_count,
9143	gomp_remaining_threads_lock): New variables.
9144	(parse_spincount): New function.
9145	(initialize_env): Call gomp_init_num_threads unconditionally.
9146	Initialize gomp_available_cpus.  Call parse_spincount,
9147	initialize gomp_{,throttled_}spin_count_var
9148	depending on presence and value of OMP_WAIT_POLICY and
9149	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
9150	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9151	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
9152	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
9153	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
9154	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9155	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9156	(gomp_global_icv): New.
9157	(parse_schedule): Use it.  Parse "auto".
9158	(omp_set_num_threads): Use gomp_icv.
9159	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9160	Likewise.
9161	(omp_get_max_threads): Move from parallel.c.
9162	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9163	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9164	add ialias.
9165	(parse_stacksize, parse_wait_policy): New functions.
9166	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
9167	both wrappers for compatibility and new locks.
9168	(omp_set_schedule, omp_get_schedule,
9169	omp_get_thread_limit, omp_set_max_active_levels,
9170	omp_get_max_active_levels, omp_get_level,
9171	omp_get_ancestor_thread_num, omp_get_team_size,
9172	omp_get_active_level): New ialias_redirect.
9173	(omp_set_schedule_, omp_set_schedule_8_,
9174	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9175	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9176	omp_get_max_active_levels_, omp_get_level_,
9177	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9178	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9179	New functions.
9180	* parallel.c: Include limits.h.
9181	(gomp_resolve_num_threads): Add count argument.  Rewritten.
9182	(GOMP_parallel_start): Call gomp_new_team and pass that as last
9183	argument to gomp_team_start.  Pass 0 as second argument to
9184	gomp_resolve_num_threads.
9185	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
9186	if gomp_thread_limit_var != ULONG_MAX.
9187	(omp_in_parallel): Implement using ts.active_level.
9188	(omp_get_max_threads): Move to env.c.
9189	(omp_get_level, omp_get_ancestor_thread_num,
9190	omp_get_team_size, omp_get_active_level): New functions,
9191	add ialias.
9192	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9193	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
9194	gomp_iter_dynamic_next instead of the _locked variant and don't take
9195	lock around it, otherwise acquire it before calling
9196	gomp_iter_dynamic_next_locked.
9197	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9198	gomp_iter_dynamic_next instead of the _locked variant and don't take
9199	lock around it.
9200	(GOMP_parallel_sections_start): Call gomp_new_team instead of
9201	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
9202	Adjust gomp_team_start caller.  Pass count as second argument to
9203	gomp_resolve_num_threads, don't adjust num_threads after the call.
9204	Use gomp_icv.
9205	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9206	ws->chunk_size by incr.
9207	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
9208	code.
9209	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9210	types.
9211	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9212	(omp_check_defines): Check even the compat defines.
9213	* config/linux/ptrlock.c: New file.
9214	* config/linux/ptrlock.h: New file.
9215	* config/linux/wait.h: New file.
9216	* config/posix/ptrlock.c: New file.
9217	* config/posix/ptrlock.h: New file.
9218	* config/linux/bar.h (gomp_team_barrier_wait,
9219	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9220	(gomp_team_barrier_set_task_pending,
9221	gomp_team_barrier_clear_task_pending,
9222	gomp_team_barrier_set_waiting_for_tasks,
9223	gomp_team_barrier_waiting_for_tasks,
9224	gomp_team_barrier_done): New inlines.
9225	(gomp_barrier_t): Rewritten.
9226	(gomp_barrier_state_t): New typedef.
9227	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9228	gomp_barrier_wait_start): Rewritten.
9229	(gomp_barrier_wait_end): Change second argument to
9230	gomp_barrier_state_t.
9231	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9232	inlines.
9233	* config/linux/bar.c: Include wait.h instead of libgomp.h and
9234	futex.h.
9235	(gomp_barrier_wait_end): Rewritten.
9236	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9237	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9238	* config/posix/bar.h (gomp_barrier_t): Add generation field.
9239	(gomp_barrier_state_t): New typedef.
9240	(gomp_team_barrier_wait,
9241	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9242	(gomp_barrier_wait_start): Or all but low 2 bits from generation
9243	into the return value.  Return gomp_barrier_state_t.
9244	(gomp_team_barrier_set_task_pending,
9245	gomp_team_barrier_clear_task_pending,
9246	gomp_team_barrier_set_waiting_for_tasks,
9247	gomp_team_barrier_waiting_for_tasks,
9248	gomp_team_barrier_done): New inlines.
9249	(gomp_barrier_wait_end): Change second argument to
9250	gomp_barrier_state_t.
9251	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9252	inlines.
9253	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
9254	(gomp_barrier_wait_end): Change second argument to
9255	gomp_barrier_state_t.
9256	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9257	gomp_team_barrier_wake): New functions.
9258	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
9259	futex.h.
9260	(gomp_futex_wake, gomp_futex_wait): New variables.
9261	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9262	* config/linux/lock.c: Rewrite to make locks task owned,
9263	for backwards compatibility provide the old entrypoints
9264	if symbol versioning.  Include wait.h instead of libgomp.h and
9265	futex.h.
9266	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9267	* config/posix95/lock.c: Rewrite to make locks task owned,
9268	for backwards compatibility provide the old entrypoints
9269	if symbol versioning.
9270	* config/posix/lock.c: Rewrite to make locks task owned,
9271	for backwards compatibility provide the old entrypoints
9272	if symbol versioning.
9273	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9274	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9275	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
9276	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9277	(sys_futex0): Return error code.
9278	(futex_wake, futex_wait): If ENOSYS was returned, clear
9279	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9280	(cpu_relax, atomic_write_barrier): New static inlines.
9281	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9282	(futex_wake, futex_wait): If ENOSYS was returned, clear
9283	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9284	(cpu_relax, atomic_write_barrier): New static inlines.
9285	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9286	(sys_futex0): Return error code.
9287	(futex_wake, futex_wait): If ENOSYS was returned, clear
9288	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9289	(cpu_relax, atomic_write_barrier): New static inlines.
9290	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9291	(sys_futex0): Return error code.
9292	(futex_wake, futex_wait): If ENOSYS was returned, clear
9293	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9294	(cpu_relax, atomic_write_barrier): New static inlines.
9295	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9296	(sys_futex0): Return error code.
9297	(futex_wake, futex_wait): If ENOSYS was returned, clear
9298	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9299	(cpu_relax, atomic_write_barrier): New static inlines.
9300	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9301	(sys_futex0): Return error code.
9302	(futex_wake, futex_wait): If ENOSYS was returned, clear
9303	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9304	(cpu_relax, atomic_write_barrier): New static inlines.
9305	* config/linux/sem.c: Include wait.h instead of libgomp.h and
9306	futex.h.
9307	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9308	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9309	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9310	types.
9311	(omp_nest_lock_t): Change owner into void *, add lock field.
9312	* config/posix95/omp-lock.h: Include semaphore.h.
9313	(omp_lock_25_t, omp_nest_lock_25_t): New types.
9314	(omp_lock_t): Use sem_t instead of mutex if semaphores
9315	aren't broken.
9316	(omp_nest_lock_t): Likewise.  Change owner to void *.
9317	* config/posix/omp-lock.h: Include semaphore.h.
9318	(omp_lock_25_t, omp_nest_lock_25_t): New types.
9319	(omp_lock_t): Use sem_t instead of mutex if semaphores
9320	aren't broken.
9321	(omp_nest_lock_t): Likewise.  Add owner field.
9322
93232008-06-06  Jakub Jelinek  <jakub@redhat.com>
9324
9325	* testsuite/libgomp.c/collapse-1.c: New test.
9326	* testsuite/libgomp.c/collapse-2.c: New test.
9327	* testsuite/libgomp.c/collapse-3.c: New test.
9328	* testsuite/libgomp.c/icv-1.c: New test.
9329	* testsuite/libgomp.c/icv-2.c: New test.
9330	* testsuite/libgomp.c/lib-2.c: New test.
9331	* testsuite/libgomp.c/lock-1.c: New test.
9332	* testsuite/libgomp.c/lock-2.c: New test.
9333	* testsuite/libgomp.c/lock-3.c: New test.
9334	* testsuite/libgomp.c/loop-4.c: New test.
9335	* testsuite/libgomp.c/loop-5.c: New test.
9336	* testsuite/libgomp.c/loop-6.c: New test.
9337	* testsuite/libgomp.c/loop-7.c: New test.
9338	* testsuite/libgomp.c/loop-8.c: New test.
9339	* testsuite/libgomp.c/loop-9.c: New test.
9340	* testsuite/libgomp.c/nested-3.c: New test.
9341	* testsuite/libgomp.c/nestedfn-6.c: New test.
9342	* testsuite/libgomp.c/sort-1.c: New test.
9343	* testsuite/libgomp.c/task-1.c: New test.
9344	* testsuite/libgomp.c/task-2.c: New test.
9345	* testsuite/libgomp.c/task-3.c: New test.
9346	* testsuite/libgomp.c/task-4.c: New test.
9347	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9348	to C++ testsuite default compiler options.
9349	* testsuite/libgomp.c++/collapse-1.C: New test.
9350	* testsuite/libgomp.c++/collapse-2.C: New test.
9351	* testsuite/libgomp.c++/ctor-10.C: New test.
9352	* testsuite/libgomp.c++/for-1.C: New test.
9353	* testsuite/libgomp.c++/for-2.C: New test.
9354	* testsuite/libgomp.c++/for-3.C: New test.
9355	* testsuite/libgomp.c++/for-4.C: New test.
9356	* testsuite/libgomp.c++/for-5.C: New test.
9357	* testsuite/libgomp.c++/loop-8.C: New test.
9358	* testsuite/libgomp.c++/loop-9.C: New test.
9359	* testsuite/libgomp.c++/loop-10.C: New test.
9360	* testsuite/libgomp.c++/task-1.C: New test.
9361	* testsuite/libgomp.c++/task-2.C: New test.
9362	* testsuite/libgomp.c++/task-3.C: New test.
9363	* testsuite/libgomp.c++/task-4.C: New test.
9364	* testsuite/libgomp.c++/task-5.C: New test.
9365	* testsuite/libgomp.c++/task-6.C: New test.
9366	* testsuite/libgomp.fortran/allocatable1.f90: New test.
9367	* testsuite/libgomp.fortran/allocatable2.f90: New test.
9368	* testsuite/libgomp.fortran/allocatable3.f90: New test.
9369	* testsuite/libgomp.fortran/allocatable4.f90: New test.
9370	* testsuite/libgomp.fortran/collapse1.f90: New test.
9371	* testsuite/libgomp.fortran/collapse2.f90: New test.
9372	* testsuite/libgomp.fortran/collapse3.f90: New test.
9373	* testsuite/libgomp.fortran/collapse4.f90: New test.
9374	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
9375	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
9376	* testsuite/libgomp.fortran/lib4.f90: New test.
9377	* testsuite/libgomp.fortran/lock-1.f90: New test.
9378	* testsuite/libgomp.fortran/lock-2.f90: New test.
9379	* testsuite/libgomp.fortran/nested1.f90: New test.
9380	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
9381	* testsuite/libgomp.fortran/strassen.f90: New test.
9382	* testsuite/libgomp.fortran/tabs1.f90: New test.
9383	* testsuite/libgomp.fortran/tabs2.f: New test.
9384	* testsuite/libgomp.fortran/task1.f90: New test.
9385	* testsuite/libgomp.fortran/task2.f90: New test.
9386	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9387	* testsuite/libgomp.fortran/vla5.f90: Likewise.
9388	* testsuite/libgomp.c/pr26943-2.c: Likewise.
9389	* testsuite/libgomp.c/pr26943-3.c: Likewise.
9390	* testsuite/libgomp.c/pr26943-4.c: Likewise.
9391
93922008-05-23  Jakub Jelinek  <jakub@redhat.com>
9393
9394	PR c++/36308
9395	* testsuite/libgomp.c++/ctor-11.C: New test.
9396	* testsuite/libgomp.c++/ctor-12.C: New test.
9397
93982008-05-15  Janis Johnson  <janis187@us.ibm.com>
9399
9400	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9401
94022008-05-07  Jakub Jelinek  <jakub@redhat.com>
9403
9404	PR middle-end/36106
9405	* testsuite/libgomp.c/atomic-5.c: New test.
9406	* testsuite/libgomp.c/atomic-6.c: New test.
9407	* testsuite/libgomp.c/autopar-1.c: New test.
9408
94092008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9410
9411	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9412	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9413	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9414	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9415	* configure: Regenerate.
9416	* Makefile.in, testsuite/Makefile.in: Likewise.
9417
94182008-04-18  Paolo Bonzini  <bonzini@gnu.org>
9419
9420	PR bootstrap/35457
9421	* aclocal.m4: Regenerate.
9422	* configure: Regenerate.
9423
94242008-03-18  Jakub Jelinek  <jakub@redhat.com>
9425
9426	PR middle-end/35611
9427	* testsuite/libgomp.c/atomic-4.c: New test.
9428
9429	PR libgomp/35625
9430	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9431	(gomp_iter_guided_next): Likewise.
9432	* testsuite/libgomp.c/pr35625.c: New test.
9433
94342008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9435
9436	* aclocal.m4: Regenerate.
9437	* configure: Likewise.
9438	* Makefile.in: Likewise.
9439	* testsuite/Makefile.in: Likewise.
9440
94412008-03-13  Jakub Jelinek  <jakub@redhat.com>
9442
9443	PR middle-end/35185
9444	* testsuite/libgomp.c++/pr35185.C: New test.
9445
94462008-03-12  Jakub Jelinek  <jakub@redhat.com>
9447
9448	PR middle-end/35549
9449	* testsuite/libgomp.c/pr35549.c: New test.
9450
94512008-03-06  Jakub Jelinek  <jakub@redhat.com>
9452
9453	* testsuite/libgomp.c/atomic-3.c: New test.
9454
94552008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9456
9457	PR fortran/33197
9458	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
9459	.F08 file suffixes.
9460
94612008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
9462
9463	PR libgomp/33131
9464	* configure.ac: Add ACX_HEADER_STRING.
9465	* env.c: Include strings.h.
9466	* aclocal.m4: Regenerate.
9467	* config.h.in: Regenerate.
9468	* configure: Regenerate.
9469	* Makefile.in: Regenerate.
9470	* testsuite/Makefile.in: Regenerate.
9471
94722008-02-15  Jakub Jelinek  <jakub@redhat.com>
9473
9474	PR middle-end/35196
9475	* testsuite/libgomp.c/pr35196.c: New test.
9476
9477	PR middle-end/35130
9478	* testsuite/libgomp.fortran/pr35130.f90: New test.
9479	* testsuite/libgomp.c/pr35130.c: New test.
9480
94812008-01-25  Jakub Jelinek  <jakub@redhat.com>
9482
9483	PR middle-end/33880
9484	* testsuite/libgomp.c/pr33880.c: New test.
9485	* testsuite/libgomp.fortran/pr33880.f90: New test.
9486
94872008-01-24  David Edelsohn  <edelsohn@gnu.org>
9488
9489	* configure: Regenerate.
9490
94912008-01-08  Jakub Jelinek  <jakub@redhat.com>
9492
9493	* configure.ac: Move futex checking into ../config/futex.m4.
9494	* configure: Rebuilt.
9495	* aclocal.m4: Rebuilt.
9496	* Makefile.in: Rebuilt.
9497
9498	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9499	2007-10-15 ../config/tls.m4 change.
9500
95012007-12-19  Jakub Jelinek  <jakub@redhat.com>
9502
9503	PR c++/34513
9504	* testsuite/libgomp.c/pr34513.c: New test.
9505	* testsuite/libgomp.c++/pr34513.C: New test.
9506
95072007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
9508
9509	PR target/32765
9510	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9511
95122007-12-04  Jakub Jelinek  <jakub@redhat.com>
9513
9514	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
9515
95162007-12-03  Jakub Jelinek  <jakub@redhat.com>
9517
9518	* testsuite/libgomp.c/private-1.c: New test.
9519
95202007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
9521	    Paolo Bonzini  <bonzini@gnu.org>
9522
9523	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
9524	instead of 'VPATH ='.
9525	* Makefile.in: Regenerate.
9526
95272007-11-23  Matthias Klose  <doko@ubuntu.com>
9528
9529	* configure.ac: Adjust makeinfo version check.
9530	* configure: Regenerate.
9531
95322007-11-10  Jakub Jelinek  <jakub@redhat.com>
9533
9534	PR fortran/34020
9535	* testsuite/libgomp.fortran/pr34020.f90: New test.
9536
95372007-11-06  Jakub Jelinek  <jakub@redhat.com>
9538
9539	PR c++/33894
9540	* testsuite/libgomp.c++/atomic-1.C: New test.
9541
95422007-10-25  Jakub Jelinek  <jakub@redhat.com>
9543
9544	PR libgomp/33275
9545	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9546	Make x and y integers rather than (implicit) reals.  Add private (j)
9547	clause to the last omp parallel.
9548
95492007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
9550
9551	* configure: Regenerate following changes to ../config/tls.m4.
9552
95532007-09-28  Jakub Jelinek  <jakub@redhat.com>
9554
9555	* testsuite/libgomp.fortran/stack.f90: New test.
9556
95572007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
9558
9559	* config/mingw32/proc.c: New file.
9560
95612007-09-05  Uros Bizjak  <ubizjak@gmail.com>
9562
9563	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9564	(main): Use __get_cpuid to get i386 target fetaures.
9565	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9566	(main): Use __get_cpuid to get x86_64 target fetaures.
9567
95682007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
9569
9570	PR target/32765
9571	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9572	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9573
95742007-07-12  Jakub Jelinek  <jakub@redhat.com>
9575
9576	PR fortran/32550
9577	* testsuite/libgomp.fortran/pr32550.f90: New test.
9578	* testsuite/libgomp.fortran/crayptr2.f90: New test.
9579
95802007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
9581
9582	* aclocal.m4: Regenerated.
9583
95842007-07-05  Tobias Burnus  <burnus@net-b.de>
9585
9586	PR fortran/32359
9587	* testsuite/libgomp.fortran/pr32359.f90: New.
9588
95892007-07-02  Jakub Jelinek  <jakub@redhat.com>
9590
9591	PR libgomp/32468
9592	* sections.c (GOMP_parallel_sections_start): Only decrease
9593	number of threads to COUNT if dyn_var is true.
9594	* testsuite/libgomp.c/pr32468.c: New test.
9595
95962007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9597
9598	PR libgomp/26308
9599	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9600
96012007-06-21  Jakub Jelinek  <jakub@redhat.com>
9602
9603	PR middle-end/32362
9604	* testsuite/libgomp.c/pr32362-1.c: New test.
9605	* testsuite/libgomp.c/pr32362-2.c: New test.
9606	* testsuite/libgomp.c/pr32362-3.c: New test.
9607
96082007-06-07  Jakub Jelinek  <jakub@redhat.com>
9609
9610	* team.c (gomp_team_start): Fix setting up thread_attr
9611	stack size.
9612
96132007-06-02  Paolo Bonzini  <bonzini@gnu.org>
9614
9615	* configure: Regenerate.
9616
96172007-05-23  Steve Ellcey  <sje@cup.hp.com>
9618
9619	* Makefile.in: Regenerate.
9620	* configure: Regenerate.
9621	* aclocal.m4: Regenerate.
9622	* testsuite/Makefile.in: Regenerate.
9623
96242007-05-04  Jakub Jelinek  <jakub@redhat.com>
9625
9626	* config/linux/proc.c: New file.
9627
9628	PR libgomp/28482
9629	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9630
96312007-04-19  Daniel Franke  <franke.daniel@gmail.com>
9632
9633	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9634
96352007-04-16  Matthias Klose  <doko@debian.org>
9636
9637	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9638	flags if not building with -m64.
9639	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9640	flag for i?86-*-* targets, if current target matches -m64.
9641
96422007-04-14  Steve Ellcey  <sje@cup.hp.com>
9643
9644	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9645	* Makefile.in: Regenerate.
9646
96472007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9648
9649	PR testsuite/31369
9650	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9651	ld_library_path.
9652	* testsuite/libgomp.fortran/fortran.exp: Likewise.
9653
96542007-04-04  Jakub Jelinek  <jakub@redhat.com>
9655
9656	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9657	decls.
9658	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9659	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9660	(parse_affinity): New function.
9661	(initialize_env): Call it and gomp_init_affinity.
9662	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9663	create new pthread_attr_t and call gomp_init_thread_affinity
9664	on it for each thread before passing the attribute to pthread_create.
9665	* config/linux/affinity.c: New file.
9666	* config/posix/affinity.c: New file.
9667	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9668	* configure: Rebuilt.
9669	* config.h.in: Rebuilt.
9670	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9671	* Makefile.in: Rebuilt.
9672
96732007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
9674
9675	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9676	*-*-darwin*.
9677	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9678	and use it if found.
9679
96802007-03-18  Uros Bizjak  <ubizjak@gmail.com>
9681
9682	* testsuite/config/default.exp: New file.
9683	* testsuite/lib/libgomp.exp: New file.
9684	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9685	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9686	load_lib *, load_gcc_lib *): Move to libgomp.exp.
9687	(libgomp_load): Remove.
9688	* testsuite/lib/libgomp.exp (libgomp_init): Compute
9689	always_ld_library_path, not ld_library_path.  Set additional_flags
9690	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
9691	(target_compile): Do not call libgomp_init.  Append lang_library_path
9692	and lang_link_flags to options.
9693	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
9694	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
9695	here.
9696	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
9697	always_ld_library_path.  Set LD_LIBRARY_PATH here.
9698	* testsuite/libgomp.fortran/fortran.exp: Ditto.
9699	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
9700	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
9701	CX8 flag.
9702	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
9703	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
9704	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
9705	* testsuite/libgomp.c/pr29947-1.c: Ditto.
9706	* testsuite/libgomp.c/atomic-10.c: Ditto.
9707
97082007-03-21  Jakub Jelinek  <jakub@redhat.com>
9709
9710	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
9711	dg-final cleanup-modules line.
9712	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
9713	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
9714	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
9715	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
9716	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
9717	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
9718	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
9719
97202007-03-18  Andreas Schwab  <schwab@suse.de>
9721
9722	* acinclude.m4: Adjust regular expression for ld version
9723	extraction.
9724	* configure: Regenerate.
9725
97262007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
9727
9728	* Makefile.am: Add install-pdf target as copied from
9729	automake v1.10 rules.
9730	* Makefile.in: Regenerate
9731
97322007-02-07  Jakub Jelinek  <jakub@redhat.com>
9733
9734	PR libgomp/28486
9735	* configure: Regenerate.
9736
9737	PR c++/30703
9738	* testsuite/libgomp.c++/pr30703.C: New test.
9739
97402007-02-02  Jakub Jelinek  <jakub@redhat.com>
9741
9742	Revert:
9743	2006-07-05  Eric Christopher  <echristo@apple.com>
9744	* configure.ac: Depend addition of -pthread on host OS.
9745	* configure: Regenerate.
9746
97472007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9748
9749	* libgomp.texi: Fix spacing after abbreviations.
9750
97512007-01-31  Daniel Franke <franke.daniel@gmail.com>
9752
9753	PR libgomp/30546
9754	* configure.ac: Add check for makeinfo
9755	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
9756	if an appropiate version of makeinfo is found.
9757	* aclocal.m4: Regenerated.
9758	* configure: Regenerated.
9759	* Makefile.in: Regenerated.
9760	* testsuite/Makefile.in: Regenerated.
9761
97622007-01-29  Daniel Franke <franke.daniel@gmail.com>
9763
9764	PR libgomp/30540
9765	* libgomp.texi: More about implementation-dependent settings.
9766
97672007-01-26  Tobias Burnus  <burnus@net-b.de>
9768
9769	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
9770
97712007-01-24  Jakub Jelinek  <jakub@redhat.com>
9772
9773	PR middle-end/30494
9774	* testsuite/libgomp.c/pr30494.c: New test.
9775
97762007-01-15  Tom Tromey  <tromey@redhat.com>
9777
9778	* configure: Rebuilt.
9779	* configure.ac: Fixed comment.
9780
97812007-01-14  Daniel Franke  <franke.daniel@gmail.com>
9782
9783	* libgomp.texi: Document implementation specific default values of
9784	environment variables.
9785
97862006-12-21  Daniel Franke  <franke.daniel@gmail.com>
9787
9788	PR libgomp/28209
9789	* libgomp.texi: New file.
9790	* configure.ac: Add --enable-generated-files-in-srcdir option.
9791	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
9792	files to srcdir.
9793	* Makefile.in: Regenerated.
9794	* config.h.in: Regenerated.
9795	* testsuite/Makefile.in: Regenerated.
9796	* NOTES: Removed.
9797
97982006-12-04  Daniel Franke  <franke.daniel@gmail.com>
9799
9800	PR libgomp/29949
9801	* env.c (omp_set_num_threads): Set illegal thread count to 1.
9802
98032006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
9804
9805	* configure: Regenerate.
9806
98072006-12-04  Jakub Jelinek  <jakub@redhat.com>
9808
9809	PR libgomp/29947
9810	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
9811	start if there shouldn't be any loop iterations.
9812	(gomp_loop_ordered_static_start): Remove start == end test.
9813	* testsuite/libgomp.c/pr29947-1.c: New test.
9814	* testsuite/libgomp.c/pr29947-2.c: New test.
9815
98162006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
9817
9818	* configure.tgt: Force initial-exec TLS model on Linux only.
9819
98202006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
9821
9822	* configure: Regenerated.
9823
98242006-11-09  Uros Bizjak  <ubizjak@gmail.com>
9825
9826	* env.c (parse_schedule): Reject out of range values.
9827	(parse_unsigned_long): Reject out of range, negative or zero values.
9828
98292006-10-29  Jakub Jelinek  <jakub@redhat.com>
9830
9831	PR fortran/29629
9832	* testsuite/libgomp.fortran/pr29629.f90: New test.
9833
98342006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
9835
9836	PR libgomp/29494
9837	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
9838	* config/posix95: New directory.
9839	* config/posix95/omp-lock.h: New file.
9840	* config/posix95/lock.c: Likewise.
9841
98422006-10-14  Geoffrey Keating  <geoffk@apple.com>
9843
9844	* aclocal.m4: Regenerate.
9845	* configure: Regenerate.
9846
98472006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
9848
9849	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
9850	'<' to '<='.
9851
98522006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
9853
9854	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
9855	test.
9856	* configure: Regenerate.
9857	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
9858
98592006-09-26  Jakub Jelinek  <jakub@redhat.com>
9860
9861	PR middle-end/25261
9862	PR middle-end/28790
9863	* testsuite/libgomp.c/nestedfn-4.c: New test.
9864	* testsuite/libgomp.c/nestedfn-5.c: New test.
9865	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
9866
9867	PR fortran/29097
9868	* testsuite/libgomp.fortran/condinc1.f: New test.
9869	* testsuite/libgomp.fortran/condinc2.f: New test.
9870	* testsuite/libgomp.fortran/condinc3.f90: New test.
9871	* testsuite/libgomp.fortran/condinc4.f90: New test.
9872	* testsuite/libgomp.fortran/condinc1.inc: New file.
9873
98742006-09-18  Tom Tromey  <tromey@redhat.com>
9875
9876	* configure: Rebuilt.
9877
98782006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
9879
9880	PR c/28768
9881	PR preprocessor/14634
9882	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
9883	to AC_DEFINE.
9884	* configure: Regenerate.
9885
98862006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
9887
9888	* testsuite/libgomp.fortran/reduction3.f90: Change
9889	-2147483648 to -huge(i)-1 to avoid overflow.
9890	* testsuite/libgomp.fortran/reduction4.f90: Change
9891	Z'ffffffff' to not(0) to avoid overflow.
9892
98932006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
9894
9895	PR libgomp/25938
9896	* Makefile.am (libsubincludedir): New.
9897	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
9898	* Makefile.in: Regenerate.
9899
99002006-08-17  Jakub Jelinek  <jakub@redhat.com>
9901
9902	PR libgomp/28725
9903	* env.c: Include ctype.h.
9904	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
9905	leading and/or trailing whitespace and compare strings case
9906	insensitively.
9907
99082006-07-16  Jakub Jelinek  <jakub@redhat.com>
9909
9910	PR fortran/28390
9911	* testsuite/libgomp.fortran/pr28390.f: New test.
9912
99132006-07-05  Eric Christopher  <echristo@apple.com>
9914
9915	* configure.ac: Depend addition of -pthread on host OS.
9916	* configure: Regenerate.
9917
99182006-06-21  Jakub Jelinek  <jakub@redhat.com>
9919
9920	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
9921	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
9922	defined.
9923
99242006-06-20  Jakub Jelinek  <jakub@redhat.com>
9925
9926	PR libgomp/26175
9927	PR libgomp/26477
9928	* configure.ac: If neither --enable-linux-futex nor
9929	--disable-linux-futex is passed, determine the default by checking
9930	for compiling and/or running against NPTL.  With --enable-linux-futex,
9931	check if SYS_gettid and SYS_futex are defined.
9932	* configure: Rebuilt.
9933
99342006-06-14  Richard Henderson  <rth@redhat.com>
9935
9936	PR libgomp/28008
9937	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
9938	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
9939
99402006-06-09  Richard Henderson  <rth@redhat.com>
9941
9942	* env.c (gomp_nthreads_var): Change to unsigned long.
9943	(gomp_run_sched_chunk): Likewise.
9944	(parse_unsigned_long): Rename from parse_num_threads and generalize.
9945	(initialize_env): Initialize gomp_thread_attr.
9946	* libgomp.h (gomp_nthreads_var): Update decl.
9947	(gomp_run_sched_chunk): Likewise.
9948	(gomp_thread_attr): Declare.
9949	* team.c (gomp_thread_attr): Export.
9950	(initialize_team): Don't initialize it.
9951
99522006-06-09  Jakub Jelinek  <jakub@redhat.com>
9953
9954	PR fortran/27916
9955	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
9956	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
9957
99582006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
9959
9960	* config/mingw32/time.c: New file.
9961	* configure.tgt: Use it.
9962
99632006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
9964
9965	* Makefile.am: Add install-html target. Add install-html to .PHONY
9966	* Makefile.in: Regenerate.
9967
99682006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9969
9970	PR libgomp/27612
9971	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
9972	* testsuite/libgomp.c/critical-1.c: Likewise.
9973	* testsuite/libgomp.c/loop-1.c: Likewise.
9974	* testsuite/libgomp.c/loop-2.c: Likewise.
9975	* testsuite/libgomp.c/single-1.c: Likewise.
9976	* testsuite/libgomp.c/ordered-1.c: Likewise.
9977	* testsuite/libgomp.c/ordered-2.c: Likewise.
9978
99792006-05-15  Jakub Jelinek  <jakub@redhat.com>
9980
9981	PR middle-end/27416
9982	* libgomp.fortran/pr27416-1.f90: New test.
9983
99842006-05-03  Jakub Jelinek  <jakub@redhat.com>
9985
9986	PR fortran/27395
9987	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
9988	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
9989
99902006-05-02  Jakub Jelinek  <jakub@redhat.com>
9991
9992	PR c++/26943
9993	* testsuite/libgomp.c/pr26943-1.c: New test.
9994	* testsuite/libgomp.c/pr26943-2.c: New test.
9995	* testsuite/libgomp.c/pr26943-3.c: New test.
9996	* testsuite/libgomp.c/pr26943-4.c: New test.
9997	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
9998	* testsuite/libgomp.c++/pr26943.C: New test.
9999
100002006-05-02  Jakub Jelinek  <jakub@redhat.com>
10001
10002	PR middle-end/27337
10003	* testsuite/libgomp.c++/pr27337.C: New test.
10004
100052006-04-26  Jakub Jelinek  <jakub@redhat.com>
10006
10007	PR c/26171
10008	* testsuite/libgomp.c/pr26171.c: New test.
10009
100102006-04-25  Richard Henderson  <rth@redhat.com>
10011
10012	PR libgomp/25865
10013	* configure.ac: Use GCC_CHECK_TLS.
10014	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
10015	* Makefile.in, aclocal.m4, configure: Regenerate.
10016
100172006-04-10  Matthias Klose  <doko@debian.org>
10018
10019	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
10020	directory names containing underscores.
10021
100222006-03-21  Jakub Jelinek  <jakub@redhat.com>
10023
10024	PR c++/26691
10025	* testsuite/libgomp.c++/pr26691.C: New test.
10026
100272006-03-13  Jakub Jelinek  <jakub@redhat.com>
10028
10029	* testsuite/libgomp.fortran/retval2.f90: New test.
10030
100312006-03-09  Diego Novillo  <dnovillo@redhat.com>
10032
10033	* testsuite/libgomp.c++: New directory.
10034
100352006-02-25  Shantonu Sen  <ssen@opendarwin.org>
10036
10037	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10038	* config/posix/sem.c: Implement the above.
10039
100402006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
10041
10042	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10043	define HAVE_BROKEN_POSIX_SEMAPHORES.
10044	* configure: Rebuilt.
10045	* config.h.in: Rebuilt.
10046
100472006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
10048
10049	PR bootstrap/26161
10050	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10051	for the other pthread check.
10052	* configure: Regenerate.
10053	* config.h.in: Regenerate.
10054
100552006-02-15  Jakub Jelinek  <jakub@redhat.com>
10056
10057	PR libgomp/25938
10058	PR libgomp/25984
10059	* Makefile.am (fincludedir): New variable.
10060	(nodist_include_HEADERS): Remove Fortran files.
10061	(nodist_finclude_HEADERS): New variable.
10062	* Makefile.in: Regenerated.
10063
100642006-02-13  Jakub Jelinek  <jakub@redhat.com>
10065
10066	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10067	Remove tests for returning assumed character length arrays.
10068
100692006-02-12  Roger Sayle  <roger@eyesopen.com>
10070	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
10071
10072	PR libgomp/25936
10073	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
10074
100752006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
10076
10077	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10078
100792006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
10080
10081	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10082	part of LD_LIBRARY_PATH manually.
10083
100842006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
10085
10086	PR libgomp/25852
10087	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
10088	libgomp_init.
10089
100902005-01-25  Paolo Bonzini  <bonzini@gnu.org>
10091
10092	PR libgomp/25884
10093	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10094	* configure.ac (PERL): Don't set.
10095	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10096	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10097	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10098	* omp.h.in: Wrap the new configure substitutions with @ characters.
10099	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10100	* aclocal.m4, configure, Makefile.in: Regenerate.
10101	* mkomp_h.pl: Delete.
10102
101032005-01-24  Paolo Bonzini  <bonzini@gnu.org>
10104
10105	PR libgomp/25259
10106	* configure.ac: Use GCC_HEADER_STDINT.
10107	* libgomp.h: Include gstdint.h.
10108	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10109	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10110
101112006-01-24  Richard Henderson  <rth@redhat.com>
10112
10113	PR libgomp/25942
10114	* configure.ac: Add AM_MAINTAINER_MODE.
10115	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10116
101172006-01-24  Diego Novillo  <dnovillo@redhat.com>
10118
10119	* Makefile.in: Regenerate.
10120	* testsuite/Makefile.in: Regenerate.
10121	* aclocal.m4: Regenerate.
10122
101232006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
10124
10125	* config/posix/proc.c: Conditional include of sys/loadavg.h for
10126	Solaris.
10127	* configure.ac: Add check for loadavg.h.
10128	(link_gomp): Adjust comment.
10129	* configure: Regenerate.
10130	* config.h.in: Regenerate.
10131
101322006-01-21  Steve Ellcey  <sje@cup.hp.com>
10133
10134	PR libgomp/25877
10135	* configure.ac: Remove check for alloca.h.
10136	* configure: Regenerate.
10137	* config.h.in: Regenerate.
10138	* libgomp.h: define gomp_alloca to be __builtin_alloca.
10139	* team.c: Remove use of alloca.h.
10140	Call gomp_alloca instead of alloca.
10141
101422006-01-20  Steve Ellcey  <sje@cup.hp.com>
10143
10144	PR libgomp/25877
10145	* team.c: Add include of alloca.h.
10146	* configure.ac: Add check for alloca.h.
10147	* configure: Regenerate.
10148	* config.h.in: Regenerate.
10149
101502006-01-17  Jakub Jelinek  <jakub@redhat.com>
10151
10152	PR fortran/25219
10153	* testsuite/libgomp.fortran/pr25219.f90: New test.
10154
101552005-12-05  Uros Bizjak  <uros@kss-loka.si>
10156
10157	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10158	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10159	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10160	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10161	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10162	testsuite/libgomp.fortran/threadprivate1.f90,
10163	testsuite/libgomp.fortran/threadprivate2.f90,
10164	testsuite/libgomp.fortran/threadprivate3.f90,
10165	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10166	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10167	testsuite/libgomp.fortran/omp_parse3.f90: Change required
10168	effective-target to TLS runtime.
10169
10170	* testsuite/libgomp.fortran/pr25162.f: Require
10171	effective-target TLS runtime.
10172
101732005-12-01  Jakub Jelinek  <jakub@redhat.com>
10174
10175	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
10176	* testsuite/libgomp.c/nestedfn-3.c: New test.
10177
101782005-11-30  Jakub Jelinek  <jakub@redhat.com>
10179
10180	PR fortran/25162
10181	* testsuite/libgomp.fortran/pr25162.f: New test.
10182
101832005-11-28  Jakub Jelinek  <jakub@redhat.com>
10184
10185	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10186	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10187
101882005-11-25  Jakub Jelinek  <jakub@redhat.com>
10189
10190	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10191	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10192	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10193	single.c, team.c, work.c, config/linux/alpha/futex.h,
10194	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10195	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10196	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10197	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10198	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10199	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10200	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10201	FSF address.
10202
102032005-11-18  Jakub Jelinek  <jakub@redhat.com>
10204
10205	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10206	to nodist_noinst_HEADERS.
10207	* Makefile.in: Rebuilt.
10208
10209	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10210	add integer count field.
10211	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10212	omp_nest_lock_t type change.
10213	(omp_init_nest_lock): Likewise.  Initialize count to 0.
10214	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10215	Increment count.
10216	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10217	Decrement count.
10218	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10219	Increment count if successful and return the new nesting level.
10220	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10221	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10222	* testsuite/libgomp.c/lib-1.c: New test.
10223	* testsuite/libgomp.fortran/lib1.f90: New test.
10224	* testsuite/libgomp.fortran/lib2.f: New test.
10225	* testsuite/libgomp.fortran/lib3.f: New test.
10226
102272005-11-17  Richard Henderson  <rth@redhat.com>
10228
10229	PR 24845
10230	* Makefile.am (nodist_toolexeclib_HEADERS): New.
10231	* configure.ac (link_gomp): New.  Substitute it.
10232	(AC_CONFIG_FILES): Add libgomp.spec.
10233	* libgomp.spec.in: New file.
10234	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10235	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10236
102372005-11-18  Jakub Jelinek  <jakub@redhat.com>
10238
10239	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
10240	reduction(-:var) behaving the same as reduction(+:var).
10241	* testsuite/libgomp.c/reduction-4.c: New test.
10242
102432005-11-15  Uros Bizjak  <uros@kss-loka.si>
10244
10245	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10246	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10247	testsuite/libgomp.c/copyin-3.c,
10248	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10249	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10250	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10251	testsuite/libgomp.c++/pr24455.C,
10252	testsuite/libgomp.fortran/threadprivate1.f90,
10253	testsuite/libgomp.fortran/threadprivate2.f90,
10254	testsuite/libgomp.fortran/threadprivate3.f90,
10255	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10256	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10257	testsuite/libgomp.fortran/omp_parse3.f90: Require
10258	effective-target TLS.
10259
102602005-11-14  Diego Novillo  <dnovillo@redhat.com>
10261
10262	* HEADER: Remove.
10263
102642005-11-13  Jakub Jelinek  <jakub@redhat.com>
10265
10266	PR libgomp/24797
10267	* team.c (initialize_team): Pass NULL rather than free as
10268	pthread_key_create destructor.  Initialize thread specific data
10269	pointer in initial thread to a static local variable rather than
10270	malloced memory.
10271
102722005-11-11  Uros Bizjak  <uros@kss-loka.si>
10273
10274	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10275	its location to ld_library_path.
10276
102772005-11-10  Diego Novillo  <dnovillo@redhat.com>
10278
10279	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
10280
102812005-11-10  Diego Novillo  <dnovillo@redhat.com>
10282
10283	* testsuite/libgomp.c: Rename from libgomp.dg.
10284
102852005-11-09  Diego Novillo  <dnovillo@redhat.com>
10286
10287	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10288	threadprivate variable 'i'.
10289
102902005-11-09  Jakub Jelinek  <jakub@redhat.com>
10291
10292	* config/linux/s390/futex.h: New file.
10293	* configure.tgt: Use it.
10294
10295	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10296	before the parallel.
10297
102982005-11-08  Jakub Jelinek  <jakub@redhat.com>
10299
10300	PR c++/24734
10301	* testsuite/libgomp.c++/master-1.C: New test.
10302
103032005-11-07  Jakub Jelinek  <jakub@redhat.com>
10304
10305	* testsuite/libgomp.dg/copyin-3.c: New test.
10306
103072005-11-07  Jakub Jelinek  <jakub@redhat.com>
10308
10309	* testsuite/libgomp.fortran/retval1.f90: New test.
10310	* testsuite/libgomp.fortran/vla7.f90: New test.
10311
103122005-11-06  Jakub Jelinek  <jakub@redhat.com>
10313
10314	* testsuite/libgomp.fortran/vla2.f90: New test.
10315	* testsuite/libgomp.fortran/vla3.f90: New test.
10316	* testsuite/libgomp.fortran/vla4.f90: New test.
10317	* testsuite/libgomp.fortran/vla5.f90: New test.
10318	* testsuite/libgomp.fortran/vla6.f90: New test.
10319
103202005-11-01  Jakub Jelinek  <jakub@redhat.com>
10321
10322	* config/linux/sparc/futex.h: New file.
10323	* configure.tgt: Use it.
10324	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10325
10326	* critical.c: Include stdlib.h.
10327	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10328	ignoring return value.
10329	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10330	LIBGOMP_CHECK_SYNC_BUILTINS check.
10331	* configure: Rebuilt.
10332
103332005-10-31  Jakub Jelinek  <jakub@redhat.com>
10334
10335	* testsuite/libgomp.fortran/vla1.f90: New test.
10336
103372005-10-31  Richard Henderson  <rth@redhat.com>
10338
10339	* testsuite/libgomp.fortran/character2.f90: Fix race condition
10340	setting 's' in different threads.
10341
103422005-10-31  Jakub Jelinek  <jakub@redhat.com>
10343
10344	* libgomp.h (attribute_hidden, ialias): Define.
10345	* config/posix/proc.c (omp_get_num_procs): Add ialias.
10346	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10347	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10348	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10349	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10350	omp_test_lock, omp_test_nest_lock): Likewise.
10351	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10352	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10353	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10354	omp_test_lock, omp_test_nest_lock): Likewise.
10355	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10356	omp_get_dynamic, omp_get_nested): Likewise.
10357	* parallel.c (omp_get_num_threads, omp_get_max_threads,
10358	omp_get_thread_num, omp_in_parallel): Likewise.
10359	* fortran.c (ialias_redirect): Define.
10360	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10361	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10362	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10363	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10364	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10365	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10366	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10367	omp_get_wtime): Add ialias_redirect.
10368
103692005-10-30  Jakub Jelinek  <jakub@redhat.com>
10370
10371	* fortran.c: Include stdlib.h.
10372
103732005-10-29  Jakub Jelinek  <jakub@redhat.com>
10374
10375	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10376	* Makefile.in: Regenerated.
10377
103782005-10-28  Jakub Jelinek  <jakub@redhat.com>
10379
10380	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10381	* libgomp_f.h.in (omp_check_defines): New function.
10382	* env.c: Include libgomp_f.h.
10383	(initialize_env): Call omp_check_defines.
10384
10385	* testsuite/libgomp.dg/copyin-2.c: New test.
10386	* testsuite/libgomp.c++/copyin-2.C: New test.
10387	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
10388
10389	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
10390	* testsuite/libgomp.fortran/sharing2.f90: New test.
10391
10392	* testsuite/libgomp.dg/copyin-1.c: New test.
10393	* testsuite/libgomp.c++/copyin-1.C: New test.
10394
103952005-10-26  Jakub Jelinek  <jakub@redhat.com>
10396
10397	* testsuite/libgomp.fortran/crayptr1.f90: New test.
10398
10399	* testsuite/libgomp.fortran/workshare1.f90: New test.
10400
10401	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10402	only test.
10403	* libgomp.fortran/sharing1.f90: New test.
10404
104052005-10-24  Jakub Jelinek  <jakub@redhat.com>
10406
10407	PR c++/24502
10408	* testsuite/libgomp.c++/loop-7.C: New test.
10409
10410	* testsuite/libgomp.dg/nestedfn-2.c: New test.
10411
10412	* testsuite/libgomp.dg/nestedfn-1.c: New test.
10413	* testsuite/libgomp.fortran/reduction6.f90: New test.
10414	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
10415
104162005-10-23  Richard Henderson  <rth@redhat.com>
10417
10418	* testsuite/libgomp.c++/ctor-1.C: New.
10419	* testsuite/libgomp.c++/ctor-2.C: New.
10420	* testsuite/libgomp.c++/ctor-3.C: New.
10421	* testsuite/libgomp.c++/ctor-4.C: New.
10422	* testsuite/libgomp.c++/ctor-5.C: New.
10423	* testsuite/libgomp.c++/ctor-6.C: New.
10424	* testsuite/libgomp.c++/ctor-7.C: New.
10425	* testsuite/libgomp.c++/ctor-8.C: New.
10426	* testsuite/libgomp.c++/ctor-9.C: New.
10427
104282005-10-21  Diego Novillo  <dnovillo@redhat.com>
10429
10430	PR 24455
10431	* testsuite/libgomp.c++/pr24455-1.C: New test.
10432	* testsuite/libgomp.c++/pr24455.C: New test.
10433	* testsuite/libgomp.dg/pr24455-1.c: New test.
10434	* testsuite/libgomp.dg/pr24455.c: New test.
10435
104362005-10-20  Richard Henderson  <rth@redhat.com>
10437
10438	* testsuite/libgomp.c++/loop-6.C: New.
10439	* testsuite/libgomp.dg/loop-3.c: New.
10440
104412005-10-20  Jakub Jelinek  <jakub@redhat.com>
10442
10443	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10444	explicitly private.
10445	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10446	explicitly shared.
10447
104482005-10-19  Diego Novillo  <dnovillo@redhat.com>
10449
10450	* testsuite/libgomp.fortran/jacobi.f: New test.
10451
104522005-10-19  Richard Henderson  <rth@redhat.com>
10453
10454	* configure.tgt (i?86-linux): Default to with_arch instead of
10455	CFLAGS.  Add -mtune to match target_cpu.
10456	(x86_64-linux): Tune to i686.
10457
10458	* fortran.c (omp_test_nest_lock_): Fix typo.
10459
104602005-10-19  Jakub Jelinek  <jakub@redhat.com>
10461
10462	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10463	gomp_ordered_sync): Do nothing if team->nthreads == 1.
10464	* testsuite/libgomp.dg/ordered-3.c: New test.
10465
10466	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10467	Remove volatile keyword.
10468
10469	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10470	in COMMON block to avoid warnings on 64-bit targets.
10471
104722005-10-18  Diego Novillo  <dnovillo@redhat.com>
10473
10474	* testsuite/libgomp.dg/shared-3.c: New test.
10475
104762005-10-18  Jakub Jelinek  <jakub@redhat.com>
10477
10478	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10479	* testsuite/libgomp.fortran/reduction5.f90: New test.
10480
104812005-10-18  Jakub Jelinek  <jakub@redhat.com>
10482
10483	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10484	dg-options.
10485	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
10486	flush loop now that __sync_synchronize has proper memory barrier.
10487	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10488	Add -ffixed-form to dg-options.
10489
104902005-10-17  Diego Novillo  <dnovillo@redhat.com>
10491
10492	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
10493	from subdirectories.
10494	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10495	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10496	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10497	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10498	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10499	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10500	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10501	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10502	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10503	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10504	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10505	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10506	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10507	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10508	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10509	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10510	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10511	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10512	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10513	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10514	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10515	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10516	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10517	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10518	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10519
105202005-10-17  Jakub Jelinek  <jakub@redhat.com>
10521
10522	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10523	lang_library_path exists.  Use find instead of glob to gather tests.
10524	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10525
105262005-10-17  Diego Novillo  <dnovillo@redhat.com>
10527
10528	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10529	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10530	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10531	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10532	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10533	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10534	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10535	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10536	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10537	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10538	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10539	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10540	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10541
105422005-10-15  Jakub Jelinek  <jakub@redhat.com>
10543
10544	* testsuite/libgomp.dg/vla-1.c: New test.
10545
10546	* testsuite/libgomp.fortran/reference2.f90: New test.
10547
10548	* testsuite/libgomp.fortran/character2.f90: Remove explicit
10549	declaration of omp_get_thread_num.
10550	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
10551	use omp_lib.
10552
10553	* testsuite/libgomp.fortran/reduction1.f90: New test.
10554	* testsuite/libgomp.fortran/reduction2.f90: New test.
10555	* testsuite/libgomp.fortran/reduction3.f90: New test.
10556	* testsuite/libgomp.fortran/reduction4.f90: New test.
10557
105582005-10-13  Richard Henderson  <rth@redhat.com>
10559
10560	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
10561	* Makefile.in: Regenerate.
10562	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10563	* libgomp.h: Include bar.h.
10564	(struct gomp_barrier): Remove.
10565	(struct gomp_team): Add barrier.  Replace master_barrier with
10566	master_release.  Replace threads with ordered_release.
10567	(struct gomp_thread): Replace barrier with release.
10568	* ordered.c (gomp_ordered_first): Update for ordered_release change.
10569	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10570	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10571	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10572	(GOMP_single_copy_end): Likewise.
10573	* team.c (gomp_threads_dock): New.
10574	(gomp_barrier_init, gomp_barrier_destroy): Remove.
10575	(gomp_thread_start): Use gomp_barrier_wait.
10576	(new_team, free_team): Update for gomp_team changes.
10577	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10578	(gomp_team_end): Use gomp_barrier_wait.
10579	(initialize_team): Update for gomp_thread changes.
10580	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10581	(gomp_work_share_end_nowait): Use atomic ops when available.
10582	* config/linux/bar.c, config/linux/bar.h: New files.
10583	* config/posix/bar.c, config/posix/bar.h: New files.
10584
105852005-10-13  Jakub Jelinek  <jakub@redhat.com>
10586
10587	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10588	* testsuite/libgomp.dg/single-2.c: New test.
10589
10590	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10591	lang_link_flags): Unset, so that they aren't inherited from previously
10592	sourced *.exp.
10593
10594	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
10595
105962005-10-12  Richard Henderson  <rth@redhat.com>
10597
10598	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10599	(libgomp_init): Use lang_test_file, lang_library_path, and
10600	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
10601
10602	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10603	(lang_test_file, lang_link_flags): New.
10604	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10605
10606	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10607	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10608	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10609	testsuite/libgomp.c++/parallel-1.C,
10610	testsuite/libgomp.c++/reduction-1.C,
10611	testsuite/libgomp.c++/reduction-2.C,
10612	testsuite/libgomp.c++/reduction-3.C,
10613	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10614	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10615	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10616	New files, largely cribbed from the C testsuite.
10617
106182005-10-12  Jakub Jelinek  <jakub@redhat.com>
10619
10620	* testsuite/libgomp.fortran/character1.f90: New test.
10621	* testsuite/libgomp.fortran/character2.f90: New test.
10622
10623	* testsuite/libgomp.dg/nested-1.c: New test.
10624	* testsuite/libgomp.dg/nested-2.c: New test.
10625	* testsuite/libgomp.fortran/do1.f90: New test.
10626	* testsuite/libgomp.fortran/do2.f90: New test.
10627
10628	* testsuite/libgomp.fortran/reference1.f90: New test.
10629
106302005-10-11  Jakub Jelinek  <jakub@redhat.com>
10631
10632	* testsuite/libgomp.dg/reduction-1.c: New test.
10633	* testsuite/libgomp.dg/reduction-2.c: New test.
10634	* testsuite/libgomp.dg/reduction-3.c: New test.
10635
106362005-10-10  Jakub Jelinek  <jakub@redhat.com>
10637
10638	* testsuite/libgomp.dg/atomic-1.c: New test.
10639	* testsuite/libgomp.dg/atomic-2.c: New test.
10640
106412005-10-09  Richard Henderson  <rth@redhat.com>
10642
10643	* critical.c (atomic_lock): New.
10644	(initialize_critical): Initialize it.
10645	(GOMP_atomic_start, GOMP_atomic_end): New.
10646	* libgomp.map: Export them.
10647	* libgomp_g.h: Declare them.
10648
10649	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10650
106512005-10-02  Richard Henderson  <rth@redhat.com>
10652
10653	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
10654	to XCFLAGS instead of CFLAGS.
10655
106562005-09-30  Richard Henderson  <rth@redhat.com>
10657
10658	* configure.ac: Determine whether -pthread or -lpthread is needed.
10659	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10660	* Makefine.in, configure: Rebuild.
10661
106622005-09-28  Richard Henderson  <rth@redhat.com>
10663
10664	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10665	* testsuite/libgomp.dg/omp-single-3.c: New test.
10666
106672005-09-28  Diego Novillo  <dnovillo@redhat.com>
10668
10669	* testsuite/libgomp.dg/omp-single-2.c: New test.
10670	* testsuite/libgomp.dg/shared-2.c: Fix return code.
10671
106722005-09-27  Richard Henderson  <rth@redhat.com>
10673
10674	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10675	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10676
106772005-09-27  Jakub Jelinek  <jakub@redhat.com>
10678
10679	* testsuite/libgomp.dg/omp-loop03.c: New test.
10680
106812005-09-27  Diego Novillo  <dnovillo@redhat.com>
10682
10683	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
10684
106852005-09-27  Diego Novillo  <dnovillo@redhat.com>
10686
10687	* testsuite/libgomp.dg/omp-single-1.c: New test.
10688	* testsuite/libgomp.dg/shared-1.c: Return 0.
10689	Add prototype for abort.
10690	* testsuite/libgomp.dg/shared-2.c: Likewise.
10691
106922005-09-26  Jakub Jelinek  <jakub@redhat.com>
10693
10694	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
10695	constructs.
10696
106972005-09-26  Diego Novillo  <dnovillo@redhat.com>
10698
10699	* testsuite/libgomp.dg/shared-1.c: New test.
10700	* testsuite/libgomp.dg/shared-2.c: New test.
10701
107022005-09-24  Richard Henderson  <rth@redhat.com>
10703
10704	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
10705
107062005-09-24  Richard Henderson  <rth@redhat.com>
10707
10708	* iter.c (gomp_iter_static_next): Round up when computing number
10709	of iterations.  Don't bother distributing a remainder equally.
10710
10711	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
10712	Don't call srand.  Zero b before testing.
10713	(main): New.
10714
107152005-09-24  Jakub Jelinek  <jakub@redhat.com>
10716
10717	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
10718	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
10719
107202005-09-23  Jakub Jelinek  <jakub@redhat.com>
10721
10722	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
10723	without !$omp end do, followed immediately by subroutine end.
10724
107252005-09-23  Diego Novillo  <dnovillo@redhat.com>
10726
10727	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
10728
107292005-09-22  Richard Henderson  <rth@redhat.com>
10730
10731	* critical.c (GOMP_critical_name_start): Change argument to void**.
10732	Reuse the pointer space if the mutex fits.
10733	(GOMP_critical_name_end): Likewise.
10734	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
10735	* libgomp_g.h (GOMP_critical_name_start): Update decl.
10736	(GOMP_critical_name_end): Likewise.
10737	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
10738	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
10739
107402005-09-20  Richard Henderson  <rth@redhat.com>
10741
10742	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
10743	(create_lock_lock): New.
10744	(initialize_critical): Initialize it.
10745	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
10746	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
10747
107482005-09-20  Diego Novillo  <dnovillo@redhat.com>
10749
10750	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
10751
107522005-09-20  Diego Novillo  <dnovillo@redhat.com>
10753
10754	* testsuite/libgomp.dg/omp-loop01.c: New test.
10755	* testsuite/libgomp.dg/omp-loop02.c: New test.
10756
107572005-09-20  Jakub Jelinek  <jakub@redhat.com>
10758
10759	* configure.ac (AC_PROG_FC): Add.
10760	(USE_FORTRAN): New automake conditional.
10761	* configure: Rebuilt.
10762	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
10763	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
10764	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
10765	Add rules to build them.
10766	* Makefile.in: Rebuilt.
10767	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
10768	OMP_NEST_LOCK_KIND.
10769	* libgomp.map: Add Fortran wrappers.
10770	* libgomp_f.h.in: New file.
10771	* omp_lib.h.in: New file.
10772	* omp_lib.f90.in: New file.
10773	* fortran.c: New file.
10774	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
10775	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
10776	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
10777	libgfortran has been built.
10778	* testsuite/libgomp.fortran/fortran.exp: New file.
10779	* testsuite/libgomp.fortran/omp_cond1.f: New test.
10780	* testsuite/libgomp.fortran/omp_cond2.f: New test.
10781	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
10782	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
10783	* testsuite/libgomp.fortran/omp_hello.f: New test.
10784	* testsuite/libgomp.fortran/omp_orphan.f: New test.
10785	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
10786	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
10787	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
10788	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
10789	* testsuite/libgomp.fortran/omp_reduction.f: New test.
10790	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
10791	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
10792
107932005-08-30  Richard Henderson  <rth@redhat.com>
10794
10795	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
10796	function for when aliases are not usable.
10797	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
10798	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10799	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
10800	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
10801	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
10802	GOMP_loop_ordered_guided_next): Likewise.
10803	* ordered.c (GOMP_ordered_start): Likewise.
10804
108052005-08-01  Diego Novillo  <dnovillo@redhat.com>
10806
10807	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
10808	* testsuite/libgomp.dg/omp_hello.c: Fix return code
10809	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
10810	* testsuite/libgomp.dg/omp_orphan.c: Likewise
10811	* testsuite/libgomp.dg/omp_reduction.c: Likewise
10812	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
10813	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
10814	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
10815	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
10816
108172005-07-07  Eric Christopher  <echristo@redhat.com>
10818	    Diego Novillo  <dnovillo@redhat.com>
10819
10820	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
10821	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
10822	up code.
10823	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
10824	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
10825	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
10826	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
10827	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
10828	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
10829	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
10830
108312005-06-13  Diego Novillo  <dnovillo@redhat.com>
10832
10833	* TOPLEVEL.patch: Remove.
10834
108352005-05-16  Richard Henderson  <rth@redhat.com>
10836
10837	* configure.ac: Test for clock_gettime.
10838	* config.h.in, configure: Rebuild.
10839	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
10840	(omp_get_wtime): Use clock_gettime if available.
10841	(omp_get_wtick): Use clock_getres if available.
10842
108432005-05-11  Richard Henderson  <rth@redhat.com>
10844
10845	* config/linux/ia64/futex.h: New file.
10846	* configure.tgt: Use it.
10847
10848	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
10849
108502005-05-07  Richard Henderson  <rth@redhat.com>
10851
10852	* config/linux/powerpc/futex.h: New file.
10853	* configure.tgt: Use it.
10854
10855	* config/linux/i486/futex.h: Merge ...
10856	* config/linux/x86_64/futex.h: ... into ...
10857	* config/linux/x86/futex.h: ... here.
10858	* configure.tgt: Update to match.
10859
108602005-05-06  Richard Henderson  <rth@redhat.com>
10861
10862	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
10863	* config/linux/i486/futex.h: Likewise.
10864	* config/linux/x86_64/futex.h: Likewise.
10865
10866	* config/linux/lock.c: New file.
10867	* config/linux/omp-lock.h: New file.
10868
10869	* critical.c, env.h: Don't include omp.h
10870	* config/posix/lock.c: Include libgomp.h instead of omp.h.
10871	* config/posix/time.c: Likewise.
10872	* config/posix/omp-lock.h: New file.
10873	* libgomp.h: Include omp-lock.h and omp.h.
10874	* Makefile.am (nodist_include_HEADERS): New.
10875	(omp.h): New rule.
10876	* configure.ac (PERL): New.
10877	* mkomp_h.pl: New file.
10878	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
10879	with templates.
10880	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
10881
10882	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
10883	build directory.  Re-add -march=i486 hack.
10884
10885	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
10886	(libgomp_link_flags): Remove.
10887	(libgomp_initialized): Remove.
10888	(libgomp_init): Don't protect from reinitialization.  Copy code
10889	from libstdc++ for getting the multilib set correctly.
10890
108912005-05-05  Richard Henderson  <rth@redhat.com>
10892
10893	* config/linux/alpha/futex.h: New file.
10894	* configure.tgt (alpha*-*-linux*): Use it.
10895
10896	* config/posix/mutex.c: New file.
10897	* config/posix/sem.c: Use libgomp.h.
10898
10899	* configure.tgt (x86_64-linux): Also test CC for -m32.
10900	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
10901
10902	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
10903	after $gccpath.
10904
10905	* Makefile.am (SUBDIRS): New.
10906	(libgomp_la_LDFLAGS): Add -lpthread.
10907	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
10908	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
10909
10910	* libgomp_g.h: New file.
10911	* libgomp.h: Split out all public declarations to libgomp_g.h.
10912	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
10913	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
10914	* config/linux/sem.h: Likewise.
10915	* config/posix/sem.h: Likewise.
10916
10917	* Makefile.am (AM_LDFLAGS): New.
10918	(libgomp_version_script): Split out from ...
10919	(libgomp_la_LDFLAGS): ... here.
10920	(libgomp_version_info): New.
10921	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
10922	(LIBGOMP_ENABLE): New.
10923	(LIBGOMP_CHECK_LINKER_FEATURES): New.
10924	(LIBGOMP_ENABLE_SYMVERS): New.
10925	* configure.ac (AC_INIT): Version 1.0.
10926	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
10927	(enable-linux-futex): Likewise.  Rename from enable-futex.
10928	(libtool_VERSION): New.
10929	(LIBGOMP_ENABLE_SYMVERS): Use it.
10930	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
10931	* Makefile.in, aclocal.m4, configure: Rebuild.
10932
10933	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
10934	(gomp_mutex_unlock_slow): Fix typo.
10935	* config/linux/sem.c: Similarly.
10936	(gomp_sem_post_slow): Fix typo.
10937	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
10938	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
10939	[__PIC__] (sys_futex0): Don't use tmp output in asm.
10940
10941	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
10942	(libgomp_la_LDFLAGS): Add top_srcdir to path.
10943	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
10944	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
10945	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
10946	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
10947	LDFLAGS.  Pull enable_futex check to top-level.
10948	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
10949	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
10950
10951	First attempt at real configury.
10952	* Makefile, config.h: Remove file.
10953	* Makefile.am, Makefile.in: New file.
10954	* acinclude.m4 aclocal.m4: New file.
10955	* configure.ac, configure.tgt, configure: New file.
10956
10957	* config/posix/lock.c: Rename from sys-lock.c.
10958	* config/posix/mutex.h: Rename from sys-mutex.h.
10959	* config/posix/sem.c: Rename from sys-sem.c.
10960	* config/posix/sem.h: Rename from sys-sem.h.
10961	* config/posix/proc.c: Rename from sys-proc.c.
10962	* config/posix/time.c: Rename from sys-proc.c.
10963
10964	* config/linux/mutex.c: New file.
10965	* config/linux/mutex.h: New file.
10966	* config/linux/sem.c: New file.
10967	* config/linux/sem.h: New file.
10968	* config/linux/i486/futex.h: New file.
10969	* config/linux/x86_64/futex.h: New file.
10970
109712005-05-04  Richard Henderson  <rth@redhat.com>
10972
10973	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
10974	* libgomp.h: Declare them.
10975	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
10976	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
10977
109782005-05-04  Richard Henderson  <rth@redhat.com>
10979
10980	* libgomp-1 code drop
10981
109822005-05-04  Richard Henderson  <rth@redhat.com>
10983
10984	* iter.c (gomp_iter_static_next): Return tri-state on 0.
10985	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
10986	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
10987	(gomp_iter_static_next): Update.
10988	(gomp_ordered_static_next): Update.
10989	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
10990	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
10991	totally empty range.
10992	(gomp_loop_ordered_static_next): Refine test for calling
10993	gomp_ordered_static_next.
10994	* testsuite/ordered-1.c: Add case for more threads than iterations.
10995
10996	* iter.c (gomp_iter_runtime_next_locked): Remove.
10997	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
10998	gomp_loop_guided_start, gomp_loop_ordered_static_start,
10999	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
11000	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
11001	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
11002	gomp_loop_ordered_guided_next): Downcase name, make static, add
11003	an external alias with the old name.
11004	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
11005	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
11006	switch and call one of the above static functions.
11007	* libgomp.h: Update.
11008
11009	* work.c (gomp_work_share_start): Lock the mutex for !first too.
11010	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
11011	GOMP_loop_guided_start, GOMP_loop_runtime_start,
11012	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11013	GOMP_loop_ordered_guided_start): Update to match.
11014	* sections.c (GOMP_sections_start): Likewise.
11015	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
11016
11017	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11018	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
11019	Use bounds check instead of modulus.
11020	(gomp_ordered_sync): Split out of GOMP_ordered_start.
11021	(gomp_ordered_last): Don't sync with ordered_owner here.
11022	(gomp_ordered_next): Likewise.
11023	(gomp_ordered_static_loop_next): Likewise.
11024	* loop.c, libgomp.h: Update to match.
11025
11026	* libgomp.h (GOMP_barrier): Declare.
11027
11028	* testsuite/barrier-1.c: New file.
11029	* testsuite/critical-1.c: New file.
11030	* testsuite/ordered-2.c: New file.
11031	* testsuite/ordered-1.c: New file.
11032	* testsuite/sections-1.c: New file.
11033	* testsuite/single-1.c: New file.
11034	* testsuite/Makefile (TESTS): Add them.
11035
110362005-05-04  Richard Henderson  <rth@redhat.com>
11037
11038	* libgomp.h (struct gomp_work_share): Add ordered_owner.
11039	* loop.c (GOMP_loop_static_start): If not the startup thread,
11040	acquire the mutex to wait for initialization complete.
11041	(GOMP_loop_ordered_static_start): Likewise.
11042	(GOMP_loop_ordered_runtime_start): Likewise.
11043	(GOMP_loop_ordered_static_first): Remove.
11044	(GOMP_loop_ordered_dynamic_first): Remove.
11045	(GOMP_loop_ordered_guided_first): Remove.
11046	(GOMP_loop_ordered_runtime_first): Remove.
11047	* ordered.c (gomp_ordered_loop_first): Post to own release when
11048	we're the first thread.
11049	(gomp_ordered_loop_last): Wait on release if not owner.
11050	(gomp_ordered_loop_next): Likewise.
11051	(gomp_ordered_static_loop_init): New.
11052	(gomp_ordered_static_loop_next): Use ordered_owner.
11053	(GOMP_ordered_start): Likewise.
11054	* work.c (gomp_new_work_share): Initialize ordered_owner.
11055
110562005-05-03  Richard Henderson  <rth@redhat.com>
11057
11058	* Makefile (OPT): New.
11059	(CFLAGS): Use it.
11060
11061	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11062	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11063	* libgomp.h, libgomp.map, NOTES: Update to match.
11064
11065	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11066	Add initialized and thr members.
11067	(gomp_thread_start): Pause when initially spawned to wait for
11068	the whole team to be created.
11069	(gomp_team_start): Release team members at the end.
11070
11071	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
11072	(f_foo_1): Use GOMP_loop_end.
11073	(f_foo_2): Use GOMP_loop_end_nowait.
11074
11075	* testsuite/loop-2.c: New file.
11076	* testsuite/Makefile (TESTS): Add it.
11077
110782005-05-03  Richard Henderson  <rth@redhat.com>
11079
11080	* iter.c (gomp_iter_static_next): Fix overflow check typo.
11081	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11082	* team.c (new_team): Initialize oldest_live_gen to 1 if no
11083	initial work_share.
11084
11085	* testsuite/Makefile: New file.
11086	* testsuite/loop-1.c: New file.
11087
110882005-05-03  Richard Henderson  <rth@redhat.com>
11089
11090	Initial implementation and checkin.
11091
11092Copyright (C) 2005-2019 Free Software Foundation, Inc.
11093
11094Copying and distribution of this file, with or without modification,
11095are permitted in any medium without royalty provided the copyright
11096notice and this notice are preserved.
11097