12021-07-28  Release Manager
2
3	* GCC 11.2.0 released.
4
52021-07-18  Jakub Jelinek  <jakub@redhat.com>
6
7	Backported from master:
8	2021-07-01  Jakub Jelinek  <jakub@redhat.com>
9
10	PR middle-end/94366
11	* testsuite/libgomp.c-c++-common/pr94366.c: New test.
12
132021-07-18  Tobias Burnus  <tobias@codesourcery.com>
14
15	Backported from master:
16	2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
17
18	* testsuite/libgomp.c-c++-common/reduction-1.c: New test.
19	* testsuite/libgomp.c-c++-common/reduction-2.c: New test.
20	* testsuite/libgomp.c-c++-common/reduction-3.c: New test.
21	* testsuite/libgomp.c-c++-common/reduction-4.c: New file.
22
232021-07-18  Jakub Jelinek  <jakub@redhat.com>
24
25	Backported from master:
26	2021-07-13  Jakub Jelinek  <jakub@redhat.com>
27		    Florian Weimer  <fweimer@redhat.com>
28
29	* config/linux/sem.h: Don't include limits.h.
30	(SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
31	* config/linux/affinity.c: Include limits.h.
32
332021-06-23  Jakub Jelinek  <jakub@redhat.com>
34
35	Backported from master:
36	2021-06-23  Jakub Jelinek  <jakub@redhat.com>
37
38	PR middle-end/101167
39	* testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
40
412021-06-16  Richard Biener  <rguenther@suse.de>
42
43	PR tree-optimization/100981
44	* testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
45
462021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
47
48	Backported from master:
49	2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
50
51	* task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
52	if new tasks generated.
53	* testsuite/libgomp.c-c++-common/task-detach-13.c: New.
54
552021-05-13  Tobias Burnus  <tobias@codesourcery.com>
56
57	Backported from master:
58	2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
59
60	* testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
61	* testsuite/libgomp.fortran/task-detach-12.f90: New test.
62
632021-05-12  Jakub Jelinek  <jakub@redhat.com>
64
65	Backported from master:
66	2021-05-11  Jakub Jelinek  <jakub@redhat.com>
67
68	PR middle-end/100471
69	* taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
70	GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
71	reduction pointer.
72	* testsuite/libgomp.c/task-reduction-4.c: New test.
73
742021-05-06  Roman Zhuykov  <zhroma@ispras.ru>
75
76	Backported from master:
77	2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
78
79	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
80
812021-04-29  Tom de Vries  <tdevries@suse.de>
82
83	Backported from master:
84	2021-04-29  Tom de Vries  <tdevries@suse.de>
85
86	PR target/100232
87	* testsuite/libgomp.c/target-43.c: New file.
88
892021-04-27  Tobias Burnus  <tobias@codesourcery.com>
90
91	Backported from master:
92	2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
93
94	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
95	New, based on check_effective_target_offload_target_nvptx.
96	(check_effective_target_offload_target_nvptx): Call it.
97	(check_effective_target_offload_target_amdgcn): New.
98	* testsuite/libgomp.c-c++-common/function-not-offloaded.c:
99	Require target offload_target_nvptx || offload_target_amdgcn.
100	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
101	* testsuite/libgomp.c/pr86416-1.c: Likewise.
102	* testsuite/libgomp.c/pr86416-2.c: Likewise.
103
1042021-04-27  Release Manager
105
106	* GCC 11.1.0 released.
107
1082021-04-22  Richard Biener  <rguenther@suse.de>
109
110	Backported from master:
111	2021-04-22  Richard Biener  <rguenther@suse.de>
112
113	* testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
114	only on nvptx-none.
115
1162021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
117
118	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
119	'-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
120	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
121	Likewise.
122	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
123	Likewise.
124	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
125
1262021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
127
128	PR target/99555
129	* testsuite/lib/libgomp.exp
130	(check_effective_target_offload_device_nvptx): New.
131	* testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
132	resolved, make sure that we exit quickly, with error status,
133	XFAILed.
134	* testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
135	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
136
1372021-04-14  Jakub Jelinek  <jakub@redhat.com>
138
139	PR testsuite/100071
140	* testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
141	cp = omp_alloc with cp, p arguments instead of cq, q and call
142	c_f_pointer after last cq = omp_alloc with cq, q.
143
1442021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
145
146	PR middle-end/98088
147	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
148	for loop with GT/GE condition.
149	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
150
1512021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
152
153	PR middle-end/84991
154	PR middle-end/84992
155	PR middle-end/90779
156	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
157
1582021-04-09  Jakub Jelinek  <jakub@redhat.com>
159
160	PR libgomp/99984
161	* team.c (gomp_thread_start): Call pthread_setspecific for
162	!(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
163	has been initialized to avoid false positive warning.
164
1652021-03-29  Tobias Burnus  <tobias@codesourcery.com>
166
167	PR target/99555
168	* testsuite/lib/on_device_arch.c: Move to ...
169	* testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
170	* testsuite/libgomp.fortran/on_device_arch.c: New file;
171	#include on_device_arch.h.
172	* testsuite/libgomp.c-c++-common/task-detach-6.c: #include
173	on_device_arch.h instead of using dg-additional-source.
174	* testsuite/libgomp.c/pr99555-1.c: Likewise.
175	* testsuite/libgomp.fortran/task-detach-6.f90: Update to use
176	on_device_arch.c without relative paths.
177
1782021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
179
180	* plugin/plugin-gcn.c (init_environment_variables): Don't prepend
181	the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
182	* plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
183	* config.h.in: Regenerate.
184	* configure: Likewise.
185
1862021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
187
188	PR target/99555
189	* testsuite/lib/on_device_arch.c: New file.
190	* testsuite/libgomp.c/pr99555-1.c: Likewise.
191	* testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
192	skip for nvptx offloading, with error status.
193	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
194
1952021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
196
197	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
198	OpenACC 'serial' construct diagnostic for nvptx offloading.
199
2002021-03-15  Tobias Burnus  <tobias@codesourcery.com>
201
202	PR c++/99509
203	* testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
204
2052021-03-12  Tobias Burnus  <tobias@codesourcery.com>
206
207	PR fortran/98858
208	* testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
209
2102021-03-04  Jakub Jelinek  <jakub@redhat.com>
211
212	* configure.ac: Add AC_CHECK_SIZEOF([void *]).
213	* plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
214	checking of -m32 or -mx32 options on the command line.
215	* config.h.in: Regenerated.
216	* configure: Regenerated.
217
2182021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
219
220	* testsuite/libgomp.c-c++-common/pr96390.c: Require alias
221	support from the target.
222
2232021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
224	    Jakub Jelinek  <jakub@redhat.com>
225
226	PR libgomp/98738
227	* libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
228	(struct gomp_task): Replace detach and completion_sem fields with
229	union containing completion_sem and detach_team.  Add deferred_p
230	field.
231	(struct gomp_team): Remove task_detach_queue.
232	* task.c: Include assert.h.
233	(gomp_init_task): Initialize deferred_p and completion_sem fields.
234	Rearrange initialization order of fields.
235	(task_fulfilled_p): Delete.
236	(GOMP_task): Use address of task as the event handle.  Remove
237	initialization of detach field.  Initialize deferred_p field.
238	Use automatic local for completion_sem.  Initialize detach_team field
239	for deferred tasks.
240	(gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
241	Set kind of suspended detach task to GOMP_TASK_DETACHED and
242	decrement task_running_count.  Move finish_cancelled block out of
243	else branch.  Relocate call to gomp_team_barrier_done.
244	(GOMP_taskwait): Handle tasks with completion events that have not
245	been fulfilled.
246	(GOMP_taskgroup_end): Likewise.
247	(omp_fulfill_event): Use address of task as event handle.  Post to
248	completion_sem for undeferred tasks.  Clear detach_team if task
249	has not finished.  For finished tasks, handle post-execution tasks,
250	call gomp_team_barrier_wake if necessary, and free task.
251	* team.c (gomp_new_team): Remove initialization of task_detach_queue.
252	(free_team): Remove free of task_detach_queue.
253	* testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
254	* testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
255	* testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
256	* testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
257	* testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
258	Change data-sharing of detach events on enclosing parallel to private.
259	* testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
260	taskwait directive.
261	* testsuite/libgomp.c-c++-common/task-detach-7.c: New.
262	* testsuite/libgomp.c-c++-common/task-detach-8.c: New.
263	* testsuite/libgomp.c-c++-common/task-detach-9.c: New.
264	* testsuite/libgomp.c-c++-common/task-detach-10.c: New.
265	* testsuite/libgomp.c-c++-common/task-detach-11.c: New.
266	* testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
267	* testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
268	* testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
269	* testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
270	* testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
271	Change data-sharing of detach events on enclosing parallel to private.
272	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
273	taskwait directive.
274	* testsuite/libgomp.fortran/task-detach-7.f90: New.
275	* testsuite/libgomp.fortran/task-detach-8.f90: New.
276	* testsuite/libgomp.fortran/task-detach-9.f90: New.
277	* testsuite/libgomp.fortran/task-detach-10.f90: New.
278	* testsuite/libgomp.fortran/task-detach-11.f90: New.
279
2802021-02-22  Tobias Burnus  <tobias@codesourcery.com>
281
282	PR fortran/99171
283	* testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
284
2852021-02-17  Julian Brown  <julian@codesourcery.com>
286
287	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
288	expected errors.
289
2902021-02-17  Julian Brown  <julian@codesourcery.com>
291
292	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
293	* testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
294
2952021-02-11  Uroš Bizjak  <ubizjak@gmail.com>
296
297	* config/linux/x86/futex.h (__futex_wait):
298	Revert output type back to long.
299	(__futex_wake): Ditto.
300	(futex_wait): Update for revert.
301	(futex_wake): Ditto.
302
3032021-02-11  Uroš Bizjak  <ubizjak@gmail.com>
304
305	* config/linux/x86/futex.h (__futex_wait): New static inline
306	wrapper function.  Correct output type to int and
307	timeout type to void *.
308	(__futex_wake): New static inline wrapper function.
309	Correct output type to int.
310	(futex_wait): Use __futex_wait.
311	(futex_wake): Use __futex_wake.
312
3132021-02-10  Julian Brown  <julian@codesourcery.com>
314
315	PR fortran/98979
316	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
317	errors.
318
3192021-02-04  Julian Brown  <julian@codesourcery.com>
320
321	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
322
3232021-02-03  Andrew Stubbs  <ams@codesourcery.com>
324
325	* plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
326	EF_AMDGPU_MACH_AMDGCN_GFX908.
327	(gcn_gfx908_s): New constant string.
328	(isa_hsa_name): Add gfx908.
329	(isa_code): Add gfx908.
330
3312021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
332
333	* libgomp.texi (omp_fulfill_event): New entry.
334
3352021-01-20  Jakub Jelinek  <jakub@redhat.com>
336
337	* task.c (GOMP_task): Rename priority argument to priority_arg,
338	add priority automatic variable and modify that variable.  Instead of
339	clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
340	check flags for that bit.
341
3422021-01-19  Tobias Burnus  <tobias@codesourcery.com>
343
344	PR fortran/98476
345	* testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
346
3472021-01-18  Andreas Schwab  <schwab@suse.de>
348
349	* configure.tgt (riscv64*-*-linux*): Add linux to config_path.
350
3512021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
352
353	* config/rtems/sem.h (gomp_sem_getcount): New function.
354
3552021-01-18  Jakub Jelinek  <jakub@redhat.com>
356
357	* config/linux/sem.h (gomp_sem_getcount): New function.
358	* config/posix/sem.h (gomp_sem_getcount): New function.
359	* config/posix/sem.c (gomp_sem_getcount): New function.
360	* config/accel/sem.h (gomp_sem_getcount): New function.
361	* task.c (task_fulfilled_p): Use gomp_sem_getcount.
362	(omp_fulfill_event): Likewise.
363
3642021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
365
366	* fortran.c (omp_fulfill_event_): New.
367	* libgomp.h (struct gomp_task): Add detach and completion_sem fields.
368	(struct gomp_team): Add task_detach_queue and task_detach_count
369	fields.
370	* libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
371	* libgomp_g.h (GOMP_task): Add extra argument.
372	* omp.h.in (enum omp_event_handle_t): New.
373	(omp_fulfill_event): New.
374	* omp_lib.f90.in (omp_event_handle_kind): New.
375	(omp_fulfill_event): New.
376	* omp_lib.h.in (omp_event_handle_kind): New.
377	(omp_fulfill_event): Declare.
378	* priority_queue.c (priority_tree_find): New.
379	(priority_list_find): New.
380	(priority_queue_find): New.
381	* priority_queue.h (priority_queue_predicate): New.
382	(priority_queue_find): New.
383	* task.c (gomp_init_task): Initialize detach field.
384	(task_fulfilled_p): New.
385	(GOMP_task): Add detach argument.  Ignore detach argument if
386	GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
387	field.	Copy address of completion_sem into detach argument and
388	into the start of the data record.  Wait for detach event if task
389	not deferred.
390	(gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
391	Remove completed tasks and requeue dependent tasks.
392	(omp_fulfill_event): New.
393	* team.c (gomp_new_team): Initialize task_detach_queue and
394	task_detach_count fields.
395	(free_team): Free task_detach_queue field.
396	* testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
397	* testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
398	* testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
399	* testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
400	* testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
401	* testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
402	* testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
403	* testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
404	* testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
405	* testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
406	* testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
407	* testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
408
4092021-01-15  Jakub Jelinek  <jakub@redhat.com>
410
411	PR target/70454
412	* configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
413	be added through preprocessor check on
414	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
415
4162021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
417
418	PR libgomp/65099
419	* plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
420	configurations.
421	* configure: Regenerate.
422	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
423	check.
424
4252021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
426
427	* configure: Re-generate.
428
4292021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
430
431	* configure: Re-generate.
432
4332021-01-05  Julian Brown  <julian@codesourcery.com>
434
435	* plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
436	(struct ptx_device): Add omp_stacks struct.
437	(nvptx_open_device): Initialise cached-stacks housekeeping info.
438	(nvptx_close_device): Free cached stacks block and mutex.
439	(nvptx_stacks_free): New function.
440	(nvptx_alloc): Add SUPPRESS_ERRORS parameter.
441	(GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
442	(nvptx_stacks_alloc): Rename to...
443	(nvptx_stacks_acquire): This.  Cache stacks block between runs if same
444	size or smaller is required.
445	(nvptx_stacks_free): Remove.
446	(GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
447	during kernel execution.
448
4492021-01-01  Jakub Jelinek  <jakub@redhat.com>
450
451	* libgomp.texi: Bump @copying's copyright year.
452
4532020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
454
455	* libgomp.texi (Top): Avoid bad "up" link.
456
4572020-12-18  Jakub Jelinek  <jakub@redhat.com>
458
459	* testsuite/libgomp.c/task-6.c: New test.
460
4612020-12-09  Andrew Stubbs  <ams@codesourcery.com>
462
463	* plugin/plugin-gcn.c: Include hsa_ext_amd.h.
464	(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
465
4662020-12-08  Tobias Burnus  <tobias@codesourcery.com>
467
468	* testsuite/libgomp.fortran/scan-1.f90: New test.
469
4702020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
471
472	PR target/97865
473	* configure: Regenerate.
474
4752020-11-29  John David Anglin  <danglin@gcc.gnu.org>
476
477	* configure: Regenerate.
478
4792020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
480
481	* testsuite/libgomp.oacc-c++/cache-1.C: New.
482	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
483
4842020-11-25  Andrew Stubbs  <ams@codesourcery.com>
485
486	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
487	expected results.
488
4892020-11-24  Andrew Stubbs  <ams@codesourcery.com>
490
491	* plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
492	(reserved): Delete unused define.
493
4942020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
495
496	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
497	Tcl 8.5-specific behavior.
498	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
499
5002020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
501
502	* env.c (gomp_global_icv): Remove nest_var field.  Add
503	max_active_levels_var field.
504	(gomp_max_active_levels_var): Remove.
505	(parse_boolean): Return true on success.
506	(handle_omp_display_env): Express OMP_NESTED in terms of
507	max_active_levels_var.  Change format specifier for
508	max_active_levels_var.
509	(initialize_env): Set max_active_levels_var from
510	OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
511	OMP_PROC_BIND.
512	* icv.c (omp_set_nested): Express in terms of
513	max_active_levels_var.
514	(omp_get_nested): Likewise.
515	(omp_set_max_active_levels): Use max_active_levels_var field instead
516	of gomp_max_active_levels_var.
517	(omp_get_max_active_levels): Likewise.
518	* libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
519	max_active_levels_var field.
520	(gomp_supported_active_levels): Set to UCHAR_MAX.
521	(gomp_max_active_levels_var): Delete.
522	* libgomp.texi (omp_get_nested): Update documentation.
523	(omp_set_nested): Likewise.
524	(OMP_MAX_ACTIVE_LEVELS): Likewise.
525	(OMP_NESTED): Likewise.
526	(OMP_NUM_THREADS): Likewise.
527	(OMP_PROC_BIND): Likewise.
528	* parallel.c (gomp_resolve_num_threads): Replace reference
529	to nest_var with max_active_levels_var.  Use max_active_levels_var
530	field instead of gomp_max_active_levels_var.
531
5322020-11-18  Tobias Burnus  <tobias@codesourcery.com>
533
534	* testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
535	nvptx_usleep; use also for device={arch(gcn)}.
536
5372020-11-14  Jakub Jelinek  <jakub@redhat.com>
538
539	* testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
540	(foo): Add tests for non-VLA private and firstprivate clauses on
541	omp task.
542	(bar): Likewise.  Remove taking of address from private/firstprivate
543	variables.
544	* testsuite/libgomp.c++/allocate-1.C (struct S): New type.
545	(foo): Add p, q, px and s arguments.  Add tests for array reductions
546	and for non-VLA private and firstprivate clauses on omp task.
547	(bar): Removed.
548	(main): Adjust foo caller.  Don't call bar.
549
5502020-11-13  Gergö Barany  <gergo@codesourcery.com>
551	    Thomas Schwinge  <thomas@codesourcery.com>
552
553	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
554	New.
555	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
556	Likewise.
557	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
558	Likewise.
559	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
560	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
561
5622020-11-13  Gergö Barany  <gergo@codesourcery.com>
563	    Thomas Schwinge  <thomas@codesourcery.com>
564
565	PR fortran/94358
566	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
567
5682020-11-13  Jakub Jelinek  <jakub@redhat.com>
569
570	* testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
571	for array reductions.
572	(main): Adjust foo callers.
573
5742020-11-12  Jakub Jelinek  <jakub@redhat.com>
575
576	* libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
577	* omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
578	* libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
579	* allocator.c (omp_aligned_alloc): New for now static function,
580	add alignment argument and handle it.
581	(omp_alloc): Reimplement using omp_aligned_alloc.
582	(GOMP_alloc, GOMP_free): New functions.
583	(omp_free): Add ialias.
584	* testsuite/libgomp.c-c++-common/allocate-1.c: New test.
585	* testsuite/libgomp.c++/allocate-1.C: New test.
586
5872020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
588
589	PR fortran/97782
590	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
591
5922020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
593
594	* libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
595	usable.
596	* oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
597	'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
598	(goacc_enter_datum): Likewise for call to gomp_map_vars_async.
599	(goacc_enter_data_internal): Likewise.
600	* target.c (gomp_map_vars_internal):
601	Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
602	of gomp_attach_pointer for OpenMP cases.
603	(gomp_exit_data): Add handling of GOMP_MAP_DETACH.
604	(GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
605	* testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
606
6072020-11-05  Ulrich Drepper  <drepper@redhat.com>
608	    Kwok Cheung Yeung  <kcy@codesourcery.com>
609
610	* Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
611	* Makefile.in: Regenerate.
612	* fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
613	pragmas to ignore -Wdeprecated-declarations warnings.
614	* icv.c: Likewise.
615	* omp.h.in (__GOMP_DEPRECATED_5_0): Define.
616	Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
617	and omp_get_nested with __GOMP_DEPRECATED_5_0.
618	* omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
619	deprecated.
620	* testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
621	to test options.
622	* testsuite/libgomp.c/affinity-1.c: Likewise.
623	* testsuite/libgomp.c/affinity-2.c: Likewise.
624	* testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
625	* testsuite/libgomp.c/lib-1.c: Likewise.
626	* testsuite/libgomp.c/nested-1.c: Likewise.
627	* testsuite/libgomp.c/nested-2.c: Likewise.
628	* testsuite/libgomp.c/nested-3.c: Likewise.
629	* testsuite/libgomp.c/pr32362-1.c: Likewise.
630	* testsuite/libgomp.c/pr32362-2.c: Likewise.
631	* testsuite/libgomp.c/pr32362-3.c: Likewise.
632	* testsuite/libgomp.c/pr35549.c: Likewise.
633	* testsuite/libgomp.c/pr42942.c: Likewise.
634	* testsuite/libgomp.c/pr61200.c: Likewise.
635	* testsuite/libgomp.c/sort-1.c: Likewise.
636	* testsuite/libgomp.c/target-5.c: Likewise.
637	* testsuite/libgomp.c/target-6.c: Likewise.
638	* testsuite/libgomp.c/teams-1.c: Likewise.
639	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
640	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
641	* testsuite/libgomp.c/thread-limit-4.c: Likewise.
642	* testsuite/libgomp.fortran/affinity1.f90: Likewise.
643	* testsuite/libgomp.fortran/lib1.f90: Likewise.
644	* testsuite/libgomp.fortran/lib2.f: Likewise.
645	* testsuite/libgomp.fortran/nested1.f90: Likewise.
646	* testsuite/libgomp.fortran/teams1.f90: Likewise.
647
6482020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
649
650	PR target/85486
651	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
652	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
653	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
654
6552020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
656
657	PR testsuite/80219
658	PR testsuite/85303
659	* testsuite/lib/libgomp.exp (libgomp_init): Set
660	'gcc_warning_prefix', 'gcc_error_prefix'.
661
6622020-10-30  Jakub Jelinek  <jakub@redhat.com>
663
664	* target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
665	even in field_tgt_clear initializer.
666
6672020-10-28  Jakub Jelinek  <jakub@redhat.com>
668
669	* testsuite/libgomp.c/target-42.c: New test.
670
6712020-10-28  Jakub Jelinek  <jakub@redhat.com>
672	    Tom de Vries  <tdevries@suse.de>
673
674	PR testsuite/81690
675	* testsuite/libgomp.c/usleep.h: New file.
676	* testsuite/libgomp.c/target-32.c: Include usleep.h.
677	(main): Use tgt_usleep instead of usleep.
678	* testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
679	(main): Use tgt_usleep instead of usleep.
680
6812020-10-28  Jakub Jelinek  <jakub@redhat.com>
682
683	PR lto/96680
684	* testsuite/libgomp.c/declare-variant-1.c: New test.
685
6862020-10-22  Jakub Jelinek  <jakub@redhat.com>
687
688	* testsuite/libgomp.c/target-41.c: New test.
689
6902020-10-22  Jakub Jelinek  <jakub@redhat.com>
691
692	* icv.c (omp_get_initial_device): Remove including corresponding
693	ialias.
694	* icv-device.c (omp_get_initial_device): New function.  Return
695	gomp_get_num_devices ().  Add ialias.
696	* target.c (resolve_device): Don't fail with
697	OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
698	gomp_get_num_devices ().
699	(omp_target_alloc, omp_target_free, omp_target_is_present,
700	omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
701	omp_target_disassociate_ptr, omp_pause_resource): Use
702	gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
703	first use in the functions, in uses dominated by the
704	gomp_get_num_devices call use num_devices_openmp instead.
705	* libgomp.texi (omp_get_initial_device): Document.
706	* config/gcn/icv-device.c (omp_get_initial_device): New function.
707	Add ialias.
708	* config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
709	* testsuite/libgomp.c/target-40.c: New test.
710
7112020-10-21  Jakub Jelinek  <jakub@redhat.com>
712
713	* env.c (parse_target_offload): Change new_offload var type to int,
714	preinitialize to -1, remove found var and test new_offload != -1
715	instead of found.
716
7172020-10-20  Jakub Jelinek  <jakub@redhat.com>
718
719	* target.c (gomp_target_init): Inside of the function, use automatic
720	variables corresponding to num_devices, num_devices_openmp and devices
721	global variables and update the globals only at the end of the
722	function.
723
7242020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
725
726	* env.c (gomp_target_offload_var): New.
727	(parse_target_offload): New.
728	(handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
729	(initialize_env): Parse OMP_TARGET_OFFLOAD.
730	* libgomp.h (gomp_target_offload_t): New.
731	(gomp_target_offload_var): New.
732	* libgomp.texi (OMP_TARGET_OFFLOAD): New section.
733	* target.c (resolve_device): Generate error if device not found and
734	offloading is mandatory.
735	(gomp_target_fallback): Generate error if offloading is mandatory.
736	(GOMP_target): Add argument in call to gomp_target_fallback.
737	(GOMP_target_ext): Likewise.
738	(gomp_target_data_fallback): Generate error if offloading is mandatory.
739	(GOMP_target_data): Add argument in call to gomp_target_data_fallback.
740	(GOMP_target_data_ext): Likewise.
741	(gomp_target_task_fn): Add argument in call to gomp_target_fallback.
742	(gomp_target_init): Return early if offloading is disabled.
743
7442020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
745
746	* libgomp.texi (omp_get_max_active_levels): Modify description.
747	(omp_get_supported_active_levels): Make descriptions consistent.
748
7492020-10-14  Jakub Jelinek  <jakub@redhat.com>
750
751	* libgomp.texi (omp_get_supported_active_levels): Fix a typo.
752
7532020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
754
755	* env.c (gomp_max_active_levels_var): Initialize to
756	gomp_supported_active_levels.
757	(initialize_env): Limit gomp_max_active_levels_var to be at most
758	equal to gomp_supported_active_levels.
759	* fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
760	(omp_get_supported_active_levels_): New.
761	* icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
762	to at most equal to gomp_supported_active_levels.
763	(omp_get_supported_active_levels): New.
764	* libgomp.h (gomp_supported_active_levels): New.
765	* libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
766	omp_get_supported_active_levels_.
767	* libgomp.texi (omp_get_supported_active_levels): New.
768	(omp_set_max_active_levels): Update.  Add reference to
769	omp_get_supported_active_levels.
770	* omp.h.in (omp_get_supported_active_levels): New.
771	* omp_lib.f90.in (omp_get_supported_active_levels): New.
772	* omp_lib.h.in (omp_get_supported_active_levels): New.
773	* testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
774	against omp_get_supported_active_levels.
775	* testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
776
7772020-10-11  Clement Chigot  <clement.chigot@atos.net>
778
779	* config/t-aix: Delete and recreate libgomp before creating
780	FAT library.
781
7822020-10-08  Tom de Vries  <tdevries@suse.de>
783
784	PR libgomp/81802
785	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
786	dimensions.
787
7882020-10-06  Tom de Vries  <tdevries@suse.de>
789
790	* testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
791
7922020-10-06  Tom de Vries  <tdevries@suse.de>
793
794	PR middle-end/90861
795	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
796
7972020-10-05  Tom de Vries  <tdevries@suse.de>
798
799	PR fortran/95654
800	* testsuite/libgomp.fortran/pr95654.f90: New test.
801
8022020-10-02  Tobias Burnus  <tobias@codesourcery.com>
803
804	* Makefile.in: Regenerate with automake 1.15.1.
805	* aclocal.m4: Likewise.
806	* configure: Likewise.
807	* testsuite/Makefile.in: Likewise.
808
8092020-09-30  Andrew Stubbs  <ams@codesourcery.com>
810
811	* parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
812	and amdgcn targets.
813
8142020-09-30  Tobias Burnus  <tobias@codesourcery.com>
815
816	* testsuite/libgomp.fortran/declare-target-3.f90: New test.
817
8182020-09-29  Andrew Stubbs  <ams@codesourcery.com>
819
820	* config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
821	total number of threads is one.
822	(gomp_team_barrier_wake): Likewise.
823	(gomp_team_barrier_wait_end): Likewise.
824	(gomp_team_barrier_wait_cancel_end): Likewise.
825	* config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
826	(gomp_team_barrier_wake): Likewise.
827	(gomp_team_barrier_wait_end): Likewise.
828	(gomp_team_barrier_wait_cancel_end): Likewise.
829	* testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
830
8312020-09-28  Tobias Burnus  <tobias@codesourcery.com>
832
833	PR middle-end/96390
834	* testsuite/libgomp.c++/pr96390.C: New test.
835	* testsuite/libgomp.c-c++-common/pr96390.c: New test.
836
8372020-09-27  Clement Chigot  <clement.chigot@atos.net>
838
839	* config/t-aix: Use $(AR) without -X32_64.
840
8412020-09-25  Jakub Jelinek  <jakub@redhat.com>
842
843	* testsuite/libgomp.c/loop-25.c: New test.
844
8452020-09-22  Tobias Burnus  <tobias@codesourcery.com>
846
847	PR fortran/95654
848	* testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
849
8502020-09-22  Tom de Vries  <tdevries@suse.de>
851
852	* plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
853	fails.
854
8552020-09-16  Nathan Sidwell  <nathan@acm.org>
856
857	* testsuite/libgomp.c++/udr-3.C: Add missing ctor.
858
8592020-09-15  Tobias Burnus  <tobias@codesourcery.com>
860
861	PR fortran/96668
862	* target.c (gomp_map_vars_internal): Initialize has_nullptr.
863
8642020-09-15  Tobias Burnus  <tobias@codesourcery.com>
865
866	PR fortran/96668
867	* libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
868	* target.c (gomp_map_vars_existing): Add always_to_flag flag.
869	(gomp_map_vars_existing): Update call to it.
870	(gomp_map_fields_existing): Likewise
871	(gomp_map_vars_internal): Update PSET handling such that if a nullptr is
872	now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
873	remapped.
874	(GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
875	GOMP_MAP_POINTER.
876	* testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
877	* testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
878
8792020-09-14  Tom de Vries  <tdevries@suse.de>
880
881	* config/nvptx/atomic.c: New file.  Add
882	__sync_val_compare_and_swap_16.
883	* testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
884	target offload_target_nvptx.
885
8862020-09-08  Julian Brown  <julian@codesourcery.com>
887
888	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
889	iteration-ordering assumptions.
890
8912020-09-08  Julian Brown  <julian@codesourcery.com>
892
893	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
894	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
895
8962020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
897
898	* plugin/plugin-nvptx.c (nvptx_free):
899	Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
900	CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
901	comments.
902
9032020-08-20  Tobias Burnus  <tobias@codesourcery.com>
904
905	* testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
906
9072020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
908
909	* testsuite/libgomp.c-c++-common/reduction-16.c: New.
910
9112020-08-13  Jakub Jelinek  <jakub@redhat.com>
912
913	* testsuite/libgomp.c/loop-22.c (main): Add some further tests.
914	* testsuite/libgomp.c/loop-23.c (main): Likewise.
915	* testsuite/libgomp.c/loop-24.c: New test.
916
9172020-08-08  Jakub Jelinek  <jakub@redhat.com>
918	    Tobias Burnus  <tobias@codesourcery.com>
919
920	PR fortran/93553
921	* testsuite/libgomp.fortran/pr93553.f90: New test.
922
9232020-08-05  Jakub Jelinek  <jakub@redhat.com>
924
925	* testsuite/libgomp.c/loop-22.c: New test.
926	* testsuite/libgomp.c/loop-23.c: New test.
927
9282020-08-05  Jakub Jelinek  <jakub@redhat.com>
929
930	PR middle-end/96459
931	* testsuite/libgomp.c/teams-3.c: New test.
932	* testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
933	if not defined yet.
934	(N(test)): Use it before all N(f*) calls.
935	* testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
936	(main): Don't call all test_* functions from within
937	#pragma omp teams reduction(|:err), call them directly.
938
9392020-08-04  Tom de Vries  <tdevries@suse.de>
940
941	PR target/96428
942	* testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
943	* testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
944
9452020-08-03  Julian Brown  <julian@codesourcery.com>
946	    Thomas Schwinge  <thomas@codesourcery.com>
947
948	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
949	shared-memory devices.  Extend with further checking.
950
9512020-08-03  Martin Jambor  <mjambor@suse.cz>
952
953	* plugin/Makefrag.am: Remove configuration of HSA plugin.
954	* aclocal.m4: Regenerated.
955	* Makefile.in: Regenerated.
956	* config.h.in: Regenerated.
957	* configure: Regenerated.
958	* plugin/configfrag.ac: Likewise.
959	* plugin/hsa_ext_finalize.h: Removed.
960	* plugin/plugin-hsa.c: Likewise.
961	* testsuite/Makefile.in: Regenerated.
962	* testsuite/lib/libgomp.exp
963	(offload_target_to_openacc_device_type): Remove hsa case.
964	(check_effective_target_hsa_offloading_selected_nocache): Removed
965	(check_effective_target_hsa_offloading_selected): Likewise.
966	(libgomp_init): Do not add -Wno-hsa to additional_flags.
967	* testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
968	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
969	* testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
970	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
971	* testsuite/libgomp.hsa.c/c.exp: Likewise.
972	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
973	* testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
974	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
975	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
976	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
977	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
978	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
979	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
980	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
981	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
982	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
983	* testsuite/libgomp.hsa.c/pr82416.c: Likewise.
984	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
985	* testsuite/libgomp.hsa.c/staticvar.c: Likewise.
986	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
987	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
988	* testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
989	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
990	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
991
9922020-07-27  Julian Brown  <julian@codesourcery.com>
993	    Thomas Schwinge  <thomas@codesourcery.com>
994
995	* libgomp.h (struct target_var_desc): Rename do_detach field to
996	is_attach.
997	* oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
998	GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
999	(goacc_enter_data_internal): Don't affect reference counts
1000	for attach mappings.
1001	(goacc_exit_data_internal): Don't affect reference counts for detach
1002	mappings.
1003	* target.c (gomp_map_vars_existing): Don't affect reference counts for
1004	attach mappings.
1005	(gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
1006	mark attach mappings.
1007	(gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
1008	reference count for attach mappings.
1009	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
1010	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
1011	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
1012	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
1013	test as shouldfail.
1014	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
1015	gracefully in no-finalize mode.
1016	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
1017
10182020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
1019
1020	* testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
1021	use.
1022	* testsuite/libgomp.oacc-c/c.exp: Likewise.
1023	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1024
10252020-07-23  Julian Brown  <julian@codesourcery.com>
1026	    Thomas Schwinge  <thomas@codesourcery.com>
1027
1028	* target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
1029	finalization for detach operation.
1030	* testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
1031	New test.
1032
10332020-07-23  Tobias Burnus  <tobias@codesourcery.com>
1034
1035	* configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
1036	* libgomp_f.h.in (omp_check_defines): Check whether
1037	sizeof of determined Fortran kind and C typedef match.
1038	* omp_lib.f90.in: Add omp_depened_kind.
1039	* omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
1040	* configure: Regenerate.
1041	* Makefile.in: Regenerate.
1042	* testsuite/Makefile.in: Regenerate.
1043
10442020-07-22  Tobias Burnus  <tobias@codesourcery.com>
1045
1046	* testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
1047	gcc/testsuite/c-c++-common/gomp/.
1048	* testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
1049	* testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
1050	from gcc/testsuite/gfortran.dg/gomp/.
1051	* testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
1052
10532020-07-22  Tobias Burnus  <tobias@codesourcery.com>
1054
1055	* omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
1056	* omp_lib.h.in: Likewise.
1057
10582020-07-18  H.J. Lu  <hjl.tools@gmail.com>
1059
1060	PR target/95620
1061	* testsuite/libgomp.c/pr95620.c: New test.
1062
10632020-07-16  Julian Brown  <julian@codesourcery.com>
1064	    Thomas Schwinge  <thomas@codesourcery.com>
1065
1066	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
1067	* testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
1068
10692020-07-15  Tobias Burnus  <tobias@codesourcery.com>
1070
1071	* testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
1072	avoid conversion on 32bit systems from 32bit to 64bit due
1073	to -fdefault-integer-8.
1074
10752020-07-15  Tobias Burnus  <tobias@codesourcery.com>
1076
1077	* testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
1078	variables; add character(kind=4) tests; update TODO comment.
1079
10802020-07-15  Tobias Burnus  <tobias@codesourcery.com>
1081
1082	* allocator.c: Add ialias for omp_init_allocator and
1083	omp_destroy_allocator.
1084	* configure.ac: Set INTPTR_T_KIND.
1085	* configure: Regenerate.
1086	* Makefile.in: Regenerate.
1087	* testsuite/Makefile.in: Regenerate.
1088	* fortran.c (omp_init_allocator_, omp_destroy_allocator_,
1089	omp_set_default_allocator_, omp_get_default_allocator_): New
1090	functions and ialias_redirect.
1091	* icv.c: Add ialias for omp_set_default_allocator and
1092	omp_get_default_allocator.
1093	* libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
1094	omp_destroy_allocator_, omp_set_default_allocator_ and
1095	omp_get_default_allocator_.
1096	* omp_lib.f90.in: Add allocator traits parameters, declare
1097	allocator routines and add related kind parameters.
1098	* omp_lib.h.in: Likewise.
1099	* testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
1100	* testsuite/libgomp.fortran/alloc-1.F90: New test.
1101	* testsuite/libgomp.fortran/alloc-2.F90: New test.
1102	* testsuite/libgomp.fortran/alloc-3.F: New test.
1103	* testsuite/libgomp.fortran/alloc-4.f90: New test.
1104	* testsuite/libgomp.fortran/alloc-5.f90: New test.
1105
11062020-07-14  Tom de Vries  <tom@codesourcery.com>
1107	    Cesar Philippidis  <cesar@codesourcery.com>
1108	    Thomas Schwinge  <thomas@codesourcery.com>
1109	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1110
1111	* oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
1112	New variable.
1113	(acc_init_1): Set acc_init_thread to pthread_self ().  Set
1114	acc_init_state to initializing at the start, and to initialized at the
1115	end.
1116	(self_initializing_p): New function.
1117	(acc_get_device_type): Return acc_device_none if called by thread that
1118	is currently executing acc_init_1.
1119	* libgomp.texi (acc_get_device_type): Update documentation.
1120	(Implementation Status and Implementation-Defined Behavior): Likewise.
1121	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
1122
11232020-07-14  David Edelsohn  <dje.gcc@gmail.com>
1124
1125	* config/t-aix: Set BITS from compiler cpp macro.
1126
11272020-07-14  Tobias Burnus  <tobias@codesourcery.com>
1128
1129	* testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
1130
11312020-07-14  Tobias Burnus  <tobias@codesourcery.com>
1132
1133	PR fortran/67311
1134	* testsuite/libgomp.fortran/target-map-1.f90: New test.
1135
11362020-07-14  Jakub Jelinek  <jakub@redhat.com>
1137
1138	* testsuite/libgomp.c/loop-21.c: New test.
1139
11402020-07-13  Julian Brown  <julian@codesourcery.com>
1141	    Thomas Schwinge  <thomas@codesourcery.com>
1142
1143	* testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
1144
11452020-07-10  Julian Brown  <julian@codesourcery.com>
1146	    Thomas Schwinge  <thomas@codesourcery.com>
1147
1148	* libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
1149	dynamic_refcount.
1150	(struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1151	* oacc-mem.c (acc_map_data): Substitute virtual_refcount for
1152	dynamic_refcount.
1153	(acc_unmap_data): Update comment.
1154	(goacc_map_var_existing, goacc_enter_datum): Adjust for
1155	dynamic_refcount semantics.
1156	(goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
1157	Adjust for dynamic_refcount semantics.
1158	(goacc_enter_data_internal): Implement "present" case of dynamic
1159	memory-map handling here.  Update "non-present" case for
1160	dynamic_refcount semantics.
1161	(goacc_exit_data_internal): Use goacc_exit_datum_1.
1162	* target.c (gomp_map_vars_internal): Remove
1163	GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
1164	handling.
1165	(gomp_unmap_vars_internal): Remove virtual_refcount handling.
1166	(gomp_load_image_to_device): Substitute dynamic_refcount for
1167	virtual_refcount.
1168	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
1169	* testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
1170	* testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
1171	* testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
1172	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
1173	trace output.
1174	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
1175	trace output.
1176	* testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
1177	test.
1178	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1179	Remove stale comment.
1180	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
1181	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
1182	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
1183	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
1184	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
1185	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
1186
11872020-07-10  Julian Brown  <julian@codesourcery.com>
1188	    Thomas Schwinge  <thomas@codesourcery.com>
1189
1190	* oacc-mem.c (goacc_map_var_existing): New function.
1191	(goacc_enter_datum): Use above function.
1192	(goacc_exit_datum_1): New function.
1193	(goacc_exit_datum): Use above function.
1194
11952020-07-09  Julian Brown  <julian@codesourcery.com>
1196	    Thomas Schwinge  <thomas@codesourcery.com>
1197
1198	PR middle-end/95270
1199	* testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
1200	* testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
1201
12022020-07-09  Julian Brown  <julian@codesourcery.com>
1203
1204	* oacc-mem.c (find_group_last): Group data-movement clauses
1205	(GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
1206	GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
1207
12082020-07-09  Jakub Jelinek  <jakub@redhat.com>
1209
1210	* testsuite/libgomp.c/loop-19.c: New test.
1211	* testsuite/libgomp.c/loop-20.c: New test.
1212
12132020-07-09  Jakub Jelinek  <jakub@redhat.com>
1214
1215	* omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
1216	2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
1217	it.  Remove __omp_alloctrait_value_max__.
1218	* allocator.c (omp_init_allocator): Handle omp_atv_default for
1219	omp_atk_alignment and omp_atk_pool_size.
1220
12212020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
1222
1223	* oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
1224	behavior for 'GOMP_MAP_FORCE_FROM'.
1225	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
1226
12272020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
1228
1229	* oacc-mem.c (goacc_exit_data_internal): Remove
1230	'GOMP_MAP_ALWAYS_FROM' handling.
1231
12322020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
1233
1234	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
1235	'scan-assembler' with 'scan-offload-rtl'.
1236	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1237	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1238	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
1239	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
1240
12412020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
1242
1243	* target.c (gomp_map_vars_existing): Assert 'kind !=
1244	GOMP_MAP_ATTACH'.
1245	(gomp_map_vars_internal): Clean up.
1246
12472020-06-27  Jakub Jelinek  <jakub@redhat.com>
1248
1249	* testsuite/libgomp.c/loop-17.c: New test.
1250	* testsuite/libgomp.c/loop-18.c: New test.
1251
12522020-06-26  Marek Polacek  <polacek@redhat.com>
1253
1254	* testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
1255
12562020-06-23  Alexandre Oliva  <oliva@adacore.com>
1257
1258	* testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
1259	* testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
1260
12612020-06-22  David Edelsohn  <dje.gcc@gmail.com>
1262
1263	* Makefile.am: Use -include.
1264	* Makefile.in: Regenerate.
1265
12662020-06-21  David Edelsohn  <dje.gcc@gmail.com>
1267
1268	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
1269	* Makefile.in: Regenerate
1270	* configure.ac (tmake_file): Substitute.
1271	* configure: Regenerate.
1272	* configure.tgt (powerpc-ibm-aix*): Define tmake_file.
1273	* config/t-aix: New file.
1274
12752020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
1276
1277	PR lto/94848
1278	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
1279	'dg-do run'.
1280
12812020-06-17  Andrew Stubbs  <ams@codesourcery.com>
1282
1283	* plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
1284	variant for HSA_RUNTIME_LIB name.
1285	(find_executable_symbol_1): Delete.
1286	(find_executable_symbol): Delete.
1287	(init_kernel_properties): Add ".kd" suffix to symbol names.
1288	(find_load_offset): Delete.
1289	(create_and_finalize_hsa_program): Remove relocation handling.
1290
12912020-06-16  Tobias Burnus  <tobias@codesourcery.com>
1292
1293	* testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
1294
12952020-06-08  Tobias Burnus  <tobias@codesourcery.com>
1296
1297	PR lto/94848
1298	PR middle-end/95551
1299	* testsuite/libgomp.fortran/target-var.f90: New test.
1300
13012020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
1302	    Julian Brown  <julian@codesourcery.com>
1303
1304	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
1305	special handling.
1306
13072020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
1308	    Julian Brown  <julian@codesourcery.com>
1309
1310	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
1311	Simplify.
1312
13132020-06-05  Julian Brown  <julian@codesourcery.com>
1314
1315	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
1316	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
1317
13182020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1319
1320	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
1321	Evaluate 'copyfrom' individually for each entry.
1322	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
1323
13242020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1325
1326	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
1327	Evaluate 'finalize' individually for each entry.
1328	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
1329	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
1330	file.
1331
13322020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1333
1334	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
1335	usage.
1336	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
1337
13382020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1339	    Julian Brown  <julian@codesourcery.com>
1340
1341	* oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
1342	checking.
1343	(acc_unmap_data, goacc_exit_data_internal): Restore
1344	'is_tgt_unmapped' checking.
1345	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
1346	file.
1347	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
1348	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
1349	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
1350	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
1351	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
1352	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
1353
13542020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1355	    Julian Brown  <julian@codesourcery.com>
1356
1357	* oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
1358
13592020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1360
1361	PR libgomp/92854
1362	* oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
1363
13642020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1365
1366	PR libgomp/92854
1367	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
1368	more.
1369
13702020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1371	    Julian Brown  <julian@codesourcery.com>
1372
1373	* oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
1374	'gomp_map_vars'.
1375	 (acc_map_data): Clean up accordingly.
1376
13772020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1378
1379	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
1380	of over-eager 'finalize' clause.
1381	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
1382	file.
1383	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
1384	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
1385	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
1386	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
1387	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
1388	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
1389	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
1390	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
1391
13922020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1393
1394	* oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
1395
13962020-06-04  Julian Brown  <julian@codesourcery.com>
1397
1398	* oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
1399	error path.
1400	(goacc_detach_internal): Likewise.
1401
14022020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
1403
1404	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
1405	the checkpoint.
1406	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1407	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1408	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1409	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1410	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1411
14122020-06-02  Jakub Jelinek  <jakub@redhat.com>
1413
1414	* allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
1415	defined.
1416
14172020-05-30  Jakub Jelinek  <jakub@redhat.com>
1418
1419	* testsuite/libgomp.c-c++-common/alloc-4.c: New test.
1420
14212020-05-30  Jakub Jelinek  <jakub@redhat.com>
1422
1423	* allocator.c (omp_alloc): For size == 0, return NULL early.
1424
14252020-05-29  H.J. Lu  <hjl.tools@gmail.com>
1426
1427	PR bootstrap/95413
1428	* configure: Regenerated.
1429
14302020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1431
1432	PR libfortran/95191
1433	* testsuite/libgomp.fortran/async_io_9.f90: New test.
1434
14352020-05-19  Jakub Jelinek  <jakub@redhat.com>
1436
1437	* omp.h.in (omp_uintptr_t): New typedef.
1438	(__GOMP_UINTPTR_T_ENUM): Define.
1439	(omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
1440	omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
1441	(__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
1442	(omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
1443	omp_get_default_allocator, omp_alloc, omp_free): Declare.
1444	* libgomp.h (struct gomp_team_state): Add def_allocator field.
1445	(gomp_def_allocator): Declare.
1446	* libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
1447	omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
1448	omp_alloc and omp_free.
1449	* team.c (gomp_team_start): Copy over ts.def_allocator.
1450	* env.c (gomp_def_allocator): New variable.
1451	(parse_wait_policy): Adjust function comment.
1452	(parse_allocator): New function.
1453	(handle_omp_display_env): Print OMP_ALLOCATOR.
1454	(initialize_env): Call parse_allocator.
1455	* Makefile.am (libgomp_la_SOURCES): Add allocator.c.
1456	* allocator.c: New file.
1457	* icv.c (omp_set_default_allocator, omp_get_default_allocator): New
1458	functions.
1459	* testsuite/libgomp.c-c++-common/alloc-1.c: New test.
1460	* testsuite/libgomp.c-c++-common/alloc-2.c: New test.
1461	* testsuite/libgomp.c-c++-common/alloc-3.c: New test.
1462	* Makefile.in: Regenerated.
1463
14642020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
1465
1466	PR bootstrap/95147
1467	* configure: Regenerated.
1468
14692020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1470
1471	PR libfortran/95119
1472	* testsuite/libgomp.fortran/close_errors_1.f90: New test.
1473
14742020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
1475
1476	* configure: Regenerated.
1477
14782020-05-14  Jakub Jelinek  <jakub@redhat.com>
1479
1480	* testsuite/libgomp.c-c++-common/target-40.c: New test.
1481
14822020-05-13  Tobias Burnus  <tobias@codesourcery.com>
1483
1484	PR fortran/94690
1485	* testsuite/libgomp.fortran/pr66199-3.f90: New.
1486	* testsuite/libgomp.fortran/pr66199-4.f90: New.
1487	* testsuite/libgomp.fortran/pr66199-5.f90: New.
1488	* testsuite/libgomp.fortran/pr66199-6.f90: New.
1489	* testsuite/libgomp.fortran/pr66199-7.f90: New.
1490	* testsuite/libgomp.fortran/pr66199-8.f90: New.
1491	* testsuite/libgomp.fortran/pr66199-9.f90: New.
1492
14932020-05-12  Jakub Jelinek  <jakub@redhat.com>
1494
1495	* testsuite/libgomp.c/target-39.c: New test.
1496
14972020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
1498
1499	* config/accel/openacc.f90 (acc_device_current): Set to '-1'.
1500	* openacc.f90 (acc_device_current): Likewise.
1501	* openacc.h (acc_device_current): Likewise.
1502	* openacc_lib.h (acc_device_current): Likewise.
1503
1504	PR target/94282
1505	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
1506	'dg-allow-blank-lines-in-output'.
1507
1508	* oacc-init.c (get_openacc_name): Handle 'gcn'.
1509	* testsuite/lib/libgomp.exp
1510	(offload_target_to_openacc_device_type) [amdgcn*]: Return
1511	'radeon'.  Adjust all users.
1512	(check_effective_target_openacc_amdgcn_accel_present): Rename
1513	to...
1514	(check_effective_target_openacc_radeon_accel_present): ... this.
1515	Adjust all users.
1516	(check_effective_target_openacc_amdgcn_accel_selected): Rename to...
1517	(check_effective_target_openacc_radeon_accel_selected): ... this.
1518	Adjust all users.
1519
1520	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
1521	'dg-do run'.
1522
15232020-04-23  Andrew Stubbs  <ams@codesourcery.com>
1524
1525	PR other/94629
1526
1527	* plugin/plugin-gcn.c (init_hsa_context): Check return value from
1528	hsa_iterate_agents.
1529	(GOMP_OFFLOAD_init_device): Check return values from both calls to
1530	hsa_agent_iterate_regions.
1531
15322020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
1533
1534	PR middle-end/94635
1535	* testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
1536	run'.
1537
15382020-04-20  Tobias Burnus  <tobias@codesourcery.com>
1539
1540	PR middle-end/94120
1541	* testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
1542	test case.
1543
15442020-04-17  Tobias Burnus  <tobias@codesourcery.com>
1545
1546	PR middle-end/94635
1547	* testsuite/libgomp.fortran/target-enter-data-2.F90: New.
1548
15492020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
1550
1551	PR libgomp/92843
1552	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1553	Rename to...
1554	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
1555	... this.
1556	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1557	Rename to...
1558	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
1559	... this.
1560	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1561	Rename to...
1562	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
1563	... this.
1564	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1565	Rename to...
1566	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
1567	... this.
1568	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1569	Rename to...
1570	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
1571	... this.
1572	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1573	Rename to...
1574	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
1575	... this.
1576	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1577	Rename to...
1578	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
1579	... this.
1580	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1581	Rename to...
1582	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1583	... this.
1584	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1585	Rename to...
1586	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
1587	... this.
1588	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1589	Rename to...
1590	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
1591	... this.
1592	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1593	Rename to...
1594	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
1595	... this.
1596	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1597	Rename to...
1598	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
1599	... this.
1600	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1601	Rename to...
1602	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
1603	... this.
1604	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1605	Rename to...
1606	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
1607	... this.
1608	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1609	Rename to...
1610	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
1611	... this.
1612	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
1613	Rename to...
1614	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
1615	... this.
1616
16172020-04-10  Julian Brown  <julian@codesourcery.com>
1618	    Thomas Schwinge  <thomas@codesourcery.com>
1619
1620	PR libgomp/92843
1621	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1622	New file.
1623	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1624	Likewise.
1625	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1626	Likewise.
1627	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1628	Likewise.
1629	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1630	Likewise.
1631	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1632	Likewise.
1633	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1634	Likewise.
1635	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1636	Likewise.
1637	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1638	Likewise.
1639	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1640	Likewise.
1641	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1642	Likewise.
1643	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1644	Likewise.
1645	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1646	Likewise.
1647	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1648	Likewise.
1649	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1650	Likewise.
1651	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
1652	Likewise.
1653
16542020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
1655
1656	* testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
1657	run'.
1658
16592020-04-08  Tobias Burnus  <tobias@codesourcery.com>
1660
1661	PR middle-end/94120
1662	* libgomp.oacc-c++/declare-pr94120.C: New.
1663
16642020-04-06  Maciej W. Rozycki  <macro@wdc.com>
1665
1666	* configure.ac: Add testsuite/libgomp-site-extra.exp to output
1667	files.
1668	* configure: Regenerate.
1669	* testsuite/libgomp-site-extra.exp.in: New file.
1670	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
1671	variable.
1672	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
1673	variable.
1674	* testsuite/Makefile.in: Regenerate.
1675
16762020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
1677
1678	PR tree-optimization/89713
1679	PR c/94392
1680	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
1681	'bar.sync'.
1682	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1683
16842020-03-31  Tobias Burnus  <tobias@codesourcery.com>
1685
1686	* target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
1687	* testsuite/libgomp.fortran/target-enter-data-1.f90: New.
1688
16892020-03-24  Tobias Burnus  <tobias@codesourcery.com>
1690
1691	PR libgomp/81689
1692	* testsuite/libgomp.c/target-link-1.c: Remove xfail.
1693
16942020-03-20  Tobias Burnus  <tobias@codesourcery.com>
1695
1696	PR libgomp/94251
1697	* target.c (gomp_load_image_to_device): Fix link
1698	variable handling.
1699
17002020-03-19  Jakub Jelinek  <jakub@redhat.com>
1701
1702	PR c++/93931
1703	* testsuite/libgomp.c++/pr93931.C: New test.
1704
17052020-03-19  Tobias Burnus  <tobias@codesourcery.com>
1706
1707	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
1708	dg-allow-blank-lines-in-output.
1709
17102020-03-18  Julian Brown <julian@codesourcery.com>
1711	    Tobias Burnus  <tobias@codesourcery.com>
1712
1713	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
1714	it work concurrently.
1715
17162020-03-18  Tobias Burnus  <tobias@codesourcery.com>
1717
1718	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
1719	#define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
1720	* libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
1721
17222020-03-14  Jakub Jelinek  <jakub@redhat.com>
1723
1724	PR middle-end/93566
1725	* testsuite/libgomp.c/pr93566.c: New test.
1726
17272020-02-21  Frederik Harwath  <frederik@codesourcery.com>
1728
1729	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
1730	changes from 2020-02-19, i.e. use integer(c_size_t) instead of
1731	integer(acc_device_property) for the type of the return value of
1732	acc_get_property.
1733
17342020-02-19  Tobias Burnus  <tobias@codesourcery.com>
1735
1736	* .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
1737	* config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
1738	(openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
1739	* libgomp.texi (Enabling OpenACC): No longer mark as experimental.
1740	(acc_set_device_num): Fix Fortran argument name, use same name for C.
1741	(acc_get_property): Update Fortran interface to post-OpenACC 3.0
1742	corrections; add note about the previous interface and named constant.
1743	(OpenACC library and environment variables): Fix two typos.
1744	* openacc.f90: Use for all procedures the argument names from the spec
1745	as for …_h they are user visible.
1746	(openacc_kinds): Rename acc_device_property to
1747	acc_device_property_kinds and change value to int32 ; and update users.
1748	Re-add acc_device_property for for backward compatibility.
1749	(acc_get_property_string_h): Clean up as acc_device_property_kind
1750	changed.
1751	(acc_get_property_h): Likewise and return c_size_t instead of
1752	acc_device_property.
1753	(openacc): Also export acc_device_property_kinds.
1754	(acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
1755	acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
1756	handling; check against /= 0 instead of == 1 to match C.
1757	* openacc_lib.h: Use for all procedures the argument names from the spec
1758	as for …_h they are user visible. Place !GCC$ into the first column to
1759	be active also for fixed-form souce form.
1760	(acc_device_current, acc_device_property_kind, acc_device_property,
1761	acc_property_memory, acc_property_free_memory, acc_property_name,
1762	acc_property_vendor, acc_property_driver): New named constants.
1763	(acc_get_property, acc_get_property_string): New generic interface.
1764
17652020-02-13  Frederik Harwath  <frederik@codesourcery.com>
1766
1767	PR libgomp/93481
1768	* plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
1769	* target.c (gomp_load_plugin_for_device): Make "async_run" loading
1770	optional.
1771	(gomp_target_task_fn): Assert "devicep->async_run_func".
1772	(clear_unsupported_flags): New function to remove unsupported flags
1773	(right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
1774	(GOMP_target_ext): Apply clear_unsupported_flags to flags.
1775	* testsuite/libgomp.c/target-33.c:
1776	Remove xfail for offload_target_nvptx.
1777	* testsuite/libgomp.c/target-34.c: Likewise.
1778
17792020-02-10  Frederik Harwath  <frederik@codesourcery.com>
1780
1781	* testsuite/libgomp.c/target-33.c: Add xfail for execution on
1782	offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
1783	* testsuite/libgomp.c/target-34.c: Likewise.
1784	* testsuite/libgomp.c/target-link-1.c: Add xfail for
1785	offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
1786
17872020-02-09  Jakub Jelinek  <jakub@redhat.com>
1788
1789	* testsuite/libgomp.c/target-38.c: New test.
1790
17912020-02-06  Jakub Jelinek  <jakub@redhat.com>
1792
1793	PR libgomp/93515
1794	* testsuite/libgomp.c-c++-common/pr93515.c: New test.
1795
17962020-02-05  Tobias Burnus  <tobias@codesourcery.com>
1797
1798	* testsuite/lib/libgomp.exp
1799	(check_effective_target_offload_target_nvptx): Pass flags as 'options'
1800	and not as 'source' argument to libgomp_target_compile.
1801
18022020-02-03  Andrew Stubbs  <ams@codesourcery.com>
1803
1804	* plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
1805	(gcn_gfx801_s): Remove.
1806	(isa_hsa_name): Remove gfx801.
1807	(isa_gcc_name): Remove gfx801/carizzo.
1808	(isa_code): Remove gfx801.
1809
18102020-02-03  Julian Brown  <julian@codesourcery.com>
1811	    Tobias Burnus  <tobias@codesourcery.com>
1812
1813	* libgomp.texi (OpenACC Runtime Library Routines): Document *_async
1814	and *_finalize variants; document acc_attach and acc_detach; update
1815	references from OpenACC 2.0 to 2.6.
1816	* openacc.f90 (openacc_version): Update to 201711.
1817	* openacc_lib.h (openacc_version): Update to 201711.
1818	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
1819	openacc_version to 201711.
1820	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1821
18222020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
1823
1824	* plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
1825	and vgpr_count fields.
1826	(struct kernel_info): Add a field for a hsa_kernel_description.
1827	(run_kernel): Reduce the number of threads/workers if the requested
1828	number would require too many VGPRs.
1829	(init_basic_kernel_info): Initialize description field with
1830	the hsa_kernel_description entry for the kernel.
1831
18322020-01-29  Tobias Burnus  <tobias@codesourcery.com>
1833
1834	PR bootstrap/93409
1835	* plugin/configfrag.ac (enable_offload_targets): Skip
1836	HSA and GCN plugin besides -m32 also for -mx32.
1837	* configure: Regenerate.
1838
18392020-01-29  Frederik Harwath  <frederik@codesourcery.com>
1840
1841	* oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
1842
18432020-01-29  Frederik Harwath  <frederik@codesourcery.com>
1844
1845	* plugin-gcn.c (struct agent_info): Add fields "name" and
1846	"vendor_name" ...
1847	(GOMP_OFFLOAD_init_device): ... and init from here.
1848	(struct hsa_context_info): Add field "driver_version_s" ...
1849	(init_hsa_contest): ... and init from here.
1850	(GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
1851	implementation.
1852	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1853	Enable test execution for amdgcn and host offloading targets.
1854	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
1855	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1856	(expect_device_properties): Split function into ...
1857	(expect_device_string_properties): ... this new function ...
1858	(expect_device_memory): ... and this new function.
1859	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
1860	Add test.
1861
18622020-01-28  Julian Brown  <julian@codesourcery.com>
1863
1864	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
1865	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
1866	component/non-component variable refs in a single directive.
1867	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
1868
18692020-01-24  Maciej W. Rozycki  <macro@wdc.com>
1870
1871	* configure.ac: Handle `--with-toolexeclibdir='.
1872	* Makefile.in: Regenerate.
1873	* aclocal.m4: Regenerate.
1874	* configure: Regenerate.
1875	* testsuite/Makefile.in: Regenerate.
1876
18772020-01-24  Frederik Harwath  <frederik@codesourcery.com>
1878
1879	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1880	(expect_device_properties): Remove "expected_free_mem" argument,
1881	change "expected_total_mem" argument type to size_t;
1882	change types of acc_get_property results to size_t,
1883	adapt format strings.
1884	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1885	Use %zu instead of %zd to print size_t values.
1886	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
1887	rename to ...
1888	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
1889	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
1890	rename to ...
1891	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
1892
18932020-01-23  Andrew Stubbs  <ams@codesourcery.com>
1894
1895	* plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
1896	the device id.
1897
18982020-01-20  Andrew Stubbs  <ams@codesourcery.com>
1899
1900	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
1901	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
1902	Adjust test dimensions for amdgcn.
1903	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
1904	gang/worker/vector expectations dynamically.
1905	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1906	(main): Likewise.
1907	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1908	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1909	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1910	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1911	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1912	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1913	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1914	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1915	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1916	(acc_gang): Recognise acc_device_radeon.
1917	(acc_worker): Likewise.
1918	(acc_vector): Likewise.
1919	(main): Set expectations for amdgcn.
1920	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1921	(main): Adjust gang/worker/vector expectations dynamically.
1922	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1923	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1924	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1925	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1926	for amdgcn.
1927
19282020-01-17  Andrew Stubbs  <ams@codesourcery.com>
1929
1930	* config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1931	acc_device_radeon.
1932	(openacc): Likewise.
1933	* openacc.f90 (openacc_kinds): Likewise.
1934	(openacc): Likewise.
1935	* openacc.h (acc_device_t): Likewise.
1936	* openacc_lib.h: Likewise.
1937	* testsuite/lib/libgomp.exp
1938	(check_effective_target_openacc_amdgcn_accel_present): Likewise.
1939	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1940	(cb_compute_construct_end): Likewise.
1941	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1942	(cb_enqueue_launch_start): Likewise.
1943	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1944	(cb_enter_data_end): Likewise.
1945	(cb_exit_data_start): Likewise.
1946	(cb_exit_data_end): Likewise.
1947	(cb_compute_construct_end): Likewise.
1948	(cb_enqueue_launch_start): Likewise.
1949	(cb_enqueue_launch_end): Likewise.
1950	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1951	(main): Likewise.
1952
19532020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1954
1955	* libgomp-plugin.h (enum goacc_property): New.  Adjust all users
1956	to use this instead of 'enum gomp_device_property'.
1957	(GOMP_OFFLOAD_get_property): Rename to...
1958	(GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
1959	* libgomp.h (struct gomp_device_descr): Move
1960	'GOMP_OFFLOAD_openacc_get_property'...
1961	(struct acc_dispatch_t): ... here.  Adjust all users.
1962	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1963
1964	* target.c (gomp_map_vars_internal)
1965	<GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1966	paths.
1967
19682020-01-10  Jakub Jelinek  <jakub@redhat.com>
1969
1970	PR libgomp/93219
1971	* libgomp.h (gomp_print_string): Change return type from void to int.
1972	* affinity-fmt.c (gomp_print_string): Likewise.  Return true if
1973	not all characters have been written.
1974
19752020-01-08  Tobias Burnus  <tobias@codesourcery.com>
1976
1977	* libgomp.texi: Fix typos, use https.
1978
19792020-01-03  Tobias Burnus  <tobias@codesourcery.com>
1980
1981	* testsuite/libgomp.fortran/optional-map.f90: Add test for
1982	unallocated/disassociated actual arguments to nonallocatable/nonpointer
1983	dummy arguments; those are/shall be regarded as absent arguments.
1984	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1985	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1986
19872020-01-01  Jakub Jelinek  <jakub@redhat.com>
1988
1989	Update copyright years.
1990
1991	* libgomp.texi: Bump @copying's copyright year.
1992
19932019-12-31  Ayush Mittal  <ayush.m@samsung.com>
1994
1995	PR libgomp/93065
1996	* oacc-init.c (goacc_runtime_deinitialize): New function.
1997
19982019-12-28  Jakub Jelinek  <jakub@redhat.com>
1999
2000	PR bootstrap/93074
2001	* plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
2002	(cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
2003
20042019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
2005	    Frederik Harwath  <frederik@codesourcery.com>
2006	    Thomas Schwinge  <tschwinge@codesourcery.com>
2007
2008	* libgomp.h (gomp_device_descr): Add `get_property_func' member.
2009	* libgomp-plugin.h (gomp_device_property_value): New union.
2010	(gomp_device_property_value): New prototype.
2011	* openacc.h (acc_device_t): Add `acc_device_current' enumeration
2012	constant.
2013	(acc_device_property_t): New enum.
2014	(acc_get_property, acc_get_property_string): New prototypes.
2015	* oacc-init.c (acc_get_device_type): Also assert that result
2016	is not `acc_device_current'.
2017	(get_property_any, acc_get_property, acc_get_property_string):
2018	New functions.
2019	* openacc.f90 (openacc_kinds): Add `acc_device_current' and
2020	`acc_property_memory', `acc_property_free_memory',
2021	`acc_property_name', `acc_property_vendor' and
2022	`acc_property_driver' constants.  Add `acc_device_property' data
2023	type.
2024	(openacc_internal): Add `acc_get_property' and
2025	`acc_get_property_string' interfaces.  Add `acc_get_property_h',
2026	`acc_get_property_string_h', `acc_get_property_l' and
2027	`acc_get_property_string_l'.
2028	* oacc-host.c (host_get_property): New function.
2029	(host_dispatch): Wire it.
2030	* target.c (gomp_load_plugin_for_device): Handle `get_property'.
2031	* libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
2032	`acc_get_property_string' and `acc_get_property_string_h_' symbols.
2033	* libgomp.texi (OpenACC Runtime Library Routines): Add
2034	`acc_get_property'.
2035	(acc_get_property): New node.
2036	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
2037	function (stub).
2038	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
2039	* plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
2040	`cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
2041	calls.
2042	(GOMP_OFFLOAD_get_property): New function.
2043	(struct ptx_device): Add new field "name".
2044	(cuda_driver_version_s): Add new static variable ...
2045	(nvptx_init): ... and init from here.
2046
2047	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
2048	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
2049	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
2050	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
2051	with test helper functions.
2052
2053	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
2054
20552019-12-22  Maciej W. Rozycki  <macro@wdc.com>
2056
2057	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
2058	variable.
2059
20602019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
2061
2062	* target.c (gomp_map_vars_internal): Restore 'omp declare target
2063	link' handling.
2064
20652019-12-19  Julian Brown  <julian@codesourcery.com>
2066
2067	* testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
2068	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
2069	* testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
2070
20712019-12-19  Julian Brown  <julian@codesourcery.com>
2072	    Cesar Philippidis  <cesar@codesourcery.com>
2073
2074	* testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
2075	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
2076	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
2077	* testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
2078	* testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
2079	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
2080	* testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
2081	* testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
2082	* testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
2083	* testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
2084	* testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
2085	* testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
2086	* testsuite/libgomp.oacc-fortran/update-2.f90: New test.
2087
20882019-12-19  Julian Brown  <julian@codesourcery.com>
2089
2090	* testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
2091	* testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
2092	* testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
2093	* testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
2094	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
2095	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
2096	* testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
2097	* testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
2098	* testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
2099	* testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
2100	* testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
2101	* testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
2102
21032019-12-19  Julian Brown  <julian@codesourcery.com>
2104
2105	* libgomp.h (struct target_var_desc): Add do_detach flag.
2106	* oacc-init.c (acc_shutdown_1): Free aux block if present.
2107	* oacc-mem.c (find_group_last): Add SIZES parameter. Support
2108	struct components.  Tidy up and add some new checks.
2109	(goacc_enter_data_internal): Update call to find_group_last.
2110	(goacc_exit_data_internal): Support detach operations and
2111	GOMP_MAP_STRUCT.
2112	(GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
2113	GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
2114	attach/detach in enter/exit data detection code.
2115	* target.c (gomp_map_vars_existing): Initialise do_detach field of
2116	tgt_var_desc.
2117	(gomp_map_vars_internal): Support attach.
2118	(gomp_unmap_vars_internal): Support detach.
2119
21202019-12-19  Julian Brown  <julian@codesourcery.com>
2121	    Thomas Schwinge  <thomas@codesourcery.com>
2122
2123	* libgomp.h (struct splay_tree_aux): Add attach_count field.
2124	(gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
2125	* libgomp.map (OACC_2.6): New section. Add acc_attach,
2126	acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
2127	acc_detach_finalize_async.
2128	* oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
2129	acc_detach, acc_detach_async, acc_detach_finalize,
2130	acc_detach_finalize_async): New functions.
2131	* openacc.h (acc_attach, acc_attach_async, acc_detach,
2132	(acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
2133	prototypes.
2134	* target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
2135	(gomp_remove_var_internal): Free attachment counts if present.
2136	* testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
2137	* testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
2138
21392019-12-19  Julian Brown  <julian@codesourcery.com>
2140	    Cesar Philippidis  <cesar@codesourcery.com>
2141
2142	* libgomp.h (gomp_map_val): Add prototype.
2143	* oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
2144	open-coding device-address calculation.
2145	* target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
2146	non-present case.
2147
21482019-12-19  Julian Brown  <julian@codesourcery.com>
2149
2150	* libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
2151	field for virtual_refcount.
2152	(enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2153	(gomp_free_memmap): Remove prototype.
2154	* oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
2155	instead of calling gomp_free_memmap.
2156	* oacc-mem.c (acc_map_data): Use virtual_refcount instead of
2157	dynamic_refcount.
2158	(acc_unmap_data): Open code instead of forcing target_mem_desc's
2159	to_free field to NULL then calling gomp_unmap_vars.  Handle
2160	REFCOUNT_INFINITY on target blocks.
2161	(goacc_enter_data): Rename to...
2162	(goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
2163	handling for mapping groups.  Use virtual_refcount instead of
2164	dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
2165	map_map_vars_async call.  Re-do lookup for target pointer return value.
2166	(acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
2167	renamed goacc_enter_datum function.
2168	(goacc_exit_data): Rename to...
2169	(goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
2170	(acc_delete, acc_delete_async, acc_delete_finalize,
2171	acc_delete_finalize_async, acc_copyout, acc_copyout_async,
2172	acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
2173	goacc_exit_datum function.
2174	(gomp_acc_remove_pointer, find_pointer): Remove functions.
2175	(find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
2176	New functions.
2177	(GOACC_enter_exit_data): Use goacc_enter_data_internal and
2178	goacc_exit_data_internal helper functions.
2179	* target.c (gomp_map_vars_internal): Handle
2180	GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
2181	semantics.
2182	(gomp_unmap_vars_internal): Update for virtual_refcount semantics.
2183	(gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
2184	virtual_refcount field instead of dynamic_refcount.
2185	(gomp_free_memmap): Remove function.
2186	* testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
2187	* testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
2188	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
2189
21902019-12-19  Julian Brown  <julian@codesourcery.com>
2191	    Thomas Schwinge  <thomas@codesourcery.com>
2192
2193	* libgomp.h (struct splay_tree_aux): New.
2194	(struct splay_tree_key_s): Replace link_key field with aux pointer.
2195	* target.c (gomp_map_vars_internal): Adjust for link_key being moved
2196	to aux struct.
2197	(gomp_remove_var_internal): Free aux block if present.
2198	(gomp_load_image_to_device): Zero-initialise aux field instead of
2199	link_key field.
2200	(omp_target_associate_pointer): Zero-initialise aux field.
2201
22022019-12-18  Jakub Jelinek  <jakub@redhat.com>
2203
2204	PR middle-end/86416
2205	* testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
2206	q or none.
2207	* testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
2208	L or none.
2209
22102019-12-19  Julian Brown  <julian@codesourcery.com>
2211	    Maciej W. Rozycki  <macro@codesourcery.com>
2212	    Tobias Burnus  <tobias@codesourcery.com>
2213	    Thomas Schwinge  <thomas@codesourcery.com>
2214
2215	* target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
2216	* testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
2217	* testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
2218	* testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
2219	* testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
2220	* testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
2221	* testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
2222	* testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
2223	* testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
2224
22252019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
2226
2227	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
2228	called...
2229	(goacc_insert_pointer): ... from here, "present" case.
2230	(goacc_insert_pointer): Inline function into...
2231	(GOACC_enter_exit_data): ... here, and simplify.
2232
2233	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
2234	called...
2235	(goacc_insert_pointer): ... from here, "not present" case.
2236
2237	* oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
2238	all users.
2239
2240	* oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
2241	'goacc_enter_data', 'goacc_exit_data'.
2242
2243	* oacc-mem.c (delete_copyout): Refactor into...
2244	(goacc_exit_data): ... this.  Adjust all users.
2245
2246	* oacc-mem.c (present_create_copy): Refactor into...
2247	(goacc_enter_data): ... this.  Adjust all users.
2248
2249	* target.c (gomp_unmap_vars_internal): Add a safeguard to
2250	'gomp_remove_var'.
2251
2252	* target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
2253	like 'GOMP_MAP_FROM'.
2254
2255	PR libgomp/92726
2256	PR libgomp/92970
2257	PR libgomp/92984
2258	* oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
2259	fails.
2260	(GOACC_enter_exit_data): Simplify accordingly.
2261	* testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
2262	subsuming...
2263	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
2264	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
2265	file.
2266	* testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
2267	subsuming...
2268	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
2269	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
2270	file.
2271	* testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
2272	subsuming...
2273	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
2274
2275	* oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
2276	'finalize' handling.
2277
2278	PR libgomp/92848
2279	* oacc-mem.c (acc_map_data, present_create_copy)
2280	(goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
2281	(acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
2282	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
2283	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
2284	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
2285	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
2286	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
2287	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2288	Remove "XFAIL"s.
2289
2290	* target.c (gomp_unmap_tgt): Make it 'static'.
2291	* libgomp.h (gomp_unmap_tgt): Remove.
2292
22932019-12-18  Tobias Burnus  <tobias@codesourcery.com>
2294
2295	PR middle-end/86416
2296	* testsuite/libgomp.c/pr86416-1.c: New.
2297	* testsuite/libgomp.c/pr86416-2.c: New.
2298
22992019-12-17  Tobias Burnus  <tobias@codesourcery.com>
2300
2301	* config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
2302	all symbols as public except for the 'use …, only' imported symbol,
2303	which is private.
2304	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
2305	all symbols from module openacc_kinds as PUBLIC
2306	* openacc.f90: Add comment with crossref to that file and openmp_lib.h;
2307	fix comment typo.
2308	* openacc_lib.h (acc_device_gcn): Add this PARAMETER.
2309
23102019-12-13  Julian Brown  <julian@codesourcery.com>
2311
2312	PR libgomp/92881
2313
2314	* libgomp.h (gomp_remove_var_async): Add prototype.
2315	* oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
2316	gomp_remove_var.
2317	* target.c (gomp_unref_tgt): Change return type to bool, indicating
2318	whether target_mem_desc was unmapped.
2319	(gomp_unref_tgt_void): New.
2320	(gomp_remove_var): Reimplement in terms of...
2321	(gomp_remove_var_internal): ...this new helper function.
2322	(gomp_remove_var_async): New, implemented using above helper function.
2323	(gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
2324	gomp_unref_tgt.
2325
23262019-12-13  Andrew Stubbs  <ams@codesourcery.com>
2327
2328	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
2329	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
2330	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
2331	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
2332	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
2333	Likewise.
2334	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
2335	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
2336
23372019-12-13  Tobias Burnus  <tobias@codesourcery.com>
2338
2339	* openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
2340	as public except for the 'use …, only' imported symbol, which is
2341	private.
2342	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
2343	all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
2344	attributes for acc_copyout_finalize and acc_delete_finalize.
2345
23462019-12-11  Jakub Jelinek  <jakub@redhat.com>
2347
2348	PR fortran/92899
2349	* testsuite/libgomp.fortran/atomic1.f90: New test.
2350
23512019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
2352
2353	PR libgomp/92843
2354	* oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
2355	reference counting for structured 'REFCOUNT_INFINITY'.  Add some
2356	assertions.
2357	(goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
2358	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
2359	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
2360	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2361	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2362
2363	* oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
2364	* oacc-mem.c: ... here.
2365	(gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
2366	'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
2367	* libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
2368	Remove.
2369	* libgomp_g.h: Update.
2370
2371	* oacc-parallel.c (GOACC_wait, goacc_wait): Move...
2372	* oacc-async.c: ... here.
2373	* oacc-int.h (goacc_wait): Declare.
2374	* libgomp_g.h: Update
2375
2376	PR libgomp/92854
2377	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
2378	New file.
2379	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
2380	Likewise.
2381	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
2382	Likewise.
2383	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
2384	Likewise.
2385	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
2386	Likewise.
2387	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
2388	Likewise.
2389
23902019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
2391	    Julian Brown  <julian@codesourcery.com>
2392
2393	* target.c (gomp_load_image_to_device, omp_target_associate_ptr):
2394	Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
2395
23962019-12-11  Tobias Burnus  <tobias@codesourcery.com>
2397
2398	* omp_lib.h.in: Fix spelling of function declaration
2399	omp_get_cancell(l)ation.
2400	* libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
2401	Fix typos.
2402	* env.c: Fix comment typos.
2403	* oacc-host.c: Likewise.
2404	* ordered.c: Likewise.
2405	* task.c: Likewise.
2406	* team.c: Likewise.
2407	* config/gcn/task.c: Likewise.
2408	* config/gcn/team.c: Likewise.
2409	* config/nvptx/task.c: Likewise.
2410	* config/nvptx/team.c: Likewise.
2411	* plugin/plugin-gcn.c: Likewise.
2412	* testsuite/libgomp.fortran/jacobi.f: Likewise.
2413	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2414	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
2415
24162019-12-11  Tobias Burnus  <tobias@codesourcery.com>
2417
2418	* testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
2419	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
2420	unnecessary 'dg-additional-options "-w"'.
2421
24222019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
2423	    Julian Brown  <julian@codesourcery.com>
2424
2425	PR libgomp/92116
2426	PR libgomp/92877
2427
2428	* oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
2429	* libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
2430	Adjust all users.
2431	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
2432	Remove XFAIL.
2433	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
2434	Likewise.
2435	* testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
2436
24372019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
2438
2439	PR libgomp/92503
2440	* oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
2441	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
2442	file.
2443	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
2444	Likewise.
2445	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
2446	Likewise.
2447	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
2448	Likewise.
2449	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
2450	Likewise.
2451	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
2452	Likewise.
2453	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2454	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2455	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2456	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2457	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2458	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2459	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2460	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2461	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
2462	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2463
2464	PR libgomp/92840
2465	* oacc-mem.c (acc_map_data): Clarify reference counting behavior.
2466	(acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
2467	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
2468	New file.
2469	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
2470	Likewise.
2471	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
2472	Likewise.
2473	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2474	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
2475
2476	PR libgomp/92511
2477	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
2478	this file...
2479	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
2480	this file...
2481	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
2482	file...
2483	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
2484	file...
2485	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2486	... with their content moved into, and extended in this new file.
2487	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
2488	New file.
2489	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
2490	Likewise.
2491	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
2492	Likewise.
2493	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
2494	Likewise.
2495
2496	* testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
2497
2498	PR libgomp/92854
2499	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
2500
2501	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
2502
2503	* target.c (gomp_exit_data): Use 'gomp_remove_var'.
2504
25052019-12-09  Tobias Burnus  <tobias@codesourcery.com>
2506
2507	* testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
2508	unique.
2509	* testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
2510	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
2511	* testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
2512	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
2513	Ditto.
2514	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
2515	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
2516
25172019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
2518
2519	* config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
2520
25212019-12-06  Tobias Burnus  <tobias@codesourcery.com>
2522	    Kwok Cheung Yeung <kcy@codesourcery.com>
2523
2524	* oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
2525	if input it a NULL pointer.
2526	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
2527	diagnostic of NULL pointer.
2528	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
2529	* testsuite/libgomp.fortran/optional-map.f90: New.
2530	* testsuite/libgomp.fortran/use_device_addr-1.f90
2531	(test_dummy_opt_callee_1_absent): New.
2532	(test_dummy_opt_call_1): Call it.
2533	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2534	* testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
2535	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2536	* testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
2537	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
2538	* testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
2539	* testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
2540	* testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
2541	* testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
2542	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
2543	* testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
2544	* testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
2545	* testsuite/libgomp.oacc-fortran/optional-private.f90: New.
2546	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
2547	* testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
2548	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
2549
25502019-12-05  Tobias Burnus  <tobias@codesourcery.com>
2551
2552	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
2553	expect dg-output of 'Error termination.' for GCN.
2554	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2555	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2556
25572019-12-04  Jakub Jelinek  <jakub@redhat.com>
2558
2559	PR fortran/92756
2560	* testsuite/libgomp.fortran/teams1.f90: New test.
2561	* testsuite/libgomp.fortran/teams2.f90: New test.
2562
25632019-12-03  Frederik Harwath  <frederik@codesourcery.com>
2564
2565	* oacc-init.c (acc_known_device_type): Add function.
2566	(unknown_device_type_error): Add function.
2567	(name_of_acc_device_t): Change to call unknown_device_type_error
2568	on unknown type.
2569	(resolve_device): Use acc_known_device_type.
2570	(acc_init): Fail if acc_device_t argument is not valid.
2571	(acc_shutdown): Likewise.
2572	(acc_get_num_devices): Likewise.
2573	(acc_set_device_type): Likewise.
2574	(acc_get_device_num): Likewise.
2575	(acc_set_device_num): Likewise.
2576	(acc_on_device): Add comment that argument validity is not checked.
2577
25782019-12-03  Andrew Stubbs  <ams@codesourcery.com>
2579
2580	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2581	Recognize amdgcn.
2582	(check_effective_target_openacc_amdgcn_accel_present): New proc.
2583	(check_effective_target_openacc_amdgcn_accel_selected): New proc.
2584	* testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
2585	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2586	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2587
25882019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2589
2590	PR libgomp/91938
2591	* configure.tgt: Avoid IE tls on *-*-musl*.
2592
25932019-11-29  Tobias Burnus  <tobias@codesourcery.com>
2594
2595	* testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
2596	adding a common-block test case.
2597
25982019-11-29  Jakub Jelinek  <jakub@redhat.com>
2599
2600	PR c++/60228
2601	* testsuite/libgomp.c++/udr-20.C: New test.
2602	* testsuite/libgomp.c++/udr-21.C: New test.
2603
26042019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
2605
2606	* testsuite/lib/libgomp.exp
2607	(check_effective_target_offload_target_nvptx): New proc.
2608	* testsuite/libgomp.fortran/target-print-1.f90: Use it with
2609	'dg-skip-if'.
2610	* testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2611	* testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
2612	* testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
2613
26142019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2615
2616	* testsuite/libgomp.c/pr39591-1.c: Rename err to e.
2617	* testsuite/libgomp.c/pr39591-2.c: Likewise.
2618	* testsuite/libgomp.c/pr39591-3.c: Likewise.
2619	* testsuite/libgomp.c/private-1.c: Likewise.
2620	* testsuite/libgomp.c/task-1.c: Likewise.
2621	* testsuite/libgomp.c/task-5.c: Renamed err to serr.
2622
26232019-11-20  Julian Brown  <julian@codesourcery.com>
2624
2625	* plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
2626	aq->mutex here.
2627	(queue_push_launch): Lock aq->mutex before calling
2628	wait_for_queue_nonfull.
2629	(queue_push_callback): Likewise.
2630	(queue_push_asyncwait): Likewise.
2631	(queue_push_placeholder): Likewise.
2632
26332019-11-20  Julian Brown  <julian@codesourcery.com>
2634
2635	* plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
2636	(copy_data, GOMP_OFFLOAD_host2dev): Use above function.
2637	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
2638	return code.
2639
26402019-11-20  Julian Brown  <julian@codesourcery.com>
2641
2642	PR libgomp/92511
2643
2644	* oacc-mem.c (present_create_copy): Fix device pointer return value in
2645	case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
2646	in non-present/create case.
2647	(delete_copyout): Change error condition to fail only on copies outside
2648	of mapped block.  Adjust error message accordingly.
2649	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
2650	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
2651	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
2652	message.
2653	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2654	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
2655	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2656
26572019-11-20  Maciej W. Rozycki  <macro@wdc.com>
2658
2659	* testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
2660	libatomic in build-tree testing.
2661
26622019-11-18  Maciej W. Rozycki  <macro@wdc.com>
2663
2664	* testsuite/Makefile.in: Regenerate.
2665
26662019-11-15  Andrew Stubbs  <ams@codesourcery.com>
2667
2668	* testsuite/libgomp.c/target-print-1.c: New file.
2669	* testsuite/libgomp.fortran/target-print-1.f90: New file.
2670	* testsuite/libgomp.oacc-c/print-1.c: New file.
2671	* testsuite/libgomp.oacc-fortran/print-1.f90: New file.
2672
26732019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2674	    Kwok Cheung Yeung  <kcy@codesourcery.com>
2675	    Julian Brown  <julian@codesourcery.com>
2676	    Tom de Vries  <tom@codesourcery.com>
2677
2678	* plugin/Makefrag.am: Add amdgcn plugin support.
2679	* plugin/configfrag.ac: Likewise.
2680	* plugin/plugin-gcn.c: New file.
2681	* configure: Regenerate.
2682	* Makefile.in: Regenerate.
2683	* testsuite/Makefile.in: Regenerate.
2684
26852019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2686
2687	* config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
2688	and use team_malloc variants.
2689	(gomp_gcn_exit_kernel): Use team_free.
2690	* libgomp.h (TEAM_ARENA_SIZE): Define.
2691	(TEAM_ARENA_START): Define.
2692	(TEAM_ARENA_FREE): Define.
2693	(TEAM_ARENA_END): Define.
2694	(team_malloc): New function.
2695	(team_malloc_cleared): New function.
2696	(team_free): New function.
2697	* team.c (gomp_new_team): Initialize and use team_malloc.
2698	(free_team): Use team_free.
2699	(gomp_free_thread): Use team_free.
2700	(gomp_pause_host): Use team_free.
2701	* work.c (gomp_init_work_share): Use team_malloc.
2702	(gomp_fini_work_share): Use team_free.
2703
27042019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2705	    Kwok Cheung Yeung  <kcy@codesourcery.com>
2706	    Julian Brown  <julian@codesourcery.com>
2707	    Tom de Vries  <tom@codesourcery.com>
2708
2709	* Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
2710	* Makefile.in: Regenerate.
2711	* config.h.in (PLUGIN_GCN): Add new undef.
2712	* config/accel/openacc.f90 (acc_device_gcn): New parameter.
2713	* config/gcn/affinity-fmt.c: New file.
2714	* config/gcn/bar.c: New file.
2715	* config/gcn/bar.h: New file.
2716	* config/gcn/doacross.h: New file.
2717	* config/gcn/icv-device.c: New file.
2718	* config/gcn/oacc-target.c: New file.
2719	* config/gcn/simple-bar.h: New file.
2720	* config/gcn/target.c: New file.
2721	* config/gcn/task.c: New file.
2722	* config/gcn/team.c: New file.
2723	* config/gcn/time.c: New file.
2724	* configure.ac: Add amdgcn*-*-*.
2725	* configure: Regenerate.
2726	* configure.tgt: Add amdgcn*-*-*.
2727	* libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
2728	* libgomp.h (gcn_thrs): Add amdgcn variant.
2729	(set_gcn_thrs): Likewise.
2730	(gomp_thread): Likewise.
2731	* oacc-int.h (goacc_thread): Likewise.
2732	* oacc-target.c: New file.
2733	* openacc.f90 (acc_device_gcn): New parameter.
2734	* openacc.h (acc_device_t): Add acc_device_gcn.
2735	* team.c (gomp_free_pool_helper): Add amdgcn support.
2736
27372019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2738	    Julian Brown  <julian@codesourcery.com>
2739
2740	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
2741	parameter.
2742	* oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
2743	queue constructor.
2744	* oacc-host.c (host_openacc_async_construct): Add device parameter.
2745	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
2746	device parameter.
2747
27482019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2749
2750	* configure.tgt (nvptx*-*-*): Add "accel" directory.
2751	* config/nvptx/libgomp-plugin.c: Move ...
2752	* config/accel/libgomp-plugin.c: ... to here.
2753	* config/nvptx/lock.c: Move ...
2754	* config/accel/lock.c: ... to here.
2755	* config/nvptx/mutex.c: Move ...
2756	* config/accel/mutex.c: ... to here.
2757	* config/nvptx/mutex.h: Move ...
2758	* config/accel/mutex.h: ... to here.
2759	* config/nvptx/oacc-async.c: Move ...
2760	* config/accel/oacc-async.c: ... to here.
2761	* config/nvptx/oacc-cuda.c: Move ...
2762	* config/accel/oacc-cuda.c: ... to here.
2763	* config/nvptx/oacc-host.c: Move ...
2764	* config/accel/oacc-host.c: ... to here.
2765	* config/nvptx/oacc-init.c: Move ...
2766	* config/accel/oacc-init.c: ... to here.
2767	* config/nvptx/oacc-mem.c: Move ...
2768	* config/accel/oacc-mem.c: ... to here.
2769	* config/nvptx/oacc-plugin.c: Move ...
2770	* config/accel/oacc-plugin.c: ... to here.
2771	* config/nvptx/omp-lock.h: Move ...
2772	* config/accel/omp-lock.h: ... to here.
2773	* config/nvptx/openacc.f90: Move ...
2774	* config/accel/openacc.f90: ... to here.
2775	* config/nvptx/pool.h: Move ...
2776	* config/accel/pool.h: ... to here.
2777	* config/nvptx/proc.c: Move ...
2778	* config/accel/proc.c: ... to here.
2779	* config/nvptx/ptrlock.c: Move ...
2780	* config/accel/ptrlock.c: ... to here.
2781	* config/nvptx/ptrlock.h: Move ...
2782	* config/accel/ptrlock.h: ... to here.
2783	* config/nvptx/sem.c: Move ...
2784	* config/accel/sem.c: ... to here.
2785	* config/nvptx/sem.h: Move ...
2786	* config/accel/sem.h: ... to here.
2787	* config/nvptx/thread-stacksize.h: Move ...
2788	* config/accel/thread-stacksize.h: ... to here.
2789
27902019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
2791	    Tobias Burnus  <tobias@codesourcery.com>
2792	    Frederik Harwath  <frederik@codesourcery.com>
2793	    Thomas Schwinge  <thomas@codesourcery.com>
2794
2795	libgomp/
2796	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
2797	* testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
2798	* testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
2799
28002019-11-11  Tobias Burnus  <tobias@codesourcery.com>
2801	    Kwok Cheung Yeung  <kcy@codesourcery.com>
2802
2803	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
2804	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
2805
28062019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
2807
2808	* testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
2809
2810	* testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
2811	run'.
2812	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2813	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
2814
28152019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
2816
2817	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
2818	Add expected warnings about missing reduction clauses.
2819	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
2820	Likewise.
2821	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
2822	Likewise.
2823	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
2824	Likewise.
2825
28262019-11-04  Tobias Burnus  <tobias@codesourcery.com>
2827
2828	* testsuite/libgomp.fortran/pr66199-1.f90: Remove
2829	'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
2830	* testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
2831	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2832	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2833	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2834
28352019-11-04  Tobias Burnus  <tobias@codesourcery.com>
2836
2837	PR fortran/92305
2838	* testsuite/libgomp.fortran/allocatable2.f90: Use
2839	unique numbers with 'stop'.
2840	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2841	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2842	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
2843	* testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
2844	* testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
2845
28462019-11-01  Tobias Burnus  <tobias@codesourcery.com>
2847
2848	* testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
2849	test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
2850	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2851	* testsuite/libgomp.fortran/use_device_addr-3.f90: New.
2852	* testsuite/libgomp.fortran/use_device_addr-4.f90: New.
2853	* testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
2854
28552019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2856
2857	* testsuite/libgomp.fortran/target9.f90: New.
2858
28592019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2860
2861	* testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
2862	* testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
2863	* testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
2864	* testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
2865	* testsuite/libgomp.fortran/allocatable1.f90: Ditto.
2866	* testsuite/libgomp.fortran/allocatable10.f90: Ditto.
2867	* testsuite/libgomp.fortran/allocatable11.f90: Ditto.
2868	* testsuite/libgomp.fortran/allocatable12.f90: Ditto.
2869	* testsuite/libgomp.fortran/allocatable2.f90: Ditto.
2870	* testsuite/libgomp.fortran/allocatable3.f90: Ditto.
2871	* testsuite/libgomp.fortran/allocatable4.f90: Ditto.
2872	* testsuite/libgomp.fortran/allocatable5.f90: Ditto.
2873	* testsuite/libgomp.fortran/allocatable6.f90: Ditto.
2874	* testsuite/libgomp.fortran/allocatable7.f90: Ditto.
2875	* testsuite/libgomp.fortran/allocatable8.f90: Ditto.
2876	* testsuite/libgomp.fortran/allocatable9.f90: Ditto.
2877	* testsuite/libgomp.fortran/associate1.f90: Ditto.
2878	* testsuite/libgomp.fortran/associate2.f90: Ditto.
2879	* testsuite/libgomp.fortran/associate3.f90: Ditto.
2880	* testsuite/libgomp.fortran/async_io_4.f90: Ditto.
2881	* testsuite/libgomp.fortran/async_io_5.f90: Ditto.
2882	* testsuite/libgomp.fortran/async_io_6.f90: Ditto.
2883	* testsuite/libgomp.fortran/async_io_7.f90: Ditto.
2884	* testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
2885	* testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
2886	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
2887	* testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
2888	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
2889	* testsuite/libgomp.fortran/character1.f90: Ditto.
2890	* testsuite/libgomp.fortran/character2.f90: Ditto.
2891	* testsuite/libgomp.fortran/collapse1.f90: Ditto.
2892	* testsuite/libgomp.fortran/collapse2.f90: Ditto.
2893	* testsuite/libgomp.fortran/collapse3.f90: Ditto.
2894	* testsuite/libgomp.fortran/collapse4.f90: Ditto.
2895	* testsuite/libgomp.fortran/crayptr1.f90: Ditto.
2896	* testsuite/libgomp.fortran/crayptr2.f90: Ditto.
2897	* testsuite/libgomp.fortran/crayptr3.f90: Ditto.
2898	* testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
2899	* testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
2900	* testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
2901	* testsuite/libgomp.fortran/depend-1.f90: Ditto.
2902	* testsuite/libgomp.fortran/depend-2.f90: Ditto.
2903	* testsuite/libgomp.fortran/depend-3.f90: Ditto.
2904	* testsuite/libgomp.fortran/do1.f90: Ditto.
2905	* testsuite/libgomp.fortran/do2.f90: Ditto.
2906	* testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2907	* testsuite/libgomp.fortran/doacross1.f90: Ditto.
2908	* testsuite/libgomp.fortran/doacross2.f90: Ditto.
2909	* testsuite/libgomp.fortran/doacross3.f90: Ditto.
2910	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2911	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2912	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2913	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2914	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2915	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2916	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2917	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2918	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2919	* testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2920	* testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2921	* testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2922	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2923	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2924	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2925	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2926	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2927	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2928	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2929	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2930	* testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2931	* testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2932	* testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2933	* testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2934	* testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2935	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2936	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2937	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2938	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2939	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2940	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2941	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2942	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2943	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2944	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2945	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2946	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2947	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2948	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2949	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2950	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2951	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2952	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2953	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2954	* testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2955	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2956	* testsuite/libgomp.fortran/lib1.f90: Ditto.
2957	* testsuite/libgomp.fortran/lib4.f90: Ditto.
2958	* testsuite/libgomp.fortran/lock-1.f90: Ditto.
2959	* testsuite/libgomp.fortran/lock-2.f90: Ditto.
2960	* testsuite/libgomp.fortran/nested1.f90: Ditto.
2961	* testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2962	* testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2963	* testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2964	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2965	* testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2966	* testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2967	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2968	* testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2969	* testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2970	* testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2971	* testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2972	* testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2973	* testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2974	* testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2975	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2976	* testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2977	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2978	* testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2979	* testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2980	* testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2981	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2982	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2983	* testsuite/libgomp.fortran/pointer1.f90: Ditto.
2984	* testsuite/libgomp.fortran/pointer2.f90: Ditto.
2985	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
2986	* testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2987	* testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2988	* testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2989	* testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2990	* testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2991	* testsuite/libgomp.fortran/pr28390.f: Ditto.
2992	* testsuite/libgomp.fortran/pr29629.f90: Ditto.
2993	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
2994	* testsuite/libgomp.fortran/pr33880.f90: Ditto.
2995	* testsuite/libgomp.fortran/pr34020.f90: Ditto.
2996	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
2997	* testsuite/libgomp.fortran/pr42162.f90: Ditto.
2998	* testsuite/libgomp.fortran/pr46753.f90: Ditto.
2999	* testsuite/libgomp.fortran/pr48894.f90: Ditto.
3000	* testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
3001	* testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
3002	* testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
3003	* testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
3004	* testsuite/libgomp.fortran/pr65597.f90: Ditto.
3005	* testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
3006	* testsuite/libgomp.fortran/pr71014.f90: Ditto.
3007	* testsuite/libgomp.fortran/pr81304.f90: Ditto.
3008	* testsuite/libgomp.fortran/pr81841.f90: Ditto.
3009	* testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
3010	* testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
3011	* testsuite/libgomp.fortran/procptr1.f90: Ditto.
3012	* testsuite/libgomp.fortran/recursion1.f90: Ditto.
3013	* testsuite/libgomp.fortran/reduction1.f90: Ditto.
3014	* testsuite/libgomp.fortran/reduction2.f90: Ditto.
3015	* testsuite/libgomp.fortran/reduction3.f90: Ditto.
3016	* testsuite/libgomp.fortran/reduction4.f90: Ditto.
3017	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
3018	* testsuite/libgomp.fortran/reduction6.f90: Ditto.
3019	* testsuite/libgomp.fortran/reference1.f90: Ditto.
3020	* testsuite/libgomp.fortran/reference2.f90: Ditto.
3021	* testsuite/libgomp.fortran/retval1.f90: Ditto.
3022	* testsuite/libgomp.fortran/retval2.f90: Ditto.
3023	* testsuite/libgomp.fortran/sharing1.f90: Ditto.
3024	* testsuite/libgomp.fortran/sharing2.f90: Ditto.
3025	* testsuite/libgomp.fortran/simd1.f90: Ditto.
3026	* testsuite/libgomp.fortran/simd2.f90: Ditto.
3027	* testsuite/libgomp.fortran/simd3.f90: Ditto.
3028	* testsuite/libgomp.fortran/simd4.f90: Ditto.
3029	* testsuite/libgomp.fortran/simd5.f90: Ditto.
3030	* testsuite/libgomp.fortran/simd6.f90: Ditto.
3031	* testsuite/libgomp.fortran/simd7.f90: Ditto.
3032	* testsuite/libgomp.fortran/stack.f90: Ditto.
3033	* testsuite/libgomp.fortran/strassen.f90: Ditto.
3034	* testsuite/libgomp.fortran/tabs1.f90: Ditto.
3035	* testsuite/libgomp.fortran/tabs2.f: Ditto.
3036	* testsuite/libgomp.fortran/target1.f90: Ditto.
3037	* testsuite/libgomp.fortran/target2.f90: Ditto.
3038	* testsuite/libgomp.fortran/target3.f90: Ditto.
3039	* testsuite/libgomp.fortran/target4.f90: Ditto.
3040	* testsuite/libgomp.fortran/target5.f90: Ditto.
3041	* testsuite/libgomp.fortran/target6.f90: Ditto.
3042	* testsuite/libgomp.fortran/target7.f90: Ditto.
3043	* testsuite/libgomp.fortran/target8.f90: Ditto.
3044	* testsuite/libgomp.fortran/task1.f90: Ditto.
3045	* testsuite/libgomp.fortran/task2.f90: Ditto.
3046	* testsuite/libgomp.fortran/task3.f90: Ditto.
3047	* testsuite/libgomp.fortran/task4.f90: Ditto.
3048	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
3049	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
3050	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
3051	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
3052	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
3053	* testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
3054	* testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
3055	* testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
3056	* testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
3057	* testsuite/libgomp.fortran/udr1.f90: Ditto.
3058	* testsuite/libgomp.fortran/udr10.f90: Ditto.
3059	* testsuite/libgomp.fortran/udr11.f90: Ditto.
3060	* testsuite/libgomp.fortran/udr12.f90: Ditto.
3061	* testsuite/libgomp.fortran/udr13.f90: Ditto.
3062	* testsuite/libgomp.fortran/udr14.f90: Ditto.
3063	* testsuite/libgomp.fortran/udr15.f90: Ditto.
3064	* testsuite/libgomp.fortran/udr2.f90: Ditto.
3065	* testsuite/libgomp.fortran/udr3.f90: Ditto.
3066	* testsuite/libgomp.fortran/udr4.f90: Ditto.
3067	* testsuite/libgomp.fortran/udr5.f90: Ditto.
3068	* testsuite/libgomp.fortran/udr6.f90: Ditto.
3069	* testsuite/libgomp.fortran/udr7.f90: Ditto.
3070	* testsuite/libgomp.fortran/udr8.f90: Ditto.
3071	* testsuite/libgomp.fortran/udr9.f90: Ditto.
3072	* testsuite/libgomp.fortran/vla1.f90: Ditto.
3073	* testsuite/libgomp.fortran/vla2.f90: Ditto.
3074	* testsuite/libgomp.fortran/vla3.f90: Ditto.
3075	* testsuite/libgomp.fortran/vla4.f90: Ditto.
3076	* testsuite/libgomp.fortran/vla5.f90: Ditto.
3077	* testsuite/libgomp.fortran/vla6.f90: Ditto.
3078	* testsuite/libgomp.fortran/vla7.f90: Ditto.
3079	* testsuite/libgomp.fortran/vla8.f90: Ditto.
3080	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
3081	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
3082
30832019-10-30  Tobias Burnus  <tobias@codesourcery.com>
3084
3085	* testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
3086	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
3087	Ditto; add 'dg-do run' for torture testing.
3088	* testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
3089	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
3090	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
3091	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
3092	* testsuite/libgomp.fortran/pr28390.f: Ditto.
3093	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
3094	* testsuite/libgomp.fortran/pr90779.f90: Ditto.
3095	* testsuite/libgomp.fortran/task2.f90: Ditto.
3096	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
3097	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
3098	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
3099	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
3100	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
3101	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
3102
31032019-10-28  Tobias Burnus  <tobias@codesourcery.com>
3104
3105	* testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
3106	* testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
3107	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
3108	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
3109	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
3110	* testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
3111	* testsuite/libgomp.oacc-fortran/common-block-1.f90:
3112	Use 'stop' not abort().
3113	* testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
3114	* testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
3115	* testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
3116	* testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
3117	* testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
3118	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
3119	* testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
3120	* testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
3121	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
3122	* testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
3123	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
3124	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
3125	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
3126	* testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
3127	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
3128	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
3129	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3130	Ditto.
3131	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3132	Ditto.
3133	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3134	Ditto.
3135	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3136	Ditto.
3137	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3138	Ditto.
3139	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
3140	Ditto.
3141	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
3142	Ditto.
3143	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
3144	Ditto.
3145	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
3146	Ditto.
3147	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
3148	Ditto.
3149	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
3150	Ditto.
3151	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
3152	Ditto.
3153	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
3154	Ditto.
3155	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
3156	Ditto.
3157	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
3158	* testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
3159	* testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
3160	* testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
3161	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3162	Likewise and also add 'dg-do run'.
3163	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3164	Ditto.
3165
31662019-10-25  Cesar Philippidis <cesar@codesourcery.com>
3167	    Tobias Burnus  <tobias@codesourcery.com>
3168
3169	* testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
3170	* testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
3171	* testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
3172
31732019-10-14  Jakub Jelinek  <jakub@redhat.com>
3174
3175	PR libgomp/92081
3176	* testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
3177	than 0.
3178
31792019-10-11  Tobias Burnus  <tobias@codesourcery.com>
3180
3181	* testsuite/libgomp.fortran/use_device_addr-1.f90: New.
3182	* testsuite/libgomp.fortran/use_device_addr-2.f90: New.
3183
31842019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
3185
3186	PR middle-end/92036
3187	* testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
3188	file.
3189
31902019-10-09  Tobias Burnus  <tobias@codesourcery.com>
3191
3192	PR testsuite/91884
3193	* testsuite/libgomp.fortran/fortran.exp: Conditionally
3194	add -lquadmath.
3195	* testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
3196
31972019-10-09  Jakub Jelinek  <jakub@redhat.com>
3198
3199	PR libgomp/92028
3200	* target.c (gomp_map_vars_internal): Readd the previous
3201	GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
3202	though do that just in the !not_found_cnt case.
3203
32042019-10-08  Tobias Burnus  <tobias@codesourcery.com>
3205
3206	* gfortran.dg/gomp/target-simd.f90: New.
3207
32082019-10-02  Julian Brown  <julian@codesourcery.com>
3209	    Cesar Philippidis  <cesar@codesourcery.com>
3210
3211	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
3212	* target.c (FIELD_TGT_EMPTY): Define.
3213	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
3214	as switch instead of list of ifs.
3215	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
3216
32172019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
3218
3219	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
3220	include. Replace alloca () with __builtin_alloca ().
3221	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
3222
32232019-10-01  Jakub Jelinek  <jakub@redhat.com>
3224
3225	* configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
3226	* libgomp.h: Include <stdint.h> instead of "gstdint.h".
3227	* oacc-parallel.c: Don't include "libgomp_g.h".
3228	* plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
3229	* plugin/plugin-nvptx.c: Don't include "gstdint.h".
3230	* aclocal.m4: Regenerated.
3231	* config.h.in: Regenerated.
3232	* configure: Regenerated.
3233	* Makefile.in: Regenerated.
3234
32352019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
3236
3237	* libgomp_g.h: Include stdint.h instead of gstdint.h.
3238
32392019-09-27  Maciej W. Rozycki  <macro@wdc.com>
3240
3241	* configure: Regenerate.
3242
32432019-09-13  Tobias Burnus  <tobias@codesourcery.com>
3244
3245	* plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
3246	string is initialized.
3247
32482019-09-06  Florian Weimer  <fweimer@redhat.com>
3249
3250	* configure: Regenerate.
3251
32522019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
3253
3254	PR other/79543
3255	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
3256	scanning to conform to the GNU Coding Standards.
3257	* configure: Regenerate.
3258
32592019-08-28  Jakub Jelinek  <jakub@redhat.com>
3260
3261	PR libgomp/91530
3262	* testsuite/libgomp.c/scan-21.c: New test.
3263	* testsuite/libgomp.c/scan-22.c: New test.
3264
32652019-08-27  Jakub Jelinek  <jakub@redhat.com>
3266
3267	PR libgomp/91530
3268	* testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
3269	targets.
3270	* testsuite/libgomp.c/scan-12.c: Likewise.
3271	* testsuite/libgomp.c/scan-13.c: Likewise.
3272	* testsuite/libgomp.c/scan-14.c: Likewise.
3273	* testsuite/libgomp.c/scan-15.c: Likewise.
3274	* testsuite/libgomp.c/scan-16.c: Likewise.
3275	* testsuite/libgomp.c/scan-17.c: Likewise.
3276	* testsuite/libgomp.c/scan-18.c: Likewise.
3277	* testsuite/libgomp.c/scan-19.c: Likewise.
3278	* testsuite/libgomp.c/scan-20.c: Likewise.
3279	* testsuite/libgomp.c++/scan-9.C: Likewise.
3280	* testsuite/libgomp.c++/scan-10.C: Likewise.
3281	* testsuite/libgomp.c++/scan-11.C: Likewise.
3282	* testsuite/libgomp.c++/scan-12.C: Likewise.
3283	* testsuite/libgomp.c++/scan-14.C: Likewise.
3284	* testsuite/libgomp.c++/scan-15.C: Likewise.
3285	* testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
3286	instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
3287	* testsuite/libgomp.c++/scan-16.C: Likewise.
3288
32892019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
3290
3291	PR fortran/91473
3292	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
3293	-std=legacy so invalid code in the test case is accepted.
3294
32952019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
3296
3297	PR fortran/91422
3298	* testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
3299	dimension.
3300
33012019-08-08  Jakub Jelinek  <jakub@redhat.com>
3302
3303	* target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
3304	perform the lookup in the first loop only if !not_found_cnt, otherwise
3305	perform lookups for it in the second loop guarded with
3306	if (not_found_cnt || has_firstprivate).
3307	* testsuite/libgomp.c/target-37.c: New test.
3308	* testsuite/libgomp.c++/target-22.C: New test.
3309
33102019-08-07  Jakub Jelinek  <jakub@redhat.com>
3311
3312	* testsuite/libgomp.c/target-18.c (struct S): New type.
3313	(foo): Use use_device_addr clause instead of use_device_ptr clause
3314	where required by OpenMP 5.0, add further tests for both use_device_ptr
3315	and use_device_addr clauses.
3316	* testsuite/libgomp.c++/target-9.C (struct S): New type.
3317	(foo): Use use_device_addr clause instead of use_device_ptr clause
3318	where required by OpenMP 5.0, add further tests for both use_device_ptr
3319	and use_device_addr clauses.  Add t and u arguments.
3320	(main): Adjust caller.
3321
33222019-08-06  Jakub Jelinek  <jakub@redhat.com>
3323
3324	* testsuite/libgomp.c++/loop-13.C: New test.
3325	* testsuite/libgomp.c++/loop-14.C: New test.
3326	* testsuite/libgomp.c++/loop-15.C: New test.
3327
33282019-07-31  Jakub Jelinek  <jakub@redhat.com>
3329
3330	PR middle-end/91301
3331	* testsuite/libgomp.c++/for-27.C: New test.
3332
33332019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
3334
3335	* testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
3336	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
3337
33382019-07-20  Jakub Jelinek  <jakub@redhat.com>
3339
3340	* testsuite/libgomp.c-c++-common/loop-1.c: New test.
3341
33422019-07-08  Jakub Jelinek  <jakub@redhat.com>
3343
3344	* testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
3345	* testsuite/libgomp.c++/scan-16.C: Likewise.
3346
33472019-07-06  Jakub Jelinek  <jakub@redhat.com>
3348
3349	* testsuite/libgomp.c/scan-19.c: New test.
3350	* testsuite/libgomp.c/scan-20.c: New test.
3351
3352	* testsuite/libgomp.c/scan-11.c: New test.
3353	* testsuite/libgomp.c/scan-12.c: New test.
3354	* testsuite/libgomp.c/scan-13.c: New test.
3355	* testsuite/libgomp.c/scan-14.c: New test.
3356	* testsuite/libgomp.c/scan-15.c: New test.
3357	* testsuite/libgomp.c/scan-16.c: New test.
3358	* testsuite/libgomp.c/scan-17.c: New test.
3359	* testsuite/libgomp.c/scan-18.c: New test.
3360	* testsuite/libgomp.c++/scan-9.C: New test.
3361	* testsuite/libgomp.c++/scan-10.C: New test.
3362	* testsuite/libgomp.c++/scan-11.C: New test.
3363	* testsuite/libgomp.c++/scan-12.C: New test.
3364	* testsuite/libgomp.c++/scan-13.C: New test.
3365	* testsuite/libgomp.c++/scan-14.C: New test.
3366	* testsuite/libgomp.c++/scan-15.C: New test.
3367	* testsuite/libgomp.c++/scan-16.C: New test.
3368
33692019-07-04  Jakub Jelinek  <jakub@redhat.com>
3370
3371	* testsuite/libgomp.c/scan-9.c: New test.
3372	* testsuite/libgomp.c/scan-10.c: New test.
3373
33742019-07-03  Jakub Jelinek  <jakub@redhat.com>
3375
3376	* testsuite/libgomp.c++/scan-1.C: New test.
3377	* testsuite/libgomp.c++/scan-2.C: New test.
3378	* testsuite/libgomp.c++/scan-3.C: New test.
3379	* testsuite/libgomp.c++/scan-4.C: New test.
3380	* testsuite/libgomp.c++/scan-5.C: New test.
3381	* testsuite/libgomp.c++/scan-6.C: New test.
3382	* testsuite/libgomp.c++/scan-7.C: New test.
3383	* testsuite/libgomp.c++/scan-8.C: New test.
3384	* testsuite/libgomp.c/scan-1.c: New test.
3385	* testsuite/libgomp.c/scan-2.c: New test.
3386	* testsuite/libgomp.c/scan-3.c: New test.
3387	* testsuite/libgomp.c/scan-4.c: New test.
3388	* testsuite/libgomp.c/scan-5.c: New test.
3389	* testsuite/libgomp.c/scan-6.c: New test.
3390	* testsuite/libgomp.c/scan-7.c: New test.
3391	* testsuite/libgomp.c/scan-8.c: New test.
3392
33932019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
3394
3395	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
3396	* testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
3397	Likewise.
3398
3399	* testsuite/libgomp.fortran/allocatable3.f90: Add missing results
3400	check.
3401
34022019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
3403
3404	* testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
3405	file.
3406
34072019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
3408
3409	PR fortran/90743
3410	* oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
3411	case.
3412	* testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
3413	* testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
3414	* testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
3415	* testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
3416
3417	PR testsuite/90861
3418	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
3419
3420	PR middle-end/90862
3421	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
3422
34232019-06-16  Tom de Vries  <tdevries@suse.de>
3424
3425	PR tree-optimization/89376
3426	* testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
3427
34282019-06-15  Tom de Vries  <tdevries@suse.de>
3429
3430	PR tree-optimization/89713
3431	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
3432	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
3433
34342019-06-15  Jakub Jelinek  <jakub@redhat.com>
3435
3436	PR middle-end/90779
3437	* testsuite/libgomp.c/pr90779.c: New test.
3438	* testsuite/libgomp.fortran/pr90779.f90: New test.
3439
34402019-06-15  Tom de Vries  <tdevries@suse.de>
3441
3442	PR tree-optimization/90009
3443	* testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
3444
34452019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
3446
3447	PR tree-optimization/89713
3448	* testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
3449
34502019-06-11  Jakub Jelinek  <jakub@redhat.com>
3451
3452	PR target/90811
3453	* testsuite/libgomp.c/pr90811.c: New test.
3454
34552019-06-05  Jakub Jelinek  <jakub@redhat.com>
3456
3457	* testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
3458	* testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
3459
34602019-06-04  Jakub Jelinek  <jakub@redhat.com>
3461
3462	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
3463	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
3464	* testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
3465	* testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
3466
34672019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3468
3469	* configure.ac: Call AX_COUNT_CPUS.
3470	Substitute CPU_COUNT.
3471	* testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
3472	count fallback.
3473	* aclocal.m4: Regenerate.
3474	* configure: Regenerate.
3475	* Makefile.in, testsuite/Makefile.in: Regenerate.
3476
34772019-05-29  Jakub Jelinek  <jakub@redhat.com>
3478
3479	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
3480	to ...
3481	* testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
3482	* testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
3483	* testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
3484
34852019-05-27  Jakub Jelinek  <jakub@redhat.com>
3486
3487	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
3488
3489	* testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
3490
3491	PR libgomp/90641
3492	* work.c (gomp_init_work_share): Instead of aligning final ordered
3493	value to multiples of long long alignment, align to that the
3494	first part (ordered team ids) and if inline_ordered_team_ids
3495	is not on a long long alignment boundary within the structure,
3496	use __alignof__ (long long) - 1 pad size always.
3497	* loop.c (GOMP_loop_start): Fix *mem computation if
3498	inline_ordered_team_ids is not aligned on long long alignment boundary
3499	within the structure.
3500	* loop-ull.c (GOMP_loop_ull_start): Likewise.
3501	* sections.c (GOMP_sections2_start): Likewise.
3502
35032019-05-24  Jakub Jelinek  <jakub@redhat.com>
3504
3505	* testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
3506	* testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
3507
3508	PR libgomp/90585
3509	* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
3510	HAVE_INTTYPES_H is defined.
3511	(print_uint64_t): New typedef.
3512	(PRIu64): Define if HAVE_INTTYPES_H is not defined.
3513	(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
3514	"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
3515	(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
3516	before casting to void *.
3517	* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
3518	* oacc-mem.c: Don't include config.h nor stdint.h.
3519	* target.c: Don't include config.h.
3520	* oacc-cuda.c: Likewise.
3521	* oacc-host.c: Don't include stdint.h.
3522
35232019-05-20  Jakub Jelinek  <jakub@redhat.com>
3524
3525	PR libgomp/90527
3526	* alloc.c (_GNU_SOURCE): Define.
3527
35282019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
3529
3530	* acc_prof.h: New file.
3531	* oacc-profiling.c: Likewise.
3532	* Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
3533	Add these, respectively.
3534	* Makefile.in: Regenerate.
3535	* env.c (initialize_env): Call goacc_profiling_initialize.
3536	* oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
3537	(GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
3538	* oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
3539	(GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
3540	* libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
3541	acc_prof_register, acc_prof_unregister, and acc_register_library.
3542	(GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
3543	GOMP_PLUGIN_goacc_thread.
3544	* oacc-int.h (struct goacc_thread): Add prof_info, api_info,
3545	prof_callbacks_enabled members.
3546	(goacc_prof_enabled, goacc_profiling_initialize)
3547	(_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
3548	(goacc_profiling_dispatch): Declare.
3549	(GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
3550	(GOACC_PROFILING_SETUP_P): Define.
3551	* oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
3552	(acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
3553	OpenACC Profiling Interface.
3554	* oacc-cuda.c (acc_get_current_cuda_device)
3555	(acc_get_current_cuda_context, acc_get_cuda_stream)
3556	(acc_set_cuda_stream): Likewise.
3557	* oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
3558	(acc_init, acc_set_device_type, acc_get_device_type)
3559	(acc_get_device_num, goacc_lazy_initialize): Likewise.
3560	* oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
3561	(acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
3562	(acc_unmap_data, present_create_copy, delete_copyout)
3563	(update_dev_host): Likewise.
3564	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
3565	(GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
3566	Likewise.
3567	* plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
3568	(GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
3569	Likewise.
3570	* libgomp.texi: Update.
3571	* testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
3572	file.
3573	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
3574	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3575	Likewise.
3576	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
3577	Likewise.
3578	* testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
3579	Likewise.
3580	* testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
3581	Likewise.
3582
35832019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
3584
3585	* libgomp-plugin.h (struct goacc_asyncqueue): Declare.
3586	(struct goacc_asyncqueue_list): Likewise.
3587	(goacc_aq): Likewise.
3588	(goacc_aq_list): Likewise.
3589	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3590	(GOMP_OFFLOAD_openacc_async_test): Remove.
3591	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
3592	(GOMP_OFFLOAD_openacc_async_wait): Remove.
3593	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3594	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3595	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3596	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
3597	(GOMP_OFFLOAD_openacc_exec): Adjust declaration.
3598	(GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
3599	(GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
3600	(GOMP_OFFLOAD_openacc_async_exec): Declare.
3601	(GOMP_OFFLOAD_openacc_async_construct): Declare.
3602	(GOMP_OFFLOAD_openacc_async_destruct): Declare.
3603	(GOMP_OFFLOAD_openacc_async_test): Declare.
3604	(GOMP_OFFLOAD_openacc_async_synchronize): Declare.
3605	(GOMP_OFFLOAD_openacc_async_serialize): Declare.
3606	(GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
3607	(GOMP_OFFLOAD_openacc_async_host2dev): Declare.
3608	(GOMP_OFFLOAD_openacc_async_dev2host): Declare.
3609
3610	* libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
3611	(gomp_acc_insert_pointer): Adjust declaration.
3612	(gomp_copy_host2dev): New declaration.
3613	(gomp_copy_dev2host): Likewise.
3614	(gomp_map_vars_async): Likewise.
3615	(gomp_unmap_tgt): Likewise.
3616	(gomp_unmap_vars_async): Likewise.
3617	(gomp_fini_device): Likewise.
3618
3619	* oacc-async.c (get_goacc_thread): New function.
3620	(get_goacc_thread_device): New function.
3621	(lookup_goacc_asyncqueue): New function.
3622	(get_goacc_asyncqueue): New function.
3623	(acc_async_test): Adjust code to use new async design.
3624	(acc_async_test_all): Likewise.
3625	(acc_wait): Likewise.
3626	(acc_wait_async): Likewise.
3627	(acc_wait_all): Likewise.
3628	(acc_wait_all_async): Likewise.
3629	(goacc_async_free): New function.
3630	(goacc_init_asyncqueues): Likewise.
3631	(goacc_fini_asyncqueues): Likewise.
3632	* oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
3633	design.
3634	(acc_set_cuda_stream): Likewise.
3635	* oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
3636	(host_openacc_register_async_cleanup): Remove.
3637	(host_openacc_async_exec): New function.
3638	(host_openacc_async_test): Adjust parameters.
3639	(host_openacc_async_test_all): Remove.
3640	(host_openacc_async_wait): Remove.
3641	(host_openacc_async_wait_async): Remove.
3642	(host_openacc_async_wait_all): Remove.
3643	(host_openacc_async_wait_all_async): Remove.
3644	(host_openacc_async_set_async): Remove.
3645	(host_openacc_async_synchronize): New function.
3646	(host_openacc_async_serialize): New function.
3647	(host_openacc_async_host2dev): New function.
3648	(host_openacc_async_dev2host): New function.
3649	(host_openacc_async_queue_callback): New function.
3650	(host_openacc_async_construct): New function.
3651	(host_openacc_async_destruct): New function.
3652	(struct gomp_device_descr host_dispatch): Remove initialization of old
3653	interface, add initialization of new async sub-struct.
3654	* oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
3655	(goacc_attach_host_thread_to_device): Remove old async code usage.
3656	* oacc-int.h (goacc_init_asyncqueues): New declaration.
3657	(goacc_fini_asyncqueues): Likewise.
3658	(goacc_async_copyout_unmap_vars): Likewise.
3659	(goacc_async_free): Likewise.
3660	(get_goacc_asyncqueue): Likewise.
3661	(lookup_goacc_asyncqueue): Likewise.
3662	* oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
3663	design.
3664	(present_create_copy): Adjust code to use new async design.
3665	(delete_copyout): Likewise.
3666	(update_dev_host): Likewise.
3667	(gomp_acc_insert_pointer): Add async parameter, adjust code to use new
3668	async design.
3669	(gomp_acc_remove_pointer): Adjust code to use new async design.
3670	* oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
3671	design.
3672	(GOACC_enter_exit_data): Likewise.
3673	(goacc_wait): Likewise.
3674	(GOACC_update): Likewise.
3675	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
3676	when called, warn as obsolete in comment.
3677	* target.c (goacc_device_copy_async): New function.
3678	(gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
3679	add goacc_device_copy_async case.
3680	(gomp_copy_dev2host): Likewise.
3681	(gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
3682	(gomp_map_pointer): Likewise.
3683	(gomp_map_fields_existing): Likewise.
3684	(gomp_map_vars_internal): New always_inline function, renamed from
3685	gomp_map_vars.
3686	(gomp_map_vars): Implement by calling gomp_map_vars_internal.
3687	(gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
3688	passing goacc_asyncqueue argument.
3689	(gomp_unmap_tgt): Remove static, add attribute_hidden.
3690	(gomp_unref_tgt): New function.
3691	(gomp_unmap_vars_internal): New always_inline function, renamed from
3692	gomp_unmap_vars.
3693	(gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
3694	(gomp_unmap_vars_async): Implement by calling
3695	gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
3696	(gomp_fini_device): New function.
3697	(gomp_exit_data): Adjust gomp_copy_dev2host call.
3698	(gomp_load_plugin_for_device): Remove old interface, adjust to load
3699	new async interface.
3700	(gomp_target_fini): Adjust code to call gomp_fini_device.
3701
3702	* plugin/plugin-nvptx.c (struct cuda_map): Remove.
3703	(struct ptx_stream): Remove.
3704	(struct nvptx_thread): Remove current_stream field.
3705	(cuda_map_create): Remove.
3706	(cuda_map_destroy): Remove.
3707	(map_init): Remove.
3708	(map_fini): Remove.
3709	(map_pop): Remove.
3710	(map_push): Remove.
3711	(struct goacc_asyncqueue): Define.
3712	(struct nvptx_callback): Define.
3713	(struct ptx_free_block): Define.
3714	(struct ptx_device): Remove null_stream, active_streams, async_streams,
3715	stream_lock, and next fields.
3716	(enum ptx_event_type): Remove.
3717	(struct ptx_event): Remove.
3718	(ptx_event_lock): Remove.
3719	(ptx_events): Remove.
3720	(init_streams_for_device): Remove.
3721	(fini_streams_for_device): Remove.
3722	(select_stream_for_async): Remove.
3723	(nvptx_init): Remove ptx_events and ptx_event_lock references.
3724	(nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
3725	case.
3726	(nvptx_open_device): Add free_blocks initialization, remove
3727	init_streams_for_device call.
3728	(nvptx_close_device): Remove fini_streams_for_device call, add
3729	free_blocks destruct code.
3730	(event_gc): Remove.
3731	(event_add): Remove.
3732	(nvptx_exec): Adjust parameters and code.
3733	(nvptx_free): Likewise.
3734	(nvptx_host2dev): Remove.
3735	(nvptx_dev2host): Remove.
3736	(nvptx_set_async): Remove.
3737	(nvptx_async_test): Remove.
3738	(nvptx_async_test_all): Remove.
3739	(nvptx_wait): Remove.
3740	(nvptx_wait_async): Remove.
3741	(nvptx_wait_all): Remove.
3742	(nvptx_wait_all_async): Remove.
3743	(nvptx_get_cuda_stream): Remove.
3744	(nvptx_set_cuda_stream): Remove.
3745	(GOMP_OFFLOAD_alloc): Adjust code.
3746	(GOMP_OFFLOAD_free): Likewise.
3747	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3748	(GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
3749	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
3750	(GOMP_OFFLOAD_openacc_async_wait): Remove.
3751	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3752	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3753	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3754	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
3755	(cuda_free_argmem): New function.
3756	(GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
3757	(GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
3758	(GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
3759	(GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
3760	(GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
3761	(GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
3762	(GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
3763	(GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
3764	(GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
3765	(GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
3766	(cuda_callback_wrapper): New function.
3767	(cuda_memcpy_sanity_check): New function.
3768	(GOMP_OFFLOAD_host2dev): Remove and re-implement.
3769	(GOMP_OFFLOAD_dev2host): Remove and re-implement.
3770	(GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
3771	(GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
3772
37732019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
3774
3775	PR target/87835
3776	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
3777
37782019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
3779
3780	* oacc-parallel.c: Add comments to legacy entry points (GCC 5).
3781
37822019-03-27  Kevin Buettner  <kevinb@redhat.com>
3783
3784	* team.c (gomp_team_start): Initialize pool->threads[0].
3785
37862019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
3787
3788	* testsuite/libgomp.oacc-c++/c++.exp: Specify
3789	"-foffload=$offload_target".
3790	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3791	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3792	* testsuite/lib/libgomp.exp
3793	(check_effective_target_openacc_nvidia_accel_configured): Remove,
3794	as (conceptually) merged into
3795	check_effective_target_openacc_nvidia_accel_selected.  Adjust all
3796	users.
3797
3798	* plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
3799	* testsuite/libgomp-test-support.exp.in: Adjust.
3800	* testsuite/lib/libgomp.exp: Likewise.  Don't populate
3801	openacc_device_types_s.
3802	(offload_target_to_openacc_device_type): New proc.
3803	* testsuite/libgomp.oacc-c++/c++.exp: Adjust.
3804	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3805	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3806	* Makefile.in: Regenerate.
3807	* configure: Likewise.
3808	* testsuite/Makefile.in: Likewise.
3809
3810	* plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
3811	instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
3812	instead of OFFLOAD_TARGETS.
3813	* target.c (gomp_target_init): Adjust.
3814	* testsuite/libgomp-test-support.exp.in: Likewise.
3815	* testsuite/lib/libgomp.exp: Likewise.  Populate
3816	openacc_device_types_s instead of offload_targets_s_openacc.
3817	(check_effective_target_openacc_nvidia_accel_selected)
3818	(check_effective_target_openacc_host_selected): Adjust.
3819	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3820	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3821	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3822	* Makefile.in: Regenerate.
3823	* config.h.in: Likewise.
3824	* configure: Likewise.
3825	* testsuite/Makefile.in: Likewise.
3826
3827	* testsuite/lib/libgomp.exp: Error out for unknown offload target.
3828	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
3829	"offloading: supported, but hardware not accessible".
3830	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3831	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3832
38332019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
3834
3835	PR c/87924
3836	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
3837	goacc_wait().
3838	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
3839	and related adjustment.
3840
38412019-01-30  Jakub Jelinek  <jakub@redhat.com>
3842
3843	PR c++/88988
3844	* testsuite/libgomp.c++/pr88988.C: New test.
3845
38462019-01-28  Jakub Jelinek  <jakub@redhat.com>
3847
3848	PR middle-end/89002
3849	* testsuite/libgomp.c/pr89002.c: New test.
3850
38512019-01-28  Richard Biener  <rguenther@suse.de>
3852
3853	PR testsuite/89064
3854	PR tree-optimization/86865
3855	* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
3856
38572019-01-24  Tom de Vries  <tdevries@suse.de>
3858
3859	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
3860	once instantiated_devices drops to 0.
3861
38622019-01-23  Tom de Vries  <tdevries@suse.de>
3863
3864	PR target/PR88946
3865	* plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
3866	cuMemFree.
3867	(nvptx_exec): Don't call map_push if mapnum == 0.
3868	* testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
3869
38702019-01-23  Tom de Vries  <tdevries@suse.de>
3871
3872	PR target/88941
3873	PR target/88939
3874	* plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
3875	(map_fini): Remove "assert (!s->map->active)".
3876	* testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
3877
38782019-01-23  Tom de Vries  <tdevries@suse.de>
3879
3880	PR target/87835
3881	* plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
3882	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
3883
38842019-01-15  Tom de Vries  <tdevries@suse.de>
3885
3886	PR target/80547
3887	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
3888	New test.
3889
38902019-01-12  Tom de Vries  <tdevries@suse.de>
3891
3892	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
3893	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
3894	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
3895	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
3896
38972019-01-12  Tom de Vries  <tdevries@suse.de>
3898
3899	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
3900
39012019-01-12  Tom de Vries  <tdevries@suse.de>
3902
3903	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
3904	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
3905	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3906
39072019-01-12  Tom de Vries  <tdevries@suse.de>
3908
3909	PR target/85486
3910	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3911	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3912
39132019-01-12  Tom de Vries  <tdevries@suse.de>
3914
3915	PR target/85381
3916	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3917	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3918
39192019-01-12  Tom de Vries  <tdevries@suse.de>
3920
3921	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3922	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3923	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3924
39252019-01-12  Tom de Vries  <tdevries@suse.de>
3926
3927	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3928	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3929	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3930
39312019-01-12  Tom de Vries  <tdevries@suse.de>
3932
3933	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3934	resources diagnostic.
3935
39362019-01-12  Tom de Vries  <tdevries@suse.de>
3937
3938	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3939	vector length to be 128.
3940	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3941	length 2097152 to be reduced to 1024 instead of 32.
3942
39432019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
3944            James Norris  <jnorris@codesourcery.com>
3945
3946	* libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3947	Library Routines", and "Environment Variables".
3948
39492019-01-11  Tom de Vries  <tdevries@suse.de>
3950
3951	* plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3952	num_workers 16.
3953
39542019-01-11  Tom de Vries  <tdevries@suse.de>
3955
3956	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3957	-foffload=-w.
3958	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3959	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3960	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3961	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3962
39632019-01-11  Tom de Vries  <tdevries@suse.de>
3964
3965	* testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3966	test.
3967
39682019-01-10  Nathan Sidwell  <nathan@acm.org>
3969	    Julian Brown  <julian@codesourcery.com>
3970
3971	PR lto/71959
3972	* testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3973	* testsuite/libgomp.oacc-c++/pr71959.C: New.
3974
39752019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3976
3977	* config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3978	and paste code.
3979
39802019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3981
3982	* config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
3983	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3984	write.
3985
39862019-01-09  Tom de Vries  <tdevries@suse.de>
3987
3988	PR target/88756
3989	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3990	#define instead of "const int".
3991	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3992	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3993	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3994	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3995
39962019-01-09  Tom de Vries  <tdevries@suse.de>
3997
3998	* plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3999	one worker.
4000
40012019-01-07  Tom de Vries  <tdevries@suse.de>
4002
4003	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
4004	GOMP_OPENACC_DIM argument.
4005
40062019-01-03  Tom de Vries  <tdevries@suse.de>
4007
4008	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
4009	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
4010
40112019-01-01  Jakub Jelinek  <jakub@redhat.com>
4012
4013	Update copyright years.
4014
40152019-01-01  Jakub Jelinek  <jakub@redhat.com>
4016
4017	* libgomp.texi: Bump @copying's copyright year.
4018
40192018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
4020
4021	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
4022	(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
4023	(GOACC_declare): Redefine the "device" argument to "flags".
4024
40252018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
4026	    Cesar Philippidis  <cesar@codesourcery.com>
4027
4028	* target.c (struct gomp_coalesce_chunk): New structure.
4029	(struct gomp_coalesce_buf): Update the chunks member to use that
4030	type.  Adjust all users.
4031
40322018-12-19  Tom de Vries  <tdevries@suse.de>
4033
4034	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
4035	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
4036	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
4037
40382018-12-19  Tom de Vries  <tdevries@suse.de>
4039
4040	* testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
4041	* testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
4042	gcc/testsuite/gcc.dg/goacc.
4043	* testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
4044
40452018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
4046	    Chung-Lin Tang  <cltang@codesourcery.com>
4047
4048	* oacc-mem.c (acc_present_or_create): Remove definition and change
4049	to alias of acc_create.
4050	(acc_present_or_copyin): Remove definition and change to alias of
4051	acc_copyin.
4052	* oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
4053	of acc_present_or_create.
4054	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
4055	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4056	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4057	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4058	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4059	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4060	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4061	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4062	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4063	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4064	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4065	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4066	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4067	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4068	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4069	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4070
40712018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
4072
4073	PR libgomp/88495
4074	* plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
4075	"identical parameters".
4076	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
4077	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
4078
4079	PR libgomp/88484
4080	* oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
4081	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
4082
4083	PR libgomp/88407
4084	* plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
4085	(nvptx_wait_async): Unseen async-argument is a no-op.
4086	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
4087	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
4088	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4089	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4090	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4091	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
4092	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
4093	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
4094	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
4095
4096	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
4097	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4098
40992018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
4100
4101	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
4102	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4103	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4104
41052018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
4106
4107	PR libgomp/88370
4108	* libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
4109	(acc_set_cuda_stream): Clarify.
4110	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4111	"async_valid_p".
4112	* plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
4113	acc_async_sync".
4114	* testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
4115	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
4116	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
4117	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4118
41192018-12-14  Tom de Vries  <tdevries@suse.de>
4120
4121	* testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
4122	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
4123	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
4124	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
4125	* testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
4126
41272018-12-13  Tom de Vries  <tdevries@suse.de>
4128
4129	* affinity-fmt.c (gomp_print_string): New function, factored out of ...
4130	(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
4131	* fortran.c (omp_display_affinity_): ... here.
4132	* libgomp.h (gomp_print_string): Declare.
4133	* config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
4134	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
4135	write.
4136
41372018-12-13  Jakub Jelinek  <jakub@redhat.com>
4138
4139	PR libgomp/88460
4140	* testsuite/libgomp.c++/for-24.C (results): Include it in
4141	omp declare target region.
4142	(main): Use map (always, tofrom: results) instead of
4143	map (tofrom: results).
4144
41452018-12-12  Jakub Jelinek  <jakub@redhat.com>
4146
4147	PR fortran/88463
4148	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
4149	* testsuite/libgomp.fortran/pr88463-2.f90: New test.
4150
4151	* testsuite/libgomp.c-c++-common/for-16.c: New test.
4152
41532018-12-12  Andreas Schwab  <schwab@suse.de>
4154
4155	* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
4156	clobbered.
4157
41582018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
4159
4160	PR fortran/88411
4161	* testsuite/libgomp.fortran/async_io_8.f90: New test.
4162
41632018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
4164	    Jakub Jelinek  <jakub@redhat.com>
4165
4166	* target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
4167	devicep->host2dev_func.
4168
41692018-12-08  Jakub Jelinek  <jakub@redhat.com>
4170
4171	PR libgomp/87995
4172	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
4173	tls_runtime effective target.
4174	(t): New threadprivate variable.
4175	(main): Set t in threads which execute iterations of the worksharing
4176	loop.  Propagate that to the task after the loop and don't abort
4177	if the current taskgroup hasn't been cancelled.
4178
41792018-12-02  Jakub Jelinek  <jakub@redhat.com>
4180
4181	* testsuite/libgomp.c/task-reduction-3.c: New test.
4182
4183	* testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
4184
41852018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
4186
4187	PR libgomp/88288
4188	* oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
4189	* testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
4190
41912018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
4192
4193	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
4194
41952018-10-19  Richard Biener  <rguenther@suse.de>
4196
4197	PR tree-optimization/88182
4198	* testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
4199
42002018-11-26  Jakub Jelinek  <jakub@redhat.com>
4201
4202	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
4203	(RUNTEST): Don't define.
4204	(RUNTESTDEFAULTFLAGS): Add.
4205	(check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
4206	(distclean-am): Depend on distclean-DEJAGNU.
4207	(check-am): If -j% option is present in MFLAGS and if
4208	`getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
4209	(.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
4210	* testsuite/Makefile.in: Regenerated.
4211
42122018-11-26  Richard Biener  <rguenther@suse.de>
4213
4214	PR tree-optimization/88182
4215	* testsuite/libgomp.c++/pr88182.C: New testcase.
4216
42172018-11-20  Jakub Jelinek  <jakub@redhat.com>
4218
4219	PR bootstrap/88106
4220	* config/mingw32/affinity-fmt.c: New file.
4221
42222018-11-09  Jakub Jelinek  <jakub@redhat.com>
4223
4224	* affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
4225	(gomp_display_affinity): Use __builtin_choose_expr to handle
4226	properly handle argument having integral, or pointer or some other
4227	type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
4228	with uint64_t type instead of %llx and unsigned long long.
4229
4230	* testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
4231	* testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
4232
42332018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4234
4235	* affinity.c: Include <string.h>, <stdio.h>.
4236	(gomp_display_affinity_place): Remove cpusetp.
4237	* teams.c: Include <limits.h>.
4238
42392018-11-08  Jakub Jelinek  <jakub@redhat.com>
4240
4241	* testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
4242	in_reduction clause for s[0].
4243
4244	* affinity.c (gomp_display_affinity_place): New function.
4245	* affinity-fmt.c: New file.
4246	* alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
4247	* config/linux/affinity.c (gomp_display_affinity_place): New function.
4248	* config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
4249	Move these functions to ...
4250	* config/nvptx/teams.c: ... here.  New file.
4251	* config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
4252	New functions.
4253	* config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
4254	functions.
4255	* configure.ac: Check for aligned_alloc, posix_memalign, memalign
4256	and _aligned_malloc.
4257	(HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
4258	* configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
4259	* env.c (gomp_display_affinity_var, gomp_affinity_format_var,
4260	gomp_affinity_format_len): New variables.
4261	(parse_schedule): Parse monotonic and nonmonotonic modifiers in
4262	OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
4263	(handle_omp_display_env): Display monotonic/nonmonotonic schedule
4264	modifiers.  Display (non-default) chunk sizes.  Print
4265	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
4266	(initialize_env): Don't call pthread_attr_setdetachstate.  Handle
4267	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
4268	* fortran.c: Include stdio.h and string.h.
4269	(omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
4270	(omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
4271	(omp_set_affinity_format_, omp_get_affinity_format_,
4272	omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
4273	omp_pause_resource_all_): New functions.
4274	* icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
4275	switch.
4276	* icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
4277	functions to ...
4278	* teams.c: ... here.  New file.
4279	* libgomp_g.h: Include gstdint.h.
4280	(GOMP_loop_nonmonotonic_runtime_start,
4281	GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
4282	GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
4283	GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
4284	GOMP_parallel_loop_nonmonotonic_runtime,
4285	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
4286	GOMP_loop_ull_nonmonotonic_runtime_start,
4287	GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
4288	GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
4289	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
4290	GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
4291	GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
4292	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4293	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
4294	GOMP_teams_reg): Declare.
4295	* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
4296	gomp_aligned_alloc uses fallback implementation.
4297	(gomp_aligned_alloc, gomp_aligned_free): Declare.
4298	(enum gomp_schedule_type): Add GFS_MONOTONIC.
4299	(struct gomp_doacross_work_share): Add extra field.
4300	(struct gomp_work_share): Add task_reductions field.
4301	(struct gomp_taskgroup): Add workshare and reductions fields.
4302	(GOMP_NEEDS_THREAD_HANDLE): Define if needed.
4303	(gomp_thread_handle): New typedef.
4304	(gomp_display_affinity_place, gomp_set_affinity_format,
4305	gomp_display_string, gomp_display_affinity,
4306	gomp_display_affinity_thread): Declare.
4307	(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
4308	(gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
4309	gomp_workshare_task_reduction_register): Declare.
4310	(gomp_team_start): Add taskgroup argument.
4311	(gomp_pause_host): Declare.
4312	(gomp_init_work_share, gomp_work_share_start): Change bool argument
4313	to size_t.
4314	(gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
4315	* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
4316	GOMP_loop_ordered_start, GOMP_loop_doacross_start,
4317	GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
4318	GOMP_loop_ull_doacross_start,
4319	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
4320	GOMP_loop_maybe_nonmonotonic_runtime_next,
4321	GOMP_loop_maybe_nonmonotonic_runtime_start,
4322	GOMP_loop_nonmonotonic_runtime_next,
4323	GOMP_loop_nonmonotonic_runtime_start,
4324	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
4325	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
4326	GOMP_loop_ull_nonmonotonic_runtime_next,
4327	GOMP_loop_ull_nonmonotonic_runtime_start,
4328	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
4329	GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
4330	GOMP_taskgroup_reduction_register,
4331	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4332	GOMP_teams_reg and GOMP_taskwait_depend.
4333	(OMP_5.0): Export omp_pause_resource{,_all}{,_},
4334	omp_{capture,display}_affinity{,_}, and
4335	omp_[gs]et_affinity_format{,_}.
4336	* loop.c: Include string.h.
4337	(GOMP_loop_runtime_next): Add ialias.
4338	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
4339	(gomp_loop_static_start, gomp_loop_dynamic_start,
4340	gomp_loop_guided_start, gomp_loop_ordered_static_start,
4341	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
4342	gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4343	gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
4344	or gomp_doacross_init callers.
4345	(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
4346	GOMP_loop_doacross_start): New functions.
4347	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
4348	GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
4349	Mask off GFS_MONOTONIC bit.
4350	(GOMP_loop_maybe_nonmonotonic_runtime_next,
4351	GOMP_loop_maybe_nonmonotonic_runtime_start,
4352	GOMP_loop_nonmonotonic_runtime_next,
4353	GOMP_loop_nonmonotonic_runtime_start,
4354	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
4355	GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
4356	functions.
4357	(gomp_parallel_loop_start): Pass NULL as taskgroup to
4358	gomp_team_start.
4359	* loop_ull.c: Include string.h.
4360	(GOMP_loop_ull_runtime_next): Add ialias.
4361	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
4362	(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
4363	gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
4364	gomp_loop_ull_ordered_dynamic_start,
4365	gomp_loop_ull_ordered_guided_start,
4366	gomp_loop_ull_doacross_static_start,
4367	gomp_loop_ull_doacross_dynamic_start,
4368	gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
4369	and gomp_doacross_ull_init callers.
4370	(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
4371	GOMP_loop_ull_doacross_start): New functions.
4372	(GOMP_loop_ull_runtime_start,
4373	GOMP_loop_ull_ordered_runtime_start,
4374	GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
4375	(GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
4376	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
4377	GOMP_loop_ull_nonmonotonic_runtime_next,
4378	GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
4379	* Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
4380	* omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
4381	(omp_pause_resource_t, omp_depend_t): New typedefs.
4382	(enum omp_lock_hint_t): Renamed to ...
4383	(enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
4384	enumerators using numbers and omp_lock_hint_* as their aliases.
4385	(omp_lock_hint_t): New typedef.  Rename to ...
4386	(omp_sync_hint_t): ... this.
4387	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
4388	omp_sync_hint_t instead of omp_lock_hint_t.
4389	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
4390	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
4391	Declare.
4392	(omp_target_is_present, omp_target_disassociate_ptr):
4393	Change first argument from void * to const void *.
4394	(omp_target_memcpy, omp_target_memcpy_rect): Change second argument
4395	from void * to const void *.
4396	(omp_target_associate_ptr): Change first and second arguments from
4397	void * to const void *.
4398	* omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
4399	omp_pause_hard): New parameters.
4400	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
4401	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
4402	New interfaces.
4403	* omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
4404	omp_pause_hard): New parameters.
4405	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
4406	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
4407	New externals.
4408	* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
4409	EXTRA argument.  If not needed to prepare array, if extra is 0,
4410	clear ws->doacross, otherwise allocate just doacross structure and
4411	extra payload.  If array is needed, allocate also extra payload.
4412	(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
4413	GOMP_doacross_ull_wait): Handle doacross->array == NULL like
4414	doacross == NULL.
4415	* parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
4416	gomp_team_start.
4417	(GOMP_parallel): Likewise.  Formatting fix.
4418	(GOMP_parallel_reductions): New function.
4419	(GOMP_cancellation_point): If taskgroup has workshare
4420	flag set, check cancelled of prev taskgroup if any.
4421	(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
4422	on prev taskgroup if any.
4423	* sections.c: Include string.h.
4424	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
4425	(GOMP_sections_start): Adjust gomp_work_share_start caller.
4426	(GOMP_sections2_start): New function.
4427	(GOMP_parallel_sections_start, GOMP_parallel_sections):
4428	Pass NULL as taskgroup to gomp_team_start.
4429	* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
4430	gomp_work_share_start callers.
4431	* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
4432	If taskgroup has workshare flag set, check cancelled on prev
4433	taskgroup if any.  Guard all cancellation tests with
4434	gomp_cancel_var test.
4435	(omp_target_is_present, omp_target_disassociate_ptr):
4436	Change ptr argument from void * to const void *.
4437	(omp_target_memcpy): Change src argument from void * to const void *.
4438	(omp_target_memcpy_rect): Likewise.
4439	(omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
4440	instead of char * where needed.
4441	(omp_target_associate_ptr): Change host_ptr and device_ptr arguments
4442	from void * to const void *.
4443	(omp_pause_resource, omp_pause_resource_all): New functions.
4444	* task.c (gomp_task_handle_depend): Handle new depend array format
4445	in addition to the old.  Handle mutexinoutset kinds the same as
4446	inout for now, handle unspecified kinds.
4447	(gomp_create_target_task): If taskgroup has workshare flag set, check
4448	cancelled on prev taskgroup if any.  Guard all cancellation tests with
4449	gomp_cancel_var test.  Handle new depend array format count in
4450	addition to the old.
4451	(GOMP_task): Likewise.  Adjust function comment.
4452	(gomp_task_run_pre): If taskgroup has workshare flag set, check
4453	cancelled on prev taskgroup if any.  Guard all cancellation tests with
4454	gomp_cancel_var test.
4455	(GOMP_taskwait_depend): New function.
4456	(gomp_task_maybe_wait_for_dependencies): Handle new depend array
4457	format in addition to the old.  Handle mutexinoutset kinds the same as
4458	inout for now, handle unspecified kinds.  Fix a function comment typo.
4459	(gomp_taskgroup_init): New function.
4460	(GOMP_taskgroup_start): Use it.
4461	(gomp_reduction_register, gomp_create_artificial_team,
4462	GOMP_taskgroup_reduction_register,
4463	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4464	gomp_parallel_reduction_register,
4465	gomp_workshare_task_reduction_register,
4466	gomp_workshare_taskgroup_start,
4467	GOMP_workshare_task_reduction_unregister): New functions.
4468	* taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
4469	check cancelled on prev taskgroup if any.  Guard all cancellation
4470	tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
4471	by calling GOMP_taskgroup_reduction_register.
4472	* team.c (gomp_thread_attr): Remove comment.
4473	(struct gomp_thread_start_data): Add handle field.
4474	(gomp_thread_start): Call pthread_detach.
4475	(gomp_new_team): Adjust gomp_init_work_share caller.
4476	(gomp_free_pool_helper): Call pthread_detach.
4477	(gomp_team_start): Add taskgroup argument, initialize implicit
4478	tasks' taskgroup field to that.  Don't call
4479	pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
4480	(gomp_team_end): Determine nesting by thr->ts.level != 0
4481	rather than thr->ts.team != NULL.
4482	(gomp_pause_pool_helper, gomp_pause_host): New functions.
4483	* work.c (alloc_work_share): Use gomp_aligned_alloc instead of
4484	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
4485	(gomp_init_work_share): Change ORDERED argument from bool to size_t,
4486	if more than 1 allocate also extra payload at the end of array.  Never
4487	keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
4488	(gomp_work_share_start): Change ORDERED argument from bool to size_t,
4489	return true instead of ws.
4490	* Makefile.in: Regenerated.
4491	* configure: Regenerated.
4492	* config.h.in: Regenerated.
4493	* testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
4494	in some cases.
4495	* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
4496	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
4497	* testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
4498	* testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
4499	* testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
4500	* testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
4501	* testsuite/libgomp.c-c++-common/depobj-1.c: New test.
4502	* testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
4503	* testsuite/libgomp.c-c++-common/for-10.c: New test.
4504	* testsuite/libgomp.c-c++-common/for-11.c: New test.
4505	* testsuite/libgomp.c-c++-common/for-12.c: New test.
4506	* testsuite/libgomp.c-c++-common/for-13.c: New test.
4507	* testsuite/libgomp.c-c++-common/for-14.c: New test.
4508	* testsuite/libgomp.c-c++-common/for-15.c: New test.
4509	* testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
4510	define a different N(test), don't define N(f0) to N(f14), but instead
4511	define N(f20) to N(f34) using != comparisons.
4512	* testsuite/libgomp.c-c++-common/for-7.c: New test.
4513	* testsuite/libgomp.c-c++-common/for-8.c: New test.
4514	* testsuite/libgomp.c-c++-common/for-9.c: New test.
4515	* testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
4516	* testsuite/libgomp.c-c++-common/pause-1.c: New test.
4517	* testsuite/libgomp.c-c++-common/pause-2.c: New test.
4518	* testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
4519	* testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
4520	* testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
4521	* testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
4522	* testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
4523	* testsuite/libgomp.c-c++-common/simd-1.c: New test.
4524	* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
4525	* testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
4526	* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
4527	* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
4528	* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
4529	* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
4530	* testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
4531	* testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
4532	* testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
4533	* testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
4534	* testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
4535	* testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
4536	* testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
4537	* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
4538	* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
4539	* testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
4540	* testsuite/libgomp.c++/depend-1.C: New test.
4541	* testsuite/libgomp.c++/depend-iterator-1.C: New test.
4542	* testsuite/libgomp.c++/depobj-1.C: New test.
4543	* testsuite/libgomp.c++/for-16.C: New test.
4544	* testsuite/libgomp.c++/for-21.C: New test.
4545	* testsuite/libgomp.c++/for-22.C: New test.
4546	* testsuite/libgomp.c++/for-23.C: New test.
4547	* testsuite/libgomp.c++/for-24.C: New test.
4548	* testsuite/libgomp.c++/for-25.C: New test.
4549	* testsuite/libgomp.c++/for-26.C: New test.
4550	* testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
4551	* testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
4552	* testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
4553	* testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
4554	* testsuite/libgomp.c++/task-reduction-10.C: New test.
4555	* testsuite/libgomp.c++/task-reduction-11.C: New test.
4556	* testsuite/libgomp.c++/task-reduction-12.C: New test.
4557	* testsuite/libgomp.c++/task-reduction-13.C: New test.
4558	* testsuite/libgomp.c++/task-reduction-14.C: New test.
4559	* testsuite/libgomp.c++/task-reduction-15.C: New test.
4560	* testsuite/libgomp.c++/task-reduction-16.C: New test.
4561	* testsuite/libgomp.c++/task-reduction-17.C: New test.
4562	* testsuite/libgomp.c++/task-reduction-18.C: New test.
4563	* testsuite/libgomp.c++/task-reduction-19.C: New test.
4564	* testsuite/libgomp.c/task-reduction-1.c: New test.
4565	* testsuite/libgomp.c++/task-reduction-1.C: New test.
4566	* testsuite/libgomp.c/task-reduction-2.c: New test.
4567	* testsuite/libgomp.c++/task-reduction-2.C: New test.
4568	* testsuite/libgomp.c++/task-reduction-3.C: New test.
4569	* testsuite/libgomp.c++/task-reduction-4.C: New test.
4570	* testsuite/libgomp.c++/task-reduction-5.C: New test.
4571	* testsuite/libgomp.c++/task-reduction-6.C: New test.
4572	* testsuite/libgomp.c++/task-reduction-7.C: New test.
4573	* testsuite/libgomp.c++/task-reduction-8.C: New test.
4574	* testsuite/libgomp.c++/task-reduction-9.C: New test.
4575	* testsuite/libgomp.c/teams-1.c: New test.
4576	* testsuite/libgomp.c/teams-2.c: New test.
4577	* testsuite/libgomp.c/thread-limit-4.c: New test.
4578	* testsuite/libgomp.c/thread-limit-5.c: New test.
4579	* testsuite/libgomp.fortran/display-affinity-1.f90: New test.
4580
45812018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
4582
4583	* oacc-mem.c (memcpy_tofrom_device): New function, combined from
4584	acc_memcpy_to/from_device functions, now with async parameter.
4585	(acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
4586	(acc_memcpy_from_device): Likewise.
4587	(acc_memcpy_to_device_async): New API function.
4588	(acc_memcpy_from_device_async): Likewise.
4589	(present_create_copy): Add async parameter and async setting/unsetting.
4590	(acc_create): Adjust present_create_copy call.
4591	(acc_copyin): Likewise.
4592	(acc_present_or_create): Likewise.
4593	(acc_present_or_copyin): Likewise.
4594	(acc_create_async): New API function.
4595	(acc_copyin_async): New API function.
4596	(delete_copyout): Add async parameter and async setting/unsetting.
4597	(acc_delete): Adjust delete_copyout call.
4598	(acc_copyout): Likewise.
4599	(acc_delete_async): New API function.
4600	(acc_copyout_async): Likewise.
4601	(update_dev_host): Add async parameter and async setting/unsetting.
4602	(acc_update_device): Adjust update_dev_host call.
4603	(acc_update_self): Likewise.
4604	(acc_update_device_async): New API function.
4605	(acc_update_self_async): Likewise.
4606	* openacc.h (acc_copyin_async): Declare new API function.
4607	(acc_create_async): Likewise.
4608	(acc_copyout_async): Likewise.
4609	(acc_delete_async): Likewise.
4610	(acc_update_device_async): Likewise.
4611	(acc_update_self_async): Likewise.
4612	(acc_memcpy_to_device_async): Likewise.
4613	(acc_memcpy_from_device_async): Likewise.
4614	* openacc_lib.h (acc_copyin_async_32_h): New subroutine.
4615	(acc_copyin_async_64_h): New subroutine.
4616	(acc_copyin_async_array_h): New subroutine.
4617	(acc_create_async_32_h): New subroutine.
4618	(acc_create_async_64_h): New subroutine.
4619	(acc_create_async_array_h): New subroutine.
4620	(acc_copyout_async_32_h): New subroutine.
4621	(acc_copyout_async_64_h): New subroutine.
4622	(acc_copyout_async_array_h): New subroutine.
4623	(acc_delete_async_32_h): New subroutine.
4624	(acc_delete_async_64_h): New subroutine.
4625	(acc_delete_async_array_h): New subroutine.
4626	(acc_update_device_async_32_h): New subroutine.
4627	(acc_update_device_async_64_h): New subroutine.
4628	(acc_update_device_async_array_h): New subroutine.
4629	(acc_update_self_async_32_h): New subroutine.
4630	(acc_update_self_async_64_h): New subroutine.
4631	(acc_update_self_async_array_h): New subroutine.
4632	* openacc.f90 (acc_copyin_async_32_h): New subroutine.
4633	(acc_copyin_async_64_h): New subroutine.
4634	(acc_copyin_async_array_h): New subroutine.
4635	(acc_create_async_32_h): New subroutine.
4636	(acc_create_async_64_h): New subroutine.
4637	(acc_create_async_array_h): New subroutine.
4638	(acc_copyout_async_32_h): New subroutine.
4639	(acc_copyout_async_64_h): New subroutine.
4640	(acc_copyout_async_array_h): New subroutine.
4641	(acc_delete_async_32_h): New subroutine.
4642	(acc_delete_async_64_h): New subroutine.
4643	(acc_delete_async_array_h): New subroutine.
4644	(acc_update_device_async_32_h): New subroutine.
4645	(acc_update_device_async_64_h): New subroutine.
4646	(acc_update_device_async_array_h): New subroutine.
4647	(acc_update_self_async_32_h): New subroutine.
4648	(acc_update_self_async_64_h): New subroutine.
4649	(acc_update_self_async_array_h): New subroutine.
4650	* libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
4651	acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
4652	acc_delete_finalize_async*, acc_memcpy_from_device_async*,
4653	acc_memcpy_to_device_async*, acc_update_device_async*, and
4654	acc_update_self_async* entries.
4655	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
4656	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
4657	* testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
4658
46592018-10-31  Joseph Myers  <joseph@codesourcery.com>
4660
4661	PR bootstrap/82856
4662	* Makefile.am: Include multilib.am
4663	(AUTOMAKE_OPTIONS): Add info-in-builddir.
4664	(CLEANFILES): Remove libgomp.info.
4665	* configure.ac: Remove AC_PREREQ.
4666	* testsuite/Makefile.am (RUNTEST): Remove quotes.
4667	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
4668	Regenerate.
4669
46702018-10-29  Joseph Myers  <joseph@codesourcery.com>
4671	    Julian Brown  <julian@codesourcery.com>
4672
4673	* testsuite/libgomp.oacc-c++/this.C: New.
4674
46752018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
4676
4677	* plugin/plugin-nvptx.c (struct cuda_map): New.
4678	(struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
4679	h_tail with (cuda_map *) map.
4680	(cuda_map_create): New function.
4681	(cuda_map_destroy): New function.
4682	(map_init): Update to use a linked list of cuda_map objects.
4683	(map_fini): Likewise.
4684	(map_pop): Likewise.
4685	(map_push): Likewise.  Return CUdeviceptr instead of void.
4686	(init_streams_for_device): Remove stales references to ptx_stream
4687	members.
4688	(select_stream_for_async): Likewise.
4689	(nvptx_exec): Update call to map_init.
4690
46912018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
4692            Julian Brown  <julian@codesourcery.com>
4693
4694	PR middle-end/86336
4695	* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
4696
46972018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
4698	Thomas Koenig <tkoenig@gcc.gnu.org>
4699
4700	PR fortran/25829
4701	* testsuite/libgomp.fortran/async_io_1.f90: New test.
4702	* testsuite/libgomp.fortran/async_io_2.f90: New test.
4703	* testsuite/libgomp.fortran/async_io_3.f90: New test.
4704	* testsuite/libgomp.fortran/async_io_4.f90: New test.
4705	* testsuite/libgomp.fortran/async_io_5.f90: New test.
4706	* testsuite/libgomp.fortran/async_io_6.f90: New test.
4707	* testsuite/libgomp.fortran/async_io_7.f90: New test.
4708
47092018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
4710	    Tom de Vries  <tdevries@suse.de>
4711
4712	PR target/85590
4713	* plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
4714	(cuOccupancyMaxPotentialBlockSize): Declare.
4715	* plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
4716	CUDA_ONE_CALL_MAYBE_NULL.
4717	* plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
4718	CUoccupancyB2DSize and declare
4719	cuOccupancyMaxPotentialBlockSize.
4720	(nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
4721	default num_gangs and num_workers when the driver supports it.
4722
47232018-08-08  Tom de Vries  <tdevries@suse.de>
4724
4725	* plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
4726	CUDA_ONE_CALL_MAYBE_NULL.
4727	* plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
4728	(cuLinkAddData_v2, cuLinkCreate_v2): Declare.
4729	(link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
4730	are not found.
4731
47322018-08-08  Tom de Vries  <tdevries@suse.de>
4733
4734	* plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
4735	* plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
4736	present.
4737
47382018-08-08  Tom de Vries  <tdevries@suse.de>
4739
4740	* plugin/plugin-nvptx.c
4741	(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
4742	(nvptx_open_device): Use
4743	CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
4744
47452018-08-08  Tom de Vries  <tdevries@suse.de>
4746
4747	* plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
4748	(cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
4749
47502018-08-07  Tom de Vries  <tdevries@suse.de>
4751
4752	* plugin/plugin-nvptx.c (DO_PRAGMA): Define.
4753	(struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
4754	(init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
4755	corresponding call in CUDA_ONE_CALL.  Add def/undef of
4756	CUDA_ONE_CALL_MAYBE_NULL.
4757	(CUDA_CALL_EXISTS): Define.
4758
47592018-08-07  Tom de Vries  <tdevries@suse.de>
4760
4761	* plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
4762	CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
4763	corresponding undefs right after.
4764
47652018-08-04  Tom de Vries  <tdevries@suse.de>
4766
4767	* plugin/configfrag.ac: For --without-cuda-driver, set
4768	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
4769	CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
4770	* configure: Regenerate.
4771
47722018-08-02  Tom de Vries  <tdevries@suse.de>
4773
4774	PR target/86660
4775	* testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
4776	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
4777	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4778	Same.
4779	* testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
4780	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
4781	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
4782
47832018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
4784	    Thomas Schwinge <thomas@codesourcery.com>
4785
4786	* config/nvptx/oacc-parallel.c: Truncate.
4787
47882018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
4789	    James Norris <jnorris@codesourcery.com>
4790
4791	* plugin/plugin-nvptx.c (struct map): Removed.
4792	(map_init, map_pop): Remove use of struct map.
4793	(map_push): Likewise and change argument list.
4794	* testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
4795
47962018-08-01  Tom de Vries  <tdevries@suse.de>
4797
4798	* plugin/cuda-lib.def: New file.  Factor out of ...
4799	* plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
4800	(struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
4801	using CUDA_CALLS.
4802
48032018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4804
4805	Revert 'AsyncI/O patch committed'.
4806	2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
4807		Thomas Koenig <tkoenig@gcc.gnu.org>
4808
4809	PR fortran/25829
4810	* testsuite/libgomp.fortran/async_io_1.f90: New test.
4811	* testsuite/libgomp.fortran/async_io_2.f90: New test.
4812	* testsuite/libgomp.fortran/async_io_3.f90: New test.
4813	* testsuite/libgomp.fortran/async_io_4.f90: New test.
4814	* testsuite/libgomp.fortran/async_io_5.f90: New test.
4815	* testsuite/libgomp.fortran/async_io_6.f90: New test.
4816	* testsuite/libgomp.fortran/async_io_7.f90: New test.
4817
48182018-07-30  Tom de Vries  <tdevries@suse.de>
4819
4820	* plugin/plugin-nvptx.c (MIN, MAX): Redefine.
4821	(nvptx_exec): Ensure worker and vector default dims don't exceed
4822	targ_fn->max_threads_per_block.
4823
48242018-07-30  Tom de Vries  <tdevries@suse.de>
4825
4826	* plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
4827	(nvptx_open_device): Init default_dims for device.
4828	(nvptx_exec): Use default_dims from device.
4829
48302018-07-26  Jakub Jelinek  <jakub@redhat.com>
4831
4832	PR testsuite/86660
4833	* testsuite/libgomp.c++/for-15.C (results): Include it in
4834	omp declare target region.
4835	(main): Use map (always, tofrom: results) instead of
4836	map (tofrom: results).
4837
4838	PR middle-end/86660
4839	* testsuite/libgomp.c/pr86660.c: New test.
4840
48412018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
4842	    Tom de Vries  <tdevries@suse.de>
4843
4844	* plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
4845	sufficient resources to launch a kernel, and give a hint on how to fix
4846	it.
4847
48482018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
4849	    Tom de Vries  <tdevries@suse.de>
4850
4851	* plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
4852	max_threads_per_block and max_threads_per_multiprocessor fields.
4853	(nvptx_open_device): Initialize new fields.
4854	(nvptx_exec): Use num_sms, and new fields.
4855
48562018-07-26  Tom de Vries  <tdevries@suse.de>
4857
4858	* testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
4859	to correct locations.  Remove xfail.
4860
48612018-07-26  Tom de Vries  <tdevries@suse.de>
4862
4863	* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
4864	acc_wait.  Move acc_async_test calls to correct locations.  Remove
4865	xfail.
4866
48672018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
4868	Thomas Koenig <tkoenig@gcc.gnu.org>
4869
4870	PR fortran/25829
4871	* testsuite/libgomp.fortran/async_io_1.f90: New test.
4872	* testsuite/libgomp.fortran/async_io_2.f90: New test.
4873	* testsuite/libgomp.fortran/async_io_3.f90: New test.
4874	* testsuite/libgomp.fortran/async_io_4.f90: New test.
4875	* testsuite/libgomp.fortran/async_io_5.f90: New test.
4876	* testsuite/libgomp.fortran/async_io_6.f90: New test.
4877	* testsuite/libgomp.fortran/async_io_7.f90: New test.
4878
48792018-07-17  Jakub Jelinek  <jakub@redhat.com>
4880
4881	PR middle-end/86542
4882	* testsuite/libgomp.c++/pr86542.C: New test.
4883
4884	PR middle-end/86539
4885	* testsuite/libgomp.c++/pr86539.C: New test.
4886
48872018-07-11  Jakub Jelinek  <jakub@redhat.com>
4888
4889	PR c++/86443
4890	* testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
4891	(results): Make sure the variable is not inside declare target region.
4892	(qux): Remove unused function.
4893
48942018-07-10  Jakub Jelinek  <jakub@redhat.com>
4895
4896	PR c++/86443
4897	* testsuite/libgomp.c++/for-15.C: New test.
4898
48992018-06-26  Jakub Jelinek  <jakub@redhat.com>
4900
4901	PR c++/86291
4902	* testsuite/libgomp.c++/pr86291.C: New test.
4903
49042018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
4905
4906	* libgomp.texi (Top): Move www.openmp.org to https.
4907	(Enabling OpenMP): Ditto.
4908	(omp_get_active_level): Ditto.
4909	(omp_get_ancestor_thread_num): Ditto.
4910	(omp_get_cancellation): Ditto.
4911	(omp_get_default_device): Ditto.
4912	(omp_get_dynamic): Ditto.
4913	(omp_get_level): Ditto.
4914	(omp_get_max_active_levels): Ditto.
4915	(omp_get_max_task_priority): Ditto.
4916	(omp_get_max_threads): Ditto.
4917	(omp_get_nested): Ditto.
4918	(omp_get_num_devices): Ditto.
4919	(omp_get_num_procs): Ditto.
4920	(omp_get_num_teams): Ditto.
4921	(omp_get_num_threads): Ditto.
4922	(omp_get_proc_bind): Ditto.
4923	(omp_get_schedule): Ditto.
4924	(omp_get_team_num): Ditto.
4925	(omp_get_team_size): Ditto.
4926	(omp_get_thread_limit): Ditto.
4927	(omp_get_thread_num): Ditto.
4928	(omp_in_parallel): Ditto.
4929	(omp_in_final): Ditto.
4930	(omp_is_initial_device): Ditto.
4931	(omp_set_default_device): Ditto.
4932	(omp_set_dynamic): Ditto.
4933	(omp_set_max_active_levels): Ditto.
4934	(omp_set_nested): Ditto.
4935	(omp_set_num_threads): Ditto.
4936	(omp_set_schedule): Ditto.
4937	(omp_init_lock): Ditto.
4938	(omp_set_lock): Ditto.
4939	(omp_test_lock): Ditto.
4940	(omp_unset_lock): Ditto.
4941	(omp_destroy_lock): Ditto.
4942	(omp_init_nest_lock): Ditto.
4943	(omp_set_nest_lock): Ditto.
4944	(omp_test_nest_lock): Ditto.
4945	(omp_unset_nest_lock): Ditto.
4946	(omp_destroy_nest_lock): Ditto.
4947	(omp_get_wtick): Ditto.
4948	(omp_get_wtime): Ditto.
4949	(OMP_CANCELLATION): Ditto.
4950	(OMP_DISPLAY_ENV): Ditto.
4951	(OMP_DEFAULT_DEVICE): Ditto.
4952	(OMP_DYNAMIC): Ditto.
4953	(OMP_MAX_ACTIVE_LEVELS): Ditto.
4954	(OMP_MAX_TASK_PRIORITY): Ditto.
4955	(OMP_NESTED): Ditto.
4956	(OMP_NUM_THREADS): Ditto.
4957	(OMP_PROC_BIND): Ditto.
4958	(OMP_PLACES): Ditto.
4959	(OMP_STACKSIZE): Ditto.
4960	(OMP_SCHEDULE): Ditto.
4961	(OMP_THREAD_LIMIT): Ditto.
4962	(OMP_WAIT_POLICY): Ditto.
4963
49642018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
4965	    James Norris  <jnorris@codesourcery.com>
4966	    Julian Brown  <julian@codesourcery.com>
4967	    Thomas Schwinge  <thomas@codesourcery.com>
4968	    Tom de Vries  <tom@codesourcery.com>
4969
4970	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4971	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4972	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4973	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4974	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4975	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4976	* testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4977	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4978	* testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4979	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4980	Likewise.
4981	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4982	Likewise.
4983	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4984	Likewise.
4985	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4986	Likewise.
4987	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4988	Likewise.
4989	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4990	Likewise.
4991	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4992	Likewise.
4993	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4994	Likewise.
4995	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4996	Likewise.
4997	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4998	Likewise.
4999	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5000	Likewise.
5001	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5002	Likewise.
5003	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5004	Likewise.
5005	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5006	Likewise.
5007	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5008	Likewise.
5009	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5010	Likewise.
5011	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5012	Likewise.
5013	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5014	Likewise.
5015	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5016	Likewise.
5017	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5018	Likewise.
5019	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5020	Likewise.
5021	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5022	Likewise.
5023	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5024	Likewise.
5025	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5026	Likewise.
5027	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5028	Likewise.
5029	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5030	Likewise.
5031	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
5032	Likewise.
5033	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
5034	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
5035	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
5036	* testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
5037	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
5038	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5039	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5040	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
5041	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5042	Likewise.
5043	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5044	Likewise.
5045	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
5046	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
5047	* testsuite/libgomp.oacc-fortran/kernels-independent.f90:
5048	Likewise.
5049	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
5050	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
5051	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5052	Likewise.
5053	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5054	Likewise.
5055	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5056	Likewise.
5057	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5058	Likewise.
5059	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5060	Likewise.
5061	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5062	Likewise.
5063	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5064	Likewise.
5065	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5066	Likewise.
5067	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5068	Likewise.
5069	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5070	Likewise.
5071	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5072	Likewise.
5073	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5074	Likewise.
5075	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5076	Likewise.
5077	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5078	Likewise.
5079	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
5080	Likewise.
5081	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5082	* testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
5083	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5084	* testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
5085	* testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
5086	* testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
5087	* testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
5088
50892018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
5090	    Thomas Schwinge <thomas@codesourcery.com>
5091	    Cesar Philippidis  <cesar@codesourcery.com>
5092
5093	* libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
5094	(gomp_acc_remove_pointer): Update declaration.
5095	(gomp_acc_declare_allocate): Declare.
5096	(gomp_remove_var): Declare.
5097	* libgomp.map (OACC_2.5): Define.
5098	* oacc-mem.c (acc_map_data): Update refcount.
5099	(acc_unmap_data): Likewise.
5100	(present_create_copy): Likewise.
5101	(acc_create): Add FLAG_PRESENT when calling present_create_copy.
5102	(acc_copyin): Likewise.
5103	(FLAG_FINALIZE): Define.
5104	(delete_copyout): Update dynamic refcounts, add support for FINALIZE.
5105	(acc_delete_finalize): New function.
5106	(acc_delete_finalize_async): New function.
5107	(acc_copyout_finalize): New function.
5108	(acc_copyout_finalize_async): New function.
5109	(gomp_acc_insert_pointer): Update refcounts.
5110	(gomp_acc_remove_pointer): Return if data is not present on the
5111	accelerator.
5112	* oacc-parallel.c (find_pset): Rename to find_pointer.
5113	(find_pointer): Add support for GOMP_MAP_POINTER.
5114	(handle_ftn_pointers): New function.
5115	(GOACC_parallel_keyed): Update refcounts of variables.
5116	(GOACC_enter_exit_data): Add support for finalized data mappings.
5117	Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
5118	of fortran arrays.
5119	(GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
5120	(GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
5121	for GOMP_MAP_FORCE_FROM.
5122	* openacc.f90 (module openacc_internal): Add
5123	acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
5124	acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
5125	acc_copyout_finalize and acc_delete_finalize.
5126	(acc_copyout_finalize_32_h): New subroutine.
5127	(acc_copyout_finalize_64_h): New subroutine.
5128	(acc_copyout_finalize_array_h): New subroutine.
5129	(acc_delete_finalize_32_h): New subroutine.
5130	(acc_delete_finalize_64_h): New subroutine.
5131	(acc_delete_finalize_array_h): New subroutine.
5132	* openacc.h (acc_copyout_finalize): Declare.
5133	(acc_copyout_finalize_async): Declare.
5134	(acc_delete_finalize): Declare.
5135	(acc_delete_finalize_async): Declare.
5136	* openacc_lib.h (acc_copyout_finalize): New interface.
5137	(acc_delete_finalize): New interface.
5138	* target.c (gomp_map_vars): Update dynamic_refcount.
5139	(gomp_remove_var): New function.
5140	(gomp_unmap_vars): Use it.
5141	(gomp_unload_image_from_device): Likewise.
5142	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
5143	case to utilize OpenACC 2.5 data clause semantics.
5144	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5145	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5146	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5147	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5148	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5149	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5150	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5151	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5152	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5153	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
5154	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5155	* testsuite/libgomp.oacc-fortran/data-5.f90: New test.
5156	* testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
5157	utilize OpenACC 2.5 data clause semantics.
5158	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5159	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5160	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5161	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5162	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5163	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5164	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5165	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5166	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5167
51682018-05-21  Janus Weil  <janus@gcc.gnu.org>
5169
5170	PR fortran/85841
5171	PR testsuite/85865
5172	* testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
5173	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5174	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5175	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5176	* testsuite/libgomp.fortran/task2.f90: Ditto.
5177	* testsuite/libgomp.fortran/vla1.f90: Ditto.
5178	* testsuite/libgomp.fortran/vla2.f90: Ditto.
5179	* testsuite/libgomp.fortran/vla3.f90: Ditto.
5180	* testsuite/libgomp.fortran/vla4.f90: Ditto.
5181	* testsuite/libgomp.fortran/vla5.f90: Ditto.
5182	* testsuite/libgomp.fortran/vla6.f90: Ditto.
5183	* testsuite/libgomp.fortran/vla8.f90: Ditto.
5184	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
5185	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
5186
51872018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
5188
5189	PR c++/85782
5190	* testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
5191
51922018-05-09  Tom de Vries  <tom@codesourcery.com>
5193
5194	PR libgomp/82901
5195	* oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
5196	to GOACC_enter_exit_data.
5197
51982018-05-09  Tom de Vries  <tom@codesourcery.com>
5199
5200	PR libgomp/83792
5201	* oacc-int.h (async_valid_stream_id_p, async_valid_p)
5202	(async_synchronous_p): New function.
5203	* oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
5204	async_valid_p.
5205	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5206	async_valid_stream_id_p.
5207	* oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
5208	* oacc-parallel.c (GOACC_parallel_keyed): Same.
5209
52102018-05-07  Tom de Vries  <tom@codesourcery.com>
5211
5212	PR testsuite/85677
5213	* testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
5214	include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
5215
52162018-05-03  Tom de Vries  <tom@codesourcery.com>
5217
5218	PR testsuite/85106
5219	* testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
5220	extra_tool_flags if it contains an -foffload=-fdump-* flag.
5221	* testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
5222	* testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
5223
52242018-05-02  Tom de Vries  <tom@codesourcery.com>
5225
5226	PR libgomp/85411
5227	* plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
5228	GOMP_OPENACC_DIM ...
5229	* env.c (parse_gomp_openacc_dim): ... here.  New function.
5230	(initialize_env): Call parse_gomp_openacc_dim.
5231	(goacc_default_dims): Define.
5232	* libgomp.h (goacc_default_dims): Declare.
5233	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
5234	* oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
5235	* libgomp.map: New version "GOMP_PLUGIN_1.2". Add
5236	GOMP_PLUGIN_acc_default_dim.
5237	* testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
5238	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
5239
52402018-05-02  Tom de Vries  <tom@codesourcery.com>
5241
5242	PR testsuite/83791
5243	* testsuite/libgomp.c++/udr-9.C: Update.
5244	* testsuite/libgomp.c++/atomic-16.C: Remove.
5245	* testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
5246	* testsuite/libgomp.c++/loop-13.C: Remove.
5247	* testsuite/libgomp.c++/loop-14.C: Remove.
5248	* testsuite/libgomp.c++/loop-15.C: Remove.
5249	* testsuite/libgomp.c++/monotonic-1.C: Remove.
5250	* testsuite/libgomp.c++/monotonic-2.C: Remove.
5251	* testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
5252	* testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
5253	* testsuite/libgomp.c++/ordered-1.C: Remove.
5254	* testsuite/libgomp.c++/pr45784.C: Remove.
5255	* testsuite/libgomp.c++/pr64824.C: Remove.
5256	* testsuite/libgomp.c++/pr64868.C: Remove.
5257	* testsuite/libgomp.c++/pr66199-1.C: Remove.
5258	* testsuite/libgomp.c++/pr66199-2.C: Remove.
5259	* testsuite/libgomp.c++/pr66199-3.C: Remove.
5260	* testsuite/libgomp.c++/pr66199-4.C: Remove.
5261	* testsuite/libgomp.c++/pr66199-5.C: Remove.
5262	* testsuite/libgomp.c++/pr66199-6.C: Remove.
5263	* testsuite/libgomp.c++/pr66199-7.C: Remove.
5264	* testsuite/libgomp.c++/pr66199-8.C: Remove.
5265	* testsuite/libgomp.c++/pr66199-9.C: Remove.
5266	* testsuite/libgomp.c++/pr69389.C: Remove.
5267	* testsuite/libgomp.c++/simd10.C: Remove.
5268	* testsuite/libgomp.c++/simd11.C: Remove.
5269	* testsuite/libgomp.c++/simd12.C: Remove.
5270	* testsuite/libgomp.c++/simd13.C: Remove.
5271	* testsuite/libgomp.c++/target-1.C: Remove.
5272	* testsuite/libgomp.c++/target-3.C: Remove.
5273	* testsuite/libgomp.c++/target-4.C: Remove.
5274	* testsuite/libgomp.c++/target-5.C: Remove.
5275	* testsuite/libgomp.c++/taskgroup-1.C: Remove.
5276	* testsuite/libgomp.c++/taskloop-1.C: Remove.
5277	* testsuite/libgomp.c++/taskloop-2.C: Remove.
5278	* testsuite/libgomp.c++/taskloop-3.C: Remove.
5279	* testsuite/libgomp.c++/taskloop-4.C: Remove.
5280	* testsuite/libgomp.c++/udr-9.C: Remove.
5281	* testsuite/libgomp.c++/for-10.C: Remove.
5282	* testsuite/libgomp.c++/for-11.C: Remove.
5283	* testsuite/libgomp.c++/for-12.C: Remove.
5284	* testsuite/libgomp.c++/for-13.C: Remove.
5285	* testsuite/libgomp.c++/for-14.C: Remove.
5286	* testsuite/libgomp.c++/for-9.C: Remove.
5287	* testsuite/libgomp.c/atomic-18.c: Move ...
5288	* testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
5289	* testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
5290	* testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
5291	* testsuite/libgomp.c/loop-13.c: Move ...
5292	* testsuite/libgomp.c-c++-common/loop-13.c: ... here.
5293	* testsuite/libgomp.c/loop-14.c: Move ...
5294	* testsuite/libgomp.c-c++-common/loop-14.c: ... here.
5295	* testsuite/libgomp.c/loop-15.c: Remove.
5296	* testsuite/libgomp.c-c++-common/loop-15.c: New test.
5297	* testsuite/libgomp.c/monotonic-1.c: Move ...
5298	* testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
5299	* testsuite/libgomp.c/monotonic-2.c: Move ...
5300	* testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
5301	* testsuite/libgomp.c/nonmonotonic-1.c: Move ...
5302	* testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
5303	* testsuite/libgomp.c/nonmonotonic-2.c: Move ...
5304	* testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
5305	* testsuite/libgomp.c/ordered-4.c: Move ...
5306	* testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
5307	* testsuite/libgomp.c/pr45784.c: Move ...
5308	* testsuite/libgomp.c-c++-common/pr45784.c: ... here.
5309	* testsuite/libgomp.c/pr64824.c: Move ...
5310	* testsuite/libgomp.c-c++-common/pr64824.c: ... here.
5311	* testsuite/libgomp.c/pr64868.c: Move ...
5312	* testsuite/libgomp.c-c++-common/pr64868.c: ... here.
5313	* testsuite/libgomp.c/pr66199-1.c: Move ...
5314	* testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
5315	* testsuite/libgomp.c/pr66199-2.c: Move ...
5316	* testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
5317	* testsuite/libgomp.c/pr66199-3.c: Move ...
5318	* testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
5319	* testsuite/libgomp.c/pr66199-4.c: Move ...
5320	* testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
5321	* testsuite/libgomp.c/pr66199-5.c: Move ...
5322	* testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
5323	* testsuite/libgomp.c/pr66199-6.c: Move ...
5324	* testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
5325	* testsuite/libgomp.c/pr66199-7.c: Move ...
5326	* testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
5327	* testsuite/libgomp.c/pr66199-8.c: Move ...
5328	* testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
5329	* testsuite/libgomp.c/pr66199-9.c: Move ...
5330	* testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
5331	* testsuite/libgomp.c/pr69389.c: Move ...
5332	* testsuite/libgomp.c-c++-common/pr69389.c: ... here.
5333	* testsuite/libgomp.c/simd-14.c: Move ...
5334	* testsuite/libgomp.c-c++-common/simd-14.c: ... here.
5335	* testsuite/libgomp.c/simd-15.c: Move ...
5336	* testsuite/libgomp.c-c++-common/simd-15.c: ... here.
5337	* testsuite/libgomp.c/simd-16.c: Move ...
5338	* testsuite/libgomp.c-c++-common/simd-16.c: ... here.
5339	* testsuite/libgomp.c/simd-17.c: Move ...
5340	* testsuite/libgomp.c-c++-common/simd-17.c: ... here.
5341	* testsuite/libgomp.c/target-1.c: Move ...
5342	* testsuite/libgomp.c-c++-common/target-1.c: ... here.
5343	* testsuite/libgomp.c/target-10.c: Move ...
5344	* testsuite/libgomp.c-c++-common/target-10.c: ... here.
5345	* testsuite/libgomp.c/target-13.c: Move ...
5346	* testsuite/libgomp.c-c++-common/target-13.c: ... here.
5347	* testsuite/libgomp.c/target-2.c: Move ...
5348	* testsuite/libgomp.c-c++-common/target-2.c: ... here.
5349	* testsuite/libgomp.c/taskgroup-1.c: Move ...
5350	* testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
5351	* testsuite/libgomp.c/taskloop-1.c: Move ...
5352	* testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
5353	* testsuite/libgomp.c/taskloop-2.c: Move ...
5354	* testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
5355	* testsuite/libgomp.c/taskloop-3.c: Move ...
5356	* testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
5357	* testsuite/libgomp.c/taskloop-4.c: Move ...
5358	* testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
5359	* testsuite/libgomp.c/udr-1.c: Move ...
5360	* testsuite/libgomp.c-c++-common/udr-1.c: ... here.
5361	* testsuite/libgomp.c/for-1.c: Move ...
5362	* testsuite/libgomp.c-c++-common/for-1.c: ... here.
5363	* testsuite/libgomp.c/for-1.h: Move ...
5364	* testsuite/libgomp.c-c++-common/for-1.h: ... here.
5365	* testsuite/libgomp.c/for-2.c: Move ...
5366	* testsuite/libgomp.c-c++-common/for-2.c: ... here.
5367	* testsuite/libgomp.c/for-2.h: Move ...
5368	* testsuite/libgomp.c-c++-common/for-2.h: ... here.
5369	* testsuite/libgomp.c/for-3.c: Move ...
5370	* testsuite/libgomp.c-c++-common/for-3.c: ... here.
5371	* testsuite/libgomp.c/for-4.c: Move ...
5372	* testsuite/libgomp.c-c++-common/for-4.c: ... here.
5373	* testsuite/libgomp.c/for-5.c: Move ...
5374	* testsuite/libgomp.c-c++-common/for-5.c: ... here.
5375	* testsuite/libgomp.c/for-6.c: Move ...
5376	* testsuite/libgomp.c-c++-common/for-6.c: ... here.
5377
53782018-05-02  Tom de Vries  <tom@codesourcery.com>
5379
5380	PR libgomp/82428
5381	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
5382	__builtin_goacc_parlevel_{id,size}.
5383	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
5384	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
5385	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
5386	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
5387	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
5388	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
5389	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
5390	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
5391	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
5392	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
5393	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
5394	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
5395	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
5396	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
5397	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
5398	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
5399	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
5400	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
5401	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
5402	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
5403	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
5404	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
5405	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
5406
54072018-05-02  Tom de Vries  <tom@codesourcery.com>
5408
5409	PR testsuite/85106
5410	* testsuite/lib/libgomp.exp: Include scanltranstree.exp.
5411
54122018-05-02  Tom de Vries  <tom@codesourcery.com>
5413
5414	PR testsuite/85106
5415	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
5416
54172018-04-29  Julian Brown  <julian@codesourcery.com>
5418	    Tom de Vries  <tom@codesourcery.com>
5419
5420	PR testsuite/85527
5421	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
5422	arbitrary order for iterations of atomic subtract check.
5423
54242018-04-28  Tom de Vries  <tom@codesourcery.com>
5425
5426	PR testsuite/85527
5427	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
5428	atomic capture results obtained in parallel loop to an array, instead of
5429	to a scalar.
5430
54312018-04-26  Tom de Vries  <tom@codesourcery.com>
5432
5433	PR libgomp/84020
5434	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
5435	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
5436	(process_GOMP_NVPTX_JIT): New function.
5437	(link_ptx): Use process_GOMP_NVPTX_JIT.
5438
54392018-04-26  Richard Biener <rguenther@suse.de>
5440	    Tom de Vries  <tom@codesourcery.com>
5441
5442	PR lto/85422
5443	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
5444
54452018-04-26  Tom de Vries  <tom@codesourcery.com>
5446
5447	PR target/85519
5448	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
5449	recursion depth from 25 to 23.
5450	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
5451
54522018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
5453
5454	* configure: Regenerated.
5455
54562018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
5457	    Tom de Vries  <tom@codesourcery.com>
5458
5459	PR target/85445
5460	* testsuite/libgomp.oacc-c++/ref-1.C: New.
5461
54622018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
5463
5464	PR libgomp/85463
5465	* testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
5466	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5467	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5468	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
5469	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
5470	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
5471
5472	PR libfortran/85166
5473	* testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
5474	abort".
5475	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5476
54772018-04-19  Jakub Jelinek  <jakub@redhat.com>
5478
5479	* configure: Regenerated.
5480
54812018-04-18  David Malcolm  <dmalcolm@redhat.com>
5482
5483	PR jit/85384
5484	* configure: Regenerate.
5485
54862018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
5487	    Tom de Vries  <tom@codesourcery.com>
5488
5489	PR middle-end/84955
5490	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5491	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5492
54932018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
5494
5495	PR fortran/83064
5496	PR testsuite/85346
5497	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
5498	test from gfortran.dg to here.
5499
55002018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
5501
5502	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
5503	* testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
5504
55052018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
5506
5507	PR middle-end/84955
5508	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5509	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5510
55112018-04-05  Tom de Vries  <tom@codesourcery.com>
5512
5513	PR target/85204
5514	* testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
5515
55162018-03-26  Tom de Vries  <tom@codesourcery.com>
5517
5518	PR tree-optimization/85063
5519	* testsuite/libgomp.c/switch-conversion-2.c: New test.
5520	* testsuite/libgomp.c/switch-conversion.c: New test.
5521	* testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
5522	* testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
5523
55242018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
5525
5526	PR fortran/84381
5527	* testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
5528	call abort by STOP n.
5529	* testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
5530	* testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
5531	* testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
5532	* testsuite/libgomp.fortran/allocatable1.f90: Likewise.
5533	* testsuite/libgomp.fortran/allocatable10.f90: Likewise.
5534	* testsuite/libgomp.fortran/allocatable11.f90: Likewise.
5535	* testsuite/libgomp.fortran/allocatable12.f90: Likewise.
5536	* testsuite/libgomp.fortran/allocatable2.f90: Likewise.
5537	* testsuite/libgomp.fortran/allocatable3.f90: Likewise.
5538	* testsuite/libgomp.fortran/allocatable4.f90: Likewise.
5539	* testsuite/libgomp.fortran/allocatable5.f90: Likewise.
5540	* testsuite/libgomp.fortran/allocatable6.f90: Likewise.
5541	* testsuite/libgomp.fortran/allocatable7.f90: Likewise.
5542	* testsuite/libgomp.fortran/allocatable8.f90: Likewise.
5543	* testsuite/libgomp.fortran/allocatable9.f90: Likewise.
5544	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
5545	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
5546	* testsuite/libgomp.fortran/associate1.f90: Likewise.
5547	* testsuite/libgomp.fortran/associate2.f90: Likewise.
5548	* testsuite/libgomp.fortran/associate3.f90: Likewise.
5549	* testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
5550	* testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
5551	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
5552	* testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
5553	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
5554	* testsuite/libgomp.fortran/character1.f90: Likewise.
5555	* testsuite/libgomp.fortran/character2.f90: Likewise.
5556	* testsuite/libgomp.fortran/collapse1.f90: Likewise.
5557	* testsuite/libgomp.fortran/collapse2.f90: Likewise.
5558	* testsuite/libgomp.fortran/collapse3.f90: Likewise.
5559	* testsuite/libgomp.fortran/collapse4.f90: Likewise.
5560	* testsuite/libgomp.fortran/crayptr1.f90: Likewise.
5561	* testsuite/libgomp.fortran/crayptr2.f90: Likewise.
5562	* testsuite/libgomp.fortran/crayptr3.f90: Likewise.
5563	* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
5564	* testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
5565	* testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
5566	* testsuite/libgomp.fortran/depend-1.f90: Likewise.
5567	* testsuite/libgomp.fortran/depend-2.f90: Likewise.
5568	* testsuite/libgomp.fortran/depend-3.f90: Likewise.
5569	* testsuite/libgomp.fortran/do1.f90: Likewise.
5570	* testsuite/libgomp.fortran/do2.f90: Likewise.
5571	* testsuite/libgomp.fortran/doacross1.f90: Likewise.
5572	* testsuite/libgomp.fortran/doacross2.f90: Likewise.
5573	* testsuite/libgomp.fortran/doacross3.f90: Likewise.
5574	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
5575	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
5576	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
5577	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5578	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
5579	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
5580	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
5581	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
5582	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
5583	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5584	* testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
5585	* testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
5586	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
5587	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
5588	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
5589	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
5590	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
5591	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
5592	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
5593	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
5594	* testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
5595	* testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
5596	* testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
5597	* testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
5598	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5599	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
5600	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
5601	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
5602	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
5603	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
5604	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5605	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5606	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
5607	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
5608	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
5609	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
5610	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
5611	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
5612	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
5613	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
5614	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
5615	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5616	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
5617	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
5618	* testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
5619	* testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
5620	* testsuite/libgomp.fortran/lib1.f90: Likewise.
5621	* testsuite/libgomp.fortran/lib2.f: Likewise.
5622	* testsuite/libgomp.fortran/lib3.f: Likewise.
5623	* testsuite/libgomp.fortran/lib4.f90: Likewise.
5624	* testsuite/libgomp.fortran/lock-1.f90: Likewise.
5625	* testsuite/libgomp.fortran/lock-2.f90: Likewise.
5626	* testsuite/libgomp.fortran/nested1.f90: Likewise.
5627	* testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
5628	* testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
5629	* testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
5630	* testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
5631	* testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
5632	* testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
5633	* testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
5634	* testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
5635	* testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
5636	* testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
5637	* testsuite/libgomp.fortran/omp_cond1.f: Likewise.
5638	* testsuite/libgomp.fortran/omp_cond2.f: Likewise.
5639	* testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
5640	* testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
5641	* testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
5642	* testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
5643	* testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
5644	* testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
5645	* testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
5646	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5647	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
5648	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
5649	* testsuite/libgomp.fortran/pointer1.f90: Likewise.
5650	* testsuite/libgomp.fortran/pointer2.f90: Likewise.
5651	* testsuite/libgomp.fortran/pr25162.f: Likewise.
5652	* testsuite/libgomp.fortran/pr25219.f90: Likewise.
5653	* testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
5654	* testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
5655	* testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
5656	* testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
5657	* testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
5658	* testsuite/libgomp.fortran/pr28390.f: Likewise.
5659	* testsuite/libgomp.fortran/pr29629.f90: Likewise.
5660	* testsuite/libgomp.fortran/pr32550.f90: Likewise.
5661	* testsuite/libgomp.fortran/pr33880.f90: Likewise.
5662	* testsuite/libgomp.fortran/pr34020.f90: Likewise.
5663	* testsuite/libgomp.fortran/pr35130.f90: Likewise.
5664	* testsuite/libgomp.fortran/pr42162.f90: Likewise.
5665	* testsuite/libgomp.fortran/pr46753.f90: Likewise.
5666	* testsuite/libgomp.fortran/pr48894.f90: Likewise.
5667	* testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
5668	* testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
5669	* testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
5670	* testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
5671	* testsuite/libgomp.fortran/pr65597.f90: Likewise.
5672	* testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
5673	* testsuite/libgomp.fortran/pr71014.f90: Likewise.
5674	* testsuite/libgomp.fortran/pr81304.f90: Likewise.
5675	* testsuite/libgomp.fortran/pr81841.f90: Likewise.
5676	* testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
5677	* testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
5678	* testsuite/libgomp.fortran/procptr1.f90: Likewise.
5679	* testsuite/libgomp.fortran/recursion1.f90: Likewise.
5680	* testsuite/libgomp.fortran/reduction1.f90: Likewise.
5681	* testsuite/libgomp.fortran/reduction2.f90: Likewise.
5682	* testsuite/libgomp.fortran/reduction3.f90: Likewise.
5683	* testsuite/libgomp.fortran/reduction4.f90: Likewise.
5684	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
5685	* testsuite/libgomp.fortran/reduction6.f90: Likewise.
5686	* testsuite/libgomp.fortran/reference1.f90: Likewise.
5687	* testsuite/libgomp.fortran/reference2.f90: Likewise.
5688	* testsuite/libgomp.fortran/retval1.f90: Likewise.
5689	* testsuite/libgomp.fortran/retval2.f90: Likewise.
5690	* testsuite/libgomp.fortran/sharing1.f90: Likewise.
5691	* testsuite/libgomp.fortran/sharing2.f90: Likewise.
5692	* testsuite/libgomp.fortran/simd1.f90: Likewise.
5693	* testsuite/libgomp.fortran/simd2.f90: Likewise.
5694	* testsuite/libgomp.fortran/simd3.f90: Likewise.
5695	* testsuite/libgomp.fortran/simd4.f90: Likewise.
5696	* testsuite/libgomp.fortran/simd5.f90: Likewise.
5697	* testsuite/libgomp.fortran/simd6.f90: Likewise.
5698	* testsuite/libgomp.fortran/simd7.f90: Likewise.
5699	* testsuite/libgomp.fortran/stack.f90: Likewise.
5700	* testsuite/libgomp.fortran/strassen.f90: Likewise.
5701	* testsuite/libgomp.fortran/tabs1.f90: Likewise.
5702	* testsuite/libgomp.fortran/tabs2.f: Likewise.
5703	* testsuite/libgomp.fortran/target1.f90: Likewise.
5704	* testsuite/libgomp.fortran/target2.f90: Likewise.
5705	* testsuite/libgomp.fortran/target3.f90: Likewise.
5706	* testsuite/libgomp.fortran/target4.f90: Likewise.
5707	* testsuite/libgomp.fortran/target5.f90: Likewise.
5708	* testsuite/libgomp.fortran/target6.f90: Likewise.
5709	* testsuite/libgomp.fortran/target7.f90: Likewise.
5710	* testsuite/libgomp.fortran/target8.f90: Likewise.
5711	* testsuite/libgomp.fortran/task1.f90: Likewise.
5712	* testsuite/libgomp.fortran/task2.f90: Likewise.
5713	* testsuite/libgomp.fortran/task3.f90: Likewise.
5714	* testsuite/libgomp.fortran/task4.f90: Likewise.
5715	* testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
5716	* testsuite/libgomp.fortran/taskloop1.f90: Likewise.
5717	* testsuite/libgomp.fortran/taskloop2.f90: Likewise.
5718	* testsuite/libgomp.fortran/taskloop3.f90: Likewise.
5719	* testsuite/libgomp.fortran/taskloop4.f90: Likewise.
5720	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5721	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5722	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5723	* testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
5724	* testsuite/libgomp.fortran/udr1.f90: Likewise.
5725	* testsuite/libgomp.fortran/udr10.f90: Likewise.
5726	* testsuite/libgomp.fortran/udr11.f90: Likewise.
5727	* testsuite/libgomp.fortran/udr12.f90: Likewise.
5728	* testsuite/libgomp.fortran/udr13.f90: Likewise.
5729	* testsuite/libgomp.fortran/udr14.f90: Likewise.
5730	* testsuite/libgomp.fortran/udr15.f90: Likewise.
5731	* testsuite/libgomp.fortran/udr2.f90: Likewise.
5732	* testsuite/libgomp.fortran/udr3.f90: Likewise.
5733	* testsuite/libgomp.fortran/udr4.f90: Likewise.
5734	* testsuite/libgomp.fortran/udr5.f90: Likewise.
5735	* testsuite/libgomp.fortran/udr6.f90: Likewise.
5736	* testsuite/libgomp.fortran/udr7.f90: Likewise.
5737	* testsuite/libgomp.fortran/udr8.f90: Likewise.
5738	* testsuite/libgomp.fortran/udr9.f90: Likewise.
5739	* testsuite/libgomp.fortran/vla1.f90: Likewise.
5740	* testsuite/libgomp.fortran/vla2.f90: Likewise.
5741	* testsuite/libgomp.fortran/vla3.f90: Likewise.
5742	* testsuite/libgomp.fortran/vla4.f90: Likewise.
5743	* testsuite/libgomp.fortran/vla5.f90: Likewise.
5744	* testsuite/libgomp.fortran/vla6.f90: Likewise.
5745	* testsuite/libgomp.fortran/vla7.f90: Likewise.
5746	* testsuite/libgomp.fortran/vla8.f90: Likewise.
5747	* testsuite/libgomp.fortran/workshare1.f90: Likewise.
5748	* testsuite/libgomp.fortran/workshare2.f90: Likewise.
5749	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5750	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5751	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5752	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5753	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5754	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5755	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5756	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5757	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5758	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
5759	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5760	* testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
5761	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5762	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5763	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5764	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5765	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5766	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5767	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5768	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5769	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5770	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
5771	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
5772	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5773	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5774	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5775	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5776	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5777	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5778	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5779	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5780	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5781	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5782	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5783	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5784	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5785	* testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
5786	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5787	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
5788	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5789	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
5790	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
5791	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
5792	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
5793	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5794	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5795	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5796	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5797	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5798	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5799	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5800	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5801	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5802	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5803	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5804	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5805	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5806	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5807	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5808	* testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5809	* testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5810	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5811	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5812	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5813	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5814	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5815	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5816	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5817	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
5818	* testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
5819	* testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
5820	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5821	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5822	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5823	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5824	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5825	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5826	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5827	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5828	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5829	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5830	* testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
5831	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5832	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5833	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5834	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5835	* testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
5836	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5837	* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
5838	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5839	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5840	* testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
5841
58422018-03-20  Richard Biener  <rguenther@suse.de>
5843
5844	* testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
5845	parallelizable loop.
5846
58472018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
5848
5849	PR target/84148
5850	* configure: Regenerate.
5851
58522018-02-16  Jakub Jelinek  <jakub@redhat.com>
5853
5854	PR fortran/84418
5855	* libgomp.fortran/pr84418-1.f90: New test.
5856	* libgomp.fortran/pr84418-2.f90: New test.
5857
58582018-02-14  Jakub Jelinek  <jakub@redhat.com>
5859
5860	PR fortran/84313
5861	* testsuite/libgomp.fortran/threadprivate4.f90: Add
5862	-std=f2003 -fall-intrinsics into dg-additional-options.
5863
58642018-02-08  Martin Jambor  <mjambor@suse.cz>
5865
5866	* testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
5867	clonable.
5868
58692018-02-08  Martin Jambor  <mjambor@suse.cz>
5870
5871	* testsuite/libgomp.hsa.c/staticvar.c: New test.
5872
58732018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5874
5875	* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
5876	[__cplusplus]: Declare extern "C".
5877
58782018-02-07  Tom de Vries  <tom@codesourcery.com>
5879
5880	PR libgomp/84217
5881	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
5882
58832018-01-29  Christoph Spiel  <cspiel@freenet.de>
5884	    Jakub Jelinek  <jakub@redhat.com>
5885
5886	PR libgomp/84096
5887	* omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
5888	instead of omp_lock_t.
5889
58902018-01-25  Tom de Vries  <tom@codesourcery.com>
5891
5892	PR target/84028
5893	* testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
5894
58952018-01-24  Tom de Vries  <tom@codesourcery.com>
5896
5897	PR target/83589
5898	* testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
5899
59002018-01-24  Tom de Vries  <tom@codesourcery.com>
5901
5902	PR target/81352
5903	* testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
5904
59052018-01-19  Tom de Vries  <tom@codesourcery.com>
5906	    Cesar Philippidis  <cesar@codesourcery.com>
5907
5908	PR target/83920
5909	* testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5910	* testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5911
59122018-01-03  Jakub Jelinek  <jakub@redhat.com>
5913
5914	Update copyright years.
5915
5916	* libgomp.texi: Bump @copying's copyright year.
5917
59182017-12-30  Tom de Vries  <tom@codesourcery.com>
5919
5920	PR libgomp/83046
5921	* testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5922	* testsuite/libgomp.c-c++-common/pr83046.c: New test.
5923
59242017-12-27  Tom de Vries  <tom@codesourcery.com>
5925
5926	PR c++/83046
5927	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5928	(test_nonstatic): Fix return type to workaround PR83046.
5929
59302017-12-05  Jakub Jelinek  <jakub@redhat.com>
5931
5932	PR testsuite/83281
5933	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5934	j suffix instead of i.
5935	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5936	Likewise.
5937
59382017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
5939
5940	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5941	call to acc_wait (1).
5942
59432017-11-24  Jakub Jelinek  <jakub@redhat.com>
5944
5945	PR fortran/81304
5946	* testsuite/libgomp.fortran/pr81304.f90: New test.
5947
59482017-11-23  Jakub Jelinek  <jakub@redhat.com>
5949
5950	PR fortran/81841
5951	* libgomp.fortran/pr81841.f90: New test.
5952
59532017-11-22  Jakub Jelinek  <jakub@redhat.com>
5954
5955	PR libgomp/83106
5956	* target.c (gomp_target_init): Compute lengths just once and
5957	use them in both malloc size and subsequent copying.
5958
59592017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
5960
5961	* configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5962	* acinclude.m4: Add cet.m4.
5963	* configure: Regenerate.
5964	* Makefile.in: Likewise.
5965	* testsuite/Makefile.in: Likewise.
5966
59672017-11-15  Tom de Vries  <tom@codesourcery.com>
5968
5969	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5970	from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
5971	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5972	from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
5973	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5974	from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
5975
59762017-11-14  Tom de Vries  <tom@codesourcery.com>
5977
5978	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5979	non-nvidia devices.
5980
59812017-11-07  Jakub Jelinek  <jakub@redhat.com>
5982
5983	PR c++/82835
5984	* testsuite/libgomp.c++/pr82835.C: New test.
5985
59862017-11-06  Martin Liska  <mliska@suse.cz>
5987
5988	* testsuite/libgomp.c++/loop-2.C: Return a value
5989	for functions with non-void return type, or change type to void,
5990	or add -Wno-return-type for test.
5991	* testsuite/libgomp.c++/loop-4.C: Likewise.
5992	* testsuite/libgomp.c++/parallel-1.C: Likewise.
5993	* testsuite/libgomp.c++/shared-1.C: Likewise.
5994	* testsuite/libgomp.c++/single-1.C: Likewise.
5995	* testsuite/libgomp.c++/single-2.C: Likewise.
5996
59972017-10-31  Tom de Vries  <tom@codesourcery.com>
5998
5999	* plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
6000	"do {} while (false)".
6001	(init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
6002	after HSA_DEBUG call.
6003
60042017-10-28  Jakub Jelinek  <jakub@redhat.com>
6005
6006	* target.c (struct gomp_coalesce_buf): New type.
6007	(MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
6008	(gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
6009	(gomp_copy_host2dev): Add CBUF argument, if copying into
6010	the cached ranges, memcpy into buffer instead of copying
6011	into device.
6012	(gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
6013	Add CBUF argument, pass it through to other calls.
6014	(gomp_map_vars): Aggregate copies from host to device if small enough
6015	and with small enough gaps in between into memcpy into a buffer and
6016	fewer host to device copies from the buffer.
6017	(gomp_update): Adjust gomp_copy_host2dev caller.
6018
60192017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
6020
6021	* testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
6022	run" directive.
6023	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6024	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6025	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6026	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6027
60282017-10-16  Tom de Vries  <tom@codesourcery.com>
6029
6030	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
6031	openacc_nvidia_accel_selected.
6032	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
6033	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
6034	* testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
6035	* testsuite/libgomp.oacc-fortran/declare-4.f90: Same
6036	* testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
6037	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
6038	openacc_nvidia_accel_selected. Skip for shared memory device.
6039	* testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
6040	* testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
6041
60422017-10-09  Martin Jambor  <mjambor@suse.cz>
6043
6044	PR hsa/82416
6045	* testsuite/libgomp.hsa.c/pr82416.c: New test.
6046
60472017-10-07  Tom de Vries  <tom@codesourcery.com>
6048
6049	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
6050	Remove acc_device_nvidia references.
6051	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
6052	Same.
6053
60542017-10-05  Tom de Vries  <tom@codesourcery.com>
6055
6056	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
6057	vector_length(32) clause from acc parallel directive.
6058	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
6059
60602017-10-04  Tom de Vries  <tom@codesourcery.com>
6061
6062	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
6063	(main): Reduce sum of arr elements.  Assert that hres is exactly
6064	representable in 32-bit floating point.
6065	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
6066	(main): Reduce sum of arr elements.  Assert that hres and hmres are
6067	exactly representable in 32-bit floating point.
6068	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
6069
60702017-09-28  Tom de Vries  <tom@codesourcery.com>
6071
6072	* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
6073	setting.
6074	* testsuite/libgomp.c++/pr69393.C: Same.
6075	* testsuite/libgomp.c++/taskloop-1.C: Same.
6076	* testsuite/libgomp.c++/taskloop-3.C: Same.
6077	* testsuite/libgomp.c++/taskloop-4.C: Same.
6078	* testsuite/libgomp.c/for-4.c: Same.
6079	* testsuite/libgomp.c/pr66199-3.c: Same.
6080	* testsuite/libgomp.c/pr66199-4.c: Same.
6081	* testsuite/libgomp.c/pr66199-6.c: Same.
6082	* testsuite/libgomp.c/taskloop-1.c: Same.
6083	* testsuite/libgomp.c/taskloop-3.c: Same.
6084	* testsuite/libgomp.c/taskloop-4.c: Same.
6085	* testsuite/libgomp.fortran/aligned1.f03: Same.
6086	* testsuite/libgomp.fortran/condinc1.f: Same.
6087	* testsuite/libgomp.fortran/condinc3.f90: Same.
6088	* testsuite/libgomp.fortran/crayptr1.f90: Same.
6089	* testsuite/libgomp.fortran/crayptr2.f90: Same.
6090	* testsuite/libgomp.fortran/crayptr3.f90: Same.
6091	* testsuite/libgomp.fortran/omp_cond1.f: Same.
6092	* testsuite/libgomp.fortran/omp_cond3.F90: Same.
6093	* testsuite/libgomp.fortran/pr66199-1.f90: Same.
6094	* testsuite/libgomp.fortran/pr66199-2.f90: Same.
6095	* testsuite/libgomp.fortran/recursion1.f90: Same.
6096	* testsuite/libgomp.fortran/target2.f90: Same.
6097	* testsuite/libgomp.fortran/target5.f90: Same.
6098	* testsuite/libgomp.fortran/task3.f90: Same.
6099
61002017-09-28  Tom de Vries  <tom@codesourcery.com>
6101
6102	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
6103	vector_length(32) clause from acc parallel directive.
6104	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
6105
61062017-09-27  Tom de Vries  <tom@codesourcery.com>
6107
6108	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
6109	Remove acc_device_nvidia references.
6110
61112017-09-16  Tom de Vries  <tom@codesourcery.com>
6112
6113	PR c/81875
6114	* testsuite/libgomp.c-c++-common/pr81875.c: New test.
6115
61162017-09-14  Tom de Vries  <tom@codesourcery.com>
6117
6118	* testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
6119	* testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
6120	* testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
6121	* testsuite/libgomp.c/c.exp: Include test-cases from
6122	libgomp.c-c++-common.
6123	* testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
6124	files.
6125
61262017-09-14  Jakub Jelinek  <jakub@redhat.com>
6127
6128	PR c++/81314
6129	* testsuite/libgomp.c++/pr81314.C: New test.
6130
61312017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
6132
6133	* libgomp.texi (Top): www.openacc.org now uses https.
6134	(Enabling OpenACC): Ditto.
6135	(acc_get_num_devices): Ditto.
6136	(acc_set_device_type): Ditto.
6137	(acc_get_device_type): Ditto.
6138	(acc_set_device_num): Ditto.
6139	(acc_get_device_num): Ditto.
6140	(acc_async_test): Ditto.
6141	(acc_async_test_all): Ditto.
6142	(acc_wait): Ditto.
6143	(acc_wait_all): Ditto.
6144	(acc_wait_all_async): Ditto.
6145	(acc_wait_async): Ditto.
6146	(acc_init): Ditto.
6147	(acc_shutdown): Ditto.
6148	(acc_on_device): Ditto.
6149	(acc_malloc): Ditto.
6150	(acc_free): Ditto.
6151	(acc_copyin): Ditto.
6152	(acc_present_or_copyin): Ditto.
6153	(acc_create): Ditto.
6154	(acc_present_or_create): Ditto.
6155	(acc_copyout): Ditto.
6156	(acc_delete): Ditto.
6157	(acc_update_device): Ditto.
6158	(acc_update_self): Ditto.
6159	(acc_map_data): Ditto.
6160	(acc_unmap_data): Ditto.
6161	(acc_deviceptr): Ditto.
6162	(acc_hostptr): Ditto.
6163	(acc_is_present): Ditto.
6164	(acc_memcpy_to_device): Ditto.
6165	(acc_memcpy_from_device): Ditto.
6166	(acc_get_current_cuda_device): Ditto.
6167	(acc_get_current_cuda_context): Ditto.
6168	(acc_get_cuda_stream): Ditto.
6169	(acc_set_cuda_stream): Ditto.
6170	(ACC_DEVICE_TYPE): Ditto.
6171	(ACC_DEVICE_NUM): Ditto.
6172	(OpenACC Library Interoperability): Ditto.
6173
61742017-08-09  Jakub Jelinek  <jakub@redhat.com>
6175
6176	PR c/81687
6177	* testsuite/libgomp.c/pr81687-1.c: New test.
6178	* testsuite/libgomp.c/pr81687-2.c: New test.
6179
61802017-08-07  Jakub Jelinek  <jakub@redhat.com>
6181
6182	PR c/69389
6183	* testsuite/libgomp.c/pr69389.c: New test.
6184	* testsuite/libgomp.c++/pr69389.C: New test.
6185
61862017-08-07  Tom de Vries  <tom@codesourcery.com>
6187
6188	PR middle-end/78266
6189	* testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
6190	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
6191
61922017-07-27  Jakub Jelinek  <jakub@redhat.com>
6193
6194	PR c/45784
6195	* testsuite/libgomp.c/pr45784.c: New test.
6196	* testsuite/libgomp.c++/pr45784.C: New test.
6197
61982017-07-19  Tom de Vries  <tom@codesourcery.com>
6199
6200	* testsuite/libgomp.oacc-c/vec.c: New test.
6201
62022017-07-03  Tom de Vries  <tom@codesourcery.com>
6203
6204	* plugin/plugin-hsa.c: Fix secure_getenv.h include.
6205
62062017-06-27  Tom de Vries  <tom@codesourcery.com>
6207
6208	* plugin/plugin-nvptx.c (notify_var): New function.
6209	(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
6210
62112017-06-27  Tom de Vries  <tom@codesourcery.com>
6212
6213	* env.c (parse_unsigned_long_1): Factor out of ...
6214	(parse_unsigned_long): ... here.
6215	(parse_int_1): Factor out of ...
6216	(parse_int): ... here.
6217	(parse_int_secure): New function.
6218	(initialize_env): Use parse_int_secure for GOMP_DEBUG.
6219	* secure_getenv.h: Factor out of ...
6220	* plugin/plugin-hsa.c: ... here.
6221	* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
6222
62232017-06-21  Jakub Jelinek  <jakub@redhat.com>
6224
6225	PR c++/81130
6226	* testsuite/libgomp.c++/pr81130.C: New test.
6227
62282017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6229
6230	* testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
6231	default args.
6232	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
6233	dg-xfail-run-if default args.
6234
62352017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6236
6237	* testsuite/libgomp.c/pr39591-2.c: Fix test case.
6238	* testsuite/libgomp.c/pr39591-3.c: Likewise.
6239
62402017-05-30  Jakub Jelinek  <jakub@redhat.com>
6241
6242	PR libgomp/80822
6243	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
6244	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
6245	sibling lists, depending on level just pick up what CPUs to put
6246	together into a place vs. whether add multiple ordered places.
6247
62482017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
6249
6250	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
6251	* libgomp.map (OACC_2.0.1): Add these.
6252	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
6253	for "acc_wait", and "acc_wait_all", respectively.
6254	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
6255	for "acc_wait", and "acc_wait_all", respectively.
6256	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
6257	* libgomp.texi (acc_wait, acc_wait_all): Update.
6258	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
6259	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
6260	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6261
6262	* openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
6263	acc_present_or_copyin and acc_present_or_create procedures,
6264	respectively.
6265	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
6266	generally different variants of OpenACC Runtime Library functions.
6267	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6268
6269	* testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
6270	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6271
6272	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
6273	of preprocessor definitions.
6274	* libgomp.h (strong_alias): Guard by "#ifdef
6275	HAVE_ATTRIBUTE_ALIAS".
6276	* oacc-mem.c: Provide "acc_pcreate" as alias for
6277	"acc_present_or_create", and "acc_pcopyin" as alias for
6278	"acc_present_or_copyin".
6279	* libgomp.map: New version "OACC_2.0.1".
6280	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
6281	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
6282	its content into...
6283	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
6284	Extend testing.
6285
6286	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
6287	when disabling nvptx offloading.
6288
62892017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
6290
6291	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
6292	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6293	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
6294
6295	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
6296	* testsuite/lib/libgomp.exp
6297	(check_effective_target_openacc_nvidia_accel_configured): New
6298	proc.
6299	* testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
6300	(check_effective_target_c++): New procs.
6301	* testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
6302	(check_effective_target_c++): Likewise.
6303
63042017-05-22  Jakub Jelinek  <jakub@redhat.com>
6305
6306	PR middle-end/80809
6307	* testsuite/libgomp.c/pr80809-2.c: New test.
6308	* testsuite/libgomp.c/pr80809-3.c: New test.
6309
6310	PR middle-end/80809
6311	* testsuite/libgomp.c/pr80809-1.c: New test.
6312
6313	PR middle-end/80853
6314	* testsuite/libgomp.c/pr80853.c: New test.
6315
63162017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
6317
6318	* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
6319	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
6320	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6321	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6322	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
6323
6324	* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
6325	Debug output for failure.
6326
63272017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6328
6329	* testsuite/lib/libgomp.exp: Load scanlang.exp.
6330
63312017-04-27  Jakub Jelinek  <jakub@redhat.com>
6332
6333	PR bootstrap/80531
6334	* configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
6335	bootstrap compare failures.
6336
63372017-04-20  Alexander Monakov  <amonakov@ispras.ru>
6338
6339	* testsuite/libgomp.c/target-36.c: New testcase.
6340
63412017-04-13  Jakub Jelinek  <jakub@redhat.com>
6342
6343	* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
6344	instead of char.
6345
63462017-04-11  Jakub Jelinek  <jakub@redhat.com>
6347
6348	PR libgomp/80394
6349	* testsuite/libgomp.c/pr80394.c: New test.
6350
63512017-04-04  Jakub Jelinek  <jakub@redhat.com>
6352
6353	PR libgomp/79876
6354	* config/posix/thread-stacksize.h: New file.
6355	* config/darwin/thread-stacksize.h: New file.
6356	* config/nvptx/thread-stacksize.h: New file.
6357	* env.c: Include thread-stacksize.h.
6358	(initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
6359	instead of 0.  Call pthread_attr_setstacksize even if
6360	GOMP_DEFAULT_STACKSIZE is non-zero.
6361
63622017-03-30  Jakub Jelinek  <jakub@redhat.com>
6363
6364	* env.c (initialize_env): Initialize stacksize to 0.
6365
63662017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
6367
6368	PR c++/80029
6369	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
6370
63712017-03-08  Jakub Jelinek  <jakub@redhat.com>
6372
6373	PR c/79940
6374	* testsuite/libgomp.c/pr79940.c: New test.
6375
63762017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6377
6378	* testsuite/libgomp.c/pr48591.c: Enable on all __float128
6379	targets.
6380	Add __float128 options.
6381
63822017-02-11  John David Anglin  <danglin@gcc.gnu.org>
6383
6384	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
6385	hppa*-*-* dg-skip-if directive.
6386
63872017-02-09  Jakub Jelinek  <jakub@redhat.com>
6388
6389	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
6390	dg-skip-if directive into a comment.
6391
63922017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
6393	    Chung-Lin Tang  <cltang@codesourcery.com>
6394
6395	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
6396	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
6397	add additional case.
6398	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
6399	"openacc_nvidia_accel_selected".
6400	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
6401	Add num_workers(8) clause.
6402
64032017-02-08  John David Anglin  <danglin@gcc.gnu.org>
6404
6405	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
6406	hppa*-*-*.
6407	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
6408	include complex.h on hppa*-*-hpux*.
6409	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6410
64112017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
6412
6413	* plugin/plugin-nvptx.c (nvptx_exec): Make it static.
6414
6415	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
6416	GOMP_OFFLOAD_openacc_exec.  Adjust all users.
6417	(GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
6418	GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
6419	(GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
6420	GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
6421	(GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
6422	GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
6423	(GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
6424	GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
6425
64262017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
6427
6428	* libgomp-plugin.h: #include <stdbool.h>.
6429	(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
6430	(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
6431	(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
6432	(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
6433	(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
6434	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
6435	(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
6436	(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
6437	(GOMP_OFFLOAD_openacc_register_async_cleanup)
6438	(GOMP_OFFLOAD_openacc_async_test)
6439	(GOMP_OFFLOAD_openacc_async_test_all)
6440	(GOMP_OFFLOAD_openacc_async_wait)
6441	(GOMP_OFFLOAD_openacc_async_wait_async)
6442	(GOMP_OFFLOAD_openacc_async_wait_all)
6443	(GOMP_OFFLOAD_openacc_async_wait_all_async)
6444	(GOMP_OFFLOAD_openacc_async_set_async)
6445	(GOMP_OFFLOAD_openacc_create_thread_data)
6446	(GOMP_OFFLOAD_openacc_destroy_thread_data)
6447	(GOMP_OFFLOAD_openacc_get_current_cuda_device)
6448	(GOMP_OFFLOAD_openacc_get_current_cuda_context)
6449	(GOMP_OFFLOAD_openacc_get_cuda_stream)
6450	(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
6451	* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
6452	these.
6453	* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
6454	(GOMP_OFFLOAD_unload_image): Fix argument types.
6455
64562017-01-26  Jakub Jelinek  <jakub@redhat.com>
6457
6458	* testsuite/lib/libgomp.exp
6459	(check_effective_target_hsa_offloading_selected_nocache): Fix up
6460	check_compile invocation.  Fix up removal of executable.  Drop
6461	bogus "2>&1" argument.
6462
6463	* testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
6464	directive.
6465
64662017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
6467	    Martin Jambor  <mjambor@suse.cz>
6468
6469	* plugin/hsa.h: Moved to top level include.
6470	* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
6471
64722017-01-21  Jakub Jelinek  <jakub@redhat.com>
6473
6474	PR other/79046
6475	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
6476	of cat to get version from BASE-VER file.
6477	* testsuite/Makefile.in: Regenerated.
6478
64792017-01-19  Jakub Jelinek  <jakub@redhat.com>
6480
6481	* plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
6482	for _WIN64.
6483
64842017-01-17  Jakub Jelinek  <jakub@redhat.com>
6485
6486	* plugin/hsa.h: Add GCC runtime library exception.
6487	* plugin/hsa_ext_finalize.h: Likewise.
6488
6489	* plugin/configfrag.ac: For --without-cuda-driver don't initialize
6490	CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
6491	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
6492	cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
6493	plugin/include/cuda as include dir and -ldl instead of -lcuda as
6494	library to link ptx plugin against.
6495	* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
6496	(CUDA_CALLS): Define.
6497	(cuda_lib, cuda_lib_inited): New variables.
6498	(init_cuda_lib): New function.
6499	(CUDA_CALL_PREFIX): Define.
6500	(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
6501	(CUDA_CALL): Use FN instead of (FN).
6502	(CUDA_CALL_NOCHECK): Define.
6503	(cuda_error, fini_streams_for_device, select_stream_for_async,
6504	nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
6505	event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
6506	nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
6507	nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
6508	CUDA_CALL_NOCHECK.
6509	(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
6510	CUDA_CALL_NOCHECK.
6511	(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
6512	Use CUDA_CALL_NOCHECK.
6513	* plugin/cuda/cuda.h: New file.
6514	* config.h.in: Regenerated.
6515	* configure: Regenerated.
6516
6517	PR other/79046
6518	* configure.ac: Add GCC_BASE_VER.
6519	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
6520	get version from BASE-VER file.
6521	* testsuite/Makefile.in: Regenerated.
6522	* configure: Regenerated.
6523	* Makefile.in: Regenerated.
6524
65252017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
6526
6527	PR libgomp/60670
6528	* Makefile.am: Make fincludedir multilib-aware.
6529	* Makefile.in: Regenerate.
6530
65312017-01-01  Jakub Jelinek  <jakub@redhat.com>
6532
6533	Update copyright years.
6534
6535	* libgomp.texi: Bump @copying's copyright year.
6536
65372016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6538
6539	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
6540	pthread_spinlock_t instead of gomp_mutex_t lock.
6541	(gomp_get_thread_pool): Likewise.
6542	(gomp_release_thread_pool): Likewise.
6543	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
6544	Likewise.
6545
65462016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6547
6548	* config/rtems/pool.h (gomp_get_thread_pool): Return proper
6549	thread pool in case nthreads == 1.
6550
65512016-11-30  Alexander Monakov  <amonakov@ispras.ru>
6552
6553	* config/nvptx/env.c: Delete.
6554	* icv.c: Move definitions of ICV variables back ...
6555	* env.c: ...here.  Do not compile environment-related functionality if
6556	LIBGOMP_OFFLOADED_ONLY is set.
6557
65582016-11-30  Alexander Monakov  <amonakov@ispras.ru>
6559
6560	* configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
6561	(LIBGOMP_OFFLOADED_ONLY): ...here; new define.
6562	* configure: Regenerate.
6563	* config.h.in: Likewise.
6564
65652016-11-30  Alexander Monakov  <amonakov@ispras.ru>
6566
6567	* Makefile.in: Regenerate with automake-1.11.6.
6568	* aclocal.m4: Likewise.
6569	* configure: Likewise.
6570	* testsuite/Makefile.in: Likewise.
6571
65722016-11-28  Alexander Monakov  <amonakov@ispras.ru>
6573
6574	* config/nvptx/critical.c: Delete to use generic implementation.
6575
65762016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
6577
6578	* config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
6579	../../affinity.c as fallback.
6580	* config/nvptx/affinity.c: Delete to use fallback implementation.
6581
65822016-11-23  Alexander Monakov  <amonakov@ispras.ru>
6583	    Jakub Jelinek  <jakub@redhat.com>
6584	    Dmitry Melnik  <dm@ispras.ru>
6585
6586	* Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
6587	* Makefile.in. Regenerate.
6588	* configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
6589	(LIBGOMP_USE_PTHREADS): ...here; new define.
6590	* configure: Regenerate.
6591	* config.h.in: Likewise.
6592	* config/posix/affinity.c: Move to...
6593	* affinity.c: ...here (new file).  Guard use of Pthreads-specific
6594	interface by LIBGOMP_USE_PTHREADS.
6595	* critical.c: Split out GOMP_atomic_{start,end} into...
6596	* atomic.c: ...here (new file).
6597	* env.c: Split out ICV definitions into...
6598	* icv.c: ...here (new file) and...
6599	* icv-device.c: ...here. New file.
6600	* config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
6601	(gomp_destroy_lock_30): Ditto.
6602	(gomp_set_lock_30): Ditto.
6603	(gomp_unset_lock_30): Ditto.
6604	(gomp_test_lock_30): Ditto.
6605	(gomp_init_nest_lock_30): Ditto.
6606	(gomp_destroy_nest_lock_30): Ditto.
6607	(gomp_set_nest_lock_30): Ditto.
6608	(gomp_unset_nest_lock_30): Ditto.
6609	(gomp_test_nest_lock_30): Ditto.
6610	* lock.c: New.
6611	* config/nvptx/lock.c: New.
6612	* config/nvptx/bar.c: New.
6613	* config/nvptx/bar.h: New.
6614	* config/nvptx/doacross.h: New.
6615	* config/nvptx/error.c: New.
6616	* config/nvptx/icv-device.c: New.
6617	* config/nvptx/mutex.h: New.
6618	* config/nvptx/pool.h: New.
6619	* config/nvptx/proc.c: New.
6620	* config/nvptx/ptrlock.h: New.
6621	* config/nvptx/sem.h: New.
6622	* config/nvptx/simple-bar.h: New.
6623	* config/nvptx/target.c: New.
6624	* config/nvptx/task.c: New.
6625	* config/nvptx/team.c: New.
6626	* config/nvptx/time.c: New.
6627	* config/posix/simple-bar.h: New.
6628	* libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
6629	(gomp_num_teams_var): Declare.
6630	(struct gomp_thread_pool): Change threads_dock member to
6631	gomp_simple_barrier_t.
6632	[__nvptx__] (gomp_thread): New implementation.
6633	(gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
6634	(gomp_thread_destructor): Ditto.
6635	(gomp_init_thread_affinity): Ditto.
6636	* team.c: Guard uses of Pthreads-specific interfaces by
6637	LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
6638	(gomp_free_thread) [__nvptx__]: Do not call 'free'.
6639	* config/nvptx/alloc.c: Delete.
6640	* config/nvptx/barrier.c: Ditto.
6641	* config/nvptx/fortran.c: Ditto.
6642	* config/nvptx/iter.c: Ditto.
6643	* config/nvptx/iter_ull.c: Ditto.
6644	* config/nvptx/loop.c: Ditto.
6645	* config/nvptx/loop_ull.c: Ditto.
6646	* config/nvptx/ordered.c: Ditto.
6647	* config/nvptx/parallel.c: Ditto.
6648	* config/nvptx/priority_queue.c: Ditto.
6649	* config/nvptx/sections.c: Ditto.
6650	* config/nvptx/single.c: Ditto.
6651	* config/nvptx/splay-tree.c: Ditto.
6652	* config/nvptx/work.c: Ditto.
6653	* testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
6654	-foffload=-lgfortran in addition to -lgfortran.
6655	* testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
6656	* plugin/plugin-nvptx.c: Include <limits.h>.
6657	(struct targ_fn_descriptor): Add new fields.
6658	(struct ptx_device): Ditto.  Set them...
6659	(nvptx_open_device): ...here.
6660	(nvptx_adjust_launch_bounds): New.
6661	(nvptx_host2dev): Allow NULL 'nvthd'.
6662	(nvptx_dev2host): Ditto.
6663	(GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
6664	(link_ptx): Adjust log sizes.
6665	(nvptx_host2dev): Allow NULL 'nvthd'.
6666	(nvptx_dev2host): Ditto.
6667	(nvptx_set_clocktick): New.  Use it...
6668	(GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
6669	fields.
6670	(GOMP_OFFLOAD_dev2dev): New.
6671	(nvptx_adjust_launch_bounds): New.
6672	(nvptx_stacks_size): New.
6673	(nvptx_stacks_alloc): New.
6674	(nvptx_stacks_free): New.
6675	(GOMP_OFFLOAD_run): New.
6676	(GOMP_OFFLOAD_async_run): New (stub).
6677
66782016-11-23  Martin Jambor  <mjambor@suse.cz>
6679
6680	* testsuite/libgomp.hsa.c/bits-insns.c: New test.
6681	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6682	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6683
66842016-11-23  Martin Liska  <mliska@suse.cz>
6685	    Martin Jambor  <mjambor@suse.cz>
6686
6687	* plugin/hsa.h: New file.
6688	* plugin/hsa_ext_finalize.h: New file.
6689	* plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
6690	header file unistd.h, and functions secure_getenv, __secure_getenv,
6691	getuid, geteuid, getgid and getegid.
6692	* plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
6693	-D_GNU_SOURCE.
6694	* plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
6695	Handle various cases of secure_getenv presence, add an implementation
6696	when we can test effective UID and GID.
6697	(struct hsa_runtime_fn_info): New structure.
6698	(hsa_runtime_fn_info hsa_fns): New variable.
6699	(hsa_runtime_lib): Likewise.
6700	(support_cpu_devices): Likewise.
6701	(init_enviroment_variables): Load newly introduced ENV
6702	variables.
6703	(hsa_warn): Call hsa run-time functions via hsa_fns structure.
6704	(hsa_fatal): Likewise.
6705	(DLSYM_FN): New macro.
6706	(init_hsa_runtime_functions): New function.
6707	(suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
6708	structure.  Depending on environment, also allow CPU devices.
6709	(init_hsa_context): Call hsa run-time functions via hsa_fns structure.
6710	(get_kernarg_memory_region): Likewise.
6711	(GOMP_OFFLOAD_init_device): Likewise.
6712	(destroy_hsa_program): Likewise.
6713	(init_basic_kernel_info): New function.
6714	(GOMP_OFFLOAD_load_image): Use it.
6715	(create_and_finalize_hsa_program): Call hsa run-time functions via
6716	hsa_fns structure.
6717	(create_single_kernel_dispatch): Likewise.
6718	(release_kernel_dispatch): Likewise.
6719	(init_single_kernel): Likewise.
6720	(parse_target_attributes): Allow up multiple HSA grid dimensions.
6721	(get_group_size): New function.
6722	(run_kernel): Likewise.
6723	(GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
6724	(GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
6725	structure.
6726	* testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
6727	* testsuite/libgomp-test-support.exp.in: Likewise.
6728	* Makefile.in: Regenerated.
6729	* aclocal.m4: Likewise.
6730	* config.h.in: Likewise.
6731	* configure: Likewise.
6732	* testsuite/Makefile.in: Likewise.
6733
67342016-11-15  Martin Jambor  <mjambor@suse.cz>
6735	    Alexander Monakov  <amonakov@ispras.ru>
6736
6737	* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
6738	mapping clauses to target constructs.
6739	* testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
6740
67412016-11-15  Matthias Klose  <doko@ubuntu.com>
6742
6743	* configure: Regenerate.
6744
67452016-11-10  Jakub Jelinek  <jakub@redhat.com>
6746
6747	* omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
6748	* omp_lib.h.in (openmp_version): Likewise.
6749	* testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
6750	of 201307.
6751	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6752
6753	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90
6754	(fib_wrapper): Add map(from: x) clause.
6755	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90
6756	(e_53_2): Likewise.
6757	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90
6758	(accum): Add map(tmp) clause.
6759	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90
6760	(accum): Add map(tofrom: tmp) clause.
6761	* testsuite/libgomp.fortran/examples-4/target_data-3.f90
6762	(gramSchmidt): Likewise.
6763	* testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
6764	map(tofrom: sum) clause.
6765	* testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
6766	map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
6767	* testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
6768	only allowed on the loop iterator.
6769	* testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
6770	* testsuite/libgomp.fortran/taskloop2.f90: New test.
6771	* testsuite/libgomp.fortran/taskloop4.f90: New test.
6772	* testsuite/libgomp.fortran/doacross1.f90: New test.
6773	* testsuite/libgomp.fortran/doacross3.f90: New test.
6774	* testsuite/libgomp.fortran/taskloop1.f90: New test.
6775	* testsuite/libgomp.fortran/taskloop3.f90: New test.
6776	* testsuite/libgomp.fortran/doacross2.f90: New test.
6777	* testsuite/libgomp.c/doacross-1.c (main): Add missing
6778	#pragma omp atomic read.
6779	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
6780	* testsuite/libgomp.c/doacross-3.c (main): Likewise.
6781
67822016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
6783	    Nathan Sidwell  <nathan@acm.org>
6784
6785	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
6786	to determine default geometry.
6787	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
6788	dimension.
6789
67902016-11-01  Jakub Jelinek  <jakub@redhat.com>
6791
6792	* hashtab.h: Use standard GPLv3 with runtime exception
6793	boilerplate.
6794
67952016-10-27  Aldy Hernandez  <aldyh@redhat.com>
6796
6797	* oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
6798	size when allocating new thread.
6799
68002016-09-14  Marek Polacek  <polacek@redhat.com>
6801
6802	* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
6803
68042016-08-19  Jakub Jelinek  <jakub@redhat.com>
6805
6806	PR fortran/71014
6807	* testsuite/libgomp.fortran/pr71014.f90: New test.
6808
68092016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
6810
6811	PR middle-end/70895
6812	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
6813	firstprivate clauses.
6814	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
6815	copy clauses.
6816	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6817	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6818	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
6819	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6820	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6821	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6822	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6823	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6824	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6825	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6826	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6827	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
6828
68292016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
6830
6831	PR fortran/70598
6832	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
6833
68342016-08-08  Jakub Jelinek  <jakub@redhat.com>
6835
6836	PR c++/58706
6837	* testsuite/libgomp.c++/pr58706.C: New test.
6838
68392016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
6840
6841	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
6842	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
6843	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6844	Likewise.
6845	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
6846	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
6847	Likewise.
6848	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
6849
6850	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
6851	test, and don't hardcode -O0.
6852
68532016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
6854
6855	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
6856
68572016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
6858
6859	* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
6860	test.
6861
68622016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
6863
6864	PR middle-end/71734
6865	* testsuite/libgomp.fortran/pr71734-1.f90: New test.
6866	* testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
6867
68682016-07-01  Jakub Jelinek  <jakub@redhat.com>
6869
6870	PR fortran/71717
6871	* testsuite/libgomp.fortran/associate3.f90: New test.
6872
68732016-06-17  Jakub Jelinek  <jakub@redhat.com>
6874
6875	* testsuite/libgomp.c++/target-21.C: New test.
6876
68772016-06-16  Jakub Jelinek  <jakub@redhat.com>
6878
6879	* testsuite/libgomp.c++/target-20.C: New test.
6880
68812016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6882	    Cesar Philippidis  <cesar@codesourcery.com>
6883
6884	PR middle-end/71373
6885	* libgomp.oacc-c/nested-function-1.c: New file.
6886	* libgomp.oacc-c/nested-function-2.c: Likewise.
6887	* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6888	* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6889	* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6890
68912016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6892
6893	PR c/71381
6894	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
6895	"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
6896	* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
6897
68982016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
6899
6900	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
6901	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
6902
69032016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
6904
6905	PR c/70688
6906	* testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
6907
69082016-05-26  Jakub Jelinek  <jakub@redhat.com>
6909
6910	* testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6911	instead of invalid schedule(static, 0).
6912	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
6913
69142016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6915
6916	* oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6917	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6918	parameter, use to set async stream around call to gomp_unmap_vars,
6919	call gomp_unmap_vars() with 'do_copyfrom' set to true.
6920	* plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6921	(event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6922	events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6923	(event_add): Add int parameter, initialize 'val' field when
6924	adding new ptx_event struct.
6925	(nvptx_evec): Adjust event_add() call arguments.
6926	(nvptx_host2dev): Likewise.
6927	(nvptx_dev2host): Likewise.
6928	(nvptx_wait_async): Likewise.
6929	(nvptx_wait_all_async): Likewise.
6930	(GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6931	pass to event_add() call.
6932	* oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6933	parameter.
6934	* oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6935	call openacc.register_async_cleanup_func() hook.
6936	* oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6937	* target.c (gomp_copy_from_async): Delete function.
6938	(gomp_map_vars): Remove async_refcount.
6939	(gomp_unmap_vars): Likewise.
6940	(gomp_load_image_to_device): Likewise.
6941	(omp_target_associate_ptr): Likewise.
6942	* libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6943	(acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6944	(gomp_copy_from_async): Remove.
6945
69462016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6947
6948	* target.c (gomp_device_copy): New function.
6949	(gomp_copy_host2dev): Likewise.
6950	(gomp_copy_dev2host): Likewise.
6951	(gomp_free_device_memory): Likewise.
6952	(gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6953	(gomp_map_pointer): Likewise.
6954	(gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6955	NULL value from alloc_func plugin hook.
6956	(gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6957	(gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6958	(gomp_unmap_vars): Likewise.
6959	(gomp_update): Adjust to call gomp_copy_dev2host and
6960	gomp_copy_host2dev functions.
6961	(gomp_unload_image_from_device): Handle false value from
6962	unload_image_func plugin hook.
6963	(gomp_init_device): Handle false value from init_device_func
6964	plugin hook.
6965	(gomp_exit_data): Adjust to call gomp_copy_dev2host.
6966	(omp_target_free): Adjust to call gomp_free_device_memory.
6967	(omp_target_memcpy): Handle return values from host2dev_func,
6968	dev2host_func, and dev2dev_func plugin hooks.
6969	(omp_target_memcpy_rect_worker): Likewise.
6970	(gomp_target_fini): Handle false value from fini_device_func
6971	plugin hook.
6972	* libgomp.h (struct gomp_device_descr): Adjust return type of
6973	init_device_func, fini_device_func, unload_image_func, free_func,
6974	dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6975	* oacc-init.c (acc_shutdown_1): Handle false value from
6976	fini_device_func plugin hook.
6977	* oacc-host.c (host_init_device): Change return type to bool.
6978	(host_fini_device): Likewise.
6979	(host_unload_image): Likewise.
6980	(host_free): Likewise.
6981	(host_dev2host): Likewise.
6982	(host_host2dev): Likewise.
6983	* oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6984	(acc_memcpy_to_device): Likewise.
6985	(acc_memcpy_from_device): Likewise.
6986	(delete_copyout): Add libfnname parameter, handle free_func
6987	hook fatal error case.
6988	(acc_delete): Adjust delete_copyout call.
6989	(acc_copyout): Likewise.
6990	(update_dev_host): Move gomp_mutex_unlock to after
6991	host2dev/dev2host hook calls.
6992
6993	* plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6994	to 'hsa_error_msg', for clarity.
6995	(hsa_fatal): Likewise.
6996	(hsa_error): New function.
6997	(init_hsa_context): Change return type to bool, adjust to return
6998	false on error.
6999	(GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
7000	return value.
7001	(GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
7002	return false on error.
7003	(get_agent_info): Adjust to return NULL on error.
7004	(destroy_hsa_program): Change return type to bool, adjust to
7005	return false on error.
7006	(GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
7007	(destroy_module): Change return type to bool, adjust to
7008	return false on error.
7009	(GOMP_OFFLOAD_unload_image): Likewise.
7010	(GOMP_OFFLOAD_fini_device): Likewise.
7011	(GOMP_OFFLOAD_alloc): Change to return NULL when called.
7012	(GOMP_OFFLOAD_free): Change to return false when called.
7013	(GOMP_OFFLOAD_dev2host): Likewise.
7014	(GOMP_OFFLOAD_host2dev): Likewise.
7015	(GOMP_OFFLOAD_dev2dev): Likewise.
7016
7017	* plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
7018	(CUDA_CALL): Likewise.
7019	(CUDA_CALL_ASSERT): Likewise.
7020	(map_init): Change return type to bool, use CUDA_CALL* macros.
7021	(map_fini): Likewise.
7022	(init_streams_for_device): Change return type to bool, adjust
7023	call to map_init.
7024	(fini_streams_for_device): Change return type to bool, adjust
7025	call to map_fini.
7026	(select_stream_for_async): Release stream_lock before calls to
7027	GOMP_PLUGIN_fatal, adjust call to map_init.
7028	(nvptx_init): Use CUDA_CALL* macros.
7029	(nvptx_attach_host_thread_to_device): Change return type to bool,
7030	use CUDA_CALL* macros.
7031	(nvptx_open_device): Use CUDA_CALL* macros.
7032	(nvptx_close_device): Change return type to bool, use CUDA_CALL*
7033	macros.
7034	(nvptx_get_num_devices): Use CUDA_CALL* macros.
7035	(link_ptx): Change return type to bool, use CUDA_CALL* macros.
7036	(nvptx_exec): Use CUDA_CALL* macros.
7037	(nvptx_alloc): Use CUDA_CALL* macros.
7038	(nvptx_free): Change return type to bool, use CUDA_CALL* macros.
7039	(nvptx_host2dev): Likewise.
7040	(nvptx_dev2host): Likewise.
7041	(nvptx_wait): Use CUDA_CALL* macros.
7042	(nvptx_wait_async): Likewise.
7043	(nvptx_wait_all): Likewise.
7044	(nvptx_wait_all_async): Likewise.
7045	(nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
7046	use CUDA_CALL* macros, adjust call to map_fini.
7047	(GOMP_OFFLOAD_init_device): Change return type to bool,
7048	adjust code accordingly.
7049	(GOMP_OFFLOAD_fini_device): Likewise.
7050	(GOMP_OFFLOAD_load_image): Adjust calls to
7051	nvptx_attach_host_thread_to_device/link_ptx to handle errors,
7052	use CUDA_CALL* macros.
7053	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
7054	return code.
7055	(GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
7056	(GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
7057	handle error return.
7058	(GOMP_OFFLOAD_dev2host): Likewise.
7059	(GOMP_OFFLOAD_host2dev): Likewise.
7060	(GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
7061	(GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
7062
70632016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
7064
7065	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
7066	(acc_free): Likewise.
7067	(acc_memcpy_to_device): Likewise.
7068	(acc_memcpy_from_device): Likewise.
7069	(acc_deviceptr): Likewise.
7070	(acc_hostptr): Likewise.
7071	(acc_is_present): Likewise.
7072	(acc_map_data): Likewise.
7073	(acc_unmap_data): Likewise.
7074	(present_create_copy): Likewise.
7075	(delete_copyout): Likewise.
7076	(update_dev_host): Likewise.
7077	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
7078	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
7079	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
7080	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7081	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
7082	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
7083	it only runs on nvptx targets.
7084	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7085	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7086	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7087	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7088	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7089	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7090	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7091	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7092	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7093	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7094	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7095	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7096	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7097	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7098	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7099	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7100	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7101	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7102	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7103	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7104	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7105	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7106	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7107
71082016-05-23  Martin Jambor  <mjambor@suse.cz>
7109
7110	* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
7111
71122016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
7113
7114	* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
7115	to gomp_init_targets_once.
7116	(acc_set_device_type): Remove !cached_base_dev condition on call to
7117	gomp_init_targets_once, move call to before acc_device_lock acquire,
7118	to avoid deadlock.
7119	(acc_get_device_num): Remove !cached_base_dev condition on call to
7120	gomp_init_targets_once.
7121	(acc_set_device_num): Likewise.
7122
71232016-05-16  Martin Jambor  <mjambor@suse.cz>
7124
7125	* testsuite/libgomp.hsa.c/complex-align-2.c: New test.
7126
71272016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
7128
7129	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
7130	expected partitioning.
7131
71322016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
7133
7134	PR middle-end/70626
7135	* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
7136	* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
7137	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
7138
71392016-04-21  Alexander Monakov  <amonakov@ispras.ru>
7140
7141	* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
7142	non-fatal.
7143
71442016-04-19  Jakub Jelinek  <jakub@redhat.com>
7145
7146	PR middle-end/70680
7147	* testsuite/libgomp.c/pr70680-1.c: New test.
7148	* testsuite/libgomp.c/pr70680-2.c: New test.
7149
71502016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
7151
7152	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
7153	pass parameter variables to subroutines.
7154
71552016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
7156
7157	PR middle-end/70643
7158	* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
7159
71602016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
7161
7162	PR testsuite/68242
7163	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
7164	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7165
71662016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
7167
7168	* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
7169	GOACC_parallel_keyed, restore GOACC_parallel prototype, new
7170	GOACC_declare prototype.
7171
7172	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
7173	Merge this file, and...
7174	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
7175	... this file, and...
7176	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
7177	... this file, and...
7178	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
7179	... this file, and...
7180	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
7181	... this file, and...
7182	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
7183	... this file, and...
7184	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
7185	... this file, and...
7186	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
7187	... this file, and...
7188	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
7189	... this file, and...
7190	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
7191	... this file, and...
7192	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
7193	... this file, and...
7194	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
7195	... this file, and...
7196	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
7197	... this file into...
7198	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
7199	file.
7200
7201	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
7202	Make failure observable.
7203
72042016-04-12  Jakub Jelinek  <jakub@redhat.com>
7205
7206	* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
7207	field.
7208	* target.c (gomp_target_fallback_firstprivate,
7209	gomp_target_unshare_firstprivate): Removed.
7210	(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
7211	before waiting for dependencies.
7212	(gomp_target_task_fn): Don't copy firstprivate vars here.
7213	* task.c (GOMP_PLUGIN_target_task_completion): Don't free
7214	firstprivate_copies here.
7215	(gomp_create_target_task): Don't initialize firstprivate_copies field.
7216	* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
7217	explicit/implicit firstprivate.
7218
72192016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
7220
7221	PR lto/70289
7222	PR ipa/70348
7223	PR tree-optimization/70373
7224	PR middle-end/70533
7225	PR middle-end/70534
7226	PR middle-end/70535
7227	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
7228	test.
7229	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
7230	test.
7231	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
7232	test.
7233	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
7234	test.
7235	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
7236	test.
7237	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
7238	test.
7239	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
7240	test.
7241	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
7242	test.
7243	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
7244	test.
7245	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
7246	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
7247	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
7248	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
7249	test.
7250	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
7251	test.
7252	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
7253	test.
7254	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
7255	test.
7256	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
7257	coverage.
7258	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7259	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7260	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
7261	* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
7262	* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
7263	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
7264	coverage.
7265	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7266	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7267	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7268	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7269	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
7270	* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
7271	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
7272	* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
7273	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
7274	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7275	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7276	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7277	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7278	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7279	* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
7280
72812016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
7282	    James Norris  <jnorris@codesourcery.com>
7283	    Nathan Sidwell  <nathan@codesourcery.com>
7284	    Julian Brown  <julian@codesourcery.com>
7285	    Cesar Philippidis  <cesar@codesourcery.com>
7286	    Chung-Lin Tang  <cltang@codesourcery.com>
7287	    Tom de Vries  <tom@codesourcery.com>
7288
7289	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
7290	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7291	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7292	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
7293	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7294	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7295	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7296	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7297	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7298	XFAIL.
7299	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
7300	Incorporate...
7301	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
7302	file.
7303	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
7304	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
7305	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
7306	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
7307	Likewise.
7308	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
7309	Likewise.
7310	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
7311	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
7312	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
7313	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
7314	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7315	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7316	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7317	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7318	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7319	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
7320	Likewise.
7321	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
7322	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7323	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
7324	file...
7325	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
7326	file into...
7327	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
7328	file.  Update.
7329	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
7330	file.
7331	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
7332	Likewise.
7333	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
7334	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
7335	... this new file.  Update.
7336	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
7337	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
7338	... this new file.  Update.
7339	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
7340	file.  Incorporate...
7341	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
7342	file, and...
7343	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
7344	file, and...
7345	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
7346	file.
7347	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
7348
73492016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
7350
7351	* testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
7352	set-torture-options.
7353
73542016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
7355
7356	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
7357	gcc-dg-runtest.
7358	* testsuite/libgomp.oacc-c/c.exp: Likewise.
7359	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
7360	-fno-builtin-acc_on_device instead of -O0.
7361	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
7362	-O0.
7363	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7364	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
7365	Likewise.
7366	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7367	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7368	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7369	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7370	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7371	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7372	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7373	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7374	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7375	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7376	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7377	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7378	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7379	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7380	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7381	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7382	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7383	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
7384	Don't specify -O2.
7385	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
7386	Likewise.
7387	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
7388	Likewise.
7389
73902016-03-24  Martin Liska  <mliska@suse.cz>
7391
7392	* plugin/plugin-hsa.c (packet_store_release): New function
7393	that is taken from the HSA runtime manual.
7394	(GOMP_OFFLOAD_run): Use the function.
7395
73962016-03-23  Jakub Jelinek  <jakub@redhat.com>
7397
7398	PR c++/70376
7399	* testsuite/libgomp.c++/pr70376.C: New test.
7400
74012016-03-23  Tom de Vries  <tom@codesourcery.com>
7402
7403	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
7404	initialization of lresult and lvresult.
7405	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
7406
74072016-03-23  James Norris  <jnorris@codesourcery.com>
7408	    Daichi Fukuoka <dc-fukuoka@sgi.com>
7409
7410	PR libgomp/69414
7411	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
7412	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
7413	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7414	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
7415
74162016-03-23  Martin Liska  <mliska@suse.cz>
7417
7418	PR hsa/70337
7419	* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
7420	argument just in case a dispatched kernel uses that argument.
7421
74222016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
7423
7424	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
7425	-ftree-parallelize-loops/-fopenacc changes.
7426	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
7427	Likewise.
7428	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
7429	Likewise.
7430	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
7431	Likewise.
7432	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
7433	Likewise.
7434	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7435	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7436
74372016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
7438
7439	* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
7440	always_ld_library_path the path to libgcc_s.
7441
74422016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
7443
7444	PR testsuite/70009
7445	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
7446
74472016-03-09  Tom de Vries  <tom@codesourcery.com>
7448
7449	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
7450	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
7451	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
7452	Same.
7453	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
7454	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
7455	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
7456	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
7457
74582016-03-07  Martin Jambor  <mjambor@suse.cz>
7459
7460	* testsuite/lib/libgomp.exp
7461	(check_effective_target_hsa_offloading_selected_nocache): New.
7462	(check_effective_target_hsa_offloading_selected): Likewise.
7463	* testsuite/libgomp.hsa.c/c.exp: Likewise.
7464	* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
7465	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7466	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7467	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7468	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7469	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7470	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7471	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7472	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7473	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7474	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7475	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7476	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7477	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7478	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7479	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7480
74812016-03-07  Martin Jambor  <mjambor@suse.cz>
7482
7483	* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
7484	non-shared memory accelerators.
7485	* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
7486	* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
7487	* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
7488	* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
7489	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7490	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7491	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7492	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7493	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7494
74952016-03-07  Martin Jambor  <mjambor@suse.cz>
7496
7497	* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
7498	ALWAYS_CFLAGS.
7499
75002016-03-02  Jakub Jelinek  <jakub@redhat.com>
7501
7502	PR libgomp/69555
7503	* testsuite/libgomp.c++/pr69555-1.C: New test.
7504	* testsuite/libgomp.c++/pr69555-2.C: New test.
7505
75062016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
7507	    Martin Jambor  <mjambor@suse.cz>
7508
7509	* testsuite/lib/libgomp.exp
7510	(check_effective_target_offload_device_shared_as): New proc.
7511	* testsuite/libgomp.c++/declare_target-1.C: New test.
7512
75132016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
7514
7515	PR driver/68463
7516	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
7517
75182016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
7519
7520	* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
7521	* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
7522	dims.
7523	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
7524	-ftree-parallelize-loops/-fopenacc changes.
7525	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
7526	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
7527	Likewise.
7528	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
7529	Likewise.
7530	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
7531	Likewise.
7532	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
7533	Likewise.
7534	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
7535	Likewise.
7536	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
7537	Likewise.
7538	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
7539	Likewise.
7540	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
7541	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
7542	Likewise.
7543	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
7544	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
7545	Likewise.
7546	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
7547	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
7548	Likewise.
7549
75502016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
7551
7552	* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
7553
75542016-02-19  Jakub Jelinek  <jakub@redhat.com>
7555
7556	PR driver/69805
7557	* testsuite/libgomp.c/pr69805.c: New test.
7558
75592016-02-16  Tom de Vries  <tom@codesourcery.com>
7560
7561	PR lto/67709
7562	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
7563
75642016-02-09  Tom de Vries  <tom@codesourcery.com>
7565
7566	PR tree-optimization/69599
7567	* testsuite/libgomp.c/omp-nested-3.c: New test.
7568	* testsuite/libgomp.c/pr46032-2.c: New test.
7569	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
7570	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
7571
75722016-02-09  Tom de Vries  <tom@codesourcery.com>
7573
7574	PR lto/69707
7575	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
7576
75772016-02-02  Alexander Monakov  <amonakov@ispras.ru>
7578
7579	* testsuite/libgomp.c/target-31.c: Fix testcase.
7580
75812016-02-02  Alexander Monakov  <amonakov@ispras.ru>
7582
7583	* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
7584	clause.
7585	* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
7586	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
7587	reduction and map clauses.
7588	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7589
75902016-02-02  James Norris  <jnorris@codesourcery.com>
7591
7592	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
7593
75942016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
7595
7596	* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
7597	* oacc-parallel.c (GOACC_host_data): Remove function definition.
7598
7599	* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
7600	cases.
7601
7602	* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
7603	variables.
7604	* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
7605	(hsa_kmt_lib): Set variables.
7606	* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
7607	always_ld_library_path.
7608	* Makefile.in: Regenerate.
7609	* configure: Likewise.
7610	* testsuite/Makefile.in: Likewise.
7611
7612	* plugin/configfrag.ac (offload_additional_options)
7613	(offload_additional_lib_paths): Don't amend for hsa offloading.
7614	* configure: Regenerate.
7615
7616	* plugin/configfrag.ac: Don't configure for offloading target if
7617	we don't build the corresponding plugin.
7618	* configure: Regenerate.
7619
76202016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
7621
7622	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
7623	* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
7624
76252016-01-26  Tom de Vries  <tom@codesourcery.com>
7626
7627	PR tree-optimization/69110
7628	* testsuite/libgomp.c/pr69110.c: New test.
7629
76302016-01-25  Richard Biener  <rguenther@suse.de>
7631
7632	PR lto/69393
7633	* testsuite/libgomp.c++/pr69393.C: New testcase.
7634
76352016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
7636
7637	* target.c (gomp_get_target_fn_addr): Allow host fallback if target
7638	function wasn't mapped to the device with non-shared memory.
7639
76402016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
7641
7642	* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
7643
76442016-01-19  Martin Jambor  <mjambor@suse.cz>
7645	    Martin Liska  <mliska@suse.cz>
7646
7647	* plugin/Makefrag.am: Add HSA plugin requirements.
7648	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
7649	(HSA_RUNTIME_LIB): Likewise.
7650	(HSA_RUNTIME_CPPFLAGS): Likewise.
7651	(HSA_RUNTIME_INCLUDE): New substitution.
7652	(HSA_RUNTIME_LIB): Likewise.
7653	(HSA_RUNTIME_LDFLAGS): Likewise.
7654	(hsa-runtime): New configure option.
7655	(hsa-runtime-include): Likewise.
7656	(hsa-runtime-lib): Likewise.
7657	(PLUGIN_HSA): New substitution variable.
7658	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
7659	configure options.
7660	(PLUGIN_HSA_CPPFLAGS): Likewise.
7661	(PLUGIN_HSA_LDFLAGS): Likewise.
7662	(PLUGIN_HSA_LIBS): Likewise.
7663	Check that we have access to HSA run-time.
7664	* libgomp-plugin.h (offload_target_type): New element
7665	OFFLOAD_TARGET_TYPE_HSA.
7666	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
7667	args.
7668	(bool gomp_create_target_task): Updated.
7669	(gomp_device_descr): Extra parameter of run_func and async_run_func,
7670	new field can_run_func.
7671	* libgomp_g.h (GOMP_target_ext): Update prototype.
7672	* oacc-host.c (host_run): Added a new parameter args.
7673	* target.c (calculate_firstprivate_requirements): New function.
7674	(copy_firstprivate_data): Likewise.
7675	(gomp_target_fallback_firstprivate): Use them.
7676	(gomp_target_unshare_firstprivate): New function.
7677	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
7678	devices.
7679	(GOMP_target): Do host fallback for all shared memory devices.  Do not
7680	pass any args to plugins.
7681	(GOMP_target_ext): Introduce device-specific argument parameter args.
7682	Allow host fallback if device shares memory.  Do not remap data if
7683	device has shared memory.
7684	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
7685	like host fallback for mappings.
7686	(GOMP_target_data): Treat shared memory devices like host fallback.
7687	(GOMP_target_data_ext): Likewise.
7688	(GOMP_target_update): Likewise.
7689	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
7690	gomp_create_target_task.
7691	(GOMP_target_enter_exit_data): Likewise.
7692	(omp_target_alloc): Treat shared memory devices like host fallback.
7693	(omp_target_free): Likewise.
7694	(omp_target_is_present): Likewise.
7695	(omp_target_memcpy): Likewise.
7696	(omp_target_memcpy_rect): Likewise.
7697	(omp_target_associate_ptr): Likewise.
7698	(gomp_load_plugin_for_device): Also load can_run.
7699	* task.c (GOMP_PLUGIN_target_task_completion): Free
7700	firstprivate_copies.
7701	(gomp_create_target_task): Accept new argument args and store it to
7702	ttask.
7703	* plugin/plugin-hsa.c: New file.
7704
77052016-01-18  Tom de Vries  <tom@codesourcery.com>
7706
7707	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
7708	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
7709	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
7710	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
7711	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
7712	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
7713	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
7714	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
7715	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
7716	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
7717	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7718	Same.
7719	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7720	Same.
7721	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
7722	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
7723	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
7724	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
7725	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
7726	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
7727	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
7728	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7729	Same.
7730	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
7731
77322016-01-15  Jakub Jelinek  <jakub@redhat.com>
7733
7734	* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
7735
77362016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
7737
7738	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
7739
77402016-01-12  James Norris  <jnorris@codesourcery.com>
7741
7742	* libgomp.texi: Updates for OpenACC.
7743
77442016-01-11  Alexander Monakov  <amonakov@ispras.ru>
7745
7746	* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
7747
77482016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
7749
7750	PR fortran/66680
7751	* testsuite/libgomp.fortran/pr66680.f90: New test.
7752
77532016-01-07  Jakub Jelinek  <jakub@redhat.com>
7754
7755	PR middle-end/68960
7756	* testsuite/libgomp.c/pr68960.c: New test.
7757
77582016-01-06  Nathan Sidwell  <nathan@acm.org>
7759
7760	* openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
7761	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
7762
77632016-01-04  Jakub Jelinek  <jakub@redhat.com>
7764
7765	Update copyright years.
7766
7767	* libgomp.texi: Bump @copying's copyright year.
7768
77692015-12-31  Nathan Sidwell  <nathan@acm.org>
7770
7771	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
7772	dg-additional-options syntax.
7773	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7774	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7775	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7776	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7777	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7778	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7779	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7780	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7781	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7782	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7783	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7784	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7785	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7786	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7787	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7788	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7789	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7790	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7791
77922015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
7793
7794	* libgomp.h (REFCOUNT_LINK): Define.
7795	(struct splay_tree_key_s): Add link_key.
7796	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
7797	Replace target address of the pointer with target address of newly
7798	mapped object in the splay tree.  Set link pointer on target to the
7799	device address of the mapped object.
7800	(gomp_unmap_vars): Restore target address of the pointer in the splay
7801	tree for REFCOUNT_LINK objects after unmapping.
7802	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
7803	declare target link" objects.
7804	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
7805	"omp declare target link" objects, which were mapped for the image.
7806	(gomp_exit_data): Restore target address of the pointer in the splay
7807	tree for REFCOUNT_LINK objects after unmapping.
7808	* testsuite/libgomp.c/target-link-1.c: New file.
7809
78102015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
7811
7812	* libgomp.h (gomp_device_state): New enum.
7813	(struct gomp_device_descr): Replace is_initialized with state.
7814	(gomp_fini_device): Remove declaration.
7815	* oacc-host.c (host_dispatch): Use state instead of is_initialized.
7816	* oacc-init.c (acc_init_1): Use state instead of is_initialized.
7817	(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
7818	(acc_set_device_type): Use state instead of is_initialized.
7819	(acc_set_device_num): Likewise.
7820	* target.c (resolve_device): Use state instead of is_initialized.
7821	Do not initialize finalized device.
7822	(gomp_map_vars): Do nothing if device is finalized.
7823	(gomp_unmap_vars): Likewise.
7824	(gomp_update): Likewise.
7825	(GOMP_offload_register_ver): Use state instead of is_initialized.
7826	(GOMP_offload_unregister_ver): Likewise.
7827	(gomp_init_device): Likewise.
7828	(gomp_unload_device): Likewise.
7829	(gomp_fini_device): Remove.
7830	(gomp_get_target_fn_addr): Do nothing if device is finalized.
7831	(GOMP_target): Go to host fallback if device is finalized.
7832	(GOMP_target_ext): Likewise.
7833	(gomp_exit_data): Do nothing if device is finalized.
7834	(gomp_target_task_fn): Go to host fallback if device is finalized.
7835	(gomp_target_fini): New static function.
7836	(gomp_target_init): Use state instead of is_initialized.
7837	Call gomp_target_fini at exit.
7838
78392015-12-09  Tom de Vries  <tom@codesourcery.com>
7840
7841	PR tree-optimization/68716
7842	* testsuite/libgomp.c/omp-nested-2.c: New test.
7843
78442015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
7845
7846	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
7847	target openacc_nvidia_accel_selected.
7848	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
7849	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
7850	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
7851	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
7852
78532015-12-01  Julian Brown  <julian@codesourcery.com>
7854	    James Norris  <James_Norris@mentor.com>
7855
7856	* oacc-parallel.c (GOACC_host_data): New function.
7857	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
7858	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
7859	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
7860	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
7861	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
7862	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
7863	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
7864
78652015-11-30  James Norris  <jnorris@codesourcery.com>
7866	    Cesar Philippidis  <cesar@codesourcery.com>
7867
7868	libgomp/
7869	* libgomp.oacc-fortran/routine-5.f90: New test.
7870	* libgomp.oacc-fortran/routine-7.f90: New test.
7871	* libgomp.oacc-fortran/routine-9.f90: New test.
7872
78732015-11-30  Tom de Vries  <tom@codesourcery.com>
7874
7875	PR tree-optimization/46032
7876	* testsuite/libgomp.c/pr46032.c: New test.
7877
78782015-11-27  Jakub Jelinek  <jakub@redhat.com>
7879
7880	PR libgomp/68579
7881	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
7882	(gomp_create_target_task): Call it before freeing
7883	GOMP_TARGET_TASK_DATA tasks.
7884
7885	PR c/63326
7886	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
7887	in between case label and OpenMP standalone directives.
7888	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
7889
78902015-11-26  David Edelsohn  <dje.gcc@gmail.com>
7891
7892	* configure: Regenerate.
7893
78942015-11-26  Jakub Jelinek  <jakub@redhat.com>
7895
7896	* testsuite/libgomp.c/target-35.c: New test.
7897
78982015-11-22  James Norris  <jnorris@codesourcery.com>
7899	    Cesar Philippidis  <cesar@codesourcery.com>
7900
7901	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
7902	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7903	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7904	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7905	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7906
79072015-11-20  Jakub Jelinek  <jakub@redhat.com>
7908
7909	PR middle-end/68221
7910	* testsuite/libgomp.c/reduction-11.c: Remove xfail.
7911	* testsuite/libgomp.c/reduction-12.c: Likewise.
7912	* testsuite/libgomp.c++/reduction-11.C: Likewise.
7913	* testsuite/libgomp.c++/reduction-12.C: Likewise.
7914
79152015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
7916
7917	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7918	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
7919	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7920	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7921	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7922	and fix.
7923	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7924	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7925
79262015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
7927
7928	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7929	worker & gang cases.
7930	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7931
79322015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
7933
7934	* config/nvptx/priority_queue.c: New file.
7935
79362015-11-14  Jakub Jelinek  <jakub@redhat.com>
7937
7938	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7939	sections.
7940
79412015-11-14  Jakub Jelinek  <jakub@redhat.com>
7942	    Aldy Hernandez  <aldyh@redhat.com>
7943	    Ilya Verbin  <ilya.verbin@intel.com>
7944
7945	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
7946	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7947	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7948	iterators or IV by chunk size.
7949	* parallel.c (gomp_resolve_num_threads): Don't assume that
7950	if thr->ts.team is non-NULL, then pool must be non-NULL.
7951	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7952	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7953	GOMP_PLUGIN_target_task_completion.
7954	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7955	* Makefile.in: Regenerate.
7956	* libgomp.h: Shuffle prototypes and forward definitions around so
7957	priority queues can be defined.
7958	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7959	(enum gomp_target_task_state): New enum.
7960	(struct gomp_target_task): Add state, tgt, task and team fields.
7961	(gomp_create_target_task): Change return type to bool, add
7962	state argument.
7963	(gomp_target_task_fn): Change return type to bool.
7964	(struct gomp_device_descr): Add async_run_func.
7965	(struct gomp_task): Remove children, next_child, prev_child,
7966	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7967	Add pnode field.
7968	(struct gomp_taskgroup): Remove children.
7969	Add taskgroup_queue.
7970	(struct gomp_team): Change task_queue type to a priority queue.
7971	(splay_compare): Define inline.
7972	(priority_queue_offset): New.
7973	(priority_node_to_task): New.
7974	(task_to_priority_node): New.
7975	* oacc-mem.c: Do not include splay-tree.h.
7976	* priority_queue.c: New file.
7977	* priority_queue.h: New file.
7978	* splay-tree.c: Do not include splay-tree.h.
7979	(splay_tree_foreach_internal): New.
7980	(splay_tree_foreach): New.
7981	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7982	(splay_tree_callback): Define typedef.
7983	* target.c (splay_compare): Move to libgomp.h.
7984	(GOMP_target): Don't adjust *thr in any way around running offloaded
7985	task.
7986	(GOMP_target_ext): Likewise.  Handle target nowait.
7987	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7988	return value from gomp_create_target_task, if false, fallthrough
7989	as if no dependencies exist.
7990	(gomp_target_task_fn): Change return type to bool, return true
7991	if the task should have another part scheduled later.  Handle
7992	target nowait.
7993	(gomp_load_plugin_for_device): Initialize async_run.
7994	* task.c (gomp_init_task): Initialize children_queue.
7995	(gomp_clear_parent_in_list): New.
7996	(gomp_clear_parent_in_tree): New.
7997	(gomp_clear_parent): Handle priorities.
7998	(GOMP_task): Likewise.
7999	(priority_queue_move_task_first,
8000	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
8001	New functions.
8002	(gomp_create_target_task): Use priority queues.  Change return type
8003	to bool, add state argument, return false if for async
8004	{{enter,exit} data,update} constructs no dependencies need to be
8005	waited for, handle target nowait.  Set task->fn to NULL instead of
8006	gomp_target_task_fn.
8007	(verify_children_queue): Remove.
8008	(priority_list_upgrade_task): New.
8009	(priority_queue_upgrade_task): New.
8010	(verify_task_queue): Remove.
8011	(priority_list_downgrade_task): New.
8012	(priority_queue_downgrade_task): New.
8013	(gomp_task_run_pre): Use priority queues.
8014	Abstract code out to priority_queue_downgrade_task.
8015	(gomp_task_run_post_handle_dependers): Use priority queues.
8016	(gomp_task_run_post_remove_parent): Likewise.
8017	(gomp_task_run_post_remove_taskgroup): Likewise.
8018	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
8019	tasks specially.
8020	(GOMP_taskwait): Likewise.
8021	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
8022	priority-queue_upgrade_task.
8023	(GOMP_taskgroup_start): Use priority queues.
8024	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
8025	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
8026	barrier.
8027	* taskloop.c (GOMP_taskloop): Handle priorities.
8028	* team.c (gomp_new_team): Call priority_queue_init.
8029	(free_team): Call priority_queue_free.
8030	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
8031	team created for target nowait in implicit parallel region.
8032	(gomp_team_start): For nested check, test thr->ts.level instead of
8033	thr->ts.team != NULL.
8034	* testsuite/libgomp.c/doacross-3.c: New test.
8035	* testsuite/libgomp.c/ordered-5.c: New test.
8036	* testsuite/libgomp.c/priority.c: New test.
8037	* testsuite/libgomp.c/target-31.c: New test.
8038	* testsuite/libgomp.c/target-32.c: New test.
8039	* testsuite/libgomp.c/target-33.c: New test.
8040	* testsuite/libgomp.c/target-34.c: New test.
8041
80422015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
8043
8044	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
8045
8046	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
8047	loop is sequential.
8048
80492015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
8050
8051	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
8052	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
8053
80542015-11-12  James Norris  <jnorris@codesourcery.com>
8055	    Joseph Myers  <joseph@codesourcery.com>
8056
8057	* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
8058	* oacc-parallel.c (GOACC_declare): New function.
8059	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
8060	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
8061	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
8062	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
8063	* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
8064
80652015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
8066
8067	* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
8068
80692015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
8070
8071	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
8072	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
8073
80742015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
8075
8076	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
8077	inadvertent commit.
8078
80792015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
8080
8081	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
8082	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
8083	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
8084	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
8085	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
8086
80872015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
8088
8089	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
8090	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8091
80922015-11-05  Jakub Jelinek  <jakub@redhat.com>
8093	    Ilya Verbin  <ilya.verbin@intel.com>
8094
8095	* libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
8096	GOMP_loop_nonmonotonic_dynamic_start,
8097	GOMP_loop_nonmonotonic_guided_next,
8098	GOMP_loop_nonmonotonic_guided_start,
8099	GOMP_loop_ull_nonmonotonic_dynamic_next,
8100	GOMP_loop_ull_nonmonotonic_dynamic_start,
8101	GOMP_loop_ull_nonmonotonic_guided_next,
8102	GOMP_loop_ull_nonmonotonic_guided_start,
8103	GOMP_parallel_loop_nonmonotonic_dynamic,
8104	GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
8105	(GOMP_target_41): Renamed to ...
8106	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
8107	arguments.
8108	(GOMP_target_data_41): Renamed to ...
8109	(GOMP_target_data_ext): ... this.
8110	(GOMP_target_update_41): Renamed to ...
8111	(GOMP_target_update_ext): ... this.
8112	* libgomp.map (GOMP_4.5): Export GOMP_target_ext,
8113	GOMP_target_data_ext and GOMP_target_update_ext instead of
8114	GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
8115	Export GOMP_loop_nonmonotonic_dynamic_next,
8116	GOMP_loop_nonmonotonic_dynamic_start,
8117	GOMP_loop_nonmonotonic_guided_next,
8118	GOMP_loop_nonmonotonic_guided_start,
8119	GOMP_loop_ull_nonmonotonic_dynamic_next,
8120	GOMP_loop_ull_nonmonotonic_dynamic_start,
8121	GOMP_loop_ull_nonmonotonic_guided_next,
8122	GOMP_loop_ull_nonmonotonic_guided_start,
8123	GOMP_parallel_loop_nonmonotonic_dynamic and
8124	GOMP_parallel_loop_nonmonotonic_guided.
8125	* loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
8126	GOMP_parallel_loop_nonmonotonic_guided,
8127	GOMP_loop_nonmonotonic_dynamic_start,
8128	GOMP_loop_nonmonotonic_guided_start,
8129	GOMP_loop_nonmonotonic_dynamic_next,
8130	GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
8131	* loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
8132	GOMP_loop_ull_nonmonotonic_guided_start,
8133	GOMP_loop_ull_nonmonotonic_dynamic_next,
8134	GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
8135	* target.c (gomp_map_0len_lookup, gomp_map_val): New inline
8136	functions.
8137	(gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
8138	GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
8139	Use gomp_map_val function.
8140	(gomp_target_fallback_firstprivate): New static function.
8141	(GOMP_target_41): Renamed to ...
8142	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
8143	arguments.  Move firstprivate fallback handling into a new
8144	function.
8145	(GOMP_target_data_41): Renamed to ...
8146	(GOMP_target_data_ext): ... this.
8147	(GOMP_target_update_41): Renamed to ...
8148	(GOMP_target_update_ext): ... this.
8149	(gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
8150	gomp_map_0len_lookup instead of gomp_map_lookup.
8151	(omp_target_is_present): Use gomp_map_0len_lookup instead of
8152	gomp_map_lookup.
8153	* testsuite/libgomp.c/target-28.c: Likewise.
8154	* testsuite/libgomp.c/monotonic-1.c: New test.
8155	* testsuite/libgomp.c/monotonic-2.c: New test.
8156	* testsuite/libgomp.c/nonmonotonic-1.c: New test.
8157	* testsuite/libgomp.c/nonmonotonic-2.c: New test.
8158	* testsuite/libgomp.c/pr66199-5.c: New test.
8159	* testsuite/libgomp.c/pr66199-6.c: New test.
8160	* testsuite/libgomp.c/pr66199-7.c: New test.
8161	* testsuite/libgomp.c/pr66199-8.c: New test.
8162	* testsuite/libgomp.c/pr66199-9.c: New test.
8163	* testsuite/libgomp.c/reduction-11.c: New test.
8164	* testsuite/libgomp.c/reduction-12.c: New test.
8165	* testsuite/libgomp.c/reduction-13.c: New test.
8166	* testsuite/libgomp.c/reduction-14.c: New test.
8167	* testsuite/libgomp.c/reduction-15.c: New test.
8168	* testsuite/libgomp.c/target-12.c (main): Adjust for
8169	omp_target_is_present change for one-past-last element.
8170	* testsuite/libgomp.c/target-17.c (foo): Drop tests where
8171	the same var is both mapped and privatized.
8172	* testsuite/libgomp.c/target-19.c (foo): Adjust for different
8173	handling of zero-length array sections.
8174	* testsuite/libgomp.c/target-28.c: New test.
8175	* testsuite/libgomp.c/target-29.c: New test.
8176	* testsuite/libgomp.c/target-30.c: New test.
8177	* testsuite/libgomp.c/target-teams-1.c: New test.
8178	* testsuite/libgomp.c++/member-6.C: New test.
8179	* testsuite/libgomp.c++/member-7.C: New test.
8180	* testsuite/libgomp.c++/monotonic-1.C: New test.
8181	* testsuite/libgomp.c++/monotonic-2.C: New test.
8182	* testsuite/libgomp.c++/nonmonotonic-1.C: New test.
8183	* testsuite/libgomp.c++/nonmonotonic-2.C: New test.
8184	* testsuite/libgomp.c++/pr66199-3.C: New test.
8185	* testsuite/libgomp.c++/pr66199-4.C: New test.
8186	* testsuite/libgomp.c++/pr66199-5.C: New test.
8187	* testsuite/libgomp.c++/pr66199-6.C: New test.
8188	* testsuite/libgomp.c++/pr66199-7.C: New test.
8189	* testsuite/libgomp.c++/pr66199-8.C: New test.
8190	* testsuite/libgomp.c++/pr66199-9.C: New test.
8191	* testsuite/libgomp.c++/reduction-11.C: New test.
8192	* testsuite/libgomp.c++/reduction-12.C: New test.
8193	* testsuite/libgomp.c++/target-13.C: New test.
8194	* testsuite/libgomp.c++/target-14.C: New test.
8195	* testsuite/libgomp.c++/target-15.C: New test.
8196	* testsuite/libgomp.c++/target-16.C: New test.
8197	* testsuite/libgomp.c++/target-17.C: New test.
8198	* testsuite/libgomp.c++/target-18.C: New test.
8199	* testsuite/libgomp.c++/target-19.C: New test.
8200
82012015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
8202
8203	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
8204	and reduction copy.
8205	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8206	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8207	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8208	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8209	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
8210	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8211	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8212	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8213	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8214	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
8215	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8216	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8217	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8218	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
8219
82202015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
8221
8222	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
8223	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
8224	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
8225	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
8226	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
8227	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
8228	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
8229	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
8230
82312015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
8232
8233	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
8234	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
8235	(GOMP_OFFLOAD_openacc_parallel): Likewise.
8236	* oacc-host.c (host_openacc_exec): Likewise.
8237	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
8238
82392015-11-03  Julian Brown  <julian@codesourcery.com>
8240	    Thomas Schwinge  <thomas@codesourcery.com>
8241
8242	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
8243	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8244	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
8245	Likewise.
8246	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
8247	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
8248
82492015-11-03  James Norris  <jnorris@codesourcery.com>
8250
8251	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
8252	file.
8253	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
8254	Likewise.
8255	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
8256	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
8257	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8258	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
8259	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8260
82612015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
8262
8263	* openacc.h (enum acc_device_t): Reformat. Ensure layout
8264	compatibility.
8265	(enum acc_async_t): Reformat.
8266	(acc_on_device): Declare compatible with builtin and provide C++
8267	wrapper.
8268	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
8269
82702015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
8271	    Cesar Philippidis  <cesar@codesourcery.com>
8272
8273	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
8274	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
8275	... this.  Add a description of the test at the top of the file.
8276	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
8277	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
8278	... this.  Add a description of the test at the top of the file.
8279
82802015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
8281
8282	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
8283	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
8284	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
8285	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
8286	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
8287	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
8288
82892015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
8290
8291	* plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
8292	dimensions.
8293
82942015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
8295
8296	PR testsuite/68063
8297	* testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
8298
82992015-10-27  James Norris  <jnorris@codesourcery.com>
8300
8301	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
8302	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
8303
83042015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
8305
8306	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
8307	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8308
8309	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
8310	acc_device_nvidia usage.
8311	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8312	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8313	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8314
8315	* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
8316	* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
8317
8318	PR libgomp/66518
8319	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
8320
8321	PR libgomp/65437
8322	PR libgomp/66518
8323	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
8324	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
8325
83262015-10-23  Tom de Vries  <tom@codesourcery.com>
8327
8328	PR testsuite/68063
8329	* testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
8330
83312015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
8332
8333	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
8334	vector_length.
8335	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8336
83372015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
8338	    Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
8339
8340	* target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
8341	to 0 when mapnum is 0.
8342
83432015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8344
8345	* fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
8346	Cast to int from int32_t.
8347
83482015-10-13  Jakub Jelinek  <jakub@redhat.com>
8349	    Aldy Hernandez  <aldyh@redhat.com>
8350	    Ilya Verbin  <ilya.verbin@intel.com>
8351
8352	* config/linux/affinity.c (omp_get_place_num_procs,
8353	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
8354	* config/linux/doacross.h: New file.
8355	* config/posix/affinity.c (omp_get_place_num_procs,
8356	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
8357	* config/posix/doacross.h: New file.
8358	* env.c: Include gomp-constants.h.
8359	(struct gomp_task_icv): Rename run_sched_modifier to
8360	run_sched_chunk_size.
8361	(gomp_max_task_priority_var): New variable.
8362	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
8363	(handle_omp_display_env): Change _OPENMP value from 201307 to
8364	201511.  Print OMP_MAX_TASK_PRIORITY.
8365	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
8366	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
8367	chunk_size and run_sched_modifier to run_sched_chunk_size.
8368	(omp_get_max_task_priority, omp_get_initial_device,
8369	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
8370	omp_get_partition_place_nums): New functions.
8371	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
8372	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
8373	to chunk_size.
8374	(omp_get_num_places_, omp_get_place_num_procs_,
8375	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
8376	omp_get_place_proc_ids_8_, omp_get_place_num_,
8377	omp_get_partition_num_places_, omp_get_partition_place_nums_,
8378	omp_get_partition_place_nums_8_, omp_get_initial_device_,
8379	omp_get_max_task_priority_): New functions.
8380	* libgomp_g.h (GOMP_loop_doacross_static_start,
8381	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
8382	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
8383	GOMP_loop_ull_doacross_dynamic_start,
8384	GOMP_loop_ull_doacross_guided_start,
8385	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
8386	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
8387	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
8388	GOMP_target_data_41, GOMP_target_update_41,
8389	GOMP_target_enter_exit_data): New prototypes.
8390	(GOMP_task): Add prototype argument.
8391	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
8392	(struct gomp_doacross_work_share): New type.
8393	(struct gomp_work_share): Add doacross field.
8394	(struct gomp_task_icv): Rename run_sched_modifier to
8395	run_sched_chunk_size.
8396	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
8397	GOMP_TASK_UNDEFERRED.  Add comments.
8398	(struct gomp_task_depend_entry): Add comments.
8399	(struct gomp_task): Likewise.
8400	(struct gomp_taskgroup): Likewise.
8401	(struct gomp_target_task): New type.
8402	(struct gomp_team): Add comment.
8403	(gomp_get_place_proc_ids_8, gomp_doacross_init,
8404	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
8405	gomp_create_target_task, gomp_target_task_fn): New prototypes.
8406	(struct target_var_desc): New type.
8407	(struct target_mem_desc): Adjust comment.  Use struct
8408	target_var_desc instead of splay_tree_key for list.
8409	(REFCOUNT_INFINITY): Define.
8410	(struct splay_tree_key_s): Remove copy_from field.
8411	(struct gomp_device_descr): Add dev2dev_func field.
8412	(enum gomp_map_vars_kind): New enum.
8413	(gomp_map_vars): Add one argument.
8414	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
8415	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
8416	omp_get_place_num_procs, omp_get_place_num_procs_,
8417	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
8418	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
8419	omp_get_place_num_, omp_get_partition_num_places,
8420	omp_get_partition_num_places_, omp_get_partition_place_nums,
8421	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
8422	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
8423	omp_target_free, omp_target_is_present, omp_target_memcpy,
8424	omp_target_memcpy_rect, omp_target_associate_ptr and
8425	omp_target_disassociate_ptr.
8426	(GOMP_4.0.2): Renamed to ...
8427	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
8428	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
8429	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
8430	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
8431	GOMP_loop_doacross_static_start, GOMP_doacross_post,
8432	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
8433	GOMP_loop_ull_doacross_guided_start,
8434	GOMP_loop_ull_doacross_runtime_start,
8435	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
8436	GOMP_doacross_ull_wait.
8437	* libgomp.texi: Document omp_get_max_task_priority.
8438	Rename modifier argument to chunk_size for omp_set_schedule and
8439	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
8440	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
8441	to run_sched_chunk_size renaming.
8442	(GOMP_loop_ordered_runtime_start): Likewise.
8443	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
8444	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
8445	GOMP_parallel_loop_runtime_start): New functions.
8446	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
8447	to run_sched_chunk_size renaming.
8448	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
8449	GOMP_loop_doacross_guided_start): New functions or aliases.
8450	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
8451	run_sched_modifier to run_sched_chunk_size renaming.
8452	(GOMP_loop_ull_ordered_runtime_start): Likewise.
8453	(gomp_loop_ull_doacross_static_start,
8454	gomp_loop_ull_doacross_dynamic_start,
8455	gomp_loop_ull_doacross_guided_start,
8456	GOMP_loop_ull_doacross_runtime_start): New functions.
8457	(GOMP_loop_ull_doacross_static_start,
8458	GOMP_loop_ull_doacross_dynamic_start,
8459	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
8460	* oacc-mem.c (acc_map_data, present_create_copy,
8461	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
8462	to gomp_map_vars.
8463	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
8464	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
8465	instead of false to gomp_map_vars.
8466	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
8467	* omp.h.in (omp_lock_hint_t): New type.
8468	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8469	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8470	omp_get_place_num, omp_get_partition_num_places,
8471	omp_get_partition_place_nums, omp_get_initial_device,
8472	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
8473	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
8474	omp_target_associate_ptr, omp_target_disassociate_ptr): New
8475	prototypes.
8476	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
8477	(omp_lock_hint_none, omp_lock_hint_uncontended,
8478	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8479	omp_lock_hint_speculative): New parameters.
8480	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8481	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8482	omp_get_place_num, omp_get_partition_num_places,
8483	omp_get_partition_place_nums, omp_get_initial_device,
8484	omp_get_max_task_priority): New interfaces.
8485	(omp_set_schedule, omp_get_schedule): Rename modifier argument
8486	to chunk_size.
8487	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
8488	(omp_lock_hint_none, omp_lock_hint_uncontended,
8489	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8490	omp_lock_hint_speculative): New parameters.
8491	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8492	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8493	omp_get_place_num, omp_get_partition_num_places,
8494	omp_get_partition_place_nums, omp_get_initial_device,
8495	omp_get_max_task_priority): New functions and subroutines.
8496	* ordered.c: Include stdarg.h and string.h.
8497	(MAX_COLLAPSED_BITS): Define.
8498	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
8499	gomp_doacross_ull_init, GOMP_doacross_ull_post,
8500	GOMP_doacross_ull_wait): New functions.
8501	* target.c: Include errno.h.
8502	(resolve_device): If device is not initialized, call
8503	gomp_init_device on it.
8504	(gomp_map_lookup): New function.
8505	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
8506	Don't bump refcount if REFCOUNT_INFINITY.  Handle
8507	GOMP_MAP_ALWAYS_TO_P.
8508	(get_kind): Rename is_openacc argument to short_mapkind.
8509	(gomp_map_pointer): Use gomp_map_lookup.
8510	(gomp_map_fields_existing): New function.
8511	(gomp_map_vars): Rename is_openacc argument to short_mapkind
8512	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
8513	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
8514	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
8515	Adjust for tgt->list changed type and copy_from living in there.
8516	(gomp_copy_from_async): Adjust for tgt->list changed type and
8517	copy_from living in there.
8518	(gomp_unmap_vars): Likewise.
8519	(gomp_update): Likewise.  Rename is_openacc argument to
8520	short_mapkind.  Don't fail if object is not mapped.
8521	(gomp_load_image_to_device): Initialize refcount to
8522	REFCOUNT_INFINITY.
8523	(gomp_target_fallback): New function.
8524	(gomp_get_target_fn_addr): Likewise.
8525	(GOMP_target): Adjust gomp_map_vars caller, use
8526	gomp_get_target_fn_addr and gomp_target_fallback.
8527	(GOMP_target_41): New function.
8528	(gomp_target_data_fallback): New function.
8529	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
8530	(GOMP_target_data_41): New function.
8531	(GOMP_target_update): Adjust gomp_update caller.
8532	(GOMP_target_update_41): New function.
8533	(gomp_exit_data, GOMP_target_enter_exit_data,
8534	gomp_target_task_fn, omp_target_alloc, omp_target_free,
8535	omp_target_is_present, omp_target_memcpy,
8536	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
8537	omp_target_associate_ptr, omp_target_disassociate_ptr,
8538	gomp_load_plugin_for_device): New functions.
8539	* task.c: Include gomp-constants.h.  Include taskloop.c
8540	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
8541	(gomp_task_handle_depend): New function.
8542	(GOMP_task): Use it.  Add priority argument.  Use
8543	gomp-constant.h constants instead of hardcoded numbers.
8544	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
8545	(gomp_create_target_task): New function.
8546	(verify_children_queue, verify_taskgroup_queue,
8547	verify_task_queue): New functions.
8548	(gomp_task_run_pre): Call verify_*_queue functions.
8549	If an upcoming tied task is about to leave the sibling or
8550	taskgroup queues in an invalid state, adjust appropriately.
8551	Remove taskgroup argument.  Add comments.
8552	(gomp_task_run_post_handle_dependers): Add comments.
8553	(gomp_task_run_post_remove_parent): Likewise.
8554	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
8555	(GOMP_taskwait): Likewise.  Add comments.
8556	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
8557	problem such that the first non parent_depends_on task does not
8558	end up at the end of the children queue.
8559	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
8560	GOMP_TASK_UNDEFERRED.
8561	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
8562	* taskloop.c: New file.
8563	* testsuite/lib/libgomp.exp
8564	(check_effective_target_offload_device_nonshared_as): New proc.
8565	* testsuite/libgomp.c/affinity-2.c: New test.
8566	* testsuite/libgomp.c/doacross-1.c: New test.
8567	* testsuite/libgomp.c/doacross-2.c: New test.
8568	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
8569	Add map clause to target.
8570	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
8571	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
8572	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
8573	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
8574	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
8575	Likewise.
8576	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
8577	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
8578	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
8579	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
8580	not defined.  Use those where needed.
8581	* testsuite/libgomp.c/for-4.c: New test.
8582	* testsuite/libgomp.c/for-5.c: New test.
8583	* testsuite/libgomp.c/for-6.c: New test.
8584	* testsuite/libgomp.c/linear-1.c: New test.
8585	* testsuite/libgomp.c/ordered-4.c: New test.
8586	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
8587	only allowed on the loop iterator.
8588	* testsuite/libgomp.c/pr66199-3.c: New test.
8589	* testsuite/libgomp.c/pr66199-4.c: New test.
8590	* testsuite/libgomp.c/reduction-7.c: New test.
8591	* testsuite/libgomp.c/reduction-8.c: New test.
8592	* testsuite/libgomp.c/reduction-9.c: New test.
8593	* testsuite/libgomp.c/reduction-10.c: New test.
8594	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
8595	map(tofrom:s).
8596	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
8597	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
8598	* testsuite/libgomp.c/target-11.c: New test.
8599	* testsuite/libgomp.c/target-12.c: New test.
8600	* testsuite/libgomp.c/target-13.c: New test.
8601	* testsuite/libgomp.c/target-14.c: New test.
8602	* testsuite/libgomp.c/target-15.c: New test.
8603	* testsuite/libgomp.c/target-16.c: New test.
8604	* testsuite/libgomp.c/target-17.c: New test.
8605	* testsuite/libgomp.c/target-18.c: New test.
8606	* testsuite/libgomp.c/target-19.c: New test.
8607	* testsuite/libgomp.c/target-20.c: New test.
8608	* testsuite/libgomp.c/target-21.c: New test.
8609	* testsuite/libgomp.c/target-22.c: New test.
8610	* testsuite/libgomp.c/target-23.c: New test.
8611	* testsuite/libgomp.c/target-24.c: New test.
8612	* testsuite/libgomp.c/target-25.c: New test.
8613	* testsuite/libgomp.c/target-26.c: New test.
8614	* testsuite/libgomp.c/target-27.c: New test.
8615	* testsuite/libgomp.c/taskloop-1.c: New test.
8616	* testsuite/libgomp.c/taskloop-2.c: New test.
8617	* testsuite/libgomp.c/taskloop-3.c: New test.
8618	* testsuite/libgomp.c/taskloop-4.c: New test.
8619	* testsuite/libgomp.c++/ctor-13.C: New test.
8620	* testsuite/libgomp.c++/doacross-1.C: New test.
8621	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
8622	Replace offload_device with offload_device_nonshared_as.
8623	* testsuite/libgomp.c++/for-12.C: New test.
8624	* testsuite/libgomp.c++/for-13.C: New test.
8625	* testsuite/libgomp.c++/for-14.C: New test.
8626	* testsuite/libgomp.c++/linear-1.C: New test.
8627	* testsuite/libgomp.c++/member-1.C: New test.
8628	* testsuite/libgomp.c++/member-2.C: New test.
8629	* testsuite/libgomp.c++/member-3.C: New test.
8630	* testsuite/libgomp.c++/member-4.C: New test.
8631	* testsuite/libgomp.c++/member-5.C: New test.
8632	* testsuite/libgomp.c++/ordered-1.C: New test.
8633	* testsuite/libgomp.c++/reduction-5.C: New test.
8634	* testsuite/libgomp.c++/reduction-6.C: New test.
8635	* testsuite/libgomp.c++/reduction-7.C: New test.
8636	* testsuite/libgomp.c++/reduction-8.C: New test.
8637	* testsuite/libgomp.c++/reduction-9.C: New test.
8638	* testsuite/libgomp.c++/reduction-10.C: New test.
8639	* testsuite/libgomp.c++/reference-1.C: New test.
8640	* testsuite/libgomp.c++/simd14.C: New test.
8641	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
8642	* testsuite/libgomp.c++/target-5.C: New test.
8643	* testsuite/libgomp.c++/target-6.C: New test.
8644	* testsuite/libgomp.c++/target-7.C: New test.
8645	* testsuite/libgomp.c++/target-8.C: New test.
8646	* testsuite/libgomp.c++/target-9.C: New test.
8647	* testsuite/libgomp.c++/target-10.C: New test.
8648	* testsuite/libgomp.c++/target-11.C: New test.
8649	* testsuite/libgomp.c++/target-12.C: New test.
8650	* testsuite/libgomp.c++/taskloop-1.C: New test.
8651	* testsuite/libgomp.c++/taskloop-2.C: New test.
8652	* testsuite/libgomp.c++/taskloop-3.C: New test.
8653	* testsuite/libgomp.c++/taskloop-4.C: New test.
8654	* testsuite/libgomp.c++/taskloop-5.C: New test.
8655	* testsuite/libgomp.c++/taskloop-6.C: New test.
8656	* testsuite/libgomp.c++/taskloop-7.C: New test.
8657	* testsuite/libgomp.c++/taskloop-8.C: New test.
8658	* testsuite/libgomp.c++/taskloop-9.C: New test.
8659	* testsuite/libgomp.fortran/affinity1.f90: New test.
8660	* testsuite/libgomp.fortran/affinity2.f90: New test.
8661
86622015-10-13  Tom de Vries  <tom@codesourcery.com>
8663
8664	PR tree-optimization/67476
8665	* testsuite/libgomp.c/autopar-3.c: New test.
8666	* testsuite/libgomp.c/autopar-4.c: New test.
8667	* testsuite/libgomp.c/autopar-5.c: New test.
8668	* testsuite/libgomp.c/autopar-6.c: New test.
8669	* testsuite/libgomp.c/autopar-7.c: New test.
8670	* testsuite/libgomp.c/autopar-8.c: New test.
8671
86722015-10-12  James Norris  <jnorris@codesourcery.com>
8673
8674	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
8675	initializer.
8676
86772015-10-09  David Malcolm  <dmalcolm@redhat.com>
8678
8679	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
8680	using load_gcc_lib.
8681
86822015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
8683
8684	* oacc-ptx.h: Remove file, moving its content into...
8685	* config/nvptx/fortran.c: ... here...
8686	* config/nvptx/oacc-init.c: ..., here...
8687	* config/nvptx/oacc-parallel.c: ..., and here.
8688	* config/nvptx/openacc.f90: New file.
8689	* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
8690	(link_ptx): Don't link in predefined bits of PTX code.
8691
86922015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
8693	    Bernd Schmidt <bernds@codesourcery.com>
8694
8695	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
8696	(struct targ_ptx_obj): New.
8697	(nvptx_tdata): Move earlier, change data format.
8698	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
8699	objects.
8700	(GOMP_OFFLOAD_load_image): Adjust.
8701
87022015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
8703
8704	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
8705	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8706	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8707	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8708	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8709	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8710	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8711	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8712	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8713	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8714	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8715	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8716	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8717	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8718	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8719	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8720	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8721	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8722	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8723	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8724	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8725	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8726	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8727	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8728	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8729	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8730	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8731	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8732	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8733	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8734	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8735	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8736	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8737	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8738	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8739	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8740	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8741	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8742	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8743	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8744	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8745	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8746	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8747	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8748	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8749	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8750	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8751	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8752	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8753	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8754	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8755	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8756	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8757	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8758	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8759	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8760	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8761	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8762	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8763	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8764	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8765	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8766	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8767
87682015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
8769
8770	* oacc-init.c (acc_on_device): Force optimization level.
8771
87722015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
8773
8774	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
8775	(cuda_errlist): Delete.
8776	(cuda_error): Reimplement.
8777
87782015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
8779
8780	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
8781	array.
8782	* libgomp.map (GOACC_parallel_keyed): New.
8783	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
8784	all callers.
8785	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
8786	and take keyed varargs list.  Adjust call to exec_func.
8787	(GOACC_parallel): Force host fallback.
8788	* libgomp_g.h (GOACC_parallel): Remove.
8789	(GOACC_parallel_keyed): Declare.
8790	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
8791	(struct targ_gn_descriptor): Replace name field with launch field.
8792	(nvptx_exec): Lose separate geometry args, take array.  Process
8793	dynamic dimensions and adjust.
8794	(struct nvptx_tdata): Replace fn_names field with fn_descs.
8795	(GOMP_OFFLOAD_load_image): Adjust for change in function table
8796	data.
8797	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
8798	passing.
8799	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
8800	passing.
8801
88022015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
8803
8804	PR libgomp/67141
8805	* oacc-int.h (goacc_host_init): Add declaration.
8806	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
8807	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
8808
88092015-09-08  Aditya Kumar  <hiraditya@msn.com>
8810	    Sebastian Pop  <s.pop@samsung.com>
8811
8812	* testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
8813	match o/p.
8814	* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
8815	* testsuite/libgomp.graphite/force-parallel-4.c: Same.
8816	* testsuite/libgomp.graphite/force-parallel-5.c: Same.
8817	* testsuite/libgomp.graphite/force-parallel-7.c: Same.
8818	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
8819
88202015-09-03  Jakub Jelinek  <jakub@redhat.com>
8821
8822	* configure.tgt: Add missing ;; in between nvptx and rtems
8823	snippets.
8824
88252015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8826
8827	* config/posix/pool.h (gomp_adjust_thread_attr): New.
8828	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
8829	(gomp_thread_pool_reservoir): Add priority member.
8830	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
8831	priority.
8832	(parse_thread_pools): Likewise.
8833	* team.c (gomp_team_start): Call configuration provided
8834	gomp_adjust_thread_attr(). Destroy thread attributes if
8835	necessary.
8836	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
8837
88382015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8839
8840	* config/posix/pool.h: New.
8841	* config/rtems/pool.h: Likewise.
8842	* config/rtems/proc.c: Likewise.
8843	* libgomp.h (gomp_thread_destructor): Declare.
8844	* team.c: Include configuration provided "pool.h".
8845	(gomp_get_thread_pool): Define in configuration.
8846	(gomp_team_end): Call configuration defined
8847	gomp_release_thread_pool().
8848
88492015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8850
8851	* config/rtems/bar.c: New.
8852	* config/rtems/bar.h: Likewise.
8853	* config/rtems/mutex.c: Likewise.
8854	* config/rtems/mutex.h: Likewise.
8855	* config/rtems/sem.c: Likewise.
8856	* config/rtems/sem.h: Likewise.
8857	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
8858	<sys/lock.h> header file.
8859	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
8860	supported by Newlib.
8861	* configure: Regenerate.
8862
88632015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8864
8865	* team.c (gomp_new_thread_pool): Delete and move content to ...
8866	(gomp_get_thread_pool): ... new function.  Allocate and
8867	initialize thread pool on demand.
8868	(get_last_team): Use gomp_get_thread_pool().
8869	(gomp_team_start): Delete thread pool initialization.
8870
88712015-09-03  Tom de Vries  <tom@codesourcery.com>
8872
8873	PR tree-optimization/65637
8874	* testsuite/libgomp.c/autopar-2.c: New test.
8875
88762015-08-29  Tom de Vries  <tom@codesourcery.com>
8877
8878	PR tree-optimization/46193
8879	* testsuite/libgomp.c/pr46193.c: New test.
8880
88812015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
8882
8883	libgomp/
8884	* libgomp.map: Add 4.0.2 version.
8885	* target.c (offload_image_descr): Add version field.
8886	(gomp_load_image_to_device): Add version argument.  Adjust plugin
8887	call.  Improve load mismatch diagnostic.
8888	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
8889	call.
8890	(GOMP_offload_regster): Make stub function, move bulk to ...
8891	(GOMP_offload_register_ver): ... here.  Process version argument.
8892	(GOMP_offload_unregister): Make stub function, move bulk to ...
8893	(GOMP_offload_unregister_ver): ... here.  Process version argument.
8894	(gomp_init_device): Process version field.
8895	(gomp_unload_device): Process version field.
8896	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
8897	macros.  Check plugin version.
8898	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
8899	loader and unloader types.
8900	* oacc-host.c: Include gomp-constants.h.
8901	(host_version): New.
8902	(host_load_image, host_unload_image): Adjust.
8903	(host_dispatch): Add host_version.
8904	* plugin/plugin-nvptx.c: Include gomp-constants.h.
8905	(GOMP_OFFLOAD_version): New.
8906	(GOMP_OFFLOAD_load_image): Add version arg and check it.
8907	(GOMP_OFFLOAD_unload_image): Likewise.
8908	* plugin/plugin-host.c: Include gomp-constants.h.
8909	(GOMP_OFFLOAD_version): New.
8910	(GOMP_OFFLOAD_load_image): Add version arg.
8911	(GOMP_OFFLOAD_unload_image): Likewise.
8912
89132015-08-24  Tom de Vries  <tom@codesourcery.com>
8914
8915	PR tree-optimization/65468
8916	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8917
89182015-08-24  Tom de Vries  <tom@codesourcery.com>
8919
8920	PR tree-optimization/65468
8921	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
8922
89232015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
8924
8925	PR libgomp/66761
8926	PR libgomp/67303
8927	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8928	(gomp_iter_guided_next): Idem.
8929	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8930	(gomp_iter_ull_guided_next): Idem.
8931	* config/linux/wait.h (do_spin): Idem.
8932
89332015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8934
8935	* libgomp-plugin.h (enum offload_target_type): Remove
8936	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8937	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8938	* openacc.h (enum acc_device_t): Likewise.
8939	* openacc_lib.h: Likewise.
8940	* oacc-init.c (name_of_acc_device_t): Don't handle it.
8941	(acc_on_device): Just use __builtin_acc_on_device.
8942	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8943	of acc_on_device builtin.
8944	* plugin/plugin-host.h: Remove file.
8945	* plugin/plugin-host.c: Likewise, but salvage some content into...
8946	* oacc-host.c: ... this file.
8947	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8948	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8949	* Makefile.in: Regenerate.
8950	* configure: Likewise.
8951	* testsuite/lib/libgomp.exp
8952	(check_effective_target_openacc_host_nonshm_selected): Remove.
8953	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8954	ACC_DEVICE_TYPE=host_nonshm.
8955	* testsuite/libgomp.oacc-c/c.exp: Likewise.
8956	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8957	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8958	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8959	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8960	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8961
89622015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8963	    Jakub Jelinek  <jakub@redhat.com>
8964
8965	* config/nvptx/affinity.c: New file.
8966	* config/nvptx/alloc.c: Likewise.
8967	* config/nvptx/bar.c: Likewise.
8968	* config/nvptx/barrier.c: Likewise.
8969	* config/nvptx/critical.c: Likewise.
8970	* config/nvptx/env.c: Likewise.
8971	* config/nvptx/error.c: Likewise.
8972	* config/nvptx/fortran.c: Likewise.
8973	* config/nvptx/iter.c: Likewise.
8974	* config/nvptx/iter_ull.c: Likewise.
8975	* config/nvptx/libgomp-plugin.c: Likewise.
8976	* config/nvptx/lock.c: Likewise.
8977	* config/nvptx/loop.c: Likewise.
8978	* config/nvptx/loop_ull.c: Likewise.
8979	* config/nvptx/mutex.c: Likewise.
8980	* config/nvptx/oacc-async.c: Likewise.
8981	* config/nvptx/oacc-cuda.c: Likewise.
8982	* config/nvptx/oacc-host.c: Likewise.
8983	* config/nvptx/oacc-init.c: Likewise.
8984	* config/nvptx/oacc-mem.c: Likewise.
8985	* config/nvptx/oacc-parallel.c: Likewise.
8986	* config/nvptx/oacc-plugin.c: Likewise.
8987	* config/nvptx/omp-lock.h: Likewise.
8988	* config/nvptx/ordered.c: Likewise.
8989	* config/nvptx/parallel.c: Likewise.
8990	* config/nvptx/proc.c: Likewise.
8991	* config/nvptx/ptrlock.c: Likewise.
8992	* config/nvptx/sections.c: Likewise.
8993	* config/nvptx/sem.c: Likewise.
8994	* config/nvptx/single.c: Likewise.
8995	* config/nvptx/splay-tree.c: Likewise.
8996	* config/nvptx/target.c: Likewise.
8997	* config/nvptx/task.c: Likewise.
8998	* config/nvptx/team.c: Likewise.
8999	* config/nvptx/time.c: Likewise.
9000	* config/nvptx/work.c: Likewise.
9001	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
9002	* configure: Regenerate.
9003	* configure.tgt (config_path): Set to "nvptx" for target
9004	nvptx*-*-*.
9005
90062015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
9007
9008	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
9009
90102015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
9011
9012	* plugin/plugin-nvptx.c: Don't include dlfcn.h.
9013	(cuda_errlist): Constify.
9014	(errmsg):  Move into ...
9015	(cuda_error): ... here.  Make smaller.
9016	(_XSTR, _STR): Delete.
9017	(cuda_synames): Delete.
9018	(verify_device_library): Delete.
9019	(nvptx_init): Don't call it.
9020
90212015-07-28  Tom de Vries  <tom@codesourcery.com>
9022
9023	* testsuite/libgomp.c/uns-outer-4.c: New test.
9024
90252015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
9026
9027	* testsuite/libgomp.c/pr66714.c: New test.
9028
90292015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
9030
9031	PR libgomp/66950
9032	* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
9033	(fib_ref): New function.
9034	(fib): Correct corner cases in the recursion.
9035	(main): Replace the non-simd loop with fib_ref call.
9036	* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
9037	subroutine.
9038	(fibonacci): Lower the parameter N to 30.  Correct accordingly check
9039	for the last array element value.  Replace the non-simd loop with
9040	fib_ref call.  Remove redundant b_ref array.  Remove the comparison
9041	of the last array element with according Fibonacci sequence element.
9042	(fib): Correct corner cases in the recursion.
9043
90442015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
9045
9046	* target.c (gomp_offload_image_to_device): Rename to ...
9047	(gomp_load_image_to_device): ... here.
9048	(GOMP_offload_register): Adjust call.
9049	(gomp_init_device): Likewise.
9050	(gomp_unload_image_from_device): New.  Broken out of ...
9051	(GOMP_offload_unregister): ... here.  Call it.
9052	(gomp_unload_device): New.
9053	* libgomp.h (gomp_unload_device): Declare.
9054	* oacc-init.c (acc_shutdown_1): Unload from device before deleting
9055	mem maps.
9056
90572015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
9058
9059	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
9060	wait=-specific if.
9061	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
9062	!=0 condition.
9063	(goacc_waits): Move !num_waits handling to ...
9064	(GOACC_wait): ... here, the only caller that might have zero waits.
9065
9066	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
9067	(struct ptx_image_data): Move earlier, add fns field.
9068	(struct ptx_device): Add images and image_lock fields.
9069	(ptx_images, ptx_image_lock): Delete.
9070	(nvptx_open_device): Initialize images and image_lock fields.
9071	(nvptx_close_device): Destroy image_lock.
9072	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
9073	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
9074	fields.
9075
90762015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
9077
9078	* target.c (GOMP_offload_register): Use int for device type arg.
9079	(GOMP_offload_unregister): Likewise.
9080
9081	* target.c (struct_offload_image_descr): Constify host_table.
9082	(gomp_offload_image_to_device): Likewise.
9083	(GOMP_offload_register, GOMP_offload_unregister): Likewise.
9084
9085	* libgomp.h (gomp_device_descr): Constify target data arguments.
9086	* target.c (struct offload_image_descr): Constify target_data.
9087	(gomp_offload_image_to_device): Likewise.
9088	(GOMP_offload_register): Likewise.
9089	(GOMP_offload_unregister): Likewise.
9090	* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
9091	GOMP_OFFLOAD_unload_image): Constify target data.
9092	* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
9093	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
9094
90952015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
9096
9097	* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
9098	Workaround driver library const error.
9099	(struct nvptx_tdata, nvptx_tdata_t): New.
9100	(GOMP_OFFLOAD_load_image): Use struct for target_data's real
9101	type.
9102
91032015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
9104
9105	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
9106	of EPS parameter from integer to real.
9107	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
9108	type of EPS parameter from integer to real.
9109
91102015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9111
9112	* team.c (get_last_team): New.
9113	(gomp_new_team): Recycle last non-nested team if possible.
9114	(gomp_team_end): Move team work share list free lock destruction
9115	to ...
9116	(free_team): ... here.
9117
91182015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
9119
9120	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
9121	and ref from int to double.  Replaced their comparison with
9122	an inequality of their difference and EPS.
9123	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
9124	comparison of pri and a reference number with an inequality of their
9125	difference and EPS.
9126	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
9127	the comparison of sum and sum_ref with an inequality of their
9128	difference and EPS.
9129	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
9130	the comparison of pri and a reference number with an inequality of
9131	their difference and EPS.
9132
91332015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
9134
9135	* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
9136	* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
9137	* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
9138	* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
9139	* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
9140	* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
9141	* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
9142	* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
9143	* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
9144	* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
9145	* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
9146	* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
9147	(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
9148	variables.
9149	(vec_mult): Likewise.  Add #pragma omp taskwait.
9150	(main): Adjust caller.
9151	* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
9152	* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
9153	* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
9154	* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
9155	* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
9156	* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
9157	* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
9158	* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
9159	* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
9160	* testsuite/libgomp.c/examples-4/device-1.c: ...this.
9161	* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
9162	* testsuite/libgomp.c/examples-4/device-2.c: ...this.
9163	* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
9164	* testsuite/libgomp.c/examples-4/device-3.c: ...this.
9165	* testsuite/libgomp.c/examples-4/simd-1.c: New file.
9166	* testsuite/libgomp.c/examples-4/simd-2.c: New file.
9167	* testsuite/libgomp.c/examples-4/simd-3.c: New file.
9168	* testsuite/libgomp.c/examples-4/simd-4.c: New file.
9169	* testsuite/libgomp.c/examples-4/simd-5.c: New file.
9170	* testsuite/libgomp.c/examples-4/simd-6.c: New file.
9171	* testsuite/libgomp.c/examples-4/simd-7.c: New file.
9172	* testsuite/libgomp.c/examples-4/simd-8.c: New file.
9173	* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
9174	* testsuite/libgomp.c/examples-4/target-1.c: ...this.
9175	* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
9176	* testsuite/libgomp.c/examples-4/target-2.c: ...this.
9177	* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
9178	* testsuite/libgomp.c/examples-4/target-3.c: ...this.
9179	* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
9180	* testsuite/libgomp.c/examples-4/target-4.c: ...this.
9181	* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
9182	* testsuite/libgomp.c/examples-4/target-5.c: ...this.
9183	* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
9184	* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
9185	* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
9186	* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
9187	* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
9188	* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
9189	* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
9190	* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
9191	* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
9192	* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
9193	* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
9194	* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
9195	* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
9196	* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
9197	* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
9198	* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
9199	* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
9200	* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
9201	* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
9202	* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
9203	* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
9204	* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
9205	* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
9206	* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
9207	* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
9208	* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
9209	* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
9210	* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
9211	* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
9212	* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
9213	* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
9214	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
9215	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
9216	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
9217	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
9218	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
9219	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
9220	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
9221	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
9222	(vec_mult): Add !$omp taskwait.
9223	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
9224	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
9225	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
9226	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
9227	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
9228	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
9229	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
9230	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
9231	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
9232	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
9233	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
9234	* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
9235	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
9236	* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
9237	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
9238	* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
9239	* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
9240	* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
9241	* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
9242	* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
9243	* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
9244	* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
9245	* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
9246	* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
9247	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
9248	* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
9249	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
9250	* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
9251	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
9252	* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
9253	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
9254	* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
9255	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
9256	* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
9257	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
9258	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
9259	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
9260	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
9261	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
9262	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
9263	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
9264	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
9265	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
9266	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
9267	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
9268	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
9269	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
9270	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
9271	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
9272	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
9273	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
9274	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
9275	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
9276	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
9277	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
9278	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
9279	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
9280	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
9281	* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
9282	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
9283	* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
9284	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
9285	* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
9286	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
9287	* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
9288	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
9289	* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
9290
92912015-07-10  Tom de Vries  <tom@codesourcery.com>
9292
9293	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
9294	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
9295
92962015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
9297
9298	PR libgomp/65099
9299	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
9300	in a 64-bit configuration.
9301	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
9302	offloading testing if no such device is available.
9303	* testsuite/libgomp.oacc-c/c.exp: Likewise.
9304	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9305
93062015-07-08  Tom de Vries  <tom@codesourcery.com>
9307
9308	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
9309	second call to f.
9310	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9311
93122015-07-07  Tom de Vries  <tom@codesourcery.com>
9313
9314	PR tree-optimization/66642
9315	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
9316	iteration count case.
9317	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
9318	function, factor out of ...
9319	(main): ... here.  Test low iteration count case.
9320
93212015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9322
9323	* libgomp.h (gomp_thread_pool): Comment last_team field.
9324
93252015-07-02  Uros Bizjak  <ubizjak@gmail.com>
9326
9327	* testsuite/libgomp.c++/pr66702-1.C: Require
9328	vect_simd_clones effective target.
9329	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
9330
93312015-06-30  Tom de Vries  <tom@codesourcery.com>
9332
9333	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
9334	already set.  Use DEFAULT_CFLAGS in dg-runtest.
9335	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
9336	"-O2".
9337
93382015-06-30  Tom de Vries  <tom@codesourcery.com>
9339
9340	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
9341	already set.  Use DEFAULT_CFLAGS in dg-runtest.
9342	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
9343	* testsuite/libgomp.c++/pr64824.C: Same.
9344	* testsuite/libgomp.c++/pr64868.C: Same.
9345	* testsuite/libgomp.c++/pr66199-1.C: Same.
9346	* testsuite/libgomp.c++/pr66199-2.C: Same.
9347	* testsuite/libgomp.c++/target-2.C: Same.
9348	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
9349	-std=<standard> option.
9350	* testsuite/libgomp.c++/udr-11.C: Same.
9351	* testsuite/libgomp.c++/udr-12.C: Same.
9352	* testsuite/libgomp.c++/udr-13.C: Same.
9353	* testsuite/libgomp.c++/udr-14.C: Same.
9354	* testsuite/libgomp.c++/udr-15.C: Same.
9355	* testsuite/libgomp.c++/udr-16.C: Same.
9356	* testsuite/libgomp.c++/udr-17.C: Same.
9357	* testsuite/libgomp.c++/udr-18.C: Same.
9358	* testsuite/libgomp.c++/udr-19.C: Same.
9359	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
9360	* testsuite/libgomp.c++/simd-1.C: Same.
9361	* testsuite/libgomp.c++/simd-2.C: Same.
9362	* testsuite/libgomp.c++/simd-3.C: Same.
9363	* testsuite/libgomp.c++/simd-4.C: Same.
9364	* testsuite/libgomp.c++/simd-5.C: Same.
9365	* testsuite/libgomp.c++/simd-6.C: Same.
9366	* testsuite/libgomp.c++/simd-7.C: Same.
9367	* testsuite/libgomp.c++/simd-8.C: Same.
9368	* testsuite/libgomp.c++/simd-9.C: Same.
9369	* testsuite/libgomp.c++/simd10.C: Same.
9370	* testsuite/libgomp.c++/simd11.C: Same.
9371	* testsuite/libgomp.c++/simd12.C: Same.
9372	* testsuite/libgomp.c++/simd13.C: Same.
9373
93742015-06-30  Jakub Jelinek  <jakub@redhat.com>
9375
9376	PR middle-end/66702
9377	* testsuite/libgomp.c++/pr66702-1.C: New test.
9378	* testsuite/libgomp.c++/pr66702-2.C: New test.
9379
93802015-06-30  Tom de Vries  <tom@codesourcery.com>
9381
9382	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
9383	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
9384	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
9385	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
9386
93872015-06-30  Tom de Vries  <tom@codesourcery.com>
9388
9389	PR tree-optimization/66652
9390	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
9391	using restrict pointers.
9392	(main): Add arguments to calls to f.
9393	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9394
93952015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
9396
9397	* configure.ac: Fix check for header <sys/sysctl.h>.
9398	* configure: Regenerate.
9399	* config.h.in: Likewise.
9400
94012015-06-23  Tom de Vries  <tom@codesourcery.com>
9402
9403	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
9404	abort.
9405	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
9406
94072015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
9408
9409	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
9410	acc_device_nvidia.
9411
9412	PR libgomp/66518
9413	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
9414	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9415
94162015-06-15  Tom de Vries  <tom@codesourcery.com>
9417
9418	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
9419	dg-additional-options for any remaining options.
9420	* testsuite/libgomp.c/atomic-2.c: Same.
9421	* testsuite/libgomp.c/atomic-4.c: Same.
9422	* testsuite/libgomp.c/atomic-5.c: Same.
9423	* testsuite/libgomp.c/atomic-6.c: Same.
9424	* testsuite/libgomp.c/autopar-1.c: Same.
9425	* testsuite/libgomp.c/copyin-1.c: Same.
9426	* testsuite/libgomp.c/copyin-2.c: Same.
9427	* testsuite/libgomp.c/copyin-3.c: Same.
9428	* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
9429	* testsuite/libgomp.c/nestedfn-5.c: Same.
9430	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
9431	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
9432	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
9433	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9434	* testsuite/libgomp.c/pr32362-1.c: Same.
9435	* testsuite/libgomp.c/pr32362-2.c: Same.
9436	* testsuite/libgomp.c/pr32362-3.c: Same.
9437	* testsuite/libgomp.c/pr39591-1.c: Same.
9438	* testsuite/libgomp.c/pr39591-2.c: Same.
9439	* testsuite/libgomp.c/pr39591-3.c: Same.
9440	* testsuite/libgomp.c/pr58392.c: Same.
9441	* testsuite/libgomp.c/pr58756.c: Same.
9442	* testsuite/libgomp.c/simd-1.c: Same.
9443	* testsuite/libgomp.c/simd-10.c: Same.
9444	* testsuite/libgomp.c/simd-11.c: Same.
9445	* testsuite/libgomp.c/simd-12.c: Same.
9446	* testsuite/libgomp.c/simd-13.c: Same.
9447	* testsuite/libgomp.c/simd-14.c: Same.
9448	* testsuite/libgomp.c/simd-15.c: Same.
9449	* testsuite/libgomp.c/simd-2.c: Same.
9450	* testsuite/libgomp.c/simd-3.c: Same.
9451	* testsuite/libgomp.c/simd-4.c: Same.
9452	* testsuite/libgomp.c/simd-5.c: Same.
9453	* testsuite/libgomp.c/simd-6.c: Same.
9454	* testsuite/libgomp.c/simd-7.c: Same.
9455	* testsuite/libgomp.c/simd-8.c: Same.
9456	* testsuite/libgomp.c/simd-9.c: Same.
9457
94582015-06-15  Tom de Vries  <tom@codesourcery.com>
9459
9460	* testsuite/libgomp.c/pr35625.c: Fix typo.
9461
94622015-06-15  Tom de Vries  <tom@codesourcery.com>
9463
9464	* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
9465	in dg-options.
9466	* testsuite/libgomp.c/atomic-3.c: Same.
9467	* testsuite/libgomp.c/debug-1.c: Same.
9468	* testsuite/libgomp.c/nqueens-1.c: Same.
9469	* testsuite/libgomp.c/pr26171.c: Same.
9470	* testsuite/libgomp.c/pr48591.c: Same.
9471	* testsuite/libgomp.c/pr64824.c: Same.
9472	* testsuite/libgomp.c/pr64868.c: Same.
9473	* testsuite/libgomp.c/pr66133.c: Same.
9474	* testsuite/libgomp.c/pr66199-1.c: Same.
9475	* testsuite/libgomp.c/pr66199-2.c: Same.
9476	* testsuite/libgomp.c/target-8.c: Same.
9477
94782015-06-15  Tom de Vries  <tom@codesourcery.com>
9479
9480	* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
9481	-std={gnu99,c99}.
9482	* testsuite/libgomp.c/for-1.c: Same.
9483	* testsuite/libgomp.c/for-2.c: Same.
9484	* testsuite/libgomp.c/for-3.c: Same.
9485	* testsuite/libgomp.c/pr35625.c: Same.
9486	* testsuite/libgomp.c/pr39154.c: Same.
9487	* testsuite/libgomp.c/simd-16.c: Same.
9488	* testsuite/libgomp.c/simd-17.c: Same.
9489
94902015-06-13  Tom de Vries  <tom@codesourcery.com>
9491
9492	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
9493
94942015-06-13  Tom de Vries  <tom@codesourcery.com>
9495
9496	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
9497	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9498	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
9499	(N): Define.
9500	(main): Use N instead of hardcoded constants.
9501
95022015-06-05  Tom de Vries  <tom@codesourcery.com>
9503
9504	merge from gomp4 branch:
9505	2015-05-28  Tom de Vries  <tom@codesourcery.com>
9506
9507	PR tree-optimization/65443
9508	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
9509	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
9510	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
9511
95122015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
9513
9514	* testsuite/libgomp.graphite/bounds.c: Adjust for
9515	cleanup-tree-dump removal.
9516	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
9517	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9518	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9519	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9520	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9521	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9522	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9523	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9524	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9525	* testsuite/libgomp.graphite/pr41118.c: Likewise.
9526
95272015-05-28  Uros Bizjak  <ubizjak@gmail.com>
9528
9529	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
9530	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
9531	(futex_wake) [!__x86_64__]: Ditto.
9532
95332015-05-28  Julian Brown  <julian@codesourcery.com>
9534
9535	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
9536	function comment. Only call gomp_fatal if new argument is true.
9537	(acc_dev_num_out_of_range): New function.
9538	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
9539	acc_dev_num_out_of_range as appropriate.
9540	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9541	(acc_get_device_num, acc_set_device_num): Update calls to
9542	resolve_device.
9543	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
9544	output.
9545
95462015-05-28  Julian Brown  <julian@codesourcery.com>
9547
9548	PR libgomp/65742
9549	* oacc-init.c (plugin/plugin-host.h): Include.
9550	(acc_on_device): Check whether we're in an offloaded region for
9551	host_nonshm
9552	plugin. Don't use __builtin_acc_on_device.
9553	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
9554	nonshm_exec flag in thread-local data.
9555	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
9556	data for host_nonshm plugin.
9557	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
9558	for host_nonshm plugin.
9559	* plugin/plugin-host.h: New.
9560
95612015-05-27  Uros Bizjak  <ubizjak@gmail.com>
9562
9563	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
9564
95652015-05-27  Uros Bizjak  <ubizjak@gmail.com>
9566
9567	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
9568	Declare as int.
9569	(FUTEX_PRIVATE_FLAG): Remove L suffix.
9570	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
9571	Declare as int.
9572
95732015-05-27  Uros Bizjak  <ubizjak@gmail.com>
9574
9575	* config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
9576
95772015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
9578
9579	* target.c (gomp_map_pointer): New function abstracting out
9580	GOMP_MAP_POINTER handling.
9581	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
9582	gomp_map_pointer().
9583
95842015-05-19  Jakub Jelinek  <jakub@redhat.com>
9585
9586	PR middle-end/66199
9587	* testsuite/libgomp.c/pr66199-1.c: New test.
9588	* testsuite/libgomp.c/pr66199-2.c: New test.
9589	* testsuite/libgomp.c++/pr66199-1.C: New test.
9590	* testsuite/libgomp.c++/pr66199-2.C: New test.
9591	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
9592	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
9593
95942015-05-19  Julian Brown  <julian@codesourcery.com>
9595
9596	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
9597	on cuInit failure.
9598
95992015-05-13  Jakub Jelinek  <jakub@redhat.com>
9600
9601	PR middle-end/66133
9602	* testsuite/libgomp.c/pr66133.c: New test.
9603
96042015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
9605
9606	* Makefile.in: Regenerated with automake-1.11.6.
9607	* aclocal.m4: Likewise.
9608	* config.h.in: Likewise.
9609	* configure: Likewise.
9610	* testsuite/Makefile.in: Likewise.
9611
96122015-05-08  Jason Merrill  <jason@redhat.com>
9613
9614	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
9615	_Complex.
9616
9617	* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
9618
96192015-05-06  Julian Brown  <julian@codesourcery.com>
9620
9621	* oacc-init.c (acc_device_lock): Add explanatory comment.
9622	(resolve_device): Add comment about locking requirement.
9623	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
9624	gomp_init_device and gomp_fini_device calls.
9625	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9626	(acc_get_device_num, acc_set_device_num): Add locking around
9627	resolve_device and gomp_init_device calls.
9628
96292015-05-06  Julian Brown  <julian@codesourcery.com>
9630
9631	* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
9632	goacc_thread_lock on error paths.
9633	* oacc-mem.c (lookup_host): Remove locking from function. Note
9634	locking requirement for caller in function comment.
9635	(lookup_dev): Likewise.
9636	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
9637	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
9638	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9639	Add locking.
9640
96412015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
9642
9643	PR testsuite/65205
9644	PR libgomp/65993
9645	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
9646	don't expect "0x" prefix for "%p" format specifier, don't expect
9647	"(nil)" for NULL pointer.
9648	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9649	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9650	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9651	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9652	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9653	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9654	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9655	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9656	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9657	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9658	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9659	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9660	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9661	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9662	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9663	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9664	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9665	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9666	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9667	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9668	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9669	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9670	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9671	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9672	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9673	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9674	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9675	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9676	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
9677	accurately specify what we're looking for.
9678	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9679	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9680	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9681	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9682	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9683
96842015-04-30  James Norris  <jnorris@codesourcery.com>
9685
9686	PR testsuite/65205
9687	* testsuite/lib/libgomp.exp
9688	(check_effective_target_openacc_host_selected)
9689	(check_effective_target_openacc_host_nonshm_selected): New
9690	procedures.
9691	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
9692	dg-shouldfail.
9693	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9694	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9695	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9696	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9697	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9698	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9699	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9700	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9701	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9702	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9703	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9704	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9705	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9706	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9707	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9708	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9709	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9710	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9711	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9712	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9713	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9714	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9715	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9716	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9717	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9718	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9719	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9720	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9721	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9722	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9723	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9724	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9725	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9726	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9727	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9728	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9729	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9730	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9731	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9732	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9733	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9734	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9735	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9736
97372015-04-08  Julian Brown  <julian@codesourcery.com>
9738
9739	* libgomp.h (target_mem_desc: Remove mem_map field.
9740	(acc_dispatch_t): Remove open_device_func, close_device_func,
9741	get_device_num_func, set_device_num_func, target_data members.
9742	Change create_thread_data_func argument to device number instead of
9743	generic pointer.
9744	* oacc-async.c (assert.h): Include.
9745	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
9746	(acc_wait_all, acc_wait_all_async): Use current host thread's
9747	active device, not base_dev.
9748	* oacc-cuda.c (acc_get_current_cuda_device)
9749	(acc_get_current_cuda_context, acc_get_cuda_stream)
9750	(acc_set_cuda_stream): Likewise.
9751	* oacc-host.c (host_dispatch): Don't set open_device_func,
9752	close_device_func, get_device_num_func or set_device_num_func.
9753	* oacc-init.c (base_dev, init_key): Remove.
9754	(cached_base_dev): New.
9755	(name_of_acc_device_t): New.
9756	(acc_init_1): Initialise default-numbered device, not zeroth.
9757	(acc_shutdown_1): Close all devices of a given type.
9758	(goacc_destroy_thread): Don't use base_dev.
9759	(lazy_open, lazy_init, lazy_init_and_open): Remove.
9760	(goacc_attach_host_thread_to_device): New.
9761	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
9762	(acc_get_num_devices): Don't use base_dev.
9763	(acc_set_device_type): Reimplement.
9764	(acc_get_device_type): Don't use base_dev.
9765	(acc_get_device_num): Tweak logic.
9766	(acc_set_device_num): Likewise.
9767	(acc_on_device): Use acc_get_device_type.
9768	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
9769	(goacc_lazy_initialize): Reimplement with acc_init and
9770	goacc_attach_host_thread_to_device.
9771	* oacc-int.h (goacc_thread): Add base_dev field.
9772	(base_dev): Remove extern declaration.
9773	(goacc_attach_host_thread_to_device): Add prototype.
9774	* oacc-mem.c (acc_malloc): Use current thread's device instead of
9775	base_dev.
9776	(acc_free): Likewise.
9777	(acc_memcpy_to_device): Likewise.
9778	(acc_memcpy_from_device): Likewise.
9779	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
9780	goacc_lazy_initialize (throughout).
9781	(GOACC_parallel): Use tgt_offset to locate target functions.
9782	* target.c (gomp_map_vars): Don't set tgt->mem_map.
9783	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
9784	(gomp_load_plugin_for_device): Remove open_device, close_device,
9785	get_device_num, set_device_num openacc hook initialisation. Don't set
9786	openacc.target_data.
9787	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
9788	(GOMP_OFFLOAD_openacc_close_device)
9789	(GOMP_OFFLOAD_openacc_get_device_num)
9790	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
9791	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
9792	to int.
9793	* plugin/plugin-nvptx.c (ptx_inited): Remove.
9794	(instantiated_devices, ptx_dev_lock): New.
9795	(struct ptx_image_data): New.
9796	(ptx_devices, ptx_images, ptx_image_lock): New.
9797	(fini_streams_for_device): Reorder cuStreamDestroy call.
9798	(nvptx_get_num_devices): Remove forward declaration.
9799	(nvptx_init): Change return type to bool.
9800	(nvptx_fini): Remove.
9801	(nvptx_attach_host_thread_to_device): New.
9802	(nvptx_open_device): Return struct ptx_device* instead of void*.
9803	(nvptx_close_device): Change argument type to struct ptx_device*,
9804	return type to void.
9805	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
9806	(kernel_target_data, kernel_host_table): Remove static globals.
9807	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
9808	(GOMP_OFFLOAD_init_device): Reimplement.
9809	(GOMP_OFFLOAD_fini_device): Likewise.
9810	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
9811	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
9812	(GOMP_OFFLOAD_host2dev): Use ORD argument.
9813	(GOMP_OFFLOAD_openacc_open_device)
9814	(GOMP_OFFLOAD_openacc_close_device)
9815	(GOMP_OFFLOAD_openacc_set_device_num)
9816	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
9817	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
9818	(device number).
9819
9820	testsuite/
9821	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
9822
98232015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
9824
9825	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
9826	* libgomp.h (struct gomp_memory_mapping): Remove.
9827	(struct target_mem_desc): Change type of mem_map from
9828	gomp_memory_mapping * to splay_tree_s *.
9829	(struct gomp_device_descr): Remove register_image_func, get_table_func.
9830	Add load_image_func, unload_image_func.
9831	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
9832	Remove offload_regions_registered.
9833	(gomp_init_tables): Remove.
9834	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9835	to splay_tree_s *.
9836	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
9837	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
9838	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
9839	offload_regions_registered.
9840	Initialize load_image_func, unload_image_func, mem_map.root.
9841	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
9842	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
9843	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
9844	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
9845	gomp_memory_mapping *.  Use dev's lock and splay_tree.
9846	(lookup_dev): Use dev's lock.
9847	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
9848	(acc_is_present): Likewise.
9849	(acc_map_data): Likewise.
9850	(acc_unmap_data): Likewise.  Use dev's lock.
9851	(present_create_copy): Likewise.
9852	(delete_copyout): Pass dev to lookup_host instead of mem_map.
9853	(update_dev_host): Likewise.
9854	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
9855	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
9856	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
9857	(GOMP_OFFLOAD_get_table): Remove
9858	(GOMP_OFFLOAD_load_image): New function.
9859	(GOMP_OFFLOAD_unload_image): New function.
9860	* target.c (register_lock): New mutex for offload image registration.
9861	(num_devices): Do not guard with PLUGIN_SUPPORT.
9862	(gomp_realloc_unlock): New static function.
9863	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
9864	before gomp_fatal.
9865	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
9866	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
9867	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
9868	mem_map's.
9869	(gomp_unmap_vars): Likewise.
9870	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
9871	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
9872	(gomp_offload_image_to_device): New static function.
9873	(GOMP_offload_register): Add mutex lock.
9874	Call gomp_offload_image_to_device for all initialized devices.
9875	Replace gomp_realloc with gomp_realloc_unlock.
9876	(GOMP_offload_unregister): New function.
9877	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
9878	get_table_func from the plugin with calls to init_device_func and
9879	gomp_offload_image_to_device.
9880	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9881	to splay_tree_s *.
9882	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
9883	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
9884	(GOMP_target_data): Do not call gomp_init_tables.
9885	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
9886	(gomp_load_plugin_for_device): Replace register_image and get_table
9887	with load_image and unload_image in DLSYM ().
9888	(gomp_register_images_for_device): Remove function.
9889	(gomp_target_init): Do not initialize current_device.mem_map.*,
9890	current_device.offload_regions_registered.
9891	Remove call to gomp_register_images_for_device.
9892	Do not free offload_images and num_offload_images.
9893
98942015-03-30  Jakub Jelinek  <jakub@redhat.com>
9895
9896	PR fortran/65597
9897	* testsuite/libgomp.fortran/pr65597.f90: New test.
9898
98992015-03-27  Tom de Vries  <tom@codesourcery.com>
9900
9901	PR testsuite/65594
9902	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
9903	(init, check): New function.
9904	(foo): Change return type to void.
9905	(main): Call init and check.
9906
99072015-03-27  Tom de Vries  <tom@codesourcery.com>
9908
9909	PR testsuite/65594
9910	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9911	(foo): Use M for non-inner loops to scale down test-case.
9912
99132015-03-25  Kai Tietz  <ktietz@redhat.com>
9914
9915	PR libgomp/64972
9916	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9917	(GOACC_data_start): Likewise.
9918	* target.c (gomp_map_vars): Likewise.
9919
99202015-03-21  John David Anglin  <danglin@gcc.gnu.org>
9921
9922	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9923	hppa*-*-hpux*.
9924
99252015-03-19  Jakub Jelinek  <jakub@redhat.com>
9926
9927	* testsuite/libgomp.c/target-10.c: New test.
9928	* testsuite/libgomp.c++/target-4.C: New test.
9929
99302015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
9931
9932	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
9933	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
9934
99352015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9936
9937	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
9938	* configure.ac (*-*-rtems*): Assume Pthread is supported.
9939	(pthread.h): Check for this header file.
9940	* configure: Regenerate.
9941
99422015-02-25  Tom de Vries  <tom@codesourcery.com>
9943
9944	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9945	(check_reduction_op, check_reduction_macro, max, min):
9946	Declare.
9947	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9948	function.
9949	(main): Use new functions.
9950
99512015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
9952
9953	* target.c (gomp_load_plugin_for_device): Use const char * instead of
9954	char * for variables holding dlerror return values.
9955	(DLSYM_OPT): Ditto.
9956
99572015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9958
9959	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9960
99612015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9962	    Cesar Philippidis  <cesar@codesourcery.com>
9963
9964	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9965	GOACC_ctaid, and GOACC_nctaid routines.
9966
99672015-02-11  Jakub Jelinek  <jakub@redhat.com>
9968
9969	PR c/64824
9970	* testsuite/libgomp.c/atomic-18.c: New test.
9971	* testsuite/libgomp.c++/atomic-16.C: New test.
9972
99732015-02-04  Jakub Jelinek  <jakub@redhat.com>
9974
9975	PR c/64824
9976	PR c/64868
9977	* testsuite/libgomp.c/pr64824.c: New test.
9978	* testsuite/libgomp.c/pr64868.c: New test.
9979	* testsuite/libgomp.c++/pr64824.C: New test.
9980	* testsuite/libgomp.c++/pr64868.C: New test.
9981
99822015-02-01  David Edelsohn  <dje.gcc@gmail.com>
9983
9984	PR libgomp/64635
9985	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9986	Link with -lpthread.
9987	* config/aix/plugin-suffix.h: Delete.
9988
99892015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
9990
9991	PR libgomp/64635
9992	* configure.tgt (*-*-aix*): Use config_path "aix posix".
9993	(*-*-darwin*): Use config_path "bsd darwin posix".
9994	(*-*-hpux*): Use config_path "hpux posix".
9995	* target.c: Add include of plugin-suffix.h and use
9996	SONAME_SUFFIX macro.
9997	* config/aix/plugin-suffix.h: New file.
9998	* config/darwin/plugin-suffix.h: New file.
9999	* config/hpux/plugin-suffix.h: New file.
10000	* config/posix/plugin-suffix.h: New file.
10001
100022015-01-23  Jakub Jelinek  <jakub@redhat.com>
10003
10004	PR middle-end/64734
10005	* libgomp.c/pr64734.c: New test.
10006
100072015-01-23  Tom de Vries  <tom@codesourcery.com>
10008
10009	PR libgomp/64672
10010	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
10011
100122015-01-23  Tom de Vries  <tom@codesourcery.com>
10013
10014	PR libgomp/64707
10015	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
10016	dg-options.
10017
100182015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
10019
10020	PR libgomp/64625
10021	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
10022	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
10023	formal parameter.  Update all users.
10024	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
10025	Document unused formal parameter.
10026
100272015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
10028
10029	* oacc-parallel.c: Don't include <alloca.h>.
10030	(GOACC_parallel): Use gomp_alloca instead of alloca.
10031
100322015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
10033
10034	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
10035
100362015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
10037	    James Norris  <jnorris@codesourcery.com>
10038	    Tom de Vries  <tom@codesourcery.com>
10039	    Julian Brown  <julian@codesourcery.com>
10040	    Cesar Philippidis  <cesar@codesourcery.com>
10041	    Nathan Sidwell  <nathan@codesourcery.com>
10042	    Tobias Burnus  <burnus@net-b.de>
10043
10044	* Makefile.am (search_path): Add $(top_srcdir)/../include.
10045	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
10046	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
10047	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
10048	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
10049	Include $(top_srcdir)/plugin/Makefrag.am.
10050	(nodist_libsubinclude_HEADERS): Add openacc.h.
10051	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
10052	openacc.f90, openacc.mod, openacc_kinds.mod.
10053	(omp_lib.mod): Generalize into...
10054	(%.mod): ... this new rule.
10055	(openacc_kinds.mod, openacc.mod): New rules.
10056	* plugin/configfrag.ac: New file.
10057	* configure.ac: Move plugin/offloading support into it.  Include
10058	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
10059	* plugin/Makefrag.am: New file.
10060	* testsuite/Makefile.am (OFFLOAD_TARGETS)
10061	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
10062	export.
10063	(libgomp-test-support.exp): New rule.
10064	(all-local): Depend on it.
10065	* Makefile.in: Regenerate.
10066	* testsuite/Makefile.in: Regenerate.
10067	* config.h.in: Likewise.
10068	* configure: Likewise.
10069	* configure.tgt: Harden shell syntax.
10070	* env.c: Include "oacc-int.h".
10071	(parse_acc_device_type): New function.
10072	(gomp_debug_var, goacc_device_type, goacc_device_num): New
10073	variables.
10074	(initialize_env): Initialize those.  Call
10075	goacc_runtime_initialize.
10076	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
10077	(gomp_fatal): Call gomp_vfatal.
10078	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
10079	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
10080	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
10081	(splay_tree_node, splay_tree, splay_tree_key)
10082	(struct target_mem_desc, struct splay_tree_key_s)
10083	(struct gomp_memory_mapping, struct acc_dispatch_t)
10084	(struct gomp_device_descr, gomp_acc_insert_pointer)
10085	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
10086	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
10087	(gomp_free_memmap, gomp_fini_device): New declarations.
10088	(gomp_vdebug, gomp_debug): New macros.
10089	Include "splay-tree.h".
10090	* libgomp.map (OACC_2.0): New symbol version.  Use for
10091	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
10092	acc_set_device_type_h_, acc_get_device_type,
10093	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
10094	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
10095	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
10096	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
10097	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
10098	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
10099	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
10100	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
10101	acc_copyin_array_h_, acc_present_or_copyin,
10102	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
10103	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
10104	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
10105	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
10106	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
10107	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
10108	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
10109	acc_update_device, acc_update_device_32_h_,
10110	acc_update_device_64_h_, acc_update_device_array_h_,
10111	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
10112	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
10113	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
10114	acc_is_present_64_h_, acc_is_present_array_h_,
10115	acc_memcpy_to_device, acc_memcpy_from_device,
10116	acc_get_current_cuda_device, acc_get_current_cuda_context,
10117	acc_get_cuda_stream, acc_set_cuda_stream.
10118	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
10119	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
10120	GOACC_update, GOACC_wait, GOACC_get_thread_num,
10121	GOACC_get_num_threads.
10122	(GOMP_PLUGIN_1.0): New symbol version.  Use for
10123	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
10124	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
10125	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
10126	GOMP_PLUGIN_acc_thread.
10127	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
10128	environment variable.
10129	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
10130	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
10131	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
10132	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
10133	(splay_tree_remove): New declarations.
10134	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
10135	(splay_tree_remove, splay_tree_lookup): Move into...
10136	* splay-tree.c: ... this new file.
10137	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
10138	(splay_tree_node, splay_tree, splay_tree_key)
10139	(struct target_mem_desc, struct splay_tree_key_s)
10140	(struct gomp_device_descr): Don't declare.
10141	(num_devices_openmp): New variable.
10142	(gomp_get_num_devices ): Use it.
10143	(gomp_init_targets_once): New function.
10144	(gomp_get_num_devices ): Use it.
10145	(get_kind, gomp_copy_from_async, gomp_free_memmap)
10146	(gomp_fini_device, gomp_register_image_for_device): New functions.
10147	(gomp_map_vars): Add devaddrs parameter.
10148	(gomp_update): Add mm parameter.
10149	(gomp_init_device): Move most of it into...
10150	(gomp_init_tables): ... this new function.
10151	(gomp_register_images_for_device): Remove function.
10152	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
10153	Make them hidden instead of static.
10154	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
10155	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
10156	(GOMP_target_end_data, GOMP_target_update)
10157	(gomp_load_plugin_for_device, gomp_target_init): Update for
10158	OpenACC changes.
10159	* oacc-async.c: New file.
10160	* oacc-cuda.c: Likewise.
10161	* oacc-host.c: Likewise.
10162	* oacc-init.c: Likewise.
10163	* oacc-int.h: Likewise.
10164	* oacc-mem.c: Likewise.
10165	* oacc-parallel.c: Likewise.
10166	* oacc-plugin.c: Likewise.
10167	* oacc-plugin.h: Likewise.
10168	* oacc-ptx.h: Likewise.
10169	* openacc.f90: Likewise.
10170	* openacc.h: Likewise.
10171	* openacc_lib.h: Likewise.
10172	* plugin/plugin-host.c: Likewise.
10173	* plugin/plugin-nvptx.c: Likewise.
10174	* libgomp-plugin.c: Likewise.
10175	* libgomp-plugin.h: Likewise.
10176	* libgomp_target.h: Remove file after merging content into the
10177	former file.  Update all users.
10178	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
10179	(offload_targets_s, offload_targets_s_openacc): New variables.
10180	(check_effective_target_openacc_nvidia_accel_present)
10181	(check_effective_target_openacc_nvidia_accel_selected): New
10182	procedures.
10183	(libgomp_init): Update for OpenACC changes.
10184	* testsuite/libgomp-test-support.exp.in: New file.
10185	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10186	* testsuite/libgomp.oacc-c/c.exp: Likewise.
10187	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10188	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
10189	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
10190	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10191	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
10192	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10193	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
10194	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
10195	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
10196	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10197	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
10198	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10199	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
10200	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
10201	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
10202	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
10203	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
10204	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
10205	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
10206	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10207	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10208	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10209	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10210	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10211	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10212	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10213	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10214	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10215	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10216	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
10217	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
10218	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
10219	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
10220	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10221	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10222	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10223	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
10224	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
10225	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
10226	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
10227	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10228	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10229	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10230	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
10231	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10232	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10233	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10234	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10235	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10236	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
10237	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10238	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10239	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10240	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10241	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10242	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10243	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10244	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
10245	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10246	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
10247	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10248	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10249	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10250	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
10251	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
10252	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10253	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10254	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10255	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
10256	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10257	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10258	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10259	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
10260	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
10261	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10262	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10263	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
10264	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
10265	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
10266	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
10267	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10268	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10269	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10270	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
10271	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
10272	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10273	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10274	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
10275	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
10276	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
10277	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
10278	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10279	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10280	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10281	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10282	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
10283	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10284	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10285	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
10286	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
10287	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
10288	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10289	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
10290	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
10291	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
10292	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
10293	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
10294	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10295	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
10296	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10297	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10298	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
10299	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
10300	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10301	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
10302	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10303	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
10304	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
10305	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
10306	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
10307	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10308	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
10309	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
10310	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
10311	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
10312	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
10313	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
10314	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
10315	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
10316	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
10317	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10318	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
10319	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10320	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10321	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10322	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10323	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10324	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
10325	Likewise.
10326	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
10327	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
10328	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
10329	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10330	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
10331	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10332	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10333	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10334	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10335	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10336	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10337	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10338	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10339	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
10340	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
10341	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
10342	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
10343	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
10344	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
10345	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
10346	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
10347	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10348	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10349	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
10350	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
10351	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
10352	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10353	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10354	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10355	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10356	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10357	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10358	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10359	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10360	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
10361	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
10362	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
10363	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
10364	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
10365	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
10366	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
10367	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
10368	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
10369	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
10370	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
10371	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
10372	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
10373	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
10374	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
10375	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10376	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10377	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10378	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10379	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10380	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
10381	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
10382	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
10383	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
10384	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
10385	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
10386
103872015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
10388	    Julian Brown  <julian@codesourcery.com>
10389	    David Malcolm  <dmalcolm@redhat.com>
10390
10391	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
10392	to "GNU Offloading and Multi Processing Runtime Library".  Change
10393	all users.
10394	* configure: Regenerate.
10395	* libgomp.texi: Update.
10396
103972015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
10398
10399	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
10400	"$tgt_dir/lib32".
10401	* configure: Regenerate.
10402
10403	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
10404	"intelmic" in $offload_targets.
10405
104062015-01-05  Jakub Jelinek  <jakub@redhat.com>
10407
10408	Update copyright years.
10409
10410	* libgomp.texi: Bump @copying's copyright year.
10411
104122014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10413
10414	* testsuite/lib/libgomp.exp: Load target-utils.exp.
10415	Move load of target-supports.exp earlier.
10416
104172014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
10418
10419	* testsuite/libgomp.c/target-9.c: New test.
10420
104212014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
10422
10423	* config.h.in: Regenerate.
10424	* configure: Regenerate.
10425	* configure.ac: Add GCC_CHECK_EMUTLS.
10426	* libgomp.h: Add check for USE_EMUTLS: this case
10427	is equal to HAVE_TLS.
10428	* team.c: Likewise.
10429
104302014-12-03  Uros Bizjak  <ubizjak@gmail.com>
10431
10432	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
10433
104342014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
10435	    Ilya Verbin  <ilya.verbin@intel.com>
10436
10437	* testsuite/libgomp.c/target-critical-1.c: New test.
10438
104392014-11-26  Jakub Jelinek  <jakub@redhat.com>
10440
10441	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
10442	to dg-options unless expensive testing is on.
10443	(TESTITERS): Define to N if not defined.
10444	(main): Use TESTITERS instead of N.
10445	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
10446	dg-additional-options depending on whether expensive testing is on.
10447	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
10448	Decrease N to 100000 and CHUNKSZ to 10000.
10449
104502014-11-24  Jakub Jelinek  <jakub@redhat.com>
10451
10452	PR fortran/63938
10453	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
10454	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
10455
104562014-11-21  Steve Ellcey  <sellcey@imgtec.com>
10457
10458	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
10459
104602014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
10461
10462	PR bootstrap/63784
10463	* configure: Regenerated.
10464
104652014-11-19  Uros Bizjak  <ubizjak@gmail.com>
10466
10467	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
10468	vect_simd_clones effective target.
10469	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10470
104712014-11-14  Jakub Jelinek  <jakub@redhat.com>
10472
10473	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
10474	of 32 as block_size.
10475	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
10476	instead of 32 as block_size.
10477
104782014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
10479	    Ilya Verbin  <ilya.verbin@intel.com>
10480
10481	* Makefile.in: Regenerate.
10482	* configure: Regenerate.
10483	* configure.ac: Set up offload_additional_options,
10484	offload_additional_lib_paths and offload_targets.
10485	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
10486	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
10487	* testsuite/Makefile.in: Regenerate.
10488	* testsuite/lib/libgomp.exp (libgomp_init): Append
10489	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
10490	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
10491	build directory to LD_LIBRARY_PATH for intelmic offload targets.
10492
104932014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
10494	    Ilya Verbin  <ilya.verbin@intel.com>
10495	    Kirill Yukhin  <kirill.yukhin@intel.com>
10496	    Ilya Tocar  <ilya.tocar@intel.com>
10497
10498	* testsuite/lib/libgomp.exp
10499	(check_effective_target_offload_device): New.
10500	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
10501	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
10502	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
10503	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
10504	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
10505	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
10506	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
10507	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
10508	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
10509	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
10510	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
10511	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
10512	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
10513	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
10514	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
10515	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
10516	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
10517	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
10518	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
10519	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
10520	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
10521	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
10522	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
10523	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
10524	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
10525	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
10526	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
10527	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
10528	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
10529	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
10530	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
10531	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
10532	* testsuite/libgomp.c/target-7.c: Fix test.
10533	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
10534	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
10535	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
10536	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
10537	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
10538	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
10539	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
10540	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
10541	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
10542	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
10543	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
10544	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
10545	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
10546	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
10547	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
10548	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
10549	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
10550	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
10551	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10552	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
10553	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
10554	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
10555	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
10556	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
10557	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
10558	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
10559	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
10560	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
10561	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
10562	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
10563	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
10564
105652014-11-13  Jakub Jelinek  <jakub@redhat.com>
10566	    Ilya Verbin  <ilya.verbin@intel.com>
10567	    Thomas Schwinge  <thomas@codesourcery.com>
10568	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
10569
10570	* libgomp.map (GOMP_4.0.1): New symbol version.
10571	Add GOMP_offload_register.
10572	* libgomp_target.h: New file.
10573	* splay-tree.h: New file.
10574	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
10575	(gomp_target_init): New forward declaration.
10576	(gomp_is_initialized): New static variable.
10577	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
10578	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
10579	New structures.
10580	(offload_images, num_offload_images, devices, num_devices): New static
10581	variables.
10582	(splay_compare): New static function.
10583	(struct gomp_device_descr): New structure.
10584	(gomp_get_num_devices): Call gomp_target_init.
10585	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
10586	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
10587	(GOMP_offload_register): New function.
10588	(GOMP_target): Arrange for host callback to be performed in a separate
10589	initial thread and contention group, inheriting ICVs from
10590	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
10591	Add device initialization and lookup for target function in splay tree.
10592	(GOMP_target_data): Add device initialization and call gomp_map_vars.
10593	(GOMP_target_end_data): Call gomp_unmap_vars.
10594	(GOMP_target_update): Add device initialization and call gomp_update.
10595	(gomp_load_plugin_for_device, gomp_register_images_for_device)
10596	(gomp_target_init): New static functions.
10597
105982014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
10599	    Thomas Schwinge  <thomas@codesourcery.com>
10600	    Ilya Verbin  <ilya.verbin@intel.com>
10601	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
10602
10603	* config.h.in: Regenerate.
10604	* configure: Regenerate.
10605	* configure.ac: Check for libdl, required for plugin support.
10606	(PLUGIN_SUPPORT): Define if plugins are supported.
10607	(enable_offload_targets): Support Intel MIC targets.
10608	(OFFLOAD_TARGETS): List of target names suitable for offloading.
10609
106102014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
10611
10612	PR target/63610
10613	* configure: Regenerate.
10614
106152014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10616
10617	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
10618
106192014-10-06  Marek Polacek  <polacek@redhat.com>
10620
10621	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
10622	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
10623	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
10624	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
10625
106262014-10-06  Marek Polacek  <polacek@redhat.com>
10627
10628	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
10629	* testsuite/libgomp.c/nqueens-1.c: Likewise.
10630	* testsuite/libgomp.c/pr26943-3.c: Likewise.
10631	* testsuite/libgomp.c/pr26943-4.c: Likewise.
10632	* testsuite/libgomp.c/pr36802-2.c: Likewise.
10633	* testsuite/libgomp.c/pr36802-3.c: Likewise.
10634	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
10635	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
10636	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
10637	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
10638	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
10639	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
10640	* testsuite/libgomp.c/omp-single-1.c: Likewise.
10641	* testsuite/libgomp.c/omp-single-2.c: Likewise.
10642	* testsuite/libgomp.c/omp_matvec.c: Likewise.
10643	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
10644	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
10645	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
10646	declarations.
10647
106482014-10-03  Jakub Jelinek  <jakub@redhat.com>
10649
10650	PR libgomp/61200
10651	* testsuite/libgomp.c/pr61200.c: New test.
10652
106532014-09-18  Jakub Jelinek  <jakub@redhat.com>
10654
10655	PR c++/63248
10656	* testsuite/libgomp.c++/pr63248.C: New test.
10657
106582014-08-04  Jakub Jelinek  <jakub@redhat.com>
10659
10660	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
10661	is not zero, but taskgroup->children is NULL and there are
10662	any task->children, schedule those instead of waiting.
10663	* testsuite/libgomp.c/depend-6.c: New test.
10664	* testsuite/libgomp.c/depend-7.c: New test.
10665	* testsuite/libgomp.c/depend-8.c: New test.
10666	* testsuite/libgomp.c/depend-9.c: New test.
10667	* testsuite/libgomp.c/depend-10.c: New test.
10668
106692014-08-01  Jakub Jelinek  <jakub@redhat.com>
10670
10671	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
10672	(struct gomp_taskwait): New type.
10673	(struct gomp_task): Add taskwait and parent_depends_on, remove
10674	in_taskwait and taskwait_sem fields.
10675	(gomp_finish_task): Don't destroy taskwait_sem.
10676	* task.c (gomp_init_task): Don't init in_taskwait, instead init
10677	taskwait and parent_depends_on.
10678	(GOMP_task): For if (0) tasks with depend clause that depend on
10679	earlier tasks don't defer them, instead call
10680	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
10681	Initialize redundant_out field, for redundant out entries just
10682	move them at the end of linked list instead of removing them
10683	completely, and set redundant_out flag instead of redundant.
10684	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
10685	that task.
10686	(gomp_task_run_post_handle_dependers): If parent is in
10687	gomp_task_maybe_wait_for_dependencies and newly runnable task
10688	is not parent_depends_on, queue it in parent->children linked
10689	list after all runnable tasks with parent_depends_on set.
10690	Adjust for addition of taskwait indirection.
10691	(gomp_task_run_post_remove_parent): If parent is in
10692	gomp_task_maybe_wait_for_dependencies and task to be removed
10693	is parent_depends_on, decrement n_depend and if needed awake
10694	parent.  Adjust for addition of taskwait indirection.
10695	(GOMP_taskwait): Adjust for addition of taskwait indirection.
10696	(gomp_task_maybe_wait_for_dependencies): New function.
10697	* testsuite/libgomp.c/depend-5.c: New test.
10698
106992014-07-13  Tobias Burnus  <burnus@net-b.de>
10700
10701	* testsuite/libgomp.fortran/pr34020.f90: Make compile
10702	with TS 18508/Fortran 2015.
10703
107042014-07-06  Marek Polacek  <polacek@redhat.com>
10705
10706	PR c/6940
10707	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
10708
107092014-07-03  Jakub Jelinek  <jakub@redhat.com>
10710
10711	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
10712	matches regex $lang_source_re, add $lang_include_flags to options.
10713	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
10714	* testsuite/libgomp.c++/c++.exp: Likewise.
10715	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
10716	and lang_include_flags instead of adding -fintrinsic-modules-path= to
10717	ALWAYS_CFLAGS.
10718	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
10719
107202014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
10721
10722	* testsuite/libgomp.fortran/fortran.exp: Explain
10723	gfortran-dg-runtest usage.
10724
107252014-06-25  Jakub Jelinek  <jakub@redhat.com>
10726
10727	* testsuite/libgomp.fortran/simd5.f90: New test.
10728	* testsuite/libgomp.fortran/simd6.f90: New test.
10729	* testsuite/libgomp.fortran/simd7.f90: New test.
10730
107312014-06-24  Jakub Jelinek  <jakub@redhat.com>
10732
10733	* testsuite/libgomp.c/for-2.c: Define SC to static for
10734	#pragma omp for simd testing.
10735	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
10736	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
10737	SC macro.
10738	* testsuite/libgomp.c/simd-14.c: New test.
10739	* testsuite/libgomp.c/simd-15.c: New test.
10740	* testsuite/libgomp.c/simd-16.c: New test.
10741	* testsuite/libgomp.c/simd-17.c: New test.
10742	* testsuite/libgomp.c++/for-10.C: Define SC to static for
10743	#pragma omp for simd testing.
10744	* testsuite/libgomp.c++/simd10.C: New test.
10745	* testsuite/libgomp.c++/simd11.C: New test.
10746	* testsuite/libgomp.c++/simd12.C: New test.
10747	* testsuite/libgomp.c++/simd13.C: New test.
10748
10749	* testsuite/libgomp.fortran/aligned1.f03: New test.
10750	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
10751	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
10752	tasks with !$omp parallel !$omp single.
10753	* testsuite/libgomp.fortran/target8.f90: New test.
10754	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
10755	not to use trim in the combiner, instead call elemental function.
10756	(fn): New elemental function.
10757	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
10758	Make elemental.
10759	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
10760	omp_in): Likewise.
10761	* testsuite/libgomp.fortran/udr12.f90: New test.
10762	* testsuite/libgomp.fortran/udr13.f90: New test.
10763	* testsuite/libgomp.fortran/udr14.f90: New test.
10764	* testsuite/libgomp.fortran/udr15.f90: New test.
10765
107662014-06-18  Jakub Jelinek  <jakub@redhat.com>
10767
10768	* omp_lib.f90.in (openmp_version): Set to 201307.
10769	* omp_lib.h.in (openmp_version): Likewise.
10770	* testsuite/libgomp.c/target-8.c: New test.
10771	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
10772	and inbranch clauses.
10773	* testsuite/libgomp.fortran/depend-3.f90: New test.
10774	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
10775	openmp_version.
10776	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10777	* testsuite/libgomp.fortran/target1.f90: New test.
10778	* testsuite/libgomp.fortran/target2.f90: New test.
10779	* testsuite/libgomp.fortran/target3.f90: New test.
10780	* testsuite/libgomp.fortran/target4.f90: New test.
10781	* testsuite/libgomp.fortran/target5.f90: New test.
10782	* testsuite/libgomp.fortran/target6.f90: New test.
10783	* testsuite/libgomp.fortran/target7.f90: New test.
10784
107852014-06-10  Jakub Jelinek  <jakub@redhat.com>
10786
10787	PR fortran/60928
10788	* testsuite/libgomp.fortran/allocatable9.f90: New test.
10789	* testsuite/libgomp.fortran/allocatable10.f90: New test.
10790	* testsuite/libgomp.fortran/allocatable11.f90: New test.
10791	* testsuite/libgomp.fortran/allocatable12.f90: New test.
10792	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
10793	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
10794	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
10795	* testsuite/libgomp.fortran/associate1.f90: New test.
10796	* testsuite/libgomp.fortran/associate2.f90: New test.
10797	* testsuite/libgomp.fortran/procptr1.f90: New test.
10798
107992014-06-06  Jakub Jelinek  <jakub@redhat.com>
10800
10801	* testsuite/libgomp.fortran/simd1.f90: New test.
10802	* testsuite/libgomp.fortran/udr1.f90: New test.
10803	* testsuite/libgomp.fortran/udr2.f90: New test.
10804	* testsuite/libgomp.fortran/udr3.f90: New test.
10805	* testsuite/libgomp.fortran/udr4.f90: New test.
10806	* testsuite/libgomp.fortran/udr5.f90: New test.
10807	* testsuite/libgomp.fortran/udr6.f90: New test.
10808	* testsuite/libgomp.fortran/udr7.f90: New test.
10809	* testsuite/libgomp.fortran/udr8.f90: New test.
10810	* testsuite/libgomp.fortran/udr9.f90: New test.
10811	* testsuite/libgomp.fortran/udr10.f90: New test.
10812	* testsuite/libgomp.fortran/udr11.f90: New test.
10813
108142014-05-27  Uros Bizjak  <ubizjak@gmail.com>
10815
10816	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
10817	vect_simd_clones effective target.
10818	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
10819
108202014-05-21  Jakub Jelinek  <jakub@redhat.com>
10821
10822	PR middle-end/61252
10823	* testsuite/libgomp.c++/simd-9.C: New test.
10824
108252014-05-18  Uros Bizjak  <ubizjak@gmail.com>
10826
10827	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
10828	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10829	texts according to their @menu entry positions.
10830
108312014-05-11  Jakub Jelinek  <jakub@redhat.com>
10832
10833	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
10834	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
10835	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
10836	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
10837	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
10838	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
10839	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
10840	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
10841	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
10842	* testsuite/libgomp.fortran/depend-1.f90: New test.
10843	* testsuite/libgomp.fortran/depend-2.f90: New test.
10844	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
10845	* testsuite/libgomp.fortran/simd1.f90: New test.
10846	* testsuite/libgomp.fortran/simd2.f90: New test.
10847	* testsuite/libgomp.fortran/simd3.f90: New test.
10848	* testsuite/libgomp.fortran/simd4.f90: New test.
10849	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
10850
108512014-05-02  Jakub Jelinek  <jakub@redhat.com>
10852
10853	* testsuite/libgomp.c/simd-10.c: New test.
10854	* testsuite/libgomp.c/simd-11.c: New test.
10855	* testsuite/libgomp.c/simd-12.c: New test.
10856	* testsuite/libgomp.c/simd-13.c: New test.
10857
108582014-04-24  Jakub Jelinek  <jakub@redhat.com>
10859
10860	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
10861	atomic type clauses in any order and optional comma in between.
10862	* testsuite/libgomp.c++/atomic-15.C: Likewise.
10863	* testsuite/libgomp.c/atomic-17.c: Likewise.
10864
10865	* testsuite/libgomp.c/simd-7.c: New test.
10866	* testsuite/libgomp.c/simd-8.c: New test.
10867	* testsuite/libgomp.c/simd-9.c: New test.
10868	* testsuite/libgomp.c/loop-16.c: New test.
10869
108702014-04-02  Richard Henderson  <rth@redhat.com>
10871
10872	* config/linux/futex.h (futex_wait): Get error value from errno.
10873	(futex_wake): Likewise.
10874
108752014-03-25  Jakub Jelinek  <jakub@redhat.com>
10876
10877	PR c++/60331
10878	* testsuite/libgomp.c++/udr-11.C: New test.
10879	* testsuite/libgomp.c++/udr-12.C: New test.
10880	* testsuite/libgomp.c++/udr-13.C: New test.
10881	* testsuite/libgomp.c++/udr-14.C: New test.
10882	* testsuite/libgomp.c++/udr-15.C: New test.
10883	* testsuite/libgomp.c++/udr-16.C: New test.
10884	* testsuite/libgomp.c++/udr-17.C: New test.
10885	* testsuite/libgomp.c++/udr-18.C: New test.
10886	* testsuite/libgomp.c++/udr-19.C: New test.
10887
108882014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10889
10890	Update copyright years
10891
108922014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10893
10894	* hashtab.h: Use the standard form for the copyright notice.
10895
108962014-01-02  Tobias Burnus  <burnus@net-b.de>
10897
10898	* libgomp.texi: Bump @copying's copyright year.
10899
109002013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
10901
10902	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
10903	alloca () with __builtin_alloca ().
10904	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
10905	* testsuite/libgomp.c/lock-3.c: Likewise.
10906	* testsuite/libgomp.c/pr48591.c: Likewise.
10907
109082013-12-17  Jakub Jelinek  <jakub@redhat.com>
10909
10910	PR testsuite/59534
10911	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10912	comparisons.
10913
109142013-12-16  Jakub Jelinek  <jakub@redhat.com>
10915
10916	PR libgomp/58756
10917	* testsuite/libgomp.c/pr58756.c: New test.
10918
109192013-12-12  Jakub Jelinek  <jakub@redhat.com>
10920
10921	PR libgomp/59467
10922	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10923	!$omp parallel.
10924
109252013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
10926
10927	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10928	ALWAYS_CFLAGS.
10929	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10930	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10931	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10932	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10933	Likewise.
10934
10935	* libgomp_g.h: Include <stddef.h> for size_t.
10936
10937	* libgomp.spec.in: Update comment about libgomp's dependencies.
10938	* configure.ac: Likewise.
10939	* configure: Regenerate.
10940
109412013-10-16  Tobias Burnus  <burnus@net-b.de>
10942
10943	* libgomp.texi: (Runtime Library Routines): Update references for
10944	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10945	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10946	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10947	(Environment Variables): Update references for OpenMP 4.0. Add
10948	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10949	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10950	order.
10951
109522013-10-14  Jakub Jelinek  <jakub@redhat.com>
10953
10954	* env.c (parse_bind_var): Initialize value to avoid
10955	(false positive) warning.
10956
109572013-10-12  Jakub Jelinek  <jakub@redhat.com>
10958
10959	PR libgomp/58691
10960	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10961	to check variable.
10962	(gomp_init_num_threads): Move i variable declaration into
10963	#ifdef CPU_ALLOC_SIZE block.
10964	* config/linux/affinity.c (gomp_affinity_init_level): Test
10965	gomp_places_list_len == 0 rather than gomp_places_list == 0
10966	when checking for topology reading error.
10967	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10968	* env.c (parse_affinity): Add ignore argument, if true, don't populate
10969	gomp_places_list, only parse env var and always return false.
10970	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
10971	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10972	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10973	and either of these variables were parsed correctly into a places
10974	list.
10975
109762013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10977	    Jakub Jelinek  <jakub@redhat.com>
10978
10979	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10980	of 5 loopfn matches.
10981	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10982	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10983	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10984	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10985	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10986	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10987	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10988	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10989
109902013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10991
10992	* Makefile.am (omp_lib.mod): Streamline rule.
10993	* Makefile.in: Regenerate.
10994
10995	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
10996	exceptions.
10997
10998	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10999	* testsuite/libgomp.fortran/lib1.f90: Likewise.
11000	* testsuite/libgomp.fortran/lib2.f: Likewise.
11001	* testsuite/libgomp.fortran/lib3.f: Likewise.
11002
11003	* configure.ac: Typo fix.
11004	* configure: Regenerate.
11005
11006	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
11007	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11008
11009	* omp.h.in: Don't touch the user's namespace.
11010
110112013-10-11  Jakub Jelinek  <jakub@redhat.com>
11012	    Tobias Burnus  <burnus@net-b.de>
11013	    Richard Henderson  <rth@redhat.com>
11014
11015	* target.c: New file.
11016	* Makefile.am (libgomp_la_SOURCES): Add target.c.
11017	* Makefile.in: Regenerated.
11018	* libgomp_g.h (GOMP_task): Add depend argument.
11019	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
11020	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
11021	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
11022	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
11023	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
11024	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
11025	GOMP_taskgroup_start, GOMP_taskgroup_end,
11026	GOMP_parallel_sections): New prototypes.
11027	* fortran.c (omp_is_initial_device): Add ialias_redirect.
11028	(omp_is_initial_device_): New function.
11029	(ULP, STR1, STR2, ialias_redirect): Removed.
11030	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
11031	omp_set_default_device_8_, omp_get_default_device_,
11032	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
11033	functions.
11034	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
11035	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
11036	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
11037	@@GOMP_4.0.
11038	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
11039	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
11040	omp_set_default_device, omp_set_default_device_,
11041	omp_set_default_device_8_, omp_get_default_device,
11042	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
11043	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
11044	omp_get_team_num_): Export @@OMP_4.0.
11045	* team.c (struct gomp_thread_start_data): Add place field.
11046	(gomp_thread_start): Clear thr->thread_pool and
11047	thr->task before returning.  Use gomp_team_barrier_wait_final
11048	instead of gomp_team_barrier_wait.  Initialize thr->place.
11049	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
11050	team_cancelled and task_queued_count fields.
11051	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
11052	before calling pthread_exit.
11053	(gomp_free_thread): No longer static.  Use
11054	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
11055	(gomp_team_start): Add flags argument.  Set
11056	thr->thread_pool->threads_busy to nthreads immediately after creating
11057	new pool.  Use gomp_managed_threads_lock instead of
11058	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
11059	(gomp_team_end): Use gomp_managed_threads_lock instead of
11060	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
11061	of gomp_team_barrier_wait.  If team->team_cancelled, call
11062	gomp_fini_workshare on ws chain starting at team->work_shares_to_free
11063	rather than thr->ts.work_share.
11064	(initialize_team): Don't call gomp_sem_init here.
11065	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
11066	caller.
11067	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
11068	* env.c (gomp_global_icv): Add default_device_var, target_data and
11069	bind_var initializers.
11070	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
11071	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
11072	gomp_places_list_len): New variables.
11073	(parse_bind_var, parse_one_place, parse_places_var): New functions.
11074	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
11075	sized places.
11076	(gomp_cancel_var): New global variable.
11077	(parse_int): New function.
11078	(handle_omp_display_env): New function.
11079	(initialize_env): Use it.  Initialize default_device_var.
11080	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
11081	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
11082	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
11083	been successfully parsed (and call gomp_init_affinity in that case).
11084	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11085	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11086	omp_get_team_num, omp_is_initial_device): New functions.
11087	* libgomp.h: Include stdlib.h.
11088	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
11089	Define.
11090	(struct target_mem_desc): Forward declare.
11091	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
11092	and thread_limit_var fields.
11093	(gomp_get_num_devices): New prototype.
11094	(gomp_cancel_var): New extern decl.
11095	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
11096	team_cancelled and task_queued_count fields.  Add comments about
11097	task_{,queued_,running_}count.
11098	(gomp_cancel_kind): New enum.
11099	(gomp_work_share_end_cancel): New prototype.
11100	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
11101	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
11102	and depend fields.
11103	(struct gomp_taskgroup): New type.
11104	(struct gomp_task_depend_entry,
11105	struct gomp_dependers_vec): New types.
11106	(gomp_finish_task): Free depend_hash if non-NULL.
11107	(struct gomp_team_state): Add place_partition_off
11108	and place_partition_len fields.
11109	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
11110	gomp_places_list_len): New extern decls.
11111	(struct gomp_thread): Add place field.
11112	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
11113	(gomp_init_thread_affinity): Add place argument.
11114	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
11115	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
11116	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
11117	gomp_affinity_init_level, gomp_affinity_print_place): New
11118	prototypes.
11119	(gomp_team_start): Add flags argument.
11120	(gomp_thread_limit_var, gomp_remaining_threads_count,
11121	gomp_remaining_threads_lock): Remove.
11122	(gomp_managed_threads_lock): New variable.
11123	(struct gomp_thread_pool): Add threads_busy field.
11124	(gomp_free_thread): New prototype.
11125	* task.c: Include hashtab.h.
11126	(hash_entry_type): New typedef.
11127	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
11128	(gomp_init_task): Clear dependers, depend_hash, depend_count,
11129	copy_ctors_done and taskgroup fields.
11130	(GOMP_task): Add depend argument, handle depend clauses.  If
11131	gomp_team_barrier_cancelled or if it's taskgroup has been
11132	cancelled, don't queue or start new tasks.  Set copy_ctors_done
11133	field if needed.  Initialize taskgroup field.  If copy_ctors_done
11134	and already cancelled, don't discard the task.  If taskgroup is
11135	non-NULL, enqueue the task into taskgroup queue.  Increment
11136	num_children field in taskgroup.  Increment task_queued_count.
11137	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
11138	gomp_task_run_post_remove_taskgroup): New inline functions.
11139	(gomp_task_run_post_handle_depend_hash,
11140	gomp_task_run_post_handle_dependers,
11141	gomp_task_run_post_handle_depend): New functions.
11142	(GOMP_taskwait): Use them.  If more than one new tasks
11143	have been queued, wake other threads if needed.
11144	(gomp_barrier_handle_tasks): Likewise.  If
11145	gomp_team_barrier_cancelled, don't start any new tasks, just free
11146	all tasks.
11147	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
11148	* omp_lib.f90.in
11149	(omp_proc_bind_kind, omp_proc_bind_false,
11150	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
11151	omp_proc_bind_spread): New params.
11152	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11153	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11154	omp_get_team_num, omp_is_initial_device): New interfaces.
11155	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
11156	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
11157	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
11158	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
11159	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
11160	useless use omp_lib_kinds.
11161	* omp.h.in (omp_proc_bind_t): New typedef.
11162	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11163	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11164	omp_get_team_num, omp_is_initial_device): New prototypes.
11165	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
11166	through to gomp_team_start.
11167	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
11168	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
11169	Adjust gomp_parallel_loop_start callers.
11170	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
11171	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
11172	GOMP_loop_end_cancel): New functions.
11173	(GOMP_parallel_end): Add ialias_redirect.
11174	* hashtab.h: New file.
11175	* libgomp.texi (Environment Variables): Minor cleanup,
11176	update section refs to OpenMP 4.0rc2.
11177	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
11178	environment variables.
11179	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
11180	team->work_shares_to_free to thr->ts.work_share before calling
11181	free_work_share.
11182	(gomp_work_share_end_cancel): New function.
11183	* config/linux/proc.c: Include errno.h.
11184	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
11185	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
11186	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
11187	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
11188	gomp_cpuset_size is sizeof (cpu_set_t).
11189	(gomp_init_num_threads): Initialize gomp_cpuset_size,
11190	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
11191	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
11192	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
11193	contain any logical CPUs.
11194	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
11195	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
11196	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
11197	pthread_getaffinity_np.  Check gomp_places_list instead of
11198	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
11199	* config/linux/bar.c (gomp_barrier_wait_end,
11200	gomp_barrier_wait_last): Use BAR_* defines.
11201	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
11202	from state where needed.  Set work_share_cancelled to 0 on last
11203	thread.
11204	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
11205	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
11206	functions.
11207	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
11208	Add cpusetsize argument.
11209	(gomp_cpuset_size, gomp_cpusetp): Declare.
11210	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
11211	(affinity_counter): Remove.
11212	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
11213	if CPU_ALLOC_SIZE isn't defined.
11214	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
11215	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
11216	bind current thread to the first place.
11217	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
11218	pthread_setaffinity_np to gomp_places_list[place].
11219	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
11220	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
11221	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
11222	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
11223	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
11224	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
11225	(gomp_barrier_t): Add awaited_final field.
11226	(gomp_barrier_init): Initialize awaited_final field.
11227	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
11228	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
11229	prototypes.
11230	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
11231	defines.
11232	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
11233	gomp_team_barrier_cancelled): New inline functions.
11234	(gomp_barrier_last_thread,
11235	gomp_team_barrier_set_task_pending,
11236	gomp_team_barrier_clear_task_pending,
11237	gomp_team_barrier_set_waiting_for_tasks,
11238	gomp_team_barrier_waiting_for_tasks,
11239	gomp_team_barrier_done): Use BAR_* defines.
11240	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
11241	(gomp_barrier_wait_end): Use BAR_* defines.
11242	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
11243	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
11244	Use BAR_* defines.
11245	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
11246	gomp_team_barrier_cancel): New functions.
11247	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
11248	argument.
11249	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
11250	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
11251	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
11252	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
11253	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
11254	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
11255	(gomp_barrier_t): Add cancellable field.
11256	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
11257	gomp_team_barrier_cancel): New prototypes.
11258	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
11259	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
11260	gomp_team_barrier_cancelled): New inline functions.
11261	(gomp_barrier_wait_start, gomp_barrier_last_thread,
11262	gomp_team_barrier_set_task_pending,
11263	gomp_team_barrier_clear_task_pending,
11264	gomp_team_barrier_set_waiting_for_tasks,
11265	gomp_team_barrier_waiting_for_tasks,
11266	gomp_team_barrier_done): Use BAR_* defines.
11267	* barrier.c (GOMP_barrier_cancel): New function.
11268	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
11269	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
11270	omp_proc_bind_spread): New params.
11271	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
11272	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
11273	omp_get_team_num, omp_is_initial_device): New externals.
11274	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
11275	New functions.
11276	(gomp_resolve_num_threads): Adjust for thread_limit now being in
11277	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
11278	infinity.  If not nested, just return minimum of max_num_threads
11279	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
11280	to the returned value.  Otherwise, don't update atomically
11281	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
11282	(GOMP_parallel_end): Adjust for thread_limit now being in
11283	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
11284	infinity.  Adjust threads_busy in the pool rather than
11285	gomp_remaining_threads_count.  Remember team->nthreads and call
11286	gomp_team_end before adjusting threads_busy, if not nested
11287	afterwards, just set it to 1 non-atomically.  Add ialias.
11288	(GOMP_parallel_start): Adjust gomp_team_start caller.
11289	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
11290	* testsuite/libgomp.c/affinity-1.c: New test.
11291	* testsuite/libgomp.c/atomic-15.c: New test.
11292	* testsuite/libgomp.c/atomic-16.c: New test.
11293	* testsuite/libgomp.c/atomic-17.c: New test.
11294	* testsuite/libgomp.c/cancel-for-1.c: New test.
11295	* testsuite/libgomp.c/cancel-for-2.c: New test.
11296	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
11297	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
11298	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
11299	* testsuite/libgomp.c/cancel-sections-1.c: New test.
11300	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
11301	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
11302	* testsuite/libgomp.c/depend-1.c: New test.
11303	* testsuite/libgomp.c/depend-2.c: New test.
11304	* testsuite/libgomp.c/depend-3.c: New test.
11305	* testsuite/libgomp.c/depend-4.c: New test.
11306	* testsuite/libgomp.c/for-1.c: New test.
11307	* testsuite/libgomp.c/for-1.h: New file.
11308	* testsuite/libgomp.c/for-2.c: New test.
11309	* testsuite/libgomp.c/for-2.h: New file.
11310	* testsuite/libgomp.c/for-3.c: New test.
11311	* testsuite/libgomp.c/pr58392.c: New test.
11312	* testsuite/libgomp.c/simd-1.c: New test.
11313	* testsuite/libgomp.c/simd-2.c: New test.
11314	* testsuite/libgomp.c/simd-3.c: New test.
11315	* testsuite/libgomp.c/simd-4.c: New test.
11316	* testsuite/libgomp.c/simd-5.c: New test.
11317	* testsuite/libgomp.c/simd-6.c: New test.
11318	* testsuite/libgomp.c/target-1.c: New test.
11319	* testsuite/libgomp.c/target-2.c: New test.
11320	* testsuite/libgomp.c/target-3.c: New test.
11321	* testsuite/libgomp.c/target-4.c: New test.
11322	* testsuite/libgomp.c/target-5.c: New test.
11323	* testsuite/libgomp.c/target-6.c: New test.
11324	* testsuite/libgomp.c/target-7.c: New test.
11325	* testsuite/libgomp.c/taskgroup-1.c: New test.
11326	* testsuite/libgomp.c/thread-limit-1.c: New test.
11327	* testsuite/libgomp.c/thread-limit-2.c: New test.
11328	* testsuite/libgomp.c/thread-limit-3.c: New test.
11329	* testsuite/libgomp.c/udr-1.c: New test.
11330	* testsuite/libgomp.c/udr-2.c: New test.
11331	* testsuite/libgomp.c/udr-3.c: New test.
11332	* testsuite/libgomp.c++/affinity-1.C: New test.
11333	* testsuite/libgomp.c++/atomic-10.C: New test.
11334	* testsuite/libgomp.c++/atomic-11.C: New test.
11335	* testsuite/libgomp.c++/atomic-12.C: New test.
11336	* testsuite/libgomp.c++/atomic-13.C: New test.
11337	* testsuite/libgomp.c++/atomic-14.C: New test.
11338	* testsuite/libgomp.c++/atomic-15.C: New test.
11339	* testsuite/libgomp.c++/cancel-for-1.C: New test.
11340	* testsuite/libgomp.c++/cancel-for-2.C: New test.
11341	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
11342	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
11343	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
11344	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
11345	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
11346	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
11347	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
11348	* testsuite/libgomp.c++/cancel-test.h: New file.
11349	* testsuite/libgomp.c++/for-9.C: New test.
11350	* testsuite/libgomp.c++/for-10.C: New test.
11351	* testsuite/libgomp.c++/for-11.C: New test.
11352	* testsuite/libgomp.c++/simd-1.C: New test.
11353	* testsuite/libgomp.c++/simd-2.C: New test.
11354	* testsuite/libgomp.c++/simd-3.C: New test.
11355	* testsuite/libgomp.c++/simd-4.C: New test.
11356	* testsuite/libgomp.c++/simd-5.C: New test.
11357	* testsuite/libgomp.c++/simd-6.C: New test.
11358	* testsuite/libgomp.c++/simd-7.C: New test.
11359	* testsuite/libgomp.c++/simd-8.C: New test.
11360	* testsuite/libgomp.c++/target-1.C: New test.
11361	* testsuite/libgomp.c++/target-2.C: New test.
11362	* testsuite/libgomp.c++/target-2-aux.cc: New file.
11363	* testsuite/libgomp.c++/target-3.C: New test.
11364	* testsuite/libgomp.c++/taskgroup-1.C: New test.
11365	* testsuite/libgomp.c++/udr-1.C: New test.
11366	* testsuite/libgomp.c++/udr-2.C: New test.
11367	* testsuite/libgomp.c++/udr-3.C: New test.
11368	* testsuite/libgomp.c++/udr-4.C: New test.
11369	* testsuite/libgomp.c++/udr-5.C: New test.
11370	* testsuite/libgomp.c++/udr-6.C: New test.
11371	* testsuite/libgomp.c++/udr-7.C: New test.
11372	* testsuite/libgomp.c++/udr-8.C: New test.
11373	* testsuite/libgomp.c++/udr-9.C: New test.
11374
113752013-09-20  Jakub Jelinek  <jakub@redhat.com>
11376
11377	PR testsuite/57605
11378	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
11379	ALWAYS_CFLAGS.
11380
113812013-09-20  Alan Modra  <amodra@gmail.com>
11382
11383	* configure: Regenerate.
11384
113852013-09-19  Jakub Jelinek  <jakub@redhat.com>
11386
11387	* testsuite/libgomp.c/sections-2.c: New test.
11388
113892013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
11390
11391	* testsuite/libgomp.fortran/strassen.f90:
11392	Add dg-skip-if aarch64_tiny.
11393
113942013-06-20  Iain Sandoe  <iain@codesourcery.com>
11395	    Cesar Philippidis  <cesar@codesourcery.com>
11396
11397	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
11398	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
11399	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
11400	* testsuite/libgomp.fortran/fortran.exp: Likewise.
11401	* testsuite/libgomp.graphite/graphite.exp: Likewise.
11402	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
11403	Use dg-runtest rather than gfortran-dg-runtest.
11404
114052013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
11406
11407	* testsuite/libgomp.c/icv-2.c: Extend current handling of
11408	Linux-based x86 systems to cover all GNU systems.
11409	* testsuite/libgomp.c/lock-3.c: Likewise.
11410	* testsuite/libgomp.c/pr48591.c: Likewise.
11411
114122013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
11413
11414	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
11415	GNU/Hurd, as done for Linux-based systems.
11416
11417	* config/posix/ptrlock.h: Fix comment.
11418
114192013-05-27  Tobias Burnus  <burnus@net-b.de>
11420
11421	PR fortran/57423
11422	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
11423	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
11424	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
11425	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
11426	omp_destroy_nest_lock): Correct arguments to match the one in
11427	the OpenMP spec.
11428	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
11429	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
11430	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
11431	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
11432
114332013-05-16  Jakub Jelinek  <jakub@redhat.com>
11434
11435	* testsuite/libgomp.c/loop-13.c: New test.
11436	* testsuite/libgomp.c/loop-14.c: New test.
11437	* testsuite/libgomp.c/loop-15.c: New test.
11438	* testsuite/libgomp.c++/loop-13.C: New test.
11439	* testsuite/libgomp.c++/loop-14.C: New test.
11440	* testsuite/libgomp.c++/loop-15.C: New test.
11441
114422013-02-06  Jakub Jelinek  <jakub@redhat.com>
11443
11444	PR middle-end/56217
11445	* testsuite/libgomp.c++/pr56217.C: New test.
11446
114472013-02-01  Alan Modra  <amodra@gmail.com>
11448
11449	* task.c (GOMP_task, GOMP_taskwait): Comment.
11450
114512013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
11452	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
11453
11454	PR libgomp/55561
11455	* config/linux/wait.h (do_spin): Use atomic load for addr.
11456	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
11457	for intptr and ptrlock.
11458	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
11459	for ptrlock.
11460
114612013-01-22  Alan Modra  <amodra@gmail.com>
11462
11463	PR libgomp/51376
11464	PR libgomp/56073
11465	* task.c (GOMP_task): Revert 2011-12-09 change.
11466	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
11467	barrier to read task->children..
11468	(gomp_barrier_handle_tasks): ..and matching atomic store with
11469	release barrier here when setting parent->children to NULL.
11470
114712013-01-16  Jakub Jelinek  <jakub@redhat.com>
11472	    Tobias Burnus  <burnus@net-b.de>
11473
11474	PR driver/55884
11475	* testsuite/libgomp.fortran/fortran.exp: Use
11476	-fintrinsic-modules-path= instead of
11477	-fintrinsic-modules-path.
11478
114792013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
11480
11481	Update copyright years.
11482
114832012-12-19  Tobias Burnus  <burnus@net-b.de>
11484
11485	* testsuite/libgomp.fortran/fortran.exp: Set
11486	-fintrinsic-modules-path.
11487
114882012-12-19  Tobias Burnus  <burnus@net-b.de>
11489
11490	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
11491	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
11492
114932012-11-21  Jakub Jelinek  <jakub@redhat.com>
11494
11495	PR libgomp/55411
11496	* team.c (gomp_free_thread): Decrease gomp_managed_threads
11497	if pool had any threads_used.
11498
114992012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
11500
11501	* testsuite/libgomp.c++/pr24455.C: Use
11502	-Wl,-undefined,dynamic_lookup on darwin.
11503
115042012-11-07  David Edelsohn  <dje.gcc@gmail.com>
11505
11506	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
11507
115082012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
11509
11510	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
11511
115122012-10-23  Ian Bolton  <ian.bolton@arm.com>
11513	    Jim MacArthur  <jim.macarthur@arm.com>
11514	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
11515	    Nigel Stephens  <nigel.stephens@arm.com>
11516	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
11517	    Richard Earnshaw  <rearnsha@arm.com>
11518	    Sofiane Naci  <sofiane.naci@arm.com>
11519	    Stephen Thomas  <stephen.thomas@arm.com>
11520	    Tejas Belagod  <tejas.belagod@arm.com>
11521	    Yufeng Zhang  <yufeng.zhang@arm.com>
11522
11523	* configure.tgt: Add AArch64.
11524
115252012-10-04  Jason Merrill  <jason@redhat.com>
11526
11527	* testsuite/libgomp.c++/tls-init1.C: New.
11528
115292012-09-14  David Edelsohn  <dje.gcc@gmail.com>
11530
11531	* configure: Regenerated.
11532
115332012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
11534
11535	* config/linux/mips/futex.h (sys_futex0): Change to static
11536	function with noinline, nomips16 attributes under MIPS16. Adjust
11537	asm statement to place 'li v0,SYS_futex' immediately before
11538	syscall insn.
11539
115402012-07-04  Sandra Loosemore <sandra@codesourcery.com>
11541
11542	* libgomp.texi (Library Index): Renamed from "Index" to prevent
11543	conflict with index.html on case-insensitive file systems.
11544
115452012-07-03  Uros Bizjak  <ubizjak@gmail.com>
11546
11547	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
11548	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
11549
115502012-07-02  Richard Guenther  <rguenther@suse.de>
11551	    Michael Matz  <matz@suse.de>
11552	    Tobias Grosser <tobias@grosser.es>
11553	    Sebastian Pop <sebpop@gmail.com>
11554
11555	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
11556	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11557	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11558	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11559
115602012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
11561
11562	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
11563
115642012-06-22  Richard Guenther  <rguenther@suse.de>
11565
11566	Merge from graphite branch
11567	2012-01-13  Tobias Grosser  <tobias@grosser.es>
11568
11569	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11570	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11571
115722012-06-07  Jakub Jelinek  <jakub@redhat.com>
11573
11574	PR middle-end/53580
11575	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
11576	use GOMP_barrier () call instead.
11577	* testsuite/libgomp.c/pr26943-3.c: Likewise.
11578	* testsuite/libgomp.c/pr26943-4.c: Likewise.
11579	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
11580	call GOMP_barrier instead.
11581	* testsuite/libgomp.fortran/vla5.f90: Likewise.
11582
115832012-06-06  Jakub Jelinek  <jakub@redhat.com>
11584
11585	PR libgomp/52993
11586	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
11587	argument to memset call.
11588
115892012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
11590
11591	* configure: Regenerated.
11592
115932012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
11594
11595	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
11596
115972012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
11598
11599	PR bootstrap/52812
11600	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
11601
116022012-03-22  Jakub Jelinek  <jakub@redhat.com>
11603
11604	PR middle-end/52547
11605	* testsuite/libgomp.c/pr52547.c: New test.
11606
116072012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
11608
11609	* testsuite/lib/libgomp.exp: load fortran-modules.exp
11610
116112012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11612
11613	* configure.tgt (mips-sgi-irix6*): Remove.
11614
116152012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11616
11617	* configure.tgt (alpha*-dec-osf*): Remove.
11618
11619	* config/osf/sem.h: Remove.
11620	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
11621
116222012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
11623
11624	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
11625
116262012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11627
11628	PR libstdc++/52188
11629	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
11630	Remove ENABLE_SYMVERS_SOL2.
11631	* configure: Regenerate.
11632	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
11633	(PREPROCESS): New variable.
11634	(libgomp.ver): New target.
11635	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
11636	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
11637	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
11638	Use libgomp.ver.
11639	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
11640	* Makefile.in: Regenerate.
11641
116422012-02-14  Walter Lee  <walt@tilera.com>
11643
11644	* configure.tgt: Handle tilegx and tilepro.
11645	* config/linux/tile/futex.h: New file.
11646
116472012-02-08  Richard Guenther  <rguenther@suse.de>
11648
11649	PR tree-optimization/46886
11650	* testsuite/libgomp.c/pr46886.c: New testcase.
11651
116522012-01-25  Matthias Klose  <doko@ubuntu.com>
11653
11654	* config/linux/arm: Remove empty directory.
11655	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
11656
116572011-12-09  Alan Modra  <amodra@gmail.com>
11658
11659	PR libgomp/51376
11660	* task.c (GOMP_taskwait): Don't access task->children outside of
11661	task_lock mutex region.
11662	(GOMP_task): Likewise.
11663
116642011-12-06  Jakub Jelinek  <jakub@redhat.com>
11665
11666	PR libgomp/51132
11667	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
11668	to file scope.
11669	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11670	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11671	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11672	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11673	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11674
116752011-12-02  Alan Modra  <amodra@gmail.com>
11676
11677	* config/linux/affinity.c: Use atomic rather than sync builtin.
11678	* config/linux/lock.c: Likewise.
11679	* config/linux/ptrlock.h: Likewise.
11680	* config/linux/ptrlock.c: Likewise.
11681	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
11682	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
11683	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
11684	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
11685	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
11686	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
11687	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
11688	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
11689	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
11690	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
11691
116922011-11-30  Alan Modra  <amodra@gmail.com>
11693
11694	PR libgomp/51298
11695	* config/linux/bar.h: Use atomic rather than sync builtins.
11696	* config/linux/bar.c: Likewise.  Add missing acquire
11697	synchronisation on generation field.
11698	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
11699	double unlock.
11700
117012011-11-30  Alan Modra  <amodra@gmail.com>
11702
11703	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
11704	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
11705	* config/linux/mutex.h: Use atomic rather than sync builtins.
11706	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
11707	* config/linux/omp-lock.h: Comment fix.
11708	* config/linux/arm/mutex.h: Delete.
11709	* config/linux/powerpc/mutex.h: Delete.
11710	* config/linux/ia64/mutex.h: Delete.
11711	* config/linux/mips/mutex.h: Delete.
11712
117132011-11-30  Alan Modra  <amodra@gmail.com>
11714
11715	PR libgomp/51249
11716	* config/linux/sem.h: Rewrite.
11717	* config/linux/sem.c: Rewrite.
11718
117192011-11-28  Richard Henderson  <rth@redhat.com>
11720
11721	* libgomp.h (enum memmodel): New.
11722
117232011-11-21  Andreas Tobler  <andreast@fgznet.ch>
11724
11725	* configure: Regenerate.
11726
117272011-10-10  Matthias Klose  <doko@ubuntu.com>
11728
11729	* config/posix95: Remove empty directory.
11730
117312011-08-26  Jakub Jelinek  <jakub@redhat.com>
11732
11733	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
11734
117352011-08-19  Jakub Jelinek  <jakub@redhat.com>
11736
11737	PR fortran/49792
11738	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
11739	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
11740
117412011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11742
11743	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
11744
117452011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11746
11747	PR libgomp/49965
11748	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
11749
117502011-08-03  Uros Bizjak  <ubizjak@gmail.com>
11751
11752	* config/linux/proc.h: New.
11753	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
11754	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
11755	(gomp_init_num_threads): Update call to cpuset_popcount.
11756	(get_num_procs): Ditto.
11757	* config/linux/affinity.c (gomp_init_affinity): Call
11758	gomp_cpuset_popcount.
11759
117602011-08-02  Jakub Jelinek  <jakub@redhat.com>
11761
11762	PR fortran/42041
11763	PR fortran/46752
11764	* omp.h.in (omp_in_final): New prototype.
11765	* omp_lib.f90.in (omp_in_final): New interface.
11766	(omp_integer_kind, omp_logical_kind): Remove
11767	and replace all its uses in the module with 4.
11768	(openmp_version): Change to 201107.
11769	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
11770	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
11771	kind for the parameters.
11772	(omp_in_final): New external.
11773	(openmp_version): Change to 201107.
11774	* task.c (omp_in_final): New function.
11775	(gomp_init_task): Initialize final_task.
11776	(GOMP_task): Remove unused attribute from flags.  Handle final
11777	tasks.
11778	(GOMP_taskyield): New function.
11779	(omp_in_final): Return true if if (false) or final (true) task
11780	or descendant of final (true).
11781	* fortran.c (omp_in_final_): New function.
11782	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
11783	(GOMP_3.0): Export GOMP_taskyield.
11784	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
11785	variables.
11786	(parse_unsigned_long_list): New function.
11787	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
11788	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
11789	even if parse_affinity returned false.
11790	* config/linux/affinity.c (gomp_init_affinity): Handle
11791	gomp_cpu_affinity_len == 0.
11792	* libgomp_g.h (GOMP_taskyield): New prototype.
11793	* libgomp.h (struct gomp_task): Add final_task field.
11794	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
11795	* team.c (gomp_team_start): Override new task's nthreads_var icv
11796	if list form OMP_NUM_THREADS has been used and it has value for
11797	the new nesting level.
11798
11799	* testsuite/libgomp.c/atomic-11.c: New test.
11800	* testsuite/libgomp.c/atomic-12.c: New test.
11801	* testsuite/libgomp.c/atomic-13.c: New test.
11802	* testsuite/libgomp.c/atomic-14.c: New test.
11803	* testsuite/libgomp.c/reduction-6.c: New test.
11804	* testsuite/libgomp.c/task-5.c: New test.
11805	* testsuite/libgomp.c++/atomic-2.C: New test.
11806	* testsuite/libgomp.c++/atomic-3.C: New test.
11807	* testsuite/libgomp.c++/atomic-4.C: New test.
11808	* testsuite/libgomp.c++/atomic-5.C: New test.
11809	* testsuite/libgomp.c++/atomic-6.C: New test.
11810	* testsuite/libgomp.c++/atomic-7.C: New test.
11811	* testsuite/libgomp.c++/atomic-8.C: New test.
11812	* testsuite/libgomp.c++/atomic-9.C: New test.
11813	* testsuite/libgomp.c++/task-8.C: New test.
11814	* testsuite/libgomp.c++/reduction-4.C: New test.
11815	* testsuite/libgomp.fortran/allocatable7.f90: New test.
11816	* testsuite/libgomp.fortran/allocatable8.f90: New test.
11817	* testsuite/libgomp.fortran/crayptr3.f90: New test.
11818	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
11819	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
11820	* testsuite/libgomp.fortran/pointer1.f90: New test.
11821	* testsuite/libgomp.fortran/pointer2.f90: New test.
11822	* testsuite/libgomp.fortran/task4.f90: New test.
11823
118242011-08-02  Tobias Burnus  <burnus@net-b.de>
11825
11826	* libgomp.texi: Update OpenMP spec references to 3.1.
11827	(omp_in_final,OMP_PROC_BIND): New sections.
11828	(OMP_NUM_THREADS): Document that the value can be now a list.
11829	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
11830
118312011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
11832
11833	* config/linux/x86/futex.h: Check __x86_64__ instead of
11834	__LP64__.
11835
118362011-07-29  Jakub Jelinek  <jakub@redhat.com>
11837
11838	PR middle-end/49897
11839	PR middle-end/49898
11840	* testsuite/libgomp.c/pr49897-1.c: New test.
11841	* testsuite/libgomp.c/pr49897-2.c: New test.
11842	* testsuite/libgomp.c/pr49898-1.c: New test.
11843	* testsuite/libgomp.c/pr49898-2.c: New test.
11844
118452011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
11846
11847	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
11848	for ia32 instead of ilp32.
11849
11850	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
11851	* testsuite/libgomp.c/atomic-6.c: Likewise.
11852
118532011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
11854
11855	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
11856	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
11857
118582011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11859
11860	PR libgomp/45351
11861	* config/osf/sem.h: New file.
11862	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
11863
118642011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11865
11866	PR target/49541
11867	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
11868	ldflags.
11869
118702011-07-15  Jakub Jelinek  <jakub@redhat.com>
11871
11872	* config/linux/wait.h (do_spin): New inline, largely copied
11873	from do_wait, just don't do futex_wait here, instead return true if
11874	it should be done.
11875	(do_wait): Implement using do_spin.
11876	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
11877	to prototype.
11878	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11879	__sync_bool_compare_and_swap, pass the oldval to
11880	gomp_mutex_lock_slow.
11881	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
11882	If all mutex contenders are just spinning and not sleeping, don't
11883	change state to 2 unnecessarily.  Optimize the loop when state has
11884	already become 2 to use just one atomic operation per loop instead
11885	of two.
11886	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
11887	to prototype.
11888	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11889	__sync_bool_compare_and_swap, pass the oldval to
11890	gomp_mutex_lock_slow.
11891
118922011-06-22  Jakub Jelinek  <jakub@redhat.com>
11893
11894	PR libgomp/49490
11895	* iter.c (gomp_iter_static_next): For chunk size 0
11896	only use n ceil/ nthreads size for the first
11897	n % nthreads threads in the team instead of
11898	all threads except for the last few ones which
11899	get less work or none at all.
11900	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
11901	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
11902	chunk argument, set run_sched_modifier to 0 for static
11903	resp. 1 for other kinds.  If chunk argument is 0
11904	and not static, set value to 1.
11905
119062011-05-19  Jakub Jelinek  <jakub@redhat.com>
11907
11908	PR c++/49043
11909	* testsuite/libgomp.c++/pr49043.C: New test.
11910
11911	PR c++/48869
11912	* testsuite/libgomp.c++/pr48869.C: New test.
11913
119142011-05-06  Jakub Jelinek  <jakub@redhat.com>
11915
11916	PR fortran/48894
11917	* fortran.c: Include limits.h.
11918	(TO_INT): Define.
11919	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11920	*set.
11921	(omp_set_num_threads_8_, omp_set_schedule_8_,
11922	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11923	omp_get_team_size_8_): Use TO_INT macro.
11924	* testsuite/libgomp.fortran/pr48894.f90: New test.
11925
119262011-04-13  Jakub Jelinek  <jakub@redhat.com>
11927
11928	PR middle-end/48591
11929	* testsuite/libgomp.c/pr48591.c: New test.
11930
119312011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11932
11933	PR bootstrap/48135
11934	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
11935	* configure: Regenerate.
11936
119372011-02-27  Jakub Jelinek  <jakub@redhat.com>
11938
11939	PR fortran/47886
11940	* testsuite/libgomp.fortran/task3.f90: New test.
11941
119422011-02-24  Tobias Burnus  <burnus@net-b.de>
11943
11944	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11945
119462011-02-23  Jakub Jelinek  <jakub@redhat.com>
11947
11948	PR libgomp/47854
11949	* libgomp.texi (omp_get_wtime): Don't say time in the past
11950	must be Unix Epoch.
11951
119522011-02-18  Jakub Jelinek  <jakub@redhat.com>
11953
11954	PR libgomp/47804
11955	* testsuite/libgomp.fortran/fortran.exp: Check for both
11956	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
11957	but $blddir != "", still append ${blddir}/${lang_library_path}
11958	to ld_library_path.
11959
119602011-02-16  Tobias Burnus  <burnus@net-b.de>
11961
11962	PR libgomp/47758
11963	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
11964	of libquadmath.a before adding its libpath to ldflags.
11965
119662011-02-14  Jakub Jelinek  <jakub@redhat.com>
11967
11968	PR libgomp/47731
11969	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11970	to FUTEX_WAIT futex syscall.
11971	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
11972
119732011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11974
11975	* configure: Regenerate.
11976
119772011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
11978
11979	PR libstdc++/36104
11980	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11981
119822011-01-16  Gerald Pfeifer
11983
11984	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11985
119862010-12-14  Jakub Jelinek  <jakub@redhat.com>
11987
11988	PR fortran/46874
11989	* libgomp.fortran/allocatable6.f90: New test.
11990
119912010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11992
11993	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11994	* configure: Regenerate.
11995
119962010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
11997
11998	PR target/40125
11999	PR lto/46695
12000	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
12001	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
12002	* aclocal.m4: Regenerate.
12003	* configure: Regenerate.
12004	* Makefile.in: Regenerate.
12005	* testsuite/Makefile.in: Regenerate.
12006
120072010-12-02  Jakub Jelinek  <jakub@redhat.com>
12008
12009	PR fortran/46753
12010	* libgomp.fortran/pr46753.f90: New test.
12011
12012	PR libgomp/43706
12013	* env.c (initialize_env): Default to spin count 300000
12014	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
12015	is specified.
12016
12017	PR libgomp/45240
12018	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
12019	at the end if sync builtins aren't supported.
12020
120212010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12022
12023	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
12024
120252010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12026
12027	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
12028
120292010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
12030
12031	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
12032
120332010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12034	    Tobias Burnus  <burnus@net-b.de>
12035
12036	PR fortran/32049
12037	* configure.ac:
12038	* configure: Regenerate.
12039
120402010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
12041
12042	* config/linux/futex.h: New.
12043	* config/linux/arm/mutex.h: New.
12044	* configure.tgt (arm*-*-linux*): Add config path.
12045
120462010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
12047
12048	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
12049
120502010-09-23  Tobias Burnus  <burnus@net-b.de>
12051
12052	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
12053	Change Fortran datatype to LOGICAL.
12054	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
12055	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
12056
120572010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12058
12059	* configure: Regenerate.
12060
120612010-07-26  Jakub Jelinek  <jakub@redhat.com>
12062
12063	* libgomp.texi: Add function keyword to a couple of Fortran
12064	interfaces, use integer instead of int for Fortran.
12065
120662010-07-26  Aldy Hernandez  <aldyh@redhat.com>
12067
12068	* libgomp.texi: Fix spelling and pasto problems throughout.
12069	Adjust prototypes to match code.
12070
120712010-07-24  Tobias Burnus  <burnus@net-b.de>
12072
12073	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
12074	silence -fwhole-file warning.
12075
120762010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12077
12078	* configure.tgt (*-*-solaris2.[56]*): Removed.
12079
120802010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12081
12082	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
12083	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
12084	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
12085	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
12086	targetting solaris2*.
12087	* configure: Regenerate.
12088	* config.h.in: Regenerate.
12089
12090	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
12091	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
12092	Add libgomp_version_dep.
12093	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
12094	versioning.
12095	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
12096	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
12097	* Makefile.in: Regenerate.
12098
12099	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
12100	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
12101	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
12102	to common block, protected by
12103	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
12104
121052010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
12106
12107	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
12108
121092010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
12110
12111	PR bootstrap/43170
12112	* configure: Regenerate.
12113
121142010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12115
12116	PR other/43620
12117	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
12118	* configure: Regenerate.
12119	* Makefile.in: Regenerate.
12120	* testsuite/Makefile.in: Regenerate.
12121
121222010-04-26  Jakub Jelinek  <jakub@redhat.com>
12123
12124	PR c/43893
12125	* testsuite/libgomp.c/pr43893.c: New test.
12126	* testsuite/libgomp.c++/pr43893.C: New test.
12127
121282010-04-21  Jakub Jelinek  <jakub@redhat.com>
12129
12130	PR middle-end/43570
12131	* testsuite/libgomp.fortran/vla8.f90: New test.
12132
121332010-04-20  Jakub Jelinek  <jakub@redhat.com>
12134
12135	PR libgomp/43706
12136	* config/linux/affinity.c (gomp_init_affinity): Decrease
12137	gomp_available_cpus if affinity mask confines the process to fewer
12138	CPUs.
12139	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
12140	non-NULL, just return gomp_available_cpus.
12141
12142	PR libgomp/43569
12143	* sections.c (gomp_sections_init): Initialize ws->mode.
12144
121452010-04-14  Uros Bizjak  <ubizjak@gmail.com>
12146
12147	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
12148	not unused bar variable.
12149	* configure: Regenerate.
12150
121512010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12152
12153	* Makefile.in: Regenerate.
12154	* aclocal.m4: Regenerate.
12155	* testsuite/Makefile.in: Regenerate.
12156
121572010-03-22  Jakub Jelinek  <jakub@redhat.com>
12158
12159	PR libgomp/42942
12160	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
12161	(initialize_env): Adjust callers.
12162	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
12163	when the argument is 0.
12164
12165	* testsuite/libgomp.c/pr42942.c: New test.
12166
121672010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
12168
12169	PR middle-end/42644
12170	PR middle-end/42130
12171	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
12172	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
12173
121742010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12175
12176	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
12177	* testsuite/libgomp.c++/task-6.C: Likewise.
12178
121792010-01-28  Steve Ellcey  <sje@cup.hp.com>
12180
12181	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
12182
121832010-01-26  Paolo Bonzini  <bonzini@gnu.org>
12184
12185	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
12186	* configure: Regenerate.
12187
121882010-01-26  Jakub Jelinek  <jakub@redhat.com>
12189
12190	PR fortran/42866
12191	* testsuite/libgomp.fortran/allocatable5.f90: New test.
12192
121932010-01-20  Paolo Bonzini  <bonzini@gnu.org>
12194
12195	* configure.ac: Test for executability of GFORTRAN.
12196	* configure: Regenerate.
12197
121982010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12199
12200	* configure: Regenerate.
12201
122022010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
12203
12204	PR libgomp/42602
12205	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
12206
122072010-01-03  Richard Guenther  <rguenther@suse.de>
12208
12209	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
12210
122112009-12-23  Sebastian Pop  <sebpop@gmail.com>
12212
12213	* testsuite/libgomp.graphite/pr4118.c: New.
12214
122152009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
12216
12217	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
12218	for darwin, protect the test with require-effective-target tls_runtime.
12219	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
12220
122212009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
12222
12223	PR target/41605
12224	* testsuite/lib/libgomp.exp: Provide -B options to allow for
12225	link spec %s substitutions for static libraries.
12226
122272009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
12228
12229	PR testsuite/42135
12230	* libgomp.graphite/force-parallel-2.c: Reduce array size.
12231
122322009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12233
12234	* Makefile.in: Regenerate.
12235	* configure: Regenerate.
12236	* testsuite/Makefile.in: Regenerate.
12237
122382009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
12239
12240	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
12241	settings for LC_ALL and LANG.
12242
122432009-11-25  Jakub Jelinek  <jakub@redhat.com>
12244
12245	PR fortran/42162
12246	* testsuite/libgomp.fortran/pr42162.f90: New test.
12247
122482009-11-13  Jakub Jelinek  <jakub@redhat.com>
12249
12250	PR middle-end/42029
12251	* testsuite/libgomp.c/pr42029.c: New test.
12252
122532009-10-26  Jakub Jelinek  <jakub@redhat.com>
12254
12255	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
12256	*s.  Accept ld version without text in ()s.
12257	* configure: Regenerated.
12258
122592009-10-22  Razya Ladelsky  <razya@il.ibm.com>
12260
12261	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
12262
122632009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12264
12265	PR libgomp/41418
12266	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
12267	or a hyphen (happens with fortran language disabled).
12268	* configure: Regenerate.
12269
122702009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12271
12272	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
12273	use sed script portable to Solaris /bin/sed for extracting ld
12274	version.
12275	* configure: Regenerate.
12276
122772009-09-17  Alexander Monakov  <amonakov@ispras.ru>
12278
12279	* testsuite/libgomp.graphite/bounds.c: New test.
12280
122812009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12282
12283	* Makefile.am (libgomp_la_LINK): New.
12284	* Makefile.in: Regenerate.
12285
122862009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12287
12288	* configure.ac (AC_PREREQ): Bump to 2.64.
12289
122902009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12291
12292	* Makefile.am (install-html, install-pdf): Remove.
12293	* Makefile.in: Regenerate.
12294
12295	* Makefile.in: Regenerate.
12296	* aclocal.m4: Regenerate.
12297	* config.h.in: Regenerate.
12298	* configure: Regenerate.
12299	* testsuite/Makefile.in: Regenerate.
12300
123012009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12302
12303	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
12304	* Makefile.in: Regenerate.
12305
123062009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
12307
12308	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
12309	* Makefile.in: Regenerate.
12310
123112009-08-19  Tobias Burnus  <burnus@net-b.de>
12312
12313	PR fortran/41102
12314	omp_lib.h.in: Fix -std=f95 errors.
12315
123162009-08-14  David Edelsohn  <edelsohn@gnu.org>
12317
12318	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
12319	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
12320	* testsuite/libgomp.graphite/graphite.exp: New.
12321
123222009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
12323
12324	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
12325	only build.
12326
123272009-08-04  David Daney  <ddaney@caviumnetworks.com>
12328
12329	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
12330	needed memory barrier semantics.
12331	* config/linux/mips/mutex.h: New file.
12332
123332009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12334
12335	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
12336
123372009-07-16  Joseph Myers  <joseph@codesourcery.com>
12338
12339	* configure: Regenerate.
12340
123412009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
12342
12343	PR testsuite/40699
12344	PR testsuite/40707
12345	PR testsuite/40709
12346	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
12347	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
12348	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
12349
123502009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
12351
12352	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
12353	options when choosing a multilib.
12354
123552009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
12356
12357	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
12358	ld_library_path.  Use add_path.  Add just find_libgcc_s to
12359	ld_library_path, not every libgcc multilib directory.
12360	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
12361	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
12362	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
12363	Use add_path.
12364	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
12365
123662009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
12367
12368	* Makefile.am (LTLDFLAGS): Define.
12369	(LINK): Define.
12370	* Makefile.in: Regenerate.
12371
123722009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
12373
12374	PR fortran/39718
12375	* testsuite/libgomp.fortran/fortran.exp: Don't link with
12376	libgfortranbegin, check existence of libgfortran.a instead of
12377	libgfortranbegin.a.
12378
123792009-05-20  Jakub Jelinek  <jakub@redhat.com>
12380
12381	PR libgomp/40174
12382	* team.c (gomp_thread_start): Destroy thr->release semaphore.
12383	(gomp_free_pool_helper): Likewise.
12384
123852009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
12386	    Jakub Jelinek  <jakub@redhat.com>
12387
12388	PR fortran/35423
12389	* testsuite/libgomp.fortran/workshare2.f90: New test.
12390
123912009-04-09  Nick Clifton  <nickc@redhat.com>
12392
12393	* iter.c: Change copyright header to refer to version 3 of the
12394	GNU General Public License with version 3.1 of the GCC Runtime
12395	Library Exception and to point readers at the COPYING3 and
12396	COPYING3.RUNTIME files and the FSF's license web page.
12397	* alloc.c: Likewise.
12398	* barrier.c: Likewise.
12399	* config/bsd/proc.c: Likewise.
12400	* config/linux/affinity.c: Likewise.
12401	* config/linux/alpha/futex.h: Likewise.
12402	* config/linux/bar.c: Likewise.
12403	* config/linux/bar.h: Likewise.
12404	* config/linux/ia64/futex.h: Likewise.
12405	* config/linux/ia64/mutex.h: Likewise.
12406	* config/linux/lock.c: Likewise.
12407	* config/linux/mips/futex.h: Likewise.
12408	* config/linux/mutex.c: Likewise.
12409	* config/linux/mutex.h: Likewise.
12410	* config/linux/powerpc/futex.h: Likewise.
12411	* config/linux/proc.c: Likewise.
12412	* config/linux/ptrlock.c: Likewise.
12413	* config/linux/ptrlock.h: Likewise.
12414	* config/linux/s390/futex.h: Likewise.
12415	* config/linux/sem.c: Likewise.
12416	* config/linux/sem.h: Likewise.
12417	* config/linux/sparc/futex.h: Likewise.
12418	* config/linux/wait.h: Likewise.
12419	* config/linux/x86/futex.h: Likewise.
12420	* config/mingw32/proc.c: Likewise.
12421	* config/mingw32/time.c: Likewise.
12422	* config/posix/affinity.c: Likewise.
12423	* config/posix/bar.c: Likewise.
12424	* config/posix/bar.h: Likewise.
12425	* config/posix/lock.c: Likewise.
12426	* config/posix/mutex.h: Likewise.
12427	* config/posix/proc.c: Likewise.
12428	* config/posix/ptrlock.h: Likewise.
12429	* config/posix/sem.c: Likewise.
12430	* config/posix/sem.h: Likewise.
12431	* config/posix/time.c: Likewise.
12432	* config/posix95/lock.c: Likewise.
12433	* critical.c: Likewise.
12434	* env.c: Likewise.
12435	* error.c: Likewise.
12436	* fortran.c: Likewise.
12437	* iter_ull.c: Likewise.
12438	* libgomp.h: Likewise.
12439	* libgomp_f.h.in: Likewise.
12440	* libgomp_g.h: Likewise.
12441	* loop.c: Likewise.
12442	* loop_ull.c: Likewise.
12443	* omp.h.in: Likewise.
12444	* omp_lib.f90.in: Likewise.
12445	* omp_lib.h.in: Likewise.
12446	* ordered.c: Likewise.
12447	* parallel.c: Likewise.
12448	* sections.c: Likewise.
12449	* single.c: Likewise.
12450	* task.c: Likewise.
12451	* team.c: Likewise.
12452	* work.c: Likewise.
12453
124542009-04-09  Jakub Jelinek  <jakub@redhat.com>
12455
12456	* testsuite/config/default.exp: Change copyright header to refer to
12457	version 3 of the GNU General Public License and to point readers
12458	at the COPYING3 file and the FSF's license web page.
12459
124602009-04-08  Jakub Jelinek  <jakub@redhat.com>
12461
12462	PR middle-end/39573
12463	* libgomp.c++/pr39573.C: New test.
12464
124652009-04-01  Jakub Jelinek  <jakub@redhat.com>
12466
12467	PR other/39591
12468	* testsuite/libgomp.c/pr39591-1.c: New test.
12469	* testsuite/libgomp.c/pr39591-2.c: New test.
12470	* testsuite/libgomp.c/pr39591-3.c: New test.
12471
124722009-03-25  Uros Bizjak  <ubizjak@gmail.com>
12473
12474	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
12475	* testsuite/libgomp.c/atomic-6.c: Ditto.
12476
124772009-03-23  Jakub Jelinek  <jakub@redhat.com>
12478
12479	PR c/39495
12480	* testsuite/libgomp.c/loop-12.c: New test.
12481	* testsuite/libgomp.c/loop-11.c: New test.
12482	* testsuite/libgomp.c++/loop-11.C: New test.
12483	* testsuite/libgomp.c++/loop-12.C: New test.
12484	* testsuite/libgomp.c++/for-8.C: New test.
12485
124862009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12487
12488	* configure: Regenerate.
12489
124902009-02-11  Jakub Jelinek  <jakub@redhat.com>
12491
12492	PR middle-end/39154
12493	* testsuite/libgomp.c/pr39154.c: New test.
12494
124952009-01-30  Ian Lance Taylor  <iant@google.com>
12496
12497	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
12498	libgomp_ld_is_gold.  Get gold version number.
12499	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
12500	* configure: Rebuild.
12501
125022009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
12503
12504	* testsuite/lib/libgomp.exp: Add -B option for targets that
12505	use libgfortran.a%s in their specs.
12506
125072009-01-07  Jakub Jelinek  <jakub@redhat.com>
12508
12509	PR libgomp/38086
12510	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
12511	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
12512	HAVE_AS_SYMVER_DIRECTIVE is not defined.
12513	* configure: Regenerated.
12514	* config.h.in: Likewise.
12515
125162008-12-28  Jakub Jelinek  <jakub@redhat.com>
12517
12518	PR c++/38650
12519	* testsuite/libgomp.c/pr38650.c: New test.
12520	* testsuite/libgomp.c++/pr38650.C: New test.
12521
125222008-12-27  Jakub Jelinek  <jakub@redhat.com>
12523
12524	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
12525
125262008-12-26  Uros Bizjak  <ubizjak@gmail.com>
12527
12528	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
12529
125302008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12531
12532	* configure: Regenerate.
12533
125342008-12-08  Jakub Jelinek  <jakub@redhat.com>
12535
12536	PR middle-end/36802
12537	* testsuite/libgomp.c/pr36802-1.c: New test.
12538	* testsuite/libgomp.c/pr36802-2.c: New test.
12539	* testsuite/libgomp.c/pr36802-3.c: New test.
12540
125412008-12-01  Janis Johnson  <janis187@us.ibm.com>
12542
12543	PR libgomp/38270
12544	* config/linux/powerpc/mutex.h: New.
12545
125462008-12-01  Jakub Jelinek  <jakub@redhat.com>
12547
12548	PR c++/38257
12549	* testsuite/libgomp.c++/for-7.C: New test.
12550
12551	PR c++/38348
12552	* testsuite/libgomp.c++/for-6.C: New test.
12553
125542008-11-26  Janis Johnson  <janis187@us.ibm.com>
12555
12556	PR testsuite/28870
12557	* testsuite/lib/libgomp.exp: Include new timeout library files.
12558	(libgomp_target_compile): Set timeout value from new proc.
12559
125602008-11-13  Steve Ellcey  <sje@cup.hp.com>
12561
12562	PR libgomp/37938
12563	* config/linux/ia64/mutex.h: New.
12564
125652008-11-04  Tobias Burnus  <burnus@net-b.de>
12566
12567	PR libgomp/37935
12568	* libgomp.texi (Runtime library routines, environment variables):
12569	Update for OpenMP version 3.0.
12570
125712008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
12572	    Steve Ellcey  <sje@cup.hp.com>
12573
12574	* configure: Regenerate for new libtool.
12575	* Makefile.in: Ditto.
12576	* testsuite/Makefile.in: Ditto.
12577
125782008-09-19  Jakub Jelinek  <jakub@redhat.com>
12579	    Andreas Tobler  <a.tobler@schweiz.org>
12580
12581	* config/bsd/proc.c: New file.
12582	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
12583	* configure.ac: Check for header <sys/sysctl.h>
12584	* configure: Regenerate.
12585	* config.h.in: Likewise.
12586
125872008-09-05  Janis Johnson  <janis187@us.ibm.com>
12588
12589	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
12590
125912008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
12592
12593	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
12594	* Makefile.in: Regenerated.
12595	* testsuite/Makefile.in: Regenerated.
12596
125972008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
12598
12599	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
12600	depend on blddir if blddir exists.
12601	(libgomp_target_compile): Likewise.
12602	* testsuite/libgomp.c++/c++.exp: Likewise.
12603	* testsuite/libgomp.fortran/fortran.exp: Likewise.
12604
126052008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12606
12607	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
12608	Do not list GPL as Invariant Section.
12609
126102008-07-28  Ilie Garbacea  <ilie@mips.com>
12611	    Chao-ying Fu  <fu@mips.com>
12612
12613	* configure.tgt: Enable futex for MIPS.
12614	* config/linux/mips/futex.h: New file.
12615
126162008-07-16  Jakub Jelinek  <jakub@redhat.com>
12617
12618	* team.c (gomp_team_end): Free team immediately if it has
12619	just one thread.
12620
126212008-07-08  David Edelsohn  <edelsohn@gnu.org>
12622
12623	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
12624	* testsuite/libgomp.fortran/fortran.exp: Same.
12625	* testsuite/libgomp.c/c.exp: Same.
12626	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
12627	directory to library path first.
12628
126292008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
12630
12631	* env.c (parse_stacksize): Add cast to avoid warning.
12632	(parse_spincount): Likewise.
12633
126342008-06-27  Jakub Jelinek  <jakub@redhat.com>
12635
12636	* testsuite/libgomp.c/loop-10.c: New test.
12637	* libgomp.c/loop-3.c (main): Add lastprivate clause.
12638	* libgomp.c++/loop-6.C (main): Likewise.
12639
12640	PR debug/36617
12641	* testsuite/libgomp.c/debug-1.c: New test.
12642
126432008-06-19  Jakub Jelinek  <jakub@redhat.com>
12644
12645	* testsuite/libgomp.c/nqueens-1.c: New test.
12646
12647	PR c++/36523
12648	* testsuite/libgomp.c++/task-7.C: New function.
12649
126502008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12651
12652	* configure: Regenerate.
12653
126542008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12655
12656	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
12657	mutex when HAVE_SYNC_BUILTINS isn't defined.
12658
126592008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12660
12661	* libgomp.texi (omp_test_lock): Fix typo.
12662
126632008-06-12  Tobias Burnus  <burnus@net-b.de>
12664
12665	* omp_lib.f90.in: Add "implicit none".
12666
126672008-06-12  Jakub Jelinek  <jakub@redhat.com>
12668
12669	PR middle-end/36506
12670	* testsuite/libgomp.c/reduction-5.c: New test.
12671
126722008-06-11  Jakub Jelinek  <jakub@redhat.com>
12673
12674	* libgomp.h (struct gomp_task): Add in_tied_task field.
12675	* task.c (gomp_init_task): Initialize it.
12676	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
12677	unconditionally.  Don't call gomp_team_barrier_wake if
12678	current task is implicit or if(0) from implicit and number of
12679	running tasks is equal to nthreads - 1.
12680
12681	PR libgomp/36471
12682	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
12683	omp_get_team_size_8): Fix pastos.
12684
12685	PR libgomp/36469
12686	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
12687	* configure: Regenerated.
12688	* config.h.in: Regenerated.
12689	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
12690	defined.
12691
126922008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
12693
12694	PR bootstrap/36452
12695	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
12696	(GOMP_loop_ull_dynamic_start): Likewise.
12697	(GOMP_loop_ull_guided_start): Likewise.
12698	(GOMP_loop_ull_ordered_static_start): Likewise.
12699	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
12700	(GOMP_loop_ull_ordered_guided_start): Likewise.
12701
127022008-06-06  Jakub Jelinek  <jakub@redhat.com>
12703	    Richard Henderson  <rth@redhat.com>
12704	    Ulrich Drepper  <drepper@redhat.com>
12705	    Jakob Blomer  <jakob.blomer@ira.uka.de>
12706
12707	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
12708	Substitute also OMP_*LOCK_25*.
12709	* configure: Regenerated.
12710	* config.h.in: Regenerated.
12711	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
12712	ptrlock.c and task.c.
12713	* Makefile.in: Regenerated.
12714	* testsuite/Makefile.in: Regenerated.
12715	* task.c: New file.
12716	* loop_ull.c: New file.
12717	* iter_ull.c: New file.
12718	* libgomp.h: Include ptrlock.h.
12719	(enum gomp_task_kind): New type.
12720	(struct gomp_team): Add task_lock, task_queue, task_count,
12721	task_running_count, single_count fields.  Add
12722	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
12723	Remove work_share_lock, generation_mask,
12724	oldest_live_gen, num_live_gen and init_work_shares fields, add
12725	work work_share_list_alloc, work_share_list_free and work_share_chunk
12726	fields.  Change work_shares from pointer to pointers into an array.
12727	Change ordered_release field into gomp_sem_t ** from flexible array
12728	member.  Add implicit_task and initial_work_shares fields.
12729	Move close to the end of the struct.
12730	(struct gomp_team_state): Add single_count, last_work_share,
12731	active_level and level fields, remove work_share_generation.
12732	(gomp_barrier_handle_tasks): New prototype.
12733	(gomp_finish_task): New inline function.
12734	(struct gomp_work_share): Move chunk_size, end, incr into
12735	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
12736	next_ll fields.  Reshuffle fields.  Add next_alloc,
12737	next_ws, next_free and inline_ordered_team_ids fields, change
12738	ordered_team_ids into pointer from flexible array member.
12739	Add mode field.  Put lock and next into a different cache line
12740	from most of the write-once fields.
12741	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
12742	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
12743	gomp_iter_ull_guided_next): New prototypes.
12744	(gomp_new_icv): New prototype.
12745	(struct gomp_thread): Add thread_pool and task fields.
12746	(struct gomp_thread_pool): New type.
12747	(gomp_new_team): New prototype.
12748	(gomp_team_start): Change type of last argument.
12749	(gomp_new_work_share): Removed.
12750	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
12751	(gomp_work_share_init_done): New static inline.
12752	(gomp_throttled_spin_count_var, gomp_available_cpus,
12753	gomp_managed_threads): New extern decls.
12754	(gomp_init_task): New prototype.
12755	(gomp_spin_count_var): New extern var decl.
12756	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
12757	or no alias support, or if not PIC.
12758	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
12759	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
12760	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
12761	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
12762	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
12763	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
12764	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
12765	gomp_test_nest_lock_25): New prototypes.
12766	(omp_lock_symver, strong_alias): Define.
12767	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
12768	decls.
12769	(gomp_end_task): New.
12770	(struct gomp_task_icv, gomp_global_icv): New.
12771	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
12772	(struct gomp_task): New.
12773	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12774	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12775	(gomp_icv): New.
12776	(gomp_schedule_type): Reorder enum to match
12777	omp_sched_t.
12778	* team.c (struct gomp_thread_start_data): Add thread_pool and task
12779	fields.
12780	(gomp_thread_start): Add gomp_team_barrier_wait call.
12781	For non-nested case remove clearing of docked thread thr fields.
12782	Use pool fields instead of global gomp_* variables.  Use
12783	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
12784	Create tasks for each member thread.
12785	(free_team): Only destroy team barrier, task_lock here and free it.
12786	(gomp_free_thread): Free last_team if non-NULL.
12787	(gomp_team_end): Call gomp_team_barrier_wait instead of
12788	gomp_barrier_wait.  For nested case call one extra
12789	gomp_barrier_wait.  Move here some destruction from free_team.
12790	Call free_team on pool->last_team if any, rather than freeing
12791	current team.  Destroy work_share_list_free_lock ifndef
12792	HAVE_SYNC_BUILTINS.
12793	(gomp_new_icv): New function.
12794	(gomp_threads, gomp_threads_size, gomp_threads_used,
12795	gomp_threads_dock): Removed.
12796	(gomp_thread_destructor): New variable.
12797	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
12798	functions.
12799	(gomp_team_start): Create new pool if current thread doesn't have
12800	one.  Use pool fields instead of global gomp_* variables.
12801	Initialize thread_pool field for new threads.  Clear single_count.
12802	Change last argument from ws to team, don't create
12803	new team, set ts.work_share to &team->work_shares[0] and clear
12804	ts.last_work_share.  Don't clear ts.work_share_generation.
12805	If number of threads changed, adjust atomically gomp_managed_threads.
12806	Use gomp_init_task instead of gomp_new_task,
12807	set thr->task to the corresponding implicit_task array entry.
12808	Create tasks for each member thread.  Initialize ts.level.
12809	(initialize_team): Call pthread_key_create on
12810	gomp_thread_destructor.
12811	(team_destructor): New function.
12812	(new_team): Removed.
12813	(gomp_new_team): New function.
12814	(free_team): Free gomp_work_share blocks chained through next_alloc,
12815	instead of freeing work_shares and destroying work_share_lock.
12816	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
12817	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
12818	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
12819	of gomp_barrier_wait.
12820	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
12821	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
12822	if gomp_work_share_start returned true.  Don't unlock ws->lock.
12823	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
12824	of gomp_barrier_wait.
12825	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
12826	gomp_work_share_init_done if gomp_work_share_start returned true.
12827	Don't unlock ws->lock.
12828	* work.c: Include stddef.h.
12829	(free_work_share): Use work_share_list_free_lock instead
12830	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
12831	Call gomp_fini_work_share and then either free ws if orphaned, or
12832	put it into work_share_list_free list of the current team.
12833	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
12834	functions.
12835	(gomp_work_share_start, gomp_work_share_end,
12836	gomp_work_share_end_nowait): Rewritten.
12837	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
12838	(openmp_version): Set to 200805.
12839	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12840	omp_sched_guided, omp_sched_auto): New parameters.
12841	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12842	omp_set_max_active_levels, omp_get_max_active_levels,
12843	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12844	omp_get_active_level): New interfaces.
12845	* omp_lib.h.in (openmp_version): Set to 200805.
12846	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12847	omp_sched_guided, omp_sched_auto): New parameters.
12848	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12849	omp_set_max_active_levels, omp_get_max_active_levels,
12850	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12851	omp_get_active_level): New externals.
12852	* loop.c: Include limits.h.
12853	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
12854	GFS_AUTO.
12855	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
12856	Likewise.  Use gomp_icv.
12857	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
12858	ts.static_trip here.
12859	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
12860	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
12861	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
12862	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
12863	don't unlock ws->lock, otherwise lock it.
12864	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
12865	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
12866	(gomp_parallel_loop_start): Call gomp_new_team instead of
12867	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
12868	Adjust gomp_team_start caller.  Pass 0 as second argument to
12869	gomp_resolve_num_threads.
12870	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
12871	If adding ws->chunk_size nthreads + 1 times after end won't
12872	overflow, set ws->mode to 1.
12873	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
12874	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
12875	GOMP_loop_ull_ordered_static_start,
12876	GOMP_loop_ull_ordered_dynamic_start,
12877	GOMP_loop_ull_ordered_guided_start,
12878	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
12879	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
12880	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
12881	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
12882	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
12883	prototypes.
12884	* libgomp.map: Export lock routines also @@OMP_2.0.
12885	(GOMP_loop_ordered_dynamic_first,
12886	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
12887	GOMP_loop_ordered_static_first): Remove.
12888	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
12889	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
12890	GOMP_loop_ull_ordered_dynamic_next,
12891	GOMP_loop_ull_ordered_dynamic_start,
12892	GOMP_loop_ull_ordered_guided_next,
12893	GOMP_loop_ull_ordered_guided_start,
12894	GOMP_loop_ull_ordered_runtime_next,
12895	GOMP_loop_ull_ordered_runtime_start,
12896	GOMP_loop_ull_ordered_static_next,
12897	GOMP_loop_ull_ordered_static_start,
12898	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
12899	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
12900	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
12901	(omp_set_schedule, omp_get_schedule,
12902	omp_get_thread_limit, omp_set_max_active_levels,
12903	omp_get_max_active_levels, omp_get_level,
12904	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
12905	omp_set_schedule_, omp_set_schedule_8_,
12906	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12907	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12908	omp_get_max_active_levels_, omp_get_level_,
12909	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12910	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12911	New exports @@OMP_3.0.
12912	* omp.h.in (omp_sched_t): New type.
12913	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12914	omp_set_max_active_levels, omp_get_max_active_levels,
12915	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12916	omp_get_active_level): New prototypes.
12917	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12918	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12919	gomp_thread_limit_var, gomp_remaining_threads_count,
12920	gomp_remaining_threads_lock): New variables.
12921	(parse_spincount): New function.
12922	(initialize_env): Call gomp_init_num_threads unconditionally.
12923	Initialize gomp_available_cpus.  Call parse_spincount,
12924	initialize gomp_{,throttled_}spin_count_var
12925	depending on presence and value of OMP_WAIT_POLICY and
12926	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
12927	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12928	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
12929	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
12930	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
12931	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12932	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12933	(gomp_global_icv): New.
12934	(parse_schedule): Use it.  Parse "auto".
12935	(omp_set_num_threads): Use gomp_icv.
12936	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12937	Likewise.
12938	(omp_get_max_threads): Move from parallel.c.
12939	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12940	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12941	add ialias.
12942	(parse_stacksize, parse_wait_policy): New functions.
12943	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
12944	both wrappers for compatibility and new locks.
12945	(omp_set_schedule, omp_get_schedule,
12946	omp_get_thread_limit, omp_set_max_active_levels,
12947	omp_get_max_active_levels, omp_get_level,
12948	omp_get_ancestor_thread_num, omp_get_team_size,
12949	omp_get_active_level): New ialias_redirect.
12950	(omp_set_schedule_, omp_set_schedule_8_,
12951	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12952	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12953	omp_get_max_active_levels_, omp_get_level_,
12954	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12955	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12956	New functions.
12957	* parallel.c: Include limits.h.
12958	(gomp_resolve_num_threads): Add count argument.  Rewritten.
12959	(GOMP_parallel_start): Call gomp_new_team and pass that as last
12960	argument to gomp_team_start.  Pass 0 as second argument to
12961	gomp_resolve_num_threads.
12962	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
12963	if gomp_thread_limit_var != ULONG_MAX.
12964	(omp_in_parallel): Implement using ts.active_level.
12965	(omp_get_max_threads): Move to env.c.
12966	(omp_get_level, omp_get_ancestor_thread_num,
12967	omp_get_team_size, omp_get_active_level): New functions,
12968	add ialias.
12969	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12970	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
12971	gomp_iter_dynamic_next instead of the _locked variant and don't take
12972	lock around it, otherwise acquire it before calling
12973	gomp_iter_dynamic_next_locked.
12974	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12975	gomp_iter_dynamic_next instead of the _locked variant and don't take
12976	lock around it.
12977	(GOMP_parallel_sections_start): Call gomp_new_team instead of
12978	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
12979	Adjust gomp_team_start caller.  Pass count as second argument to
12980	gomp_resolve_num_threads, don't adjust num_threads after the call.
12981	Use gomp_icv.
12982	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12983	ws->chunk_size by incr.
12984	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
12985	code.
12986	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12987	types.
12988	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12989	(omp_check_defines): Check even the compat defines.
12990	* config/linux/ptrlock.c: New file.
12991	* config/linux/ptrlock.h: New file.
12992	* config/linux/wait.h: New file.
12993	* config/posix/ptrlock.c: New file.
12994	* config/posix/ptrlock.h: New file.
12995	* config/linux/bar.h (gomp_team_barrier_wait,
12996	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12997	(gomp_team_barrier_set_task_pending,
12998	gomp_team_barrier_clear_task_pending,
12999	gomp_team_barrier_set_waiting_for_tasks,
13000	gomp_team_barrier_waiting_for_tasks,
13001	gomp_team_barrier_done): New inlines.
13002	(gomp_barrier_t): Rewritten.
13003	(gomp_barrier_state_t): New typedef.
13004	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
13005	gomp_barrier_wait_start): Rewritten.
13006	(gomp_barrier_wait_end): Change second argument to
13007	gomp_barrier_state_t.
13008	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
13009	inlines.
13010	* config/linux/bar.c: Include wait.h instead of libgomp.h and
13011	futex.h.
13012	(gomp_barrier_wait_end): Rewritten.
13013	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
13014	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
13015	* config/posix/bar.h (gomp_barrier_t): Add generation field.
13016	(gomp_barrier_state_t): New typedef.
13017	(gomp_team_barrier_wait,
13018	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
13019	(gomp_barrier_wait_start): Or all but low 2 bits from generation
13020	into the return value.  Return gomp_barrier_state_t.
13021	(gomp_team_barrier_set_task_pending,
13022	gomp_team_barrier_clear_task_pending,
13023	gomp_team_barrier_set_waiting_for_tasks,
13024	gomp_team_barrier_waiting_for_tasks,
13025	gomp_team_barrier_done): New inlines.
13026	(gomp_barrier_wait_end): Change second argument to
13027	gomp_barrier_state_t.
13028	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
13029	inlines.
13030	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
13031	(gomp_barrier_wait_end): Change second argument to
13032	gomp_barrier_state_t.
13033	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
13034	gomp_team_barrier_wake): New functions.
13035	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
13036	futex.h.
13037	(gomp_futex_wake, gomp_futex_wait): New variables.
13038	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
13039	* config/linux/lock.c: Rewrite to make locks task owned,
13040	for backwards compatibility provide the old entrypoints
13041	if symbol versioning.  Include wait.h instead of libgomp.h and
13042	futex.h.
13043	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
13044	* config/posix95/lock.c: Rewrite to make locks task owned,
13045	for backwards compatibility provide the old entrypoints
13046	if symbol versioning.
13047	* config/posix/lock.c: Rewrite to make locks task owned,
13048	for backwards compatibility provide the old entrypoints
13049	if symbol versioning.
13050	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
13051	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
13052	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
13053	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13054	(sys_futex0): Return error code.
13055	(futex_wake, futex_wait): If ENOSYS was returned, clear
13056	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13057	(cpu_relax, atomic_write_barrier): New static inlines.
13058	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13059	(futex_wake, futex_wait): If ENOSYS was returned, clear
13060	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13061	(cpu_relax, atomic_write_barrier): New static inlines.
13062	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13063	(sys_futex0): Return error code.
13064	(futex_wake, futex_wait): If ENOSYS was returned, clear
13065	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13066	(cpu_relax, atomic_write_barrier): New static inlines.
13067	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13068	(sys_futex0): Return error code.
13069	(futex_wake, futex_wait): If ENOSYS was returned, clear
13070	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13071	(cpu_relax, atomic_write_barrier): New static inlines.
13072	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13073	(sys_futex0): Return error code.
13074	(futex_wake, futex_wait): If ENOSYS was returned, clear
13075	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13076	(cpu_relax, atomic_write_barrier): New static inlines.
13077	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
13078	(sys_futex0): Return error code.
13079	(futex_wake, futex_wait): If ENOSYS was returned, clear
13080	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
13081	(cpu_relax, atomic_write_barrier): New static inlines.
13082	* config/linux/sem.c: Include wait.h instead of libgomp.h and
13083	futex.h.
13084	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
13085	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
13086	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
13087	types.
13088	(omp_nest_lock_t): Change owner into void *, add lock field.
13089	* config/posix95/omp-lock.h: Include semaphore.h.
13090	(omp_lock_25_t, omp_nest_lock_25_t): New types.
13091	(omp_lock_t): Use sem_t instead of mutex if semaphores
13092	aren't broken.
13093	(omp_nest_lock_t): Likewise.  Change owner to void *.
13094	* config/posix/omp-lock.h: Include semaphore.h.
13095	(omp_lock_25_t, omp_nest_lock_25_t): New types.
13096	(omp_lock_t): Use sem_t instead of mutex if semaphores
13097	aren't broken.
13098	(omp_nest_lock_t): Likewise.  Add owner field.
13099
131002008-06-06  Jakub Jelinek  <jakub@redhat.com>
13101
13102	* testsuite/libgomp.c/collapse-1.c: New test.
13103	* testsuite/libgomp.c/collapse-2.c: New test.
13104	* testsuite/libgomp.c/collapse-3.c: New test.
13105	* testsuite/libgomp.c/icv-1.c: New test.
13106	* testsuite/libgomp.c/icv-2.c: New test.
13107	* testsuite/libgomp.c/lib-2.c: New test.
13108	* testsuite/libgomp.c/lock-1.c: New test.
13109	* testsuite/libgomp.c/lock-2.c: New test.
13110	* testsuite/libgomp.c/lock-3.c: New test.
13111	* testsuite/libgomp.c/loop-4.c: New test.
13112	* testsuite/libgomp.c/loop-5.c: New test.
13113	* testsuite/libgomp.c/loop-6.c: New test.
13114	* testsuite/libgomp.c/loop-7.c: New test.
13115	* testsuite/libgomp.c/loop-8.c: New test.
13116	* testsuite/libgomp.c/loop-9.c: New test.
13117	* testsuite/libgomp.c/nested-3.c: New test.
13118	* testsuite/libgomp.c/nestedfn-6.c: New test.
13119	* testsuite/libgomp.c/sort-1.c: New test.
13120	* testsuite/libgomp.c/task-1.c: New test.
13121	* testsuite/libgomp.c/task-2.c: New test.
13122	* testsuite/libgomp.c/task-3.c: New test.
13123	* testsuite/libgomp.c/task-4.c: New test.
13124	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
13125	to C++ testsuite default compiler options.
13126	* testsuite/libgomp.c++/collapse-1.C: New test.
13127	* testsuite/libgomp.c++/collapse-2.C: New test.
13128	* testsuite/libgomp.c++/ctor-10.C: New test.
13129	* testsuite/libgomp.c++/for-1.C: New test.
13130	* testsuite/libgomp.c++/for-2.C: New test.
13131	* testsuite/libgomp.c++/for-3.C: New test.
13132	* testsuite/libgomp.c++/for-4.C: New test.
13133	* testsuite/libgomp.c++/for-5.C: New test.
13134	* testsuite/libgomp.c++/loop-8.C: New test.
13135	* testsuite/libgomp.c++/loop-9.C: New test.
13136	* testsuite/libgomp.c++/loop-10.C: New test.
13137	* testsuite/libgomp.c++/task-1.C: New test.
13138	* testsuite/libgomp.c++/task-2.C: New test.
13139	* testsuite/libgomp.c++/task-3.C: New test.
13140	* testsuite/libgomp.c++/task-4.C: New test.
13141	* testsuite/libgomp.c++/task-5.C: New test.
13142	* testsuite/libgomp.c++/task-6.C: New test.
13143	* testsuite/libgomp.fortran/allocatable1.f90: New test.
13144	* testsuite/libgomp.fortran/allocatable2.f90: New test.
13145	* testsuite/libgomp.fortran/allocatable3.f90: New test.
13146	* testsuite/libgomp.fortran/allocatable4.f90: New test.
13147	* testsuite/libgomp.fortran/collapse1.f90: New test.
13148	* testsuite/libgomp.fortran/collapse2.f90: New test.
13149	* testsuite/libgomp.fortran/collapse3.f90: New test.
13150	* testsuite/libgomp.fortran/collapse4.f90: New test.
13151	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
13152	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
13153	* testsuite/libgomp.fortran/lib4.f90: New test.
13154	* testsuite/libgomp.fortran/lock-1.f90: New test.
13155	* testsuite/libgomp.fortran/lock-2.f90: New test.
13156	* testsuite/libgomp.fortran/nested1.f90: New test.
13157	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
13158	* testsuite/libgomp.fortran/strassen.f90: New test.
13159	* testsuite/libgomp.fortran/tabs1.f90: New test.
13160	* testsuite/libgomp.fortran/tabs2.f: New test.
13161	* testsuite/libgomp.fortran/task1.f90: New test.
13162	* testsuite/libgomp.fortran/task2.f90: New test.
13163	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
13164	* testsuite/libgomp.fortran/vla5.f90: Likewise.
13165	* testsuite/libgomp.c/pr26943-2.c: Likewise.
13166	* testsuite/libgomp.c/pr26943-3.c: Likewise.
13167	* testsuite/libgomp.c/pr26943-4.c: Likewise.
13168
131692008-05-23  Jakub Jelinek  <jakub@redhat.com>
13170
13171	PR c++/36308
13172	* testsuite/libgomp.c++/ctor-11.C: New test.
13173	* testsuite/libgomp.c++/ctor-12.C: New test.
13174
131752008-05-15  Janis Johnson  <janis187@us.ibm.com>
13176
13177	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
13178
131792008-05-07  Jakub Jelinek  <jakub@redhat.com>
13180
13181	PR middle-end/36106
13182	* testsuite/libgomp.c/atomic-5.c: New test.
13183	* testsuite/libgomp.c/atomic-6.c: New test.
13184	* testsuite/libgomp.c/autopar-1.c: New test.
13185
131862008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13187
13188	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
13189	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
13190	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
13191	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
13192	* configure: Regenerate.
13193	* Makefile.in, testsuite/Makefile.in: Likewise.
13194
131952008-04-18  Paolo Bonzini  <bonzini@gnu.org>
13196
13197	PR bootstrap/35457
13198	* aclocal.m4: Regenerate.
13199	* configure: Regenerate.
13200
132012008-03-18  Jakub Jelinek  <jakub@redhat.com>
13202
13203	PR middle-end/35611
13204	* testsuite/libgomp.c/atomic-4.c: New test.
13205
13206	PR libgomp/35625
13207	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
13208	(gomp_iter_guided_next): Likewise.
13209	* testsuite/libgomp.c/pr35625.c: New test.
13210
132112008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13212
13213	* aclocal.m4: Regenerate.
13214	* configure: Likewise.
13215	* Makefile.in: Likewise.
13216	* testsuite/Makefile.in: Likewise.
13217
132182008-03-13  Jakub Jelinek  <jakub@redhat.com>
13219
13220	PR middle-end/35185
13221	* testsuite/libgomp.c++/pr35185.C: New test.
13222
132232008-03-12  Jakub Jelinek  <jakub@redhat.com>
13224
13225	PR middle-end/35549
13226	* testsuite/libgomp.c/pr35549.c: New test.
13227
132282008-03-06  Jakub Jelinek  <jakub@redhat.com>
13229
13230	* testsuite/libgomp.c/atomic-3.c: New test.
13231
132322008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13233
13234	PR fortran/33197
13235	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
13236	.F08 file suffixes.
13237
132382008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
13239
13240	PR libgomp/33131
13241	* configure.ac: Add ACX_HEADER_STRING.
13242	* env.c: Include strings.h.
13243	* aclocal.m4: Regenerate.
13244	* config.h.in: Regenerate.
13245	* configure: Regenerate.
13246	* Makefile.in: Regenerate.
13247	* testsuite/Makefile.in: Regenerate.
13248
132492008-02-15  Jakub Jelinek  <jakub@redhat.com>
13250
13251	PR middle-end/35196
13252	* testsuite/libgomp.c/pr35196.c: New test.
13253
13254	PR middle-end/35130
13255	* testsuite/libgomp.fortran/pr35130.f90: New test.
13256	* testsuite/libgomp.c/pr35130.c: New test.
13257
132582008-01-25  Jakub Jelinek  <jakub@redhat.com>
13259
13260	PR middle-end/33880
13261	* testsuite/libgomp.c/pr33880.c: New test.
13262	* testsuite/libgomp.fortran/pr33880.f90: New test.
13263
132642008-01-24  David Edelsohn  <edelsohn@gnu.org>
13265
13266	* configure: Regenerate.
13267
132682008-01-08  Jakub Jelinek  <jakub@redhat.com>
13269
13270	* configure.ac: Move futex checking into ../config/futex.m4.
13271	* configure: Rebuilt.
13272	* aclocal.m4: Rebuilt.
13273	* Makefile.in: Rebuilt.
13274
13275	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
13276	2007-10-15 ../config/tls.m4 change.
13277
132782007-12-19  Jakub Jelinek  <jakub@redhat.com>
13279
13280	PR c++/34513
13281	* testsuite/libgomp.c/pr34513.c: New test.
13282	* testsuite/libgomp.c++/pr34513.C: New test.
13283
132842007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
13285
13286	PR target/32765
13287	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
13288
132892007-12-04  Jakub Jelinek  <jakub@redhat.com>
13290
13291	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
13292
132932007-12-03  Jakub Jelinek  <jakub@redhat.com>
13294
13295	* testsuite/libgomp.c/private-1.c: New test.
13296
132972007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
13298	    Paolo Bonzini  <bonzini@gnu.org>
13299
13300	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
13301	instead of 'VPATH ='.
13302	* Makefile.in: Regenerate.
13303
133042007-11-23  Matthias Klose  <doko@ubuntu.com>
13305
13306	* configure.ac: Adjust makeinfo version check.
13307	* configure: Regenerate.
13308
133092007-11-10  Jakub Jelinek  <jakub@redhat.com>
13310
13311	PR fortran/34020
13312	* testsuite/libgomp.fortran/pr34020.f90: New test.
13313
133142007-11-06  Jakub Jelinek  <jakub@redhat.com>
13315
13316	PR c++/33894
13317	* testsuite/libgomp.c++/atomic-1.C: New test.
13318
133192007-10-25  Jakub Jelinek  <jakub@redhat.com>
13320
13321	PR libgomp/33275
13322	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
13323	Make x and y integers rather than (implicit) reals.  Add private (j)
13324	clause to the last omp parallel.
13325
133262007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
13327
13328	* configure: Regenerate following changes to ../config/tls.m4.
13329
133302007-09-28  Jakub Jelinek  <jakub@redhat.com>
13331
13332	* testsuite/libgomp.fortran/stack.f90: New test.
13333
133342007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
13335
13336	* config/mingw32/proc.c: New file.
13337
133382007-09-05  Uros Bizjak  <ubizjak@gmail.com>
13339
13340	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
13341	(main): Use __get_cpuid to get i386 target fetaures.
13342	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
13343	(main): Use __get_cpuid to get x86_64 target fetaures.
13344
133452007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
13346
13347	PR target/32765
13348	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
13349	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
13350
133512007-07-12  Jakub Jelinek  <jakub@redhat.com>
13352
13353	PR fortran/32550
13354	* testsuite/libgomp.fortran/pr32550.f90: New test.
13355	* testsuite/libgomp.fortran/crayptr2.f90: New test.
13356
133572007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
13358
13359	* aclocal.m4: Regenerated.
13360
133612007-07-05  Tobias Burnus  <burnus@net-b.de>
13362
13363	PR fortran/32359
13364	* testsuite/libgomp.fortran/pr32359.f90: New.
13365
133662007-07-02  Jakub Jelinek  <jakub@redhat.com>
13367
13368	PR libgomp/32468
13369	* sections.c (GOMP_parallel_sections_start): Only decrease
13370	number of threads to COUNT if dyn_var is true.
13371	* testsuite/libgomp.c/pr32468.c: New test.
13372
133732007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13374
13375	PR libgomp/26308
13376	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
13377
133782007-06-21  Jakub Jelinek  <jakub@redhat.com>
13379
13380	PR middle-end/32362
13381	* testsuite/libgomp.c/pr32362-1.c: New test.
13382	* testsuite/libgomp.c/pr32362-2.c: New test.
13383	* testsuite/libgomp.c/pr32362-3.c: New test.
13384
133852007-06-07  Jakub Jelinek  <jakub@redhat.com>
13386
13387	* team.c (gomp_team_start): Fix setting up thread_attr
13388	stack size.
13389
133902007-06-02  Paolo Bonzini  <bonzini@gnu.org>
13391
13392	* configure: Regenerate.
13393
133942007-05-23  Steve Ellcey  <sje@cup.hp.com>
13395
13396	* Makefile.in: Regenerate.
13397	* configure: Regenerate.
13398	* aclocal.m4: Regenerate.
13399	* testsuite/Makefile.in: Regenerate.
13400
134012007-05-04  Jakub Jelinek  <jakub@redhat.com>
13402
13403	* config/linux/proc.c: New file.
13404
13405	PR libgomp/28482
13406	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
13407
134082007-04-19  Daniel Franke  <franke.daniel@gmail.com>
13409
13410	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
13411
134122007-04-16  Matthias Klose  <doko@debian.org>
13413
13414	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
13415	flags if not building with -m64.
13416	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
13417	flag for i?86-*-* targets, if current target matches -m64.
13418
134192007-04-14  Steve Ellcey  <sje@cup.hp.com>
13420
13421	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
13422	* Makefile.in: Regenerate.
13423
134242007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13425
13426	PR testsuite/31369
13427	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
13428	ld_library_path.
13429	* testsuite/libgomp.fortran/fortran.exp: Likewise.
13430
134312007-04-04  Jakub Jelinek  <jakub@redhat.com>
13432
13433	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
13434	decls.
13435	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
13436	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
13437	(parse_affinity): New function.
13438	(initialize_env): Call it and gomp_init_affinity.
13439	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
13440	create new pthread_attr_t and call gomp_init_thread_affinity
13441	on it for each thread before passing the attribute to pthread_create.
13442	* config/linux/affinity.c: New file.
13443	* config/posix/affinity.c: New file.
13444	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
13445	* configure: Rebuilt.
13446	* config.h.in: Rebuilt.
13447	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
13448	* Makefile.in: Rebuilt.
13449
134502007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
13451
13452	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
13453	*-*-darwin*.
13454	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
13455	and use it if found.
13456
134572007-03-18  Uros Bizjak  <ubizjak@gmail.com>
13458
13459	* testsuite/config/default.exp: New file.
13460	* testsuite/lib/libgomp.exp: New file.
13461	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
13462	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
13463	load_lib *, load_gcc_lib *): Move to libgomp.exp.
13464	(libgomp_load): Remove.
13465	* testsuite/lib/libgomp.exp (libgomp_init): Compute
13466	always_ld_library_path, not ld_library_path.  Set additional_flags
13467	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
13468	(target_compile): Do not call libgomp_init.  Append lang_library_path
13469	and lang_link_flags to options.
13470	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
13471	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
13472	here.
13473	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
13474	always_ld_library_path.  Set LD_LIBRARY_PATH here.
13475	* testsuite/libgomp.fortran/fortran.exp: Ditto.
13476	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
13477	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
13478	CX8 flag.
13479	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
13480	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
13481	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
13482	* testsuite/libgomp.c/pr29947-1.c: Ditto.
13483	* testsuite/libgomp.c/atomic-10.c: Ditto.
13484
134852007-03-21  Jakub Jelinek  <jakub@redhat.com>
13486
13487	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
13488	dg-final cleanup-modules line.
13489	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
13490	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
13491	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
13492	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
13493	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
13494	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
13495	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
13496
134972007-03-18  Andreas Schwab  <schwab@suse.de>
13498
13499	* acinclude.m4: Adjust regular expression for ld version
13500	extraction.
13501	* configure: Regenerate.
13502
135032007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
13504
13505	* Makefile.am: Add install-pdf target as copied from
13506	automake v1.10 rules.
13507	* Makefile.in: Regenerate
13508
135092007-02-07  Jakub Jelinek  <jakub@redhat.com>
13510
13511	PR libgomp/28486
13512	* configure: Regenerate.
13513
13514	PR c++/30703
13515	* testsuite/libgomp.c++/pr30703.C: New test.
13516
135172007-02-02  Jakub Jelinek  <jakub@redhat.com>
13518
13519	Revert:
13520	2006-07-05  Eric Christopher  <echristo@apple.com>
13521	* configure.ac: Depend addition of -pthread on host OS.
13522	* configure: Regenerate.
13523
135242007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13525
13526	* libgomp.texi: Fix spacing after abbreviations.
13527
135282007-01-31  Daniel Franke <franke.daniel@gmail.com>
13529
13530	PR libgomp/30546
13531	* configure.ac: Add check for makeinfo
13532	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
13533	if an appropriate version of makeinfo is found.
13534	* aclocal.m4: Regenerated.
13535	* configure: Regenerated.
13536	* Makefile.in: Regenerated.
13537	* testsuite/Makefile.in: Regenerated.
13538
135392007-01-29  Daniel Franke <franke.daniel@gmail.com>
13540
13541	PR libgomp/30540
13542	* libgomp.texi: More about implementation-dependent settings.
13543
135442007-01-26  Tobias Burnus  <burnus@net-b.de>
13545
13546	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
13547
135482007-01-24  Jakub Jelinek  <jakub@redhat.com>
13549
13550	PR middle-end/30494
13551	* testsuite/libgomp.c/pr30494.c: New test.
13552
135532007-01-15  Tom Tromey  <tromey@redhat.com>
13554
13555	* configure: Rebuilt.
13556	* configure.ac: Fixed comment.
13557
135582007-01-14  Daniel Franke  <franke.daniel@gmail.com>
13559
13560	* libgomp.texi: Document implementation specific default values of
13561	environment variables.
13562
135632006-12-21  Daniel Franke  <franke.daniel@gmail.com>
13564
13565	PR libgomp/28209
13566	* libgomp.texi: New file.
13567	* configure.ac: Add --enable-generated-files-in-srcdir option.
13568	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
13569	files to srcdir.
13570	* Makefile.in: Regenerated.
13571	* config.h.in: Regenerated.
13572	* testsuite/Makefile.in: Regenerated.
13573	* NOTES: Removed.
13574
135752006-12-04  Daniel Franke  <franke.daniel@gmail.com>
13576
13577	PR libgomp/29949
13578	* env.c (omp_set_num_threads): Set illegal thread count to 1.
13579
135802006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
13581
13582	* configure: Regenerate.
13583
135842006-12-04  Jakub Jelinek  <jakub@redhat.com>
13585
13586	PR libgomp/29947
13587	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
13588	start if there shouldn't be any loop iterations.
13589	(gomp_loop_ordered_static_start): Remove start == end test.
13590	* testsuite/libgomp.c/pr29947-1.c: New test.
13591	* testsuite/libgomp.c/pr29947-2.c: New test.
13592
135932006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
13594
13595	* configure.tgt: Force initial-exec TLS model on Linux only.
13596
135972006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
13598
13599	* configure: Regenerated.
13600
136012006-11-09  Uros Bizjak  <ubizjak@gmail.com>
13602
13603	* env.c (parse_schedule): Reject out of range values.
13604	(parse_unsigned_long): Reject out of range, negative or zero values.
13605
136062006-10-29  Jakub Jelinek  <jakub@redhat.com>
13607
13608	PR fortran/29629
13609	* testsuite/libgomp.fortran/pr29629.f90: New test.
13610
136112006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
13612
13613	PR libgomp/29494
13614	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
13615	* config/posix95: New directory.
13616	* config/posix95/omp-lock.h: New file.
13617	* config/posix95/lock.c: Likewise.
13618
136192006-10-14  Geoffrey Keating  <geoffk@apple.com>
13620
13621	* aclocal.m4: Regenerate.
13622	* configure: Regenerate.
13623
136242006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
13625
13626	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
13627	'<' to '<='.
13628
136292006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
13630
13631	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
13632	test.
13633	* configure: Regenerate.
13634	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
13635
136362006-09-26  Jakub Jelinek  <jakub@redhat.com>
13637
13638	PR middle-end/25261
13639	PR middle-end/28790
13640	* testsuite/libgomp.c/nestedfn-4.c: New test.
13641	* testsuite/libgomp.c/nestedfn-5.c: New test.
13642	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
13643
13644	PR fortran/29097
13645	* testsuite/libgomp.fortran/condinc1.f: New test.
13646	* testsuite/libgomp.fortran/condinc2.f: New test.
13647	* testsuite/libgomp.fortran/condinc3.f90: New test.
13648	* testsuite/libgomp.fortran/condinc4.f90: New test.
13649	* testsuite/libgomp.fortran/condinc1.inc: New file.
13650
136512006-09-18  Tom Tromey  <tromey@redhat.com>
13652
13653	* configure: Rebuilt.
13654
136552006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
13656
13657	PR c/28768
13658	PR preprocessor/14634
13659	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
13660	to AC_DEFINE.
13661	* configure: Regenerate.
13662
136632006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
13664
13665	* testsuite/libgomp.fortran/reduction3.f90: Change
13666	-2147483648 to -huge(i)-1 to avoid overflow.
13667	* testsuite/libgomp.fortran/reduction4.f90: Change
13668	Z'ffffffff' to not(0) to avoid overflow.
13669
136702006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
13671
13672	PR libgomp/25938
13673	* Makefile.am (libsubincludedir): New.
13674	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
13675	* Makefile.in: Regenerate.
13676
136772006-08-17  Jakub Jelinek  <jakub@redhat.com>
13678
13679	PR libgomp/28725
13680	* env.c: Include ctype.h.
13681	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
13682	leading and/or trailing whitespace and compare strings case
13683	insensitively.
13684
136852006-07-16  Jakub Jelinek  <jakub@redhat.com>
13686
13687	PR fortran/28390
13688	* testsuite/libgomp.fortran/pr28390.f: New test.
13689
136902006-07-05  Eric Christopher  <echristo@apple.com>
13691
13692	* configure.ac: Depend addition of -pthread on host OS.
13693	* configure: Regenerate.
13694
136952006-06-21  Jakub Jelinek  <jakub@redhat.com>
13696
13697	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
13698	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
13699	defined.
13700
137012006-06-20  Jakub Jelinek  <jakub@redhat.com>
13702
13703	PR libgomp/26175
13704	PR libgomp/26477
13705	* configure.ac: If neither --enable-linux-futex nor
13706	--disable-linux-futex is passed, determine the default by checking
13707	for compiling and/or running against NPTL.  With --enable-linux-futex,
13708	check if SYS_gettid and SYS_futex are defined.
13709	* configure: Rebuilt.
13710
137112006-06-14  Richard Henderson  <rth@redhat.com>
13712
13713	PR libgomp/28008
13714	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
13715	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
13716
137172006-06-09  Richard Henderson  <rth@redhat.com>
13718
13719	* env.c (gomp_nthreads_var): Change to unsigned long.
13720	(gomp_run_sched_chunk): Likewise.
13721	(parse_unsigned_long): Rename from parse_num_threads and generalize.
13722	(initialize_env): Initialize gomp_thread_attr.
13723	* libgomp.h (gomp_nthreads_var): Update decl.
13724	(gomp_run_sched_chunk): Likewise.
13725	(gomp_thread_attr): Declare.
13726	* team.c (gomp_thread_attr): Export.
13727	(initialize_team): Don't initialize it.
13728
137292006-06-09  Jakub Jelinek  <jakub@redhat.com>
13730
13731	PR fortran/27916
13732	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
13733	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
13734
137352006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13736
13737	* config/mingw32/time.c: New file.
13738	* configure.tgt: Use it.
13739
137402006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
13741
13742	* Makefile.am: Add install-html target. Add install-html to .PHONY
13743	* Makefile.in: Regenerate.
13744
137452006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13746
13747	PR libgomp/27612
13748	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
13749	* testsuite/libgomp.c/critical-1.c: Likewise.
13750	* testsuite/libgomp.c/loop-1.c: Likewise.
13751	* testsuite/libgomp.c/loop-2.c: Likewise.
13752	* testsuite/libgomp.c/single-1.c: Likewise.
13753	* testsuite/libgomp.c/ordered-1.c: Likewise.
13754	* testsuite/libgomp.c/ordered-2.c: Likewise.
13755
137562006-05-15  Jakub Jelinek  <jakub@redhat.com>
13757
13758	PR middle-end/27416
13759	* libgomp.fortran/pr27416-1.f90: New test.
13760
137612006-05-03  Jakub Jelinek  <jakub@redhat.com>
13762
13763	PR fortran/27395
13764	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
13765	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
13766
137672006-05-02  Jakub Jelinek  <jakub@redhat.com>
13768
13769	PR c++/26943
13770	* testsuite/libgomp.c/pr26943-1.c: New test.
13771	* testsuite/libgomp.c/pr26943-2.c: New test.
13772	* testsuite/libgomp.c/pr26943-3.c: New test.
13773	* testsuite/libgomp.c/pr26943-4.c: New test.
13774	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
13775	* testsuite/libgomp.c++/pr26943.C: New test.
13776
137772006-05-02  Jakub Jelinek  <jakub@redhat.com>
13778
13779	PR middle-end/27337
13780	* testsuite/libgomp.c++/pr27337.C: New test.
13781
137822006-04-26  Jakub Jelinek  <jakub@redhat.com>
13783
13784	PR c/26171
13785	* testsuite/libgomp.c/pr26171.c: New test.
13786
137872006-04-25  Richard Henderson  <rth@redhat.com>
13788
13789	PR libgomp/25865
13790	* configure.ac: Use GCC_CHECK_TLS.
13791	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
13792	* Makefile.in, aclocal.m4, configure: Regenerate.
13793
137942006-04-10  Matthias Klose  <doko@debian.org>
13795
13796	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
13797	directory names containing underscores.
13798
137992006-03-21  Jakub Jelinek  <jakub@redhat.com>
13800
13801	PR c++/26691
13802	* testsuite/libgomp.c++/pr26691.C: New test.
13803
138042006-03-13  Jakub Jelinek  <jakub@redhat.com>
13805
13806	* testsuite/libgomp.fortran/retval2.f90: New test.
13807
138082006-03-09  Diego Novillo  <dnovillo@redhat.com>
13809
13810	* testsuite/libgomp.c++: New directory.
13811
138122006-02-25  Shantonu Sen  <ssen@opendarwin.org>
13813
13814	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
13815	* config/posix/sem.c: Implement the above.
13816
138172006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
13818
13819	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
13820	define HAVE_BROKEN_POSIX_SEMAPHORES.
13821	* configure: Rebuilt.
13822	* config.h.in: Rebuilt.
13823
138242006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13825
13826	PR bootstrap/26161
13827	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
13828	for the other pthread check.
13829	* configure: Regenerate.
13830	* config.h.in: Regenerate.
13831
138322006-02-15  Jakub Jelinek  <jakub@redhat.com>
13833
13834	PR libgomp/25938
13835	PR libgomp/25984
13836	* Makefile.am (fincludedir): New variable.
13837	(nodist_include_HEADERS): Remove Fortran files.
13838	(nodist_finclude_HEADERS): New variable.
13839	* Makefile.in: Regenerated.
13840
138412006-02-13  Jakub Jelinek  <jakub@redhat.com>
13842
13843	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
13844	Remove tests for returning assumed character length arrays.
13845
138462006-02-12  Roger Sayle  <roger@eyesopen.com>
13847	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
13848
13849	PR libgomp/25936
13850	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
13851
138522006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
13853
13854	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
13855
138562006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
13857
13858	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
13859	part of LD_LIBRARY_PATH manually.
13860
138612006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
13862
13863	PR libgomp/25852
13864	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
13865	libgomp_init.
13866
138672005-01-25  Paolo Bonzini  <bonzini@gnu.org>
13868
13869	PR libgomp/25884
13870	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
13871	* configure.ac (PERL): Don't set.
13872	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
13873	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
13874	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
13875	* omp.h.in: Wrap the new configure substitutions with @ characters.
13876	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
13877	* aclocal.m4, configure, Makefile.in: Regenerate.
13878	* mkomp_h.pl: Delete.
13879
138802005-01-24  Paolo Bonzini  <bonzini@gnu.org>
13881
13882	PR libgomp/25259
13883	* configure.ac: Use GCC_HEADER_STDINT.
13884	* libgomp.h: Include gstdint.h.
13885	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
13886	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
13887
138882006-01-24  Richard Henderson  <rth@redhat.com>
13889
13890	PR libgomp/25942
13891	* configure.ac: Add AM_MAINTAINER_MODE.
13892	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
13893
138942006-01-24  Diego Novillo  <dnovillo@redhat.com>
13895
13896	* Makefile.in: Regenerate.
13897	* testsuite/Makefile.in: Regenerate.
13898	* aclocal.m4: Regenerate.
13899
139002006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
13901
13902	* config/posix/proc.c: Conditional include of sys/loadavg.h for
13903	Solaris.
13904	* configure.ac: Add check for loadavg.h.
13905	(link_gomp): Adjust comment.
13906	* configure: Regenerate.
13907	* config.h.in: Regenerate.
13908
139092006-01-21  Steve Ellcey  <sje@cup.hp.com>
13910
13911	PR libgomp/25877
13912	* configure.ac: Remove check for alloca.h.
13913	* configure: Regenerate.
13914	* config.h.in: Regenerate.
13915	* libgomp.h: define gomp_alloca to be __builtin_alloca.
13916	* team.c: Remove use of alloca.h.
13917	Call gomp_alloca instead of alloca.
13918
139192006-01-20  Steve Ellcey  <sje@cup.hp.com>
13920
13921	PR libgomp/25877
13922	* team.c: Add include of alloca.h.
13923	* configure.ac: Add check for alloca.h.
13924	* configure: Regenerate.
13925	* config.h.in: Regenerate.
13926
139272006-01-17  Jakub Jelinek  <jakub@redhat.com>
13928
13929	PR fortran/25219
13930	* testsuite/libgomp.fortran/pr25219.f90: New test.
13931
139322005-12-05  Uros Bizjak  <uros@kss-loka.si>
13933
13934	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13935	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13936	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13937	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13938	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13939	testsuite/libgomp.fortran/threadprivate1.f90,
13940	testsuite/libgomp.fortran/threadprivate2.f90,
13941	testsuite/libgomp.fortran/threadprivate3.f90,
13942	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13943	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13944	testsuite/libgomp.fortran/omp_parse3.f90: Change required
13945	effective-target to TLS runtime.
13946
13947	* testsuite/libgomp.fortran/pr25162.f: Require
13948	effective-target TLS runtime.
13949
139502005-12-01  Jakub Jelinek  <jakub@redhat.com>
13951
13952	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
13953	* testsuite/libgomp.c/nestedfn-3.c: New test.
13954
139552005-11-30  Jakub Jelinek  <jakub@redhat.com>
13956
13957	PR fortran/25162
13958	* testsuite/libgomp.fortran/pr25162.f: New test.
13959
139602005-11-28  Jakub Jelinek  <jakub@redhat.com>
13961
13962	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13963	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13964
139652005-11-25  Jakub Jelinek  <jakub@redhat.com>
13966
13967	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13968	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13969	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13970	single.c, team.c, work.c, config/linux/alpha/futex.h,
13971	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13972	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13973	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13974	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13975	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13976	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13977	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13978	FSF address.
13979
139802005-11-18  Jakub Jelinek  <jakub@redhat.com>
13981
13982	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13983	to nodist_noinst_HEADERS.
13984	* Makefile.in: Rebuilt.
13985
13986	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13987	add integer count field.
13988	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13989	omp_nest_lock_t type change.
13990	(omp_init_nest_lock): Likewise.  Initialize count to 0.
13991	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13992	Increment count.
13993	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13994	Decrement count.
13995	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13996	Increment count if successful and return the new nesting level.
13997	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13998	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13999	* testsuite/libgomp.c/lib-1.c: New test.
14000	* testsuite/libgomp.fortran/lib1.f90: New test.
14001	* testsuite/libgomp.fortran/lib2.f: New test.
14002	* testsuite/libgomp.fortran/lib3.f: New test.
14003
140042005-11-17  Richard Henderson  <rth@redhat.com>
14005
14006	PR 24845
14007	* Makefile.am (nodist_toolexeclib_HEADERS): New.
14008	* configure.ac (link_gomp): New.  Substitute it.
14009	(AC_CONFIG_FILES): Add libgomp.spec.
14010	* libgomp.spec.in: New file.
14011	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
14012	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
14013
140142005-11-18  Jakub Jelinek  <jakub@redhat.com>
14015
14016	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
14017	reduction(-:var) behaving the same as reduction(+:var).
14018	* testsuite/libgomp.c/reduction-4.c: New test.
14019
140202005-11-15  Uros Bizjak  <uros@kss-loka.si>
14021
14022	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
14023	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
14024	testsuite/libgomp.c/copyin-3.c,
14025	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
14026	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
14027	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
14028	testsuite/libgomp.c++/pr24455.C,
14029	testsuite/libgomp.fortran/threadprivate1.f90,
14030	testsuite/libgomp.fortran/threadprivate2.f90,
14031	testsuite/libgomp.fortran/threadprivate3.f90,
14032	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
14033	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
14034	testsuite/libgomp.fortran/omp_parse3.f90: Require
14035	effective-target TLS.
14036
140372005-11-14  Diego Novillo  <dnovillo@redhat.com>
14038
14039	* HEADER: Remove.
14040
140412005-11-13  Jakub Jelinek  <jakub@redhat.com>
14042
14043	PR libgomp/24797
14044	* team.c (initialize_team): Pass NULL rather than free as
14045	pthread_key_create destructor.  Initialize thread specific data
14046	pointer in initial thread to a static local variable rather than
14047	malloced memory.
14048
140492005-11-11  Uros Bizjak  <uros@kss-loka.si>
14050
14051	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
14052	its location to ld_library_path.
14053
140542005-11-10  Diego Novillo  <dnovillo@redhat.com>
14055
14056	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
14057
140582005-11-10  Diego Novillo  <dnovillo@redhat.com>
14059
14060	* testsuite/libgomp.c: Rename from libgomp.dg.
14061
140622005-11-09  Diego Novillo  <dnovillo@redhat.com>
14063
14064	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
14065	threadprivate variable 'i'.
14066
140672005-11-09  Jakub Jelinek  <jakub@redhat.com>
14068
14069	* config/linux/s390/futex.h: New file.
14070	* configure.tgt: Use it.
14071
14072	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
14073	before the parallel.
14074
140752005-11-08  Jakub Jelinek  <jakub@redhat.com>
14076
14077	PR c++/24734
14078	* testsuite/libgomp.c++/master-1.C: New test.
14079
140802005-11-07  Jakub Jelinek  <jakub@redhat.com>
14081
14082	* testsuite/libgomp.dg/copyin-3.c: New test.
14083
140842005-11-07  Jakub Jelinek  <jakub@redhat.com>
14085
14086	* testsuite/libgomp.fortran/retval1.f90: New test.
14087	* testsuite/libgomp.fortran/vla7.f90: New test.
14088
140892005-11-06  Jakub Jelinek  <jakub@redhat.com>
14090
14091	* testsuite/libgomp.fortran/vla2.f90: New test.
14092	* testsuite/libgomp.fortran/vla3.f90: New test.
14093	* testsuite/libgomp.fortran/vla4.f90: New test.
14094	* testsuite/libgomp.fortran/vla5.f90: New test.
14095	* testsuite/libgomp.fortran/vla6.f90: New test.
14096
140972005-11-01  Jakub Jelinek  <jakub@redhat.com>
14098
14099	* config/linux/sparc/futex.h: New file.
14100	* configure.tgt: Use it.
14101	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
14102
14103	* critical.c: Include stdlib.h.
14104	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
14105	ignoring return value.
14106	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
14107	LIBGOMP_CHECK_SYNC_BUILTINS check.
14108	* configure: Rebuilt.
14109
141102005-10-31  Jakub Jelinek  <jakub@redhat.com>
14111
14112	* testsuite/libgomp.fortran/vla1.f90: New test.
14113
141142005-10-31  Richard Henderson  <rth@redhat.com>
14115
14116	* testsuite/libgomp.fortran/character2.f90: Fix race condition
14117	setting 's' in different threads.
14118
141192005-10-31  Jakub Jelinek  <jakub@redhat.com>
14120
14121	* libgomp.h (attribute_hidden, ialias): Define.
14122	* config/posix/proc.c (omp_get_num_procs): Add ialias.
14123	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
14124	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
14125	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
14126	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
14127	omp_test_lock, omp_test_nest_lock): Likewise.
14128	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
14129	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
14130	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
14131	omp_test_lock, omp_test_nest_lock): Likewise.
14132	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
14133	omp_get_dynamic, omp_get_nested): Likewise.
14134	* parallel.c (omp_get_num_threads, omp_get_max_threads,
14135	omp_get_thread_num, omp_in_parallel): Likewise.
14136	* fortran.c (ialias_redirect): Define.
14137	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
14138	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
14139	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
14140	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
14141	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
14142	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
14143	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
14144	omp_get_wtime): Add ialias_redirect.
14145
141462005-10-30  Jakub Jelinek  <jakub@redhat.com>
14147
14148	* fortran.c: Include stdlib.h.
14149
141502005-10-29  Jakub Jelinek  <jakub@redhat.com>
14151
14152	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
14153	* Makefile.in: Regenerated.
14154
141552005-10-28  Jakub Jelinek  <jakub@redhat.com>
14156
14157	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
14158	* libgomp_f.h.in (omp_check_defines): New function.
14159	* env.c: Include libgomp_f.h.
14160	(initialize_env): Call omp_check_defines.
14161
14162	* testsuite/libgomp.dg/copyin-2.c: New test.
14163	* testsuite/libgomp.c++/copyin-2.C: New test.
14164	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
14165
14166	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
14167	* testsuite/libgomp.fortran/sharing2.f90: New test.
14168
14169	* testsuite/libgomp.dg/copyin-1.c: New test.
14170	* testsuite/libgomp.c++/copyin-1.C: New test.
14171
141722005-10-26  Jakub Jelinek  <jakub@redhat.com>
14173
14174	* testsuite/libgomp.fortran/crayptr1.f90: New test.
14175
14176	* testsuite/libgomp.fortran/workshare1.f90: New test.
14177
14178	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
14179	only test.
14180	* libgomp.fortran/sharing1.f90: New test.
14181
141822005-10-24  Jakub Jelinek  <jakub@redhat.com>
14183
14184	PR c++/24502
14185	* testsuite/libgomp.c++/loop-7.C: New test.
14186
14187	* testsuite/libgomp.dg/nestedfn-2.c: New test.
14188
14189	* testsuite/libgomp.dg/nestedfn-1.c: New test.
14190	* testsuite/libgomp.fortran/reduction6.f90: New test.
14191	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
14192
141932005-10-23  Richard Henderson  <rth@redhat.com>
14194
14195	* testsuite/libgomp.c++/ctor-1.C: New.
14196	* testsuite/libgomp.c++/ctor-2.C: New.
14197	* testsuite/libgomp.c++/ctor-3.C: New.
14198	* testsuite/libgomp.c++/ctor-4.C: New.
14199	* testsuite/libgomp.c++/ctor-5.C: New.
14200	* testsuite/libgomp.c++/ctor-6.C: New.
14201	* testsuite/libgomp.c++/ctor-7.C: New.
14202	* testsuite/libgomp.c++/ctor-8.C: New.
14203	* testsuite/libgomp.c++/ctor-9.C: New.
14204
142052005-10-21  Diego Novillo  <dnovillo@redhat.com>
14206
14207	PR 24455
14208	* testsuite/libgomp.c++/pr24455-1.C: New test.
14209	* testsuite/libgomp.c++/pr24455.C: New test.
14210	* testsuite/libgomp.dg/pr24455-1.c: New test.
14211	* testsuite/libgomp.dg/pr24455.c: New test.
14212
142132005-10-20  Richard Henderson  <rth@redhat.com>
14214
14215	* testsuite/libgomp.c++/loop-6.C: New.
14216	* testsuite/libgomp.dg/loop-3.c: New.
14217
142182005-10-20  Jakub Jelinek  <jakub@redhat.com>
14219
14220	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
14221	explicitly private.
14222	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
14223	explicitly shared.
14224
142252005-10-19  Diego Novillo  <dnovillo@redhat.com>
14226
14227	* testsuite/libgomp.fortran/jacobi.f: New test.
14228
142292005-10-19  Richard Henderson  <rth@redhat.com>
14230
14231	* configure.tgt (i?86-linux): Default to with_arch instead of
14232	CFLAGS.  Add -mtune to match target_cpu.
14233	(x86_64-linux): Tune to i686.
14234
14235	* fortran.c (omp_test_nest_lock_): Fix typo.
14236
142372005-10-19  Jakub Jelinek  <jakub@redhat.com>
14238
14239	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14240	gomp_ordered_sync): Do nothing if team->nthreads == 1.
14241	* testsuite/libgomp.dg/ordered-3.c: New test.
14242
14243	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
14244	Remove volatile keyword.
14245
14246	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
14247	in COMMON block to avoid warnings on 64-bit targets.
14248
142492005-10-18  Diego Novillo  <dnovillo@redhat.com>
14250
14251	* testsuite/libgomp.dg/shared-3.c: New test.
14252
142532005-10-18  Jakub Jelinek  <jakub@redhat.com>
14254
14255	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
14256	* testsuite/libgomp.fortran/reduction5.f90: New test.
14257
142582005-10-18  Jakub Jelinek  <jakub@redhat.com>
14259
14260	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
14261	dg-options.
14262	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
14263	flush loop now that __sync_synchronize has proper memory barrier.
14264	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
14265	Add -ffixed-form to dg-options.
14266
142672005-10-17  Diego Novillo  <dnovillo@redhat.com>
14268
14269	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
14270	from subdirectories.
14271	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
14272	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
14273	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
14274	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
14275	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
14276	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
14277	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
14278	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
14279	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
14280	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
14281	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
14282	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
14283	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
14284	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
14285	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
14286	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
14287	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
14288	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
14289	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
14290	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
14291	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
14292	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
14293	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
14294	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
14295	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
14296
142972005-10-17  Jakub Jelinek  <jakub@redhat.com>
14298
14299	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
14300	lang_library_path exists.  Use find instead of glob to gather tests.
14301	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
14302
143032005-10-17  Diego Novillo  <dnovillo@redhat.com>
14304
14305	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
14306	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
14307	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
14308	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
14309	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
14310	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
14311	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
14312	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
14313	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
14314	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
14315	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
14316	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
14317	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
14318
143192005-10-15  Jakub Jelinek  <jakub@redhat.com>
14320
14321	* testsuite/libgomp.dg/vla-1.c: New test.
14322
14323	* testsuite/libgomp.fortran/reference2.f90: New test.
14324
14325	* testsuite/libgomp.fortran/character2.f90: Remove explicit
14326	declaration of omp_get_thread_num.
14327	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
14328	use omp_lib.
14329
14330	* testsuite/libgomp.fortran/reduction1.f90: New test.
14331	* testsuite/libgomp.fortran/reduction2.f90: New test.
14332	* testsuite/libgomp.fortran/reduction3.f90: New test.
14333	* testsuite/libgomp.fortran/reduction4.f90: New test.
14334
143352005-10-13  Richard Henderson  <rth@redhat.com>
14336
14337	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
14338	* Makefile.in: Regenerate.
14339	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
14340	* libgomp.h: Include bar.h.
14341	(struct gomp_barrier): Remove.
14342	(struct gomp_team): Add barrier.  Replace master_barrier with
14343	master_release.  Replace threads with ordered_release.
14344	(struct gomp_thread): Replace barrier with release.
14345	* ordered.c (gomp_ordered_first): Update for ordered_release change.
14346	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
14347	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
14348	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
14349	(GOMP_single_copy_end): Likewise.
14350	* team.c (gomp_threads_dock): New.
14351	(gomp_barrier_init, gomp_barrier_destroy): Remove.
14352	(gomp_thread_start): Use gomp_barrier_wait.
14353	(new_team, free_team): Update for gomp_team changes.
14354	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
14355	(gomp_team_end): Use gomp_barrier_wait.
14356	(initialize_team): Update for gomp_thread changes.
14357	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
14358	(gomp_work_share_end_nowait): Use atomic ops when available.
14359	* config/linux/bar.c, config/linux/bar.h: New files.
14360	* config/posix/bar.c, config/posix/bar.h: New files.
14361
143622005-10-13  Jakub Jelinek  <jakub@redhat.com>
14363
14364	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
14365	* testsuite/libgomp.dg/single-2.c: New test.
14366
14367	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
14368	lang_link_flags): Unset, so that they aren't inherited from previously
14369	sourced *.exp.
14370
14371	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
14372
143732005-10-12  Richard Henderson  <rth@redhat.com>
14374
14375	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
14376	(libgomp_init): Use lang_test_file, lang_library_path, and
14377	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
14378
14379	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
14380	(lang_test_file, lang_link_flags): New.
14381	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
14382
14383	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
14384	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
14385	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
14386	testsuite/libgomp.c++/parallel-1.C,
14387	testsuite/libgomp.c++/reduction-1.C,
14388	testsuite/libgomp.c++/reduction-2.C,
14389	testsuite/libgomp.c++/reduction-3.C,
14390	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
14391	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
14392	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
14393	New files, largely cribbed from the C testsuite.
14394
143952005-10-12  Jakub Jelinek  <jakub@redhat.com>
14396
14397	* testsuite/libgomp.fortran/character1.f90: New test.
14398	* testsuite/libgomp.fortran/character2.f90: New test.
14399
14400	* testsuite/libgomp.dg/nested-1.c: New test.
14401	* testsuite/libgomp.dg/nested-2.c: New test.
14402	* testsuite/libgomp.fortran/do1.f90: New test.
14403	* testsuite/libgomp.fortran/do2.f90: New test.
14404
14405	* testsuite/libgomp.fortran/reference1.f90: New test.
14406
144072005-10-11  Jakub Jelinek  <jakub@redhat.com>
14408
14409	* testsuite/libgomp.dg/reduction-1.c: New test.
14410	* testsuite/libgomp.dg/reduction-2.c: New test.
14411	* testsuite/libgomp.dg/reduction-3.c: New test.
14412
144132005-10-10  Jakub Jelinek  <jakub@redhat.com>
14414
14415	* testsuite/libgomp.dg/atomic-1.c: New test.
14416	* testsuite/libgomp.dg/atomic-2.c: New test.
14417
144182005-10-09  Richard Henderson  <rth@redhat.com>
14419
14420	* critical.c (atomic_lock): New.
14421	(initialize_critical): Initialize it.
14422	(GOMP_atomic_start, GOMP_atomic_end): New.
14423	* libgomp.map: Export them.
14424	* libgomp_g.h: Declare them.
14425
14426	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
14427
144282005-10-02  Richard Henderson  <rth@redhat.com>
14429
14430	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
14431	to XCFLAGS instead of CFLAGS.
14432
144332005-09-30  Richard Henderson  <rth@redhat.com>
14434
14435	* configure.ac: Determine whether -pthread or -lpthread is needed.
14436	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
14437	* Makefile.in, configure: Rebuild.
14438
144392005-09-28  Richard Henderson  <rth@redhat.com>
14440
14441	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
14442	* testsuite/libgomp.dg/omp-single-3.c: New test.
14443
144442005-09-28  Diego Novillo  <dnovillo@redhat.com>
14445
14446	* testsuite/libgomp.dg/omp-single-2.c: New test.
14447	* testsuite/libgomp.dg/shared-2.c: Fix return code.
14448
144492005-09-27  Richard Henderson  <rth@redhat.com>
14450
14451	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
14452	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
14453
144542005-09-27  Jakub Jelinek  <jakub@redhat.com>
14455
14456	* testsuite/libgomp.dg/omp-loop03.c: New test.
14457
144582005-09-27  Diego Novillo  <dnovillo@redhat.com>
14459
14460	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
14461
144622005-09-27  Diego Novillo  <dnovillo@redhat.com>
14463
14464	* testsuite/libgomp.dg/omp-single-1.c: New test.
14465	* testsuite/libgomp.dg/shared-1.c: Return 0.
14466	Add prototype for abort.
14467	* testsuite/libgomp.dg/shared-2.c: Likewise.
14468
144692005-09-26  Jakub Jelinek  <jakub@redhat.com>
14470
14471	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
14472	constructs.
14473
144742005-09-26  Diego Novillo  <dnovillo@redhat.com>
14475
14476	* testsuite/libgomp.dg/shared-1.c: New test.
14477	* testsuite/libgomp.dg/shared-2.c: New test.
14478
144792005-09-24  Richard Henderson  <rth@redhat.com>
14480
14481	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
14482
144832005-09-24  Richard Henderson  <rth@redhat.com>
14484
14485	* iter.c (gomp_iter_static_next): Round up when computing number
14486	of iterations.  Don't bother distributing a remainder equally.
14487
14488	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
14489	Don't call srand.  Zero b before testing.
14490	(main): New.
14491
144922005-09-24  Jakub Jelinek  <jakub@redhat.com>
14493
14494	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
14495	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
14496
144972005-09-23  Jakub Jelinek  <jakub@redhat.com>
14498
14499	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
14500	without !$omp end do, followed immediately by subroutine end.
14501
145022005-09-23  Diego Novillo  <dnovillo@redhat.com>
14503
14504	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
14505
145062005-09-22  Richard Henderson  <rth@redhat.com>
14507
14508	* critical.c (GOMP_critical_name_start): Change argument to void**.
14509	Reuse the pointer space if the mutex fits.
14510	(GOMP_critical_name_end): Likewise.
14511	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
14512	* libgomp_g.h (GOMP_critical_name_start): Update decl.
14513	(GOMP_critical_name_end): Likewise.
14514	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
14515	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
14516
145172005-09-20  Richard Henderson  <rth@redhat.com>
14518
14519	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
14520	(create_lock_lock): New.
14521	(initialize_critical): Initialize it.
14522	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
14523	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
14524
145252005-09-20  Diego Novillo  <dnovillo@redhat.com>
14526
14527	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
14528
145292005-09-20  Diego Novillo  <dnovillo@redhat.com>
14530
14531	* testsuite/libgomp.dg/omp-loop01.c: New test.
14532	* testsuite/libgomp.dg/omp-loop02.c: New test.
14533
145342005-09-20  Jakub Jelinek  <jakub@redhat.com>
14535
14536	* configure.ac (AC_PROG_FC): Add.
14537	(USE_FORTRAN): New automake conditional.
14538	* configure: Rebuilt.
14539	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
14540	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
14541	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
14542	Add rules to build them.
14543	* Makefile.in: Rebuilt.
14544	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
14545	OMP_NEST_LOCK_KIND.
14546	* libgomp.map: Add Fortran wrappers.
14547	* libgomp_f.h.in: New file.
14548	* omp_lib.h.in: New file.
14549	* omp_lib.f90.in: New file.
14550	* fortran.c: New file.
14551	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
14552	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
14553	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
14554	libgfortran has been built.
14555	* testsuite/libgomp.fortran/fortran.exp: New file.
14556	* testsuite/libgomp.fortran/omp_cond1.f: New test.
14557	* testsuite/libgomp.fortran/omp_cond2.f: New test.
14558	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
14559	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
14560	* testsuite/libgomp.fortran/omp_hello.f: New test.
14561	* testsuite/libgomp.fortran/omp_orphan.f: New test.
14562	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
14563	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
14564	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
14565	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
14566	* testsuite/libgomp.fortran/omp_reduction.f: New test.
14567	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
14568	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
14569
145702005-08-30  Richard Henderson  <rth@redhat.com>
14571
14572	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
14573	function for when aliases are not usable.
14574	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
14575	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14576	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
14577	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
14578	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
14579	GOMP_loop_ordered_guided_next): Likewise.
14580	* ordered.c (GOMP_ordered_start): Likewise.
14581
145822005-08-01  Diego Novillo  <dnovillo@redhat.com>
14583
14584	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
14585	* testsuite/libgomp.dg/omp_hello.c: Fix return code
14586	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
14587	* testsuite/libgomp.dg/omp_orphan.c: Likewise
14588	* testsuite/libgomp.dg/omp_reduction.c: Likewise
14589	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
14590	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
14591	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
14592	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
14593
145942005-07-07  Eric Christopher  <echristo@redhat.com>
14595	    Diego Novillo  <dnovillo@redhat.com>
14596
14597	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
14598	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
14599	up code.
14600	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
14601	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
14602	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
14603	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
14604	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
14605	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
14606	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
14607
146082005-06-13  Diego Novillo  <dnovillo@redhat.com>
14609
14610	* TOPLEVEL.patch: Remove.
14611
146122005-05-16  Richard Henderson  <rth@redhat.com>
14613
14614	* configure.ac: Test for clock_gettime.
14615	* config.h.in, configure: Rebuild.
14616	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
14617	(omp_get_wtime): Use clock_gettime if available.
14618	(omp_get_wtick): Use clock_getres if available.
14619
146202005-05-11  Richard Henderson  <rth@redhat.com>
14621
14622	* config/linux/ia64/futex.h: New file.
14623	* configure.tgt: Use it.
14624
14625	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
14626
146272005-05-07  Richard Henderson  <rth@redhat.com>
14628
14629	* config/linux/powerpc/futex.h: New file.
14630	* configure.tgt: Use it.
14631
14632	* config/linux/i486/futex.h: Merge ...
14633	* config/linux/x86_64/futex.h: ... into ...
14634	* config/linux/x86/futex.h: ... here.
14635	* configure.tgt: Update to match.
14636
146372005-05-06  Richard Henderson  <rth@redhat.com>
14638
14639	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
14640	* config/linux/i486/futex.h: Likewise.
14641	* config/linux/x86_64/futex.h: Likewise.
14642
14643	* config/linux/lock.c: New file.
14644	* config/linux/omp-lock.h: New file.
14645
14646	* critical.c, env.h: Don't include omp.h
14647	* config/posix/lock.c: Include libgomp.h instead of omp.h.
14648	* config/posix/time.c: Likewise.
14649	* config/posix/omp-lock.h: New file.
14650	* libgomp.h: Include omp-lock.h and omp.h.
14651	* Makefile.am (nodist_include_HEADERS): New.
14652	(omp.h): New rule.
14653	* configure.ac (PERL): New.
14654	* mkomp_h.pl: New file.
14655	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
14656	with templates.
14657	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
14658
14659	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
14660	build directory.  Re-add -march=i486 hack.
14661
14662	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
14663	(libgomp_link_flags): Remove.
14664	(libgomp_initialized): Remove.
14665	(libgomp_init): Don't protect from reinitialization.  Copy code
14666	from libstdc++ for getting the multilib set correctly.
14667
146682005-05-05  Richard Henderson  <rth@redhat.com>
14669
14670	* config/linux/alpha/futex.h: New file.
14671	* configure.tgt (alpha*-*-linux*): Use it.
14672
14673	* config/posix/mutex.c: New file.
14674	* config/posix/sem.c: Use libgomp.h.
14675
14676	* configure.tgt (x86_64-linux): Also test CC for -m32.
14677	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
14678
14679	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
14680	after $gccpath.
14681
14682	* Makefile.am (SUBDIRS): New.
14683	(libgomp_la_LDFLAGS): Add -lpthread.
14684	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
14685	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
14686
14687	* libgomp_g.h: New file.
14688	* libgomp.h: Split out all public declarations to libgomp_g.h.
14689	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
14690	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
14691	* config/linux/sem.h: Likewise.
14692	* config/posix/sem.h: Likewise.
14693
14694	* Makefile.am (AM_LDFLAGS): New.
14695	(libgomp_version_script): Split out from ...
14696	(libgomp_la_LDFLAGS): ... here.
14697	(libgomp_version_info): New.
14698	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
14699	(LIBGOMP_ENABLE): New.
14700	(LIBGOMP_CHECK_LINKER_FEATURES): New.
14701	(LIBGOMP_ENABLE_SYMVERS): New.
14702	* configure.ac (AC_INIT): Version 1.0.
14703	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
14704	(enable-linux-futex): Likewise.  Rename from enable-futex.
14705	(libtool_VERSION): New.
14706	(LIBGOMP_ENABLE_SYMVERS): Use it.
14707	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
14708	* Makefile.in, aclocal.m4, configure: Rebuild.
14709
14710	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
14711	(gomp_mutex_unlock_slow): Fix typo.
14712	* config/linux/sem.c: Similarly.
14713	(gomp_sem_post_slow): Fix typo.
14714	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
14715	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
14716	[__PIC__] (sys_futex0): Don't use tmp output in asm.
14717
14718	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
14719	(libgomp_la_LDFLAGS): Add top_srcdir to path.
14720	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
14721	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
14722	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
14723	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
14724	LDFLAGS.  Pull enable_futex check to top-level.
14725	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
14726	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
14727
14728	First attempt at real configury.
14729	* Makefile, config.h: Remove file.
14730	* Makefile.am, Makefile.in: New file.
14731	* acinclude.m4 aclocal.m4: New file.
14732	* configure.ac, configure.tgt, configure: New file.
14733
14734	* config/posix/lock.c: Rename from sys-lock.c.
14735	* config/posix/mutex.h: Rename from sys-mutex.h.
14736	* config/posix/sem.c: Rename from sys-sem.c.
14737	* config/posix/sem.h: Rename from sys-sem.h.
14738	* config/posix/proc.c: Rename from sys-proc.c.
14739	* config/posix/time.c: Rename from sys-proc.c.
14740
14741	* config/linux/mutex.c: New file.
14742	* config/linux/mutex.h: New file.
14743	* config/linux/sem.c: New file.
14744	* config/linux/sem.h: New file.
14745	* config/linux/i486/futex.h: New file.
14746	* config/linux/x86_64/futex.h: New file.
14747
147482005-05-04  Richard Henderson  <rth@redhat.com>
14749
14750	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
14751	* libgomp.h: Declare them.
14752	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
14753	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
14754
147552005-05-04  Richard Henderson  <rth@redhat.com>
14756
14757	* libgomp-1 code drop
14758
147592005-05-04  Richard Henderson  <rth@redhat.com>
14760
14761	* iter.c (gomp_iter_static_next): Return tri-state on 0.
14762	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
14763	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
14764	(gomp_iter_static_next): Update.
14765	(gomp_ordered_static_next): Update.
14766	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
14767	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
14768	totally empty range.
14769	(gomp_loop_ordered_static_next): Refine test for calling
14770	gomp_ordered_static_next.
14771	* testsuite/ordered-1.c: Add case for more threads than iterations.
14772
14773	* iter.c (gomp_iter_runtime_next_locked): Remove.
14774	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
14775	gomp_loop_guided_start, gomp_loop_ordered_static_start,
14776	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
14777	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
14778	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
14779	gomp_loop_ordered_guided_next): Downcase name, make static, add
14780	an external alias with the old name.
14781	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
14782	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
14783	switch and call one of the above static functions.
14784	* libgomp.h: Update.
14785
14786	* work.c (gomp_work_share_start): Lock the mutex for !first too.
14787	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
14788	GOMP_loop_guided_start, GOMP_loop_runtime_start,
14789	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14790	GOMP_loop_ordered_guided_start): Update to match.
14791	* sections.c (GOMP_sections_start): Likewise.
14792	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
14793
14794	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14795	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
14796	Use bounds check instead of modulus.
14797	(gomp_ordered_sync): Split out of GOMP_ordered_start.
14798	(gomp_ordered_last): Don't sync with ordered_owner here.
14799	(gomp_ordered_next): Likewise.
14800	(gomp_ordered_static_loop_next): Likewise.
14801	* loop.c, libgomp.h: Update to match.
14802
14803	* libgomp.h (GOMP_barrier): Declare.
14804
14805	* testsuite/barrier-1.c: New file.
14806	* testsuite/critical-1.c: New file.
14807	* testsuite/ordered-2.c: New file.
14808	* testsuite/ordered-1.c: New file.
14809	* testsuite/sections-1.c: New file.
14810	* testsuite/single-1.c: New file.
14811	* testsuite/Makefile (TESTS): Add them.
14812
148132005-05-04  Richard Henderson  <rth@redhat.com>
14814
14815	* libgomp.h (struct gomp_work_share): Add ordered_owner.
14816	* loop.c (GOMP_loop_static_start): If not the startup thread,
14817	acquire the mutex to wait for initialization complete.
14818	(GOMP_loop_ordered_static_start): Likewise.
14819	(GOMP_loop_ordered_runtime_start): Likewise.
14820	(GOMP_loop_ordered_static_first): Remove.
14821	(GOMP_loop_ordered_dynamic_first): Remove.
14822	(GOMP_loop_ordered_guided_first): Remove.
14823	(GOMP_loop_ordered_runtime_first): Remove.
14824	* ordered.c (gomp_ordered_loop_first): Post to own release when
14825	we're the first thread.
14826	(gomp_ordered_loop_last): Wait on release if not owner.
14827	(gomp_ordered_loop_next): Likewise.
14828	(gomp_ordered_static_loop_init): New.
14829	(gomp_ordered_static_loop_next): Use ordered_owner.
14830	(GOMP_ordered_start): Likewise.
14831	* work.c (gomp_new_work_share): Initialize ordered_owner.
14832
148332005-05-03  Richard Henderson  <rth@redhat.com>
14834
14835	* Makefile (OPT): New.
14836	(CFLAGS): Use it.
14837
14838	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
14839	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
14840	* libgomp.h, libgomp.map, NOTES: Update to match.
14841
14842	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
14843	Add initialized and thr members.
14844	(gomp_thread_start): Pause when initially spawned to wait for
14845	the whole team to be created.
14846	(gomp_team_start): Release team members at the end.
14847
14848	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
14849	(f_foo_1): Use GOMP_loop_end.
14850	(f_foo_2): Use GOMP_loop_end_nowait.
14851
14852	* testsuite/loop-2.c: New file.
14853	* testsuite/Makefile (TESTS): Add it.
14854
148552005-05-03  Richard Henderson  <rth@redhat.com>
14856
14857	* iter.c (gomp_iter_static_next): Fix overflow check typo.
14858	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
14859	* team.c (new_team): Initialize oldest_live_gen to 1 if no
14860	initial work_share.
14861
14862	* testsuite/Makefile: New file.
14863	* testsuite/loop-1.c: New file.
14864
148652005-05-03  Richard Henderson  <rth@redhat.com>
14866
14867	Initial implementation and checkin.
14868
14869Copyright (C) 2005-2021 Free Software Foundation, Inc.
14870
14871Copying and distribution of this file, with or without modification,
14872are permitted in any medium without royalty provided the copyright
14873notice and this notice are preserved.
14874