12020-07-23  Release Manager
2
3	* GCC 10.2.0 released.
4
52020-07-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
6
7	Backported from master:
8	2020-07-14  Tom de Vries  <tom@codesourcery.com>
9		    Cesar Philippidis  <cesar@codesourcery.com>
10		    Thomas Schwinge  <thomas@codesourcery.com>
11		    Kwok Cheung Yeung  <kcy@codesourcery.com>
12
13	* oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
14	New variable.
15	(acc_init_1): Set acc_init_thread to pthread_self ().  Set
16	acc_init_state to initializing at the start, and to initialized at the
17	end.
18	(self_initializing_p): New function.
19	(acc_get_device_type): Return acc_device_none if called by thread that
20	is currently executing acc_init_1.
21	* libgomp.texi (acc_get_device_type): Update documentation.
22	(Implementation Status and Implementation-Defined Behavior): Likewise.
23	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
24
252020-07-13  Julian Brown  <julian@codesourcery.com>
26
27	Backported from master:
28	2020-07-13  Julian Brown  <julian@codesourcery.com>
29		    Thomas Schwinge  <thomas@codesourcery.com>
30
31	* testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
32
332020-07-13  Julian Brown  <julian@codesourcery.com>
34
35	Backported from master:
36	2020-07-10  Julian Brown  <julian@codesourcery.com>
37		    Thomas Schwinge  <thomas@codesourcery.com>
38
39	* libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
40	dynamic_refcount.
41	(struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
42	* oacc-mem.c (acc_map_data): Substitute virtual_refcount for
43	dynamic_refcount.
44	(acc_unmap_data): Update comment.
45	(goacc_map_var_existing, goacc_enter_datum): Adjust for
46	dynamic_refcount semantics.
47	(goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
48	Adjust for dynamic_refcount semantics.
49	(goacc_enter_data_internal): Implement "present" case of dynamic
50	memory-map handling here.  Update "non-present" case for
51	dynamic_refcount semantics.
52	(goacc_exit_data_internal): Use goacc_exit_datum_1.
53	* target.c (gomp_map_vars_internal): Remove
54	GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
55	handling.
56	(gomp_unmap_vars_internal): Remove virtual_refcount handling.
57	(gomp_load_image_to_device): Substitute dynamic_refcount for
58	virtual_refcount.
59	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
60	* testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
61	* testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
62	* testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
63	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
64	trace output.
65	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
66	trace output.
67	* testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
68	test.
69	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
70	Remove stale comment.
71	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
72	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
73	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
74	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
75	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
76	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
77
782020-07-13  Julian Brown  <julian@codesourcery.com>
79
80	Backported from master:
81	2020-07-10  Julian Brown  <julian@codesourcery.com>
82		    Thomas Schwinge  <thomas@codesourcery.com>
83
84	* oacc-mem.c (goacc_map_var_existing): New function.
85	(goacc_enter_datum): Use above function.
86	(goacc_exit_datum_1): New function.
87	(goacc_exit_datum): Use above function.
88
892020-07-13  Julian Brown  <julian@codesourcery.com>
90
91	Backported from master:
92	2020-07-09  Julian Brown  <julian@codesourcery.com>
93		    Thomas Schwinge  <thomas@codesourcery.com>
94
95	PR middle-end/95270
96	* testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
97	* testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
98
992020-07-13  Julian Brown  <julian@codesourcery.com>
100
101	Backported from master:
102	2020-07-09  Julian Brown  <julian@codesourcery.com>
103
104	* oacc-mem.c (find_group_last): Group data-movement clauses
105	(GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
106	GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
107
1082020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
109
110	Backported from master:
111	2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
112
113	* oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
114	behavior for 'GOMP_MAP_FORCE_FROM'.
115	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
116
1172020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
118
119	Backported from master:
120	2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
121
122	* oacc-mem.c (goacc_exit_data_internal): Remove
123	'GOMP_MAP_ALWAYS_FROM' handling.
124
1252020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
126
127	Backported from master:
128	2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
129
130	* target.c (gomp_map_vars_existing): Assert 'kind !=
131	GOMP_MAP_ATTACH'.
132	(gomp_map_vars_internal): Clean up.
133
1342020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
135
136	Backported from master:
137	2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
138
139	PR lto/94848
140	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
141	'dg-do run'.
142
1432020-06-15  Tobias Burnus  <tobias@codesourcery.com>
144
145	PR lto/94848
146	PR middle-end/95551
147	* testsuite/libgomp.fortran/target-var.f90: New test.
148
1492020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
150	    Julian Brown  <julian@codesourcery.com>
151
152	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
153	special handling.
154
1552020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
156	    Julian Brown  <julian@codesourcery.com>
157
158	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
159	Simplify.
160
1612020-06-05  Julian Brown  <julian@codesourcery.com>
162
163	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
164	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
165
1662020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
167
168	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
169	Evaluate 'copyfrom' individually for each entry.
170	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
171
1722020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
173
174	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
175	Evaluate 'finalize' individually for each entry.
176	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
177	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
178	file.
179
1802020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
181
182	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
183	usage.
184	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
185
1862020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
187	    Julian Brown  <julian@codesourcery.com>
188
189	* oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
190	checking.
191	(acc_unmap_data, goacc_exit_data_internal): Restore
192	'is_tgt_unmapped' checking.
193	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
194	file.
195	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
196	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
197	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
198	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
199	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
200	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
201
2022020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
203	    Julian Brown  <julian@codesourcery.com>
204
205	* oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
206
2072020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
208
209	PR libgomp/92854
210	* oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
211
2122020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
213
214	PR libgomp/92854
215	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
216	more.
217
2182020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
219	    Julian Brown  <julian@codesourcery.com>
220
221	* oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
222	'gomp_map_vars'.
223	 (acc_map_data): Clean up accordingly.
224
2252020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
226
227	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
228	of over-eager 'finalize' clause.
229	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
230	file.
231	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
232	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
233	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
234	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
235	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
236	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
237	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
238	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
239
2402020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
241
242	* oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
243
2442020-06-04  Julian Brown  <julian@codesourcery.com>
245
246	* oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
247	error path.
248	(goacc_detach_internal): Likewise.
249
2502020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
251
252	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
253	the checkpoint.
254	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
255	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
256	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
257	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
258	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
259
2602020-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
261
262	PR libfortran/95191
263	* testsuite/libgomp.fortran/async_io_9.f90: New test.
264
2652020-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
266
267	PR libfortran/95119
268	* testsuite/libgomp.fortran/close_errors_1.f90: New test.
269
2702020-05-07  Release Manager
271
272	* GCC 10.1.0 released.
273
2742020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
275
276	* config/accel/openacc.f90 (acc_device_current): Set to '-1'.
277	* openacc.f90 (acc_device_current): Likewise.
278	* openacc.h (acc_device_current): Likewise.
279	* openacc_lib.h (acc_device_current): Likewise.
280
281	PR target/94282
282	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
283	'dg-allow-blank-lines-in-output'.
284
285	* oacc-init.c (get_openacc_name): Handle 'gcn'.
286	* testsuite/lib/libgomp.exp
287	(offload_target_to_openacc_device_type) [amdgcn*]: Return
288	'radeon'.  Adjust all users.
289	(check_effective_target_openacc_amdgcn_accel_present): Rename
290	to...
291	(check_effective_target_openacc_radeon_accel_present): ... this.
292	Adjust all users.
293	(check_effective_target_openacc_amdgcn_accel_selected): Rename to...
294	(check_effective_target_openacc_radeon_accel_selected): ... this.
295	Adjust all users.
296
297	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
298	'dg-do run'.
299
3002020-04-23  Andrew Stubbs  <ams@codesourcery.com>
301
302	PR other/94629
303
304	* plugin/plugin-gcn.c (init_hsa_context): Check return value from
305	hsa_iterate_agents.
306	(GOMP_OFFLOAD_init_device): Check return values from both calls to
307	hsa_agent_iterate_regions.
308
3092020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
310
311	PR middle-end/94635
312	* testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
313	run'.
314
3152020-04-20  Tobias Burnus  <tobias@codesourcery.com>
316
317	PR middle-end/94120
318	* testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
319	test case.
320
3212020-04-17  Tobias Burnus  <tobias@codesourcery.com>
322
323	PR middle-end/94635
324	* testsuite/libgomp.fortran/target-enter-data-2.F90: New.
325
3262020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
327
328	PR libgomp/92843
329	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
330	Rename to...
331	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
332	... this.
333	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
334	Rename to...
335	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
336	... this.
337	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
338	Rename to...
339	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
340	... this.
341	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
342	Rename to...
343	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
344	... this.
345	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
346	Rename to...
347	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
348	... this.
349	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
350	Rename to...
351	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
352	... this.
353	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
354	Rename to...
355	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
356	... this.
357	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
358	Rename to...
359	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
360	... this.
361	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
362	Rename to...
363	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
364	... this.
365	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
366	Rename to...
367	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
368	... this.
369	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
370	Rename to...
371	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
372	... this.
373	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
374	Rename to...
375	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
376	... this.
377	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
378	Rename to...
379	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
380	... this.
381	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
382	Rename to...
383	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
384	... this.
385	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
386	Rename to...
387	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
388	... this.
389	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
390	Rename to...
391	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
392	... this.
393
3942020-04-10  Julian Brown  <julian@codesourcery.com>
395	    Thomas Schwinge  <thomas@codesourcery.com>
396
397	PR libgomp/92843
398	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
399	New file.
400	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
401	Likewise.
402	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
403	Likewise.
404	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
405	Likewise.
406	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
407	Likewise.
408	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
409	Likewise.
410	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
411	Likewise.
412	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
413	Likewise.
414	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
415	Likewise.
416	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
417	Likewise.
418	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
419	Likewise.
420	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
421	Likewise.
422	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
423	Likewise.
424	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
425	Likewise.
426	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
427	Likewise.
428	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
429	Likewise.
430
4312020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
432
433	* testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
434	run'.
435
4362020-04-08  Tobias Burnus  <tobias@codesourcery.com>
437
438	PR middle-end/94120
439	* libgomp.oacc-c++/declare-pr94120.C: New.
440
4412020-04-06  Maciej W. Rozycki  <macro@wdc.com>
442
443	* configure.ac: Add testsuite/libgomp-site-extra.exp to output
444	files.
445	* configure: Regenerate.
446	* testsuite/libgomp-site-extra.exp.in: New file.
447	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
448	variable.
449	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
450	variable.
451	* testsuite/Makefile.in: Regenerate.
452
4532020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
454
455	PR tree-optimization/89713
456	PR c/94392
457	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
458	'bar.sync'.
459	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
460
4612020-03-31  Tobias Burnus  <tobias@codesourcery.com>
462
463	* target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
464	* testsuite/libgomp.fortran/target-enter-data-1.f90: New.
465
4662020-03-24  Tobias Burnus  <tobias@codesourcery.com>
467
468	PR libgomp/81689
469	* testsuite/libgomp.c/target-link-1.c: Remove xfail.
470
4712020-03-20  Tobias Burnus  <tobias@codesourcery.com>
472
473	PR libgomp/94251
474	* target.c (gomp_load_image_to_device): Fix link
475	variable handling.
476
4772020-03-19  Jakub Jelinek  <jakub@redhat.com>
478
479	PR c++/93931
480	* testsuite/libgomp.c++/pr93931.C: New test.
481
4822020-03-19  Tobias Burnus  <tobias@codesourcery.com>
483
484	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
485	dg-allow-blank-lines-in-output.
486
4872020-03-18  Julian Brown <julian@codesourcery.com>
488	    Tobias Burnus  <tobias@codesourcery.com>
489
490	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
491	it work concurrently.
492
4932020-03-18  Tobias Burnus  <tobias@codesourcery.com>
494
495	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
496	#define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
497	* libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
498
4992020-03-14  Jakub Jelinek  <jakub@redhat.com>
500
501	PR middle-end/93566
502	* testsuite/libgomp.c/pr93566.c: New test.
503
5042020-02-21  Frederik Harwath  <frederik@codesourcery.com>
505
506	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
507	changes from 2020-02-19, i.e. use integer(c_size_t) instead of
508	integer(acc_device_property) for the type of the return value of
509	acc_get_property.
510
5112020-02-19  Tobias Burnus  <tobias@codesourcery.com>
512
513	* .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
514	* config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
515	(openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
516	* libgomp.texi (Enabling OpenACC): No longer mark as experimental.
517	(acc_set_device_num): Fix Fortran argument name, use same name for C.
518	(acc_get_property): Update Fortran interface to post-OpenACC 3.0
519	corrections; add note about the previous interface and named constant.
520	(OpenACC library and environment variables): Fix two typos.
521	* openacc.f90: Use for all procedures the argument names from the spec
522	as for …_h they are user visible.
523	(openacc_kinds): Rename acc_device_property to
524	acc_device_property_kinds and change value to int32 ; and update users.
525	Re-add acc_device_property for for backward compatibility.
526	(acc_get_property_string_h): Clean up as acc_device_property_kind
527	changed.
528	(acc_get_property_h): Likewise and return c_size_t instead of
529	acc_device_property.
530	(openacc): Also export acc_device_property_kinds.
531	(acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
532	acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
533	handling; check against /= 0 instead of == 1 to match C.
534	* openacc_lib.h: Use for all procedures the argument names from the spec
535	as for …_h they are user visible. Place !GCC$ into the first column to
536	be active also for fixed-form souce form.
537	(acc_device_current, acc_device_property_kind, acc_device_property,
538	acc_property_memory, acc_property_free_memory, acc_property_name,
539	acc_property_vendor, acc_property_driver): New named constants.
540	(acc_get_property, acc_get_property_string): New generic interface.
541
5422020-02-13  Frederik Harwath  <frederik@codesourcery.com>
543
544	PR libgomp/93481
545	* plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
546	* target.c (gomp_load_plugin_for_device): Make "async_run" loading
547	optional.
548	(gomp_target_task_fn): Assert "devicep->async_run_func".
549	(clear_unsupported_flags): New function to remove unsupported flags
550	(right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
551	(GOMP_target_ext): Apply clear_unsupported_flags to flags.
552	* testsuite/libgomp.c/target-33.c:
553	Remove xfail for offload_target_nvptx.
554	* testsuite/libgomp.c/target-34.c: Likewise.
555
5562020-02-10  Frederik Harwath  <frederik@codesourcery.com>
557
558	* testsuite/libgomp.c/target-33.c: Add xfail for execution on
559	offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
560	* testsuite/libgomp.c/target-34.c: Likewise.
561	* testsuite/libgomp.c/target-link-1.c: Add xfail for
562	offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
563
5642020-02-09  Jakub Jelinek  <jakub@redhat.com>
565
566	* testsuite/libgomp.c/target-38.c: New test.
567
5682020-02-06  Jakub Jelinek  <jakub@redhat.com>
569
570	PR libgomp/93515
571	* testsuite/libgomp.c-c++-common/pr93515.c: New test.
572
5732020-02-05  Tobias Burnus  <tobias@codesourcery.com>
574
575	* testsuite/lib/libgomp.exp
576	(check_effective_target_offload_target_nvptx): Pass flags as 'options'
577	and not as 'source' argument to libgomp_target_compile.
578
5792020-02-03  Andrew Stubbs  <ams@codesourcery.com>
580
581	* plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
582	(gcn_gfx801_s): Remove.
583	(isa_hsa_name): Remove gfx801.
584	(isa_gcc_name): Remove gfx801/carizzo.
585	(isa_code): Remove gfx801.
586
5872020-02-03  Julian Brown  <julian@codesourcery.com>
588	    Tobias Burnus  <tobias@codesourcery.com>
589
590	* libgomp.texi (OpenACC Runtime Library Routines): Document *_async
591	and *_finalize variants; document acc_attach and acc_detach; update
592	references from OpenACC 2.0 to 2.6.
593	* openacc.f90 (openacc_version): Update to 201711.
594	* openacc_lib.h (openacc_version): Update to 201711.
595	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
596	openacc_version to 201711.
597	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
598
5992020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
600
601	* plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
602	and vgpr_count fields.
603	(struct kernel_info): Add a field for a hsa_kernel_description.
604	(run_kernel): Reduce the number of threads/workers if the requested
605	number would require too many VGPRs.
606	(init_basic_kernel_info): Initialize description field with
607	the hsa_kernel_description entry for the kernel.
608
6092020-01-29  Tobias Burnus  <tobias@codesourcery.com>
610
611	PR bootstrap/93409
612	* plugin/configfrag.ac (enable_offload_targets): Skip
613	HSA and GCN plugin besides -m32 also for -mx32.
614	* configure: Regenerate.
615
6162020-01-29  Frederik Harwath  <frederik@codesourcery.com>
617
618	* oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
619
6202020-01-29  Frederik Harwath  <frederik@codesourcery.com>
621
622	* plugin-gcn.c (struct agent_info): Add fields "name" and
623	"vendor_name" ...
624	(GOMP_OFFLOAD_init_device): ... and init from here.
625	(struct hsa_context_info): Add field "driver_version_s" ...
626	(init_hsa_contest): ... and init from here.
627	(GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
628	implementation.
629	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
630	Enable test execution for amdgcn and host offloading targets.
631	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
632	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
633	(expect_device_properties): Split function into ...
634	(expect_device_string_properties): ... this new function ...
635	(expect_device_memory): ... and this new function.
636	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
637	Add test.
638
6392020-01-28  Julian Brown  <julian@codesourcery.com>
640
641	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
642	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
643	component/non-component variable refs in a single directive.
644	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
645
6462020-01-24  Maciej W. Rozycki  <macro@wdc.com>
647
648	* configure.ac: Handle `--with-toolexeclibdir='.
649	* Makefile.in: Regenerate.
650	* aclocal.m4: Regenerate.
651	* configure: Regenerate.
652	* testsuite/Makefile.in: Regenerate.
653
6542020-01-24  Frederik Harwath  <frederik@codesourcery.com>
655
656	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
657	(expect_device_properties): Remove "expected_free_mem" argument,
658	change "expected_total_mem" argument type to size_t;
659	change types of acc_get_property results to size_t,
660	adapt format strings.
661	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
662	Use %zu instead of %zd to print size_t values.
663	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
664	rename to ...
665	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
666	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
667	rename to ...
668	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
669
6702020-01-23  Andrew Stubbs  <ams@codesourcery.com>
671
672	* plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
673	the device id.
674
6752020-01-20  Andrew Stubbs  <ams@codesourcery.com>
676
677	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
678	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
679	Adjust test dimensions for amdgcn.
680	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
681	gang/worker/vector expectations dynamically.
682	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
683	(main): Likewise.
684	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
685	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
686	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
687	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
688	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
689	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
690	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
691	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
692	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
693	(acc_gang): Recognise acc_device_radeon.
694	(acc_worker): Likewise.
695	(acc_vector): Likewise.
696	(main): Set expectations for amdgcn.
697	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
698	(main): Adjust gang/worker/vector expectations dynamically.
699	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
700	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
701	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
702	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
703	for amdgcn.
704
7052020-01-17  Andrew Stubbs  <ams@codesourcery.com>
706
707	* config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
708	acc_device_radeon.
709	(openacc): Likewise.
710	* openacc.f90 (openacc_kinds): Likewise.
711	(openacc): Likewise.
712	* openacc.h (acc_device_t): Likewise.
713	* openacc_lib.h: Likewise.
714	* testsuite/lib/libgomp.exp
715	(check_effective_target_openacc_amdgcn_accel_present): Likewise.
716	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
717	(cb_compute_construct_end): Likewise.
718	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
719	(cb_enqueue_launch_start): Likewise.
720	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
721	(cb_enter_data_end): Likewise.
722	(cb_exit_data_start): Likewise.
723	(cb_exit_data_end): Likewise.
724	(cb_compute_construct_end): Likewise.
725	(cb_enqueue_launch_start): Likewise.
726	(cb_enqueue_launch_end): Likewise.
727	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
728	(main): Likewise.
729
7302020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
731
732	* libgomp-plugin.h (enum goacc_property): New.  Adjust all users
733	to use this instead of 'enum gomp_device_property'.
734	(GOMP_OFFLOAD_get_property): Rename to...
735	(GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
736	* libgomp.h (struct gomp_device_descr): Move
737	'GOMP_OFFLOAD_openacc_get_property'...
738	(struct acc_dispatch_t): ... here.  Adjust all users.
739	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
740
741	* target.c (gomp_map_vars_internal)
742	<GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
743	paths.
744
7452020-01-10  Jakub Jelinek  <jakub@redhat.com>
746
747	PR libgomp/93219
748	* libgomp.h (gomp_print_string): Change return type from void to int.
749	* affinity-fmt.c (gomp_print_string): Likewise.  Return true if
750	not all characters have been written.
751
7522020-01-08  Tobias Burnus  <tobias@codesourcery.com>
753
754	* libgomp.texi: Fix typos, use https.
755
7562020-01-03  Tobias Burnus  <tobias@codesourcery.com>
757
758	* testsuite/libgomp.fortran/optional-map.f90: Add test for
759	unallocated/disassociated actual arguments to nonallocatable/nonpointer
760	dummy arguments; those are/shall be regarded as absent arguments.
761	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
762	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
763
7642020-01-01  Jakub Jelinek  <jakub@redhat.com>
765
766	Update copyright years.
767
768	* libgomp.texi: Bump @copying's copyright year.
769
7702019-12-31  Ayush Mittal  <ayush.m@samsung.com>
771
772	PR libgomp/93065
773	* oacc-init.c (goacc_runtime_deinitialize): New function.
774
7752019-12-28  Jakub Jelinek  <jakub@redhat.com>
776
777	PR bootstrap/93074
778	* plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
779	(cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
780
7812019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
782	    Frederik Harwath  <frederik@codesourcery.com>
783	    Thomas Schwinge  <tschwinge@codesourcery.com>
784
785	* libgomp.h (gomp_device_descr): Add `get_property_func' member.
786	* libgomp-plugin.h (gomp_device_property_value): New union.
787	(gomp_device_property_value): New prototype.
788	* openacc.h (acc_device_t): Add `acc_device_current' enumeration
789	constant.
790	(acc_device_property_t): New enum.
791	(acc_get_property, acc_get_property_string): New prototypes.
792	* oacc-init.c (acc_get_device_type): Also assert that result
793	is not `acc_device_current'.
794	(get_property_any, acc_get_property, acc_get_property_string):
795	New functions.
796	* openacc.f90 (openacc_kinds): Add `acc_device_current' and
797	`acc_property_memory', `acc_property_free_memory',
798	`acc_property_name', `acc_property_vendor' and
799	`acc_property_driver' constants.  Add `acc_device_property' data
800	type.
801	(openacc_internal): Add `acc_get_property' and
802	`acc_get_property_string' interfaces.  Add `acc_get_property_h',
803	`acc_get_property_string_h', `acc_get_property_l' and
804	`acc_get_property_string_l'.
805	* oacc-host.c (host_get_property): New function.
806	(host_dispatch): Wire it.
807	* target.c (gomp_load_plugin_for_device): Handle `get_property'.
808	* libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
809	`acc_get_property_string' and `acc_get_property_string_h_' symbols.
810	* libgomp.texi (OpenACC Runtime Library Routines): Add
811	`acc_get_property'.
812	(acc_get_property): New node.
813	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
814	function (stub).
815	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
816	* plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
817	`cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
818	calls.
819	(GOMP_OFFLOAD_get_property): New function.
820	(struct ptx_device): Add new field "name".
821	(cuda_driver_version_s): Add new static variable ...
822	(nvptx_init): ... and init from here.
823
824	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
825	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
826	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
827	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
828	with test helper functions.
829
830	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
831
8322019-12-22  Maciej W. Rozycki  <macro@wdc.com>
833
834	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
835	variable.
836
8372019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
838
839	* target.c (gomp_map_vars_internal): Restore 'omp declare target
840	link' handling.
841
8422019-12-19  Julian Brown  <julian@codesourcery.com>
843
844	* testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
845	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
846	* testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
847
8482019-12-19  Julian Brown  <julian@codesourcery.com>
849	    Cesar Philippidis  <cesar@codesourcery.com>
850
851	* testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
852	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
853	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
854	* testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
855	* testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
856	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
857	* testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
858	* testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
859	* testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
860	* testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
861	* testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
862	* testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
863	* testsuite/libgomp.oacc-fortran/update-2.f90: New test.
864
8652019-12-19  Julian Brown  <julian@codesourcery.com>
866
867	* testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
868	* testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
869	* testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
870	* testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
871	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
872	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
873	* testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
874	* testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
875	* testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
876	* testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
877	* testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
878	* testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
879
8802019-12-19  Julian Brown  <julian@codesourcery.com>
881
882	* libgomp.h (struct target_var_desc): Add do_detach flag.
883	* oacc-init.c (acc_shutdown_1): Free aux block if present.
884	* oacc-mem.c (find_group_last): Add SIZES parameter. Support
885	struct components.  Tidy up and add some new checks.
886	(goacc_enter_data_internal): Update call to find_group_last.
887	(goacc_exit_data_internal): Support detach operations and
888	GOMP_MAP_STRUCT.
889	(GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
890	GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
891	attach/detach in enter/exit data detection code.
892	* target.c (gomp_map_vars_existing): Initialise do_detach field of
893	tgt_var_desc.
894	(gomp_map_vars_internal): Support attach.
895	(gomp_unmap_vars_internal): Support detach.
896
8972019-12-19  Julian Brown  <julian@codesourcery.com>
898	    Thomas Schwinge  <thomas@codesourcery.com>
899
900	* libgomp.h (struct splay_tree_aux): Add attach_count field.
901	(gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
902	* libgomp.map (OACC_2.6): New section. Add acc_attach,
903	acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
904	acc_detach_finalize_async.
905	* oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
906	acc_detach, acc_detach_async, acc_detach_finalize,
907	acc_detach_finalize_async): New functions.
908	* openacc.h (acc_attach, acc_attach_async, acc_detach,
909	(acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
910	prototypes.
911	* target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
912	(gomp_remove_var_internal): Free attachment counts if present.
913	* testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
914	* testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
915
9162019-12-19  Julian Brown  <julian@codesourcery.com>
917	    Cesar Philippidis  <cesar@codesourcery.com>
918
919	* libgomp.h (gomp_map_val): Add prototype.
920	* oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
921	open-coding device-address calculation.
922	* target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
923	non-present case.
924
9252019-12-19  Julian Brown  <julian@codesourcery.com>
926
927	* libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
928	field for virtual_refcount.
929	(enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
930	(gomp_free_memmap): Remove prototype.
931	* oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
932	instead of calling gomp_free_memmap.
933	* oacc-mem.c (acc_map_data): Use virtual_refcount instead of
934	dynamic_refcount.
935	(acc_unmap_data): Open code instead of forcing target_mem_desc's
936	to_free field to NULL then calling gomp_unmap_vars.  Handle
937	REFCOUNT_INFINITY on target blocks.
938	(goacc_enter_data): Rename to...
939	(goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
940	handling for mapping groups.  Use virtual_refcount instead of
941	dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
942	map_map_vars_async call.  Re-do lookup for target pointer return value.
943	(acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
944	renamed goacc_enter_datum function.
945	(goacc_exit_data): Rename to...
946	(goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
947	(acc_delete, acc_delete_async, acc_delete_finalize,
948	acc_delete_finalize_async, acc_copyout, acc_copyout_async,
949	acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
950	goacc_exit_datum function.
951	(gomp_acc_remove_pointer, find_pointer): Remove functions.
952	(find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
953	New functions.
954	(GOACC_enter_exit_data): Use goacc_enter_data_internal and
955	goacc_exit_data_internal helper functions.
956	* target.c (gomp_map_vars_internal): Handle
957	GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
958	semantics.
959	(gomp_unmap_vars_internal): Update for virtual_refcount semantics.
960	(gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
961	virtual_refcount field instead of dynamic_refcount.
962	(gomp_free_memmap): Remove function.
963	* testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
964	* testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
965	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
966
9672019-12-19  Julian Brown  <julian@codesourcery.com>
968	    Thomas Schwinge  <thomas@codesourcery.com>
969
970	* libgomp.h (struct splay_tree_aux): New.
971	(struct splay_tree_key_s): Replace link_key field with aux pointer.
972	* target.c (gomp_map_vars_internal): Adjust for link_key being moved
973	to aux struct.
974	(gomp_remove_var_internal): Free aux block if present.
975	(gomp_load_image_to_device): Zero-initialise aux field instead of
976	link_key field.
977	(omp_target_associate_pointer): Zero-initialise aux field.
978
9792019-12-18  Jakub Jelinek  <jakub@redhat.com>
980
981	PR middle-end/86416
982	* testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
983	q or none.
984	* testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
985	L or none.
986
9872019-12-19  Julian Brown  <julian@codesourcery.com>
988	    Maciej W. Rozycki  <macro@codesourcery.com>
989	    Tobias Burnus  <tobias@codesourcery.com>
990	    Thomas Schwinge  <thomas@codesourcery.com>
991
992	* target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
993	* testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
994	* testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
995	* testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
996	* testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
997	* testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
998	* testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
999	* testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1000	* testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1001
10022019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
1003
1004	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1005	called...
1006	(goacc_insert_pointer): ... from here, "present" case.
1007	(goacc_insert_pointer): Inline function into...
1008	(GOACC_enter_exit_data): ... here, and simplify.
1009
1010	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1011	called...
1012	(goacc_insert_pointer): ... from here, "not present" case.
1013
1014	* oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
1015	all users.
1016
1017	* oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1018	'goacc_enter_data', 'goacc_exit_data'.
1019
1020	* oacc-mem.c (delete_copyout): Refactor into...
1021	(goacc_exit_data): ... this.  Adjust all users.
1022
1023	* oacc-mem.c (present_create_copy): Refactor into...
1024	(goacc_enter_data): ... this.  Adjust all users.
1025
1026	* target.c (gomp_unmap_vars_internal): Add a safeguard to
1027	'gomp_remove_var'.
1028
1029	* target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1030	like 'GOMP_MAP_FROM'.
1031
1032	PR libgomp/92726
1033	PR libgomp/92970
1034	PR libgomp/92984
1035	* oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1036	fails.
1037	(GOACC_enter_exit_data): Simplify accordingly.
1038	* testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1039	subsuming...
1040	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1041	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1042	file.
1043	* testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1044	subsuming...
1045	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1046	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1047	file.
1048	* testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1049	subsuming...
1050	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1051
1052	* oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1053	'finalize' handling.
1054
1055	PR libgomp/92848
1056	* oacc-mem.c (acc_map_data, present_create_copy)
1057	(goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1058	(acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1059	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1060	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1061	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1062	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1063	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1064	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1065	Remove "XFAIL"s.
1066
1067	* target.c (gomp_unmap_tgt): Make it 'static'.
1068	* libgomp.h (gomp_unmap_tgt): Remove.
1069
10702019-12-18  Tobias Burnus  <tobias@codesourcery.com>
1071
1072	PR middle-end/86416
1073	* testsuite/libgomp.c/pr86416-1.c: New.
1074	* testsuite/libgomp.c/pr86416-2.c: New.
1075
10762019-12-17  Tobias Burnus  <tobias@codesourcery.com>
1077
1078	* config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1079	all symbols as public except for the 'use …, only' imported symbol,
1080	which is private.
1081	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1082	all symbols from module openacc_kinds as PUBLIC
1083	* openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1084	fix comment typo.
1085	* openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1086
10872019-12-13  Julian Brown  <julian@codesourcery.com>
1088
1089	PR libgomp/92881
1090
1091	* libgomp.h (gomp_remove_var_async): Add prototype.
1092	* oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1093	gomp_remove_var.
1094	* target.c (gomp_unref_tgt): Change return type to bool, indicating
1095	whether target_mem_desc was unmapped.
1096	(gomp_unref_tgt_void): New.
1097	(gomp_remove_var): Reimplement in terms of...
1098	(gomp_remove_var_internal): ...this new helper function.
1099	(gomp_remove_var_async): New, implemented using above helper function.
1100	(gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1101	gomp_unref_tgt.
1102
11032019-12-13  Andrew Stubbs  <ams@codesourcery.com>
1104
1105	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1106	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1107	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1108	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1109	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1110	Likewise.
1111	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1112	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1113
11142019-12-13  Tobias Burnus  <tobias@codesourcery.com>
1115
1116	* openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1117	as public except for the 'use …, only' imported symbol, which is
1118	private.
1119	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1120	all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1121	attributes for acc_copyout_finalize and acc_delete_finalize.
1122
11232019-12-11  Jakub Jelinek  <jakub@redhat.com>
1124
1125	PR fortran/92899
1126	* testsuite/libgomp.fortran/atomic1.f90: New test.
1127
11282019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1129
1130	PR libgomp/92843
1131	* oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1132	reference counting for structured 'REFCOUNT_INFINITY'.  Add some
1133	assertions.
1134	(goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1135	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1136	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1137	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1138	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1139
1140	* oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1141	* oacc-mem.c: ... here.
1142	(gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1143	'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1144	* libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1145	Remove.
1146	* libgomp_g.h: Update.
1147
1148	* oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1149	* oacc-async.c: ... here.
1150	* oacc-int.h (goacc_wait): Declare.
1151	* libgomp_g.h: Update
1152
1153	PR libgomp/92854
1154	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1155	New file.
1156	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1157	Likewise.
1158	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1159	Likewise.
1160	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1161	Likewise.
1162	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1163	Likewise.
1164	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1165	Likewise.
1166
11672019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1168	    Julian Brown  <julian@codesourcery.com>
1169
1170	* target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1171	Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1172
11732019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1174
1175	* omp_lib.h.in: Fix spelling of function declaration
1176	omp_get_cancell(l)ation.
1177	* libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1178	Fix typos.
1179	* env.c: Fix comment typos.
1180	* oacc-host.c: Likewise.
1181	* ordered.c: Likewise.
1182	* task.c: Likewise.
1183	* team.c: Likewise.
1184	* config/gcn/task.c: Likewise.
1185	* config/gcn/team.c: Likewise.
1186	* config/nvptx/task.c: Likewise.
1187	* config/nvptx/team.c: Likewise.
1188	* plugin/plugin-gcn.c: Likewise.
1189	* testsuite/libgomp.fortran/jacobi.f: Likewise.
1190	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1191	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1192
11932019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1194
1195	* testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1196	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1197	unnecessary 'dg-additional-options "-w"'.
1198
11992019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1200	    Julian Brown  <julian@codesourcery.com>
1201
1202	PR libgomp/92116
1203	PR libgomp/92877
1204
1205	* oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
1206	* libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1207	Adjust all users.
1208	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1209	Remove XFAIL.
1210	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1211	Likewise.
1212	* testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1213
12142019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1215
1216	PR libgomp/92503
1217	* oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1218	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1219	file.
1220	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1221	Likewise.
1222	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1223	Likewise.
1224	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1225	Likewise.
1226	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1227	Likewise.
1228	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1229	Likewise.
1230	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1231	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1232	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1233	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1234	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1235	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1236	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1237	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1238	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1239	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1240
1241	PR libgomp/92840
1242	* oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1243	(acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1244	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1245	New file.
1246	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1247	Likewise.
1248	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1249	Likewise.
1250	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1251	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1252
1253	PR libgomp/92511
1254	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1255	this file...
1256	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1257	this file...
1258	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1259	file...
1260	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1261	file...
1262	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1263	... with their content moved into, and extended in this new file.
1264	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1265	New file.
1266	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1267	Likewise.
1268	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1269	Likewise.
1270	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1271	Likewise.
1272
1273	* testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1274
1275	PR libgomp/92854
1276	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1277
1278	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1279
1280	* target.c (gomp_exit_data): Use 'gomp_remove_var'.
1281
12822019-12-09  Tobias Burnus  <tobias@codesourcery.com>
1283
1284	* testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1285	unique.
1286	* testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1287	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1288	* testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1289	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1290	Ditto.
1291	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1292	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1293
12942019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
1295
1296	* config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1297
12982019-12-06  Tobias Burnus  <tobias@codesourcery.com>
1299	    Kwok Cheung Yeung <kcy@codesourcery.com>
1300
1301	* oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1302	if input it a NULL pointer.
1303	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1304	diagnostic of NULL pointer.
1305	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1306	* testsuite/libgomp.fortran/optional-map.f90: New.
1307	* testsuite/libgomp.fortran/use_device_addr-1.f90
1308	(test_dummy_opt_callee_1_absent): New.
1309	(test_dummy_opt_call_1): Call it.
1310	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1311	* testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1312	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1313	* testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1314	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1315	* testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1316	* testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1317	* testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1318	* testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1319	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1320	* testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1321	* testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1322	* testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1323	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1324	* testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1325	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1326
13272019-12-05  Tobias Burnus  <tobias@codesourcery.com>
1328
1329	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1330	expect dg-output of 'Error termination.' for GCN.
1331	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1332	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1333
13342019-12-04  Jakub Jelinek  <jakub@redhat.com>
1335
1336	PR fortran/92756
1337	* testsuite/libgomp.fortran/teams1.f90: New test.
1338	* testsuite/libgomp.fortran/teams2.f90: New test.
1339
13402019-12-03  Frederik Harwath  <frederik@codesourcery.com>
1341
1342	* oacc-init.c (acc_known_device_type): Add function.
1343	(unknown_device_type_error): Add function.
1344	(name_of_acc_device_t): Change to call unknown_device_type_error
1345	on unknown type.
1346	(resolve_device): Use acc_known_device_type.
1347	(acc_init): Fail if acc_device_t argument is not valid.
1348	(acc_shutdown): Likewise.
1349	(acc_get_num_devices): Likewise.
1350	(acc_set_device_type): Likewise.
1351	(acc_get_device_num): Likewise.
1352	(acc_set_device_num): Likewise.
1353	(acc_on_device): Add comment that argument validity is not checked.
1354
13552019-12-03  Andrew Stubbs  <ams@codesourcery.com>
1356
1357	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1358	Recognize amdgcn.
1359	(check_effective_target_openacc_amdgcn_accel_present): New proc.
1360	(check_effective_target_openacc_amdgcn_accel_selected): New proc.
1361	* testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
1362	* testsuite/libgomp.oacc-c/c.exp: Likewise.
1363	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1364
13652019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1366
1367	PR libgomp/91938
1368	* configure.tgt: Avoid IE tls on *-*-musl*.
1369
13702019-11-29  Tobias Burnus  <tobias@codesourcery.com>
1371
1372	* testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
1373	adding a common-block test case.
1374
13752019-11-29  Jakub Jelinek  <jakub@redhat.com>
1376
1377	PR c++/60228
1378	* testsuite/libgomp.c++/udr-20.C: New test.
1379	* testsuite/libgomp.c++/udr-21.C: New test.
1380
13812019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
1382
1383	* testsuite/lib/libgomp.exp
1384	(check_effective_target_offload_target_nvptx): New proc.
1385	* testsuite/libgomp.fortran/target-print-1.f90: Use it with
1386	'dg-skip-if'.
1387	* testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1388	* testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
1389	* testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
1390
13912019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1392
1393	* testsuite/libgomp.c/pr39591-1.c: Rename err to e.
1394	* testsuite/libgomp.c/pr39591-2.c: Likewise.
1395	* testsuite/libgomp.c/pr39591-3.c: Likewise.
1396	* testsuite/libgomp.c/private-1.c: Likewise.
1397	* testsuite/libgomp.c/task-1.c: Likewise.
1398	* testsuite/libgomp.c/task-5.c: Renamed err to serr.
1399
14002019-11-20  Julian Brown  <julian@codesourcery.com>
1401
1402	* plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
1403	aq->mutex here.
1404	(queue_push_launch): Lock aq->mutex before calling
1405	wait_for_queue_nonfull.
1406	(queue_push_callback): Likewise.
1407	(queue_push_asyncwait): Likewise.
1408	(queue_push_placeholder): Likewise.
1409
14102019-11-20  Julian Brown  <julian@codesourcery.com>
1411
1412	* plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
1413	(copy_data, GOMP_OFFLOAD_host2dev): Use above function.
1414	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
1415	return code.
1416
14172019-11-20  Julian Brown  <julian@codesourcery.com>
1418
1419	PR libgomp/92511
1420
1421	* oacc-mem.c (present_create_copy): Fix device pointer return value in
1422	case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
1423	in non-present/create case.
1424	(delete_copyout): Change error condition to fail only on copies outside
1425	of mapped block.  Adjust error message accordingly.
1426	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
1427	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
1428	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
1429	message.
1430	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1431	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
1432	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1433
14342019-11-20  Maciej W. Rozycki  <macro@wdc.com>
1435
1436	* testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
1437	libatomic in build-tree testing.
1438
14392019-11-18  Maciej W. Rozycki  <macro@wdc.com>
1440
1441	* testsuite/Makefile.in: Regenerate.
1442
14432019-11-15  Andrew Stubbs  <ams@codesourcery.com>
1444
1445	* testsuite/libgomp.c/target-print-1.c: New file.
1446	* testsuite/libgomp.fortran/target-print-1.f90: New file.
1447	* testsuite/libgomp.oacc-c/print-1.c: New file.
1448	* testsuite/libgomp.oacc-fortran/print-1.f90: New file.
1449
14502019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1451	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1452	    Julian Brown  <julian@codesourcery.com>
1453	    Tom de Vries  <tom@codesourcery.com>
1454
1455	* plugin/Makefrag.am: Add amdgcn plugin support.
1456	* plugin/configfrag.ac: Likewise.
1457	* plugin/plugin-gcn.c: New file.
1458	* configure: Regenerate.
1459	* Makefile.in: Regenerate.
1460	* testsuite/Makefile.in: Regenerate.
1461
14622019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1463
1464	* config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
1465	and use team_malloc variants.
1466	(gomp_gcn_exit_kernel): Use team_free.
1467	* libgomp.h (TEAM_ARENA_SIZE): Define.
1468	(TEAM_ARENA_START): Define.
1469	(TEAM_ARENA_FREE): Define.
1470	(TEAM_ARENA_END): Define.
1471	(team_malloc): New function.
1472	(team_malloc_cleared): New function.
1473	(team_free): New function.
1474	* team.c (gomp_new_team): Initialize and use team_malloc.
1475	(free_team): Use team_free.
1476	(gomp_free_thread): Use team_free.
1477	(gomp_pause_host): Use team_free.
1478	* work.c (gomp_init_work_share): Use team_malloc.
1479	(gomp_fini_work_share): Use team_free.
1480
14812019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1482	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1483	    Julian Brown  <julian@codesourcery.com>
1484	    Tom de Vries  <tom@codesourcery.com>
1485
1486	* Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
1487	* Makefile.in: Regenerate.
1488	* config.h.in (PLUGIN_GCN): Add new undef.
1489	* config/accel/openacc.f90 (acc_device_gcn): New parameter.
1490	* config/gcn/affinity-fmt.c: New file.
1491	* config/gcn/bar.c: New file.
1492	* config/gcn/bar.h: New file.
1493	* config/gcn/doacross.h: New file.
1494	* config/gcn/icv-device.c: New file.
1495	* config/gcn/oacc-target.c: New file.
1496	* config/gcn/simple-bar.h: New file.
1497	* config/gcn/target.c: New file.
1498	* config/gcn/task.c: New file.
1499	* config/gcn/team.c: New file.
1500	* config/gcn/time.c: New file.
1501	* configure.ac: Add amdgcn*-*-*.
1502	* configure: Regenerate.
1503	* configure.tgt: Add amdgcn*-*-*.
1504	* libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
1505	* libgomp.h (gcn_thrs): Add amdgcn variant.
1506	(set_gcn_thrs): Likewise.
1507	(gomp_thread): Likewise.
1508	* oacc-int.h (goacc_thread): Likewise.
1509	* oacc-target.c: New file.
1510	* openacc.f90 (acc_device_gcn): New parameter.
1511	* openacc.h (acc_device_t): Add acc_device_gcn.
1512	* team.c (gomp_free_pool_helper): Add amdgcn support.
1513
15142019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1515	    Julian Brown  <julian@codesourcery.com>
1516
1517	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
1518	parameter.
1519	* oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
1520	queue constructor.
1521	* oacc-host.c (host_openacc_async_construct): Add device parameter.
1522	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
1523	device parameter.
1524
15252019-11-13  Andrew Stubbs  <ams@codesourcery.com>
1526
1527	* configure.tgt (nvptx*-*-*): Add "accel" directory.
1528	* config/nvptx/libgomp-plugin.c: Move ...
1529	* config/accel/libgomp-plugin.c: ... to here.
1530	* config/nvptx/lock.c: Move ...
1531	* config/accel/lock.c: ... to here.
1532	* config/nvptx/mutex.c: Move ...
1533	* config/accel/mutex.c: ... to here.
1534	* config/nvptx/mutex.h: Move ...
1535	* config/accel/mutex.h: ... to here.
1536	* config/nvptx/oacc-async.c: Move ...
1537	* config/accel/oacc-async.c: ... to here.
1538	* config/nvptx/oacc-cuda.c: Move ...
1539	* config/accel/oacc-cuda.c: ... to here.
1540	* config/nvptx/oacc-host.c: Move ...
1541	* config/accel/oacc-host.c: ... to here.
1542	* config/nvptx/oacc-init.c: Move ...
1543	* config/accel/oacc-init.c: ... to here.
1544	* config/nvptx/oacc-mem.c: Move ...
1545	* config/accel/oacc-mem.c: ... to here.
1546	* config/nvptx/oacc-plugin.c: Move ...
1547	* config/accel/oacc-plugin.c: ... to here.
1548	* config/nvptx/omp-lock.h: Move ...
1549	* config/accel/omp-lock.h: ... to here.
1550	* config/nvptx/openacc.f90: Move ...
1551	* config/accel/openacc.f90: ... to here.
1552	* config/nvptx/pool.h: Move ...
1553	* config/accel/pool.h: ... to here.
1554	* config/nvptx/proc.c: Move ...
1555	* config/accel/proc.c: ... to here.
1556	* config/nvptx/ptrlock.c: Move ...
1557	* config/accel/ptrlock.c: ... to here.
1558	* config/nvptx/ptrlock.h: Move ...
1559	* config/accel/ptrlock.h: ... to here.
1560	* config/nvptx/sem.c: Move ...
1561	* config/accel/sem.c: ... to here.
1562	* config/nvptx/sem.h: Move ...
1563	* config/accel/sem.h: ... to here.
1564	* config/nvptx/thread-stacksize.h: Move ...
1565	* config/accel/thread-stacksize.h: ... to here.
1566
15672019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
1568	    Tobias Burnus  <tobias@codesourcery.com>
1569	    Frederik Harwath  <frederik@codesourcery.com>
1570	    Thomas Schwinge  <thomas@codesourcery.com>
1571
1572	libgomp/
1573	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
1574	* testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
1575	* testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
1576
15772019-11-11  Tobias Burnus  <tobias@codesourcery.com>
1578	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1579
1580	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
1581	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
1582
15832019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
1584
1585	* testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
1586
1587	* testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
1588	run'.
1589	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1590	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
1591
15922019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
1593
1594	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
1595	Add expected warnings about missing reduction clauses.
1596	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1597	Likewise.
1598	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
1599	Likewise.
1600	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1601	Likewise.
1602
16032019-11-04  Tobias Burnus  <tobias@codesourcery.com>
1604
1605	* testsuite/libgomp.fortran/pr66199-1.f90: Remove
1606	'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
1607	* testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
1608	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1609	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1610	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1611
16122019-11-04  Tobias Burnus  <tobias@codesourcery.com>
1613
1614	PR fortran/92305
1615	* testsuite/libgomp.fortran/allocatable2.f90: Use
1616	unique numbers with 'stop'.
1617	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1618	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1619	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
1620	* testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
1621	* testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
1622
16232019-11-01  Tobias Burnus  <tobias@codesourcery.com>
1624
1625	* testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
1626	test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
1627	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1628	* testsuite/libgomp.fortran/use_device_addr-3.f90: New.
1629	* testsuite/libgomp.fortran/use_device_addr-4.f90: New.
1630	* testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
1631
16322019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1633
1634	* testsuite/libgomp.fortran/target9.f90: New.
1635
16362019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1637
1638	* testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
1639	* testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
1640	* testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
1641	* testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
1642	* testsuite/libgomp.fortran/allocatable1.f90: Ditto.
1643	* testsuite/libgomp.fortran/allocatable10.f90: Ditto.
1644	* testsuite/libgomp.fortran/allocatable11.f90: Ditto.
1645	* testsuite/libgomp.fortran/allocatable12.f90: Ditto.
1646	* testsuite/libgomp.fortran/allocatable2.f90: Ditto.
1647	* testsuite/libgomp.fortran/allocatable3.f90: Ditto.
1648	* testsuite/libgomp.fortran/allocatable4.f90: Ditto.
1649	* testsuite/libgomp.fortran/allocatable5.f90: Ditto.
1650	* testsuite/libgomp.fortran/allocatable6.f90: Ditto.
1651	* testsuite/libgomp.fortran/allocatable7.f90: Ditto.
1652	* testsuite/libgomp.fortran/allocatable8.f90: Ditto.
1653	* testsuite/libgomp.fortran/allocatable9.f90: Ditto.
1654	* testsuite/libgomp.fortran/associate1.f90: Ditto.
1655	* testsuite/libgomp.fortran/associate2.f90: Ditto.
1656	* testsuite/libgomp.fortran/associate3.f90: Ditto.
1657	* testsuite/libgomp.fortran/async_io_4.f90: Ditto.
1658	* testsuite/libgomp.fortran/async_io_5.f90: Ditto.
1659	* testsuite/libgomp.fortran/async_io_6.f90: Ditto.
1660	* testsuite/libgomp.fortran/async_io_7.f90: Ditto.
1661	* testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
1662	* testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
1663	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
1664	* testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
1665	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
1666	* testsuite/libgomp.fortran/character1.f90: Ditto.
1667	* testsuite/libgomp.fortran/character2.f90: Ditto.
1668	* testsuite/libgomp.fortran/collapse1.f90: Ditto.
1669	* testsuite/libgomp.fortran/collapse2.f90: Ditto.
1670	* testsuite/libgomp.fortran/collapse3.f90: Ditto.
1671	* testsuite/libgomp.fortran/collapse4.f90: Ditto.
1672	* testsuite/libgomp.fortran/crayptr1.f90: Ditto.
1673	* testsuite/libgomp.fortran/crayptr2.f90: Ditto.
1674	* testsuite/libgomp.fortran/crayptr3.f90: Ditto.
1675	* testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
1676	* testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
1677	* testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
1678	* testsuite/libgomp.fortran/depend-1.f90: Ditto.
1679	* testsuite/libgomp.fortran/depend-2.f90: Ditto.
1680	* testsuite/libgomp.fortran/depend-3.f90: Ditto.
1681	* testsuite/libgomp.fortran/do1.f90: Ditto.
1682	* testsuite/libgomp.fortran/do2.f90: Ditto.
1683	* testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
1684	* testsuite/libgomp.fortran/doacross1.f90: Ditto.
1685	* testsuite/libgomp.fortran/doacross2.f90: Ditto.
1686	* testsuite/libgomp.fortran/doacross3.f90: Ditto.
1687	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
1688	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
1689	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
1690	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
1691	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
1692	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
1693	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
1694	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
1695	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
1696	* testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
1697	* testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
1698	* testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
1699	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
1700	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
1701	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
1702	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
1703	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
1704	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
1705	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
1706	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
1707	* testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
1708	* testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
1709	* testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
1710	* testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
1711	* testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
1712	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
1713	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
1714	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
1715	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
1716	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
1717	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
1718	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
1719	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
1720	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
1721	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
1722	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
1723	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
1724	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
1725	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
1726	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
1727	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
1728	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
1729	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
1730	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
1731	* testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
1732	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1733	* testsuite/libgomp.fortran/lib1.f90: Ditto.
1734	* testsuite/libgomp.fortran/lib4.f90: Ditto.
1735	* testsuite/libgomp.fortran/lock-1.f90: Ditto.
1736	* testsuite/libgomp.fortran/lock-2.f90: Ditto.
1737	* testsuite/libgomp.fortran/nested1.f90: Ditto.
1738	* testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
1739	* testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
1740	* testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
1741	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1742	* testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
1743	* testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
1744	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1745	* testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
1746	* testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
1747	* testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
1748	* testsuite/libgomp.fortran/omp_cond1.f: Ditto.
1749	* testsuite/libgomp.fortran/omp_cond2.f: Ditto.
1750	* testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
1751	* testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
1752	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1753	* testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
1754	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1755	* testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
1756	* testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
1757	* testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
1758	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
1759	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
1760	* testsuite/libgomp.fortran/pointer1.f90: Ditto.
1761	* testsuite/libgomp.fortran/pointer2.f90: Ditto.
1762	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
1763	* testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
1764	* testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
1765	* testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
1766	* testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
1767	* testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
1768	* testsuite/libgomp.fortran/pr28390.f: Ditto.
1769	* testsuite/libgomp.fortran/pr29629.f90: Ditto.
1770	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
1771	* testsuite/libgomp.fortran/pr33880.f90: Ditto.
1772	* testsuite/libgomp.fortran/pr34020.f90: Ditto.
1773	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
1774	* testsuite/libgomp.fortran/pr42162.f90: Ditto.
1775	* testsuite/libgomp.fortran/pr46753.f90: Ditto.
1776	* testsuite/libgomp.fortran/pr48894.f90: Ditto.
1777	* testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
1778	* testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
1779	* testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
1780	* testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
1781	* testsuite/libgomp.fortran/pr65597.f90: Ditto.
1782	* testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
1783	* testsuite/libgomp.fortran/pr71014.f90: Ditto.
1784	* testsuite/libgomp.fortran/pr81304.f90: Ditto.
1785	* testsuite/libgomp.fortran/pr81841.f90: Ditto.
1786	* testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
1787	* testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
1788	* testsuite/libgomp.fortran/procptr1.f90: Ditto.
1789	* testsuite/libgomp.fortran/recursion1.f90: Ditto.
1790	* testsuite/libgomp.fortran/reduction1.f90: Ditto.
1791	* testsuite/libgomp.fortran/reduction2.f90: Ditto.
1792	* testsuite/libgomp.fortran/reduction3.f90: Ditto.
1793	* testsuite/libgomp.fortran/reduction4.f90: Ditto.
1794	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
1795	* testsuite/libgomp.fortran/reduction6.f90: Ditto.
1796	* testsuite/libgomp.fortran/reference1.f90: Ditto.
1797	* testsuite/libgomp.fortran/reference2.f90: Ditto.
1798	* testsuite/libgomp.fortran/retval1.f90: Ditto.
1799	* testsuite/libgomp.fortran/retval2.f90: Ditto.
1800	* testsuite/libgomp.fortran/sharing1.f90: Ditto.
1801	* testsuite/libgomp.fortran/sharing2.f90: Ditto.
1802	* testsuite/libgomp.fortran/simd1.f90: Ditto.
1803	* testsuite/libgomp.fortran/simd2.f90: Ditto.
1804	* testsuite/libgomp.fortran/simd3.f90: Ditto.
1805	* testsuite/libgomp.fortran/simd4.f90: Ditto.
1806	* testsuite/libgomp.fortran/simd5.f90: Ditto.
1807	* testsuite/libgomp.fortran/simd6.f90: Ditto.
1808	* testsuite/libgomp.fortran/simd7.f90: Ditto.
1809	* testsuite/libgomp.fortran/stack.f90: Ditto.
1810	* testsuite/libgomp.fortran/strassen.f90: Ditto.
1811	* testsuite/libgomp.fortran/tabs1.f90: Ditto.
1812	* testsuite/libgomp.fortran/tabs2.f: Ditto.
1813	* testsuite/libgomp.fortran/target1.f90: Ditto.
1814	* testsuite/libgomp.fortran/target2.f90: Ditto.
1815	* testsuite/libgomp.fortran/target3.f90: Ditto.
1816	* testsuite/libgomp.fortran/target4.f90: Ditto.
1817	* testsuite/libgomp.fortran/target5.f90: Ditto.
1818	* testsuite/libgomp.fortran/target6.f90: Ditto.
1819	* testsuite/libgomp.fortran/target7.f90: Ditto.
1820	* testsuite/libgomp.fortran/target8.f90: Ditto.
1821	* testsuite/libgomp.fortran/task1.f90: Ditto.
1822	* testsuite/libgomp.fortran/task2.f90: Ditto.
1823	* testsuite/libgomp.fortran/task3.f90: Ditto.
1824	* testsuite/libgomp.fortran/task4.f90: Ditto.
1825	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1826	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1827	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
1828	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
1829	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
1830	* testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
1831	* testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
1832	* testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
1833	* testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
1834	* testsuite/libgomp.fortran/udr1.f90: Ditto.
1835	* testsuite/libgomp.fortran/udr10.f90: Ditto.
1836	* testsuite/libgomp.fortran/udr11.f90: Ditto.
1837	* testsuite/libgomp.fortran/udr12.f90: Ditto.
1838	* testsuite/libgomp.fortran/udr13.f90: Ditto.
1839	* testsuite/libgomp.fortran/udr14.f90: Ditto.
1840	* testsuite/libgomp.fortran/udr15.f90: Ditto.
1841	* testsuite/libgomp.fortran/udr2.f90: Ditto.
1842	* testsuite/libgomp.fortran/udr3.f90: Ditto.
1843	* testsuite/libgomp.fortran/udr4.f90: Ditto.
1844	* testsuite/libgomp.fortran/udr5.f90: Ditto.
1845	* testsuite/libgomp.fortran/udr6.f90: Ditto.
1846	* testsuite/libgomp.fortran/udr7.f90: Ditto.
1847	* testsuite/libgomp.fortran/udr8.f90: Ditto.
1848	* testsuite/libgomp.fortran/udr9.f90: Ditto.
1849	* testsuite/libgomp.fortran/vla1.f90: Ditto.
1850	* testsuite/libgomp.fortran/vla2.f90: Ditto.
1851	* testsuite/libgomp.fortran/vla3.f90: Ditto.
1852	* testsuite/libgomp.fortran/vla4.f90: Ditto.
1853	* testsuite/libgomp.fortran/vla5.f90: Ditto.
1854	* testsuite/libgomp.fortran/vla6.f90: Ditto.
1855	* testsuite/libgomp.fortran/vla7.f90: Ditto.
1856	* testsuite/libgomp.fortran/vla8.f90: Ditto.
1857	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
1858	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
1859
18602019-10-30  Tobias Burnus  <tobias@codesourcery.com>
1861
1862	* testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
1863	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
1864	Ditto; add 'dg-do run' for torture testing.
1865	* testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
1866	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
1867	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
1868	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
1869	* testsuite/libgomp.fortran/pr28390.f: Ditto.
1870	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
1871	* testsuite/libgomp.fortran/pr90779.f90: Ditto.
1872	* testsuite/libgomp.fortran/task2.f90: Ditto.
1873	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
1874	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
1875	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
1876	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
1877	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
1878	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
1879
18802019-10-28  Tobias Burnus  <tobias@codesourcery.com>
1881
1882	* testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
1883	* testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
1884	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
1885	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
1886	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
1887	* testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
1888	* testsuite/libgomp.oacc-fortran/common-block-1.f90:
1889	Use 'stop' not abort().
1890	* testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
1891	* testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
1892	* testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
1893	* testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
1894	* testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
1895	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
1896	* testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
1897	* testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
1898	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
1899	* testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
1900	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
1901	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
1902	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
1903	* testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
1904	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
1905	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
1906	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1907	Ditto.
1908	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1909	Ditto.
1910	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1911	Ditto.
1912	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1913	Ditto.
1914	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1915	Ditto.
1916	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
1917	Ditto.
1918	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
1919	Ditto.
1920	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
1921	Ditto.
1922	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
1923	Ditto.
1924	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
1925	Ditto.
1926	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
1927	Ditto.
1928	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
1929	Ditto.
1930	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
1931	Ditto.
1932	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
1933	Ditto.
1934	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
1935	* testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
1936	* testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
1937	* testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
1938	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1939	Likewise and also add 'dg-do run'.
1940	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1941	Ditto.
1942
19432019-10-25  Cesar Philippidis <cesar@codesourcery.com>
1944	    Tobias Burnus  <tobias@codesourcery.com>
1945
1946	* testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
1947	* testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
1948	* testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
1949
19502019-10-14  Jakub Jelinek  <jakub@redhat.com>
1951
1952	PR libgomp/92081
1953	* testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
1954	than 0.
1955
19562019-10-11  Tobias Burnus  <tobias@codesourcery.com>
1957
1958	* testsuite/libgomp.fortran/use_device_addr-1.f90: New.
1959	* testsuite/libgomp.fortran/use_device_addr-2.f90: New.
1960
19612019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
1962
1963	PR middle-end/92036
1964	* testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
1965	file.
1966
19672019-10-09  Tobias Burnus  <tobias@codesourcery.com>
1968
1969	PR testsuite/91884
1970	* testsuite/libgomp.fortran/fortran.exp: Conditionally
1971	add -lquadmath.
1972	* testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
1973
19742019-10-09  Jakub Jelinek  <jakub@redhat.com>
1975
1976	PR libgomp/92028
1977	* target.c (gomp_map_vars_internal): Readd the previous
1978	GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
1979	though do that just in the !not_found_cnt case.
1980
19812019-10-08  Tobias Burnus  <tobias@codesourcery.com>
1982
1983	* gfortran.dg/gomp/target-simd.f90: New.
1984
19852019-10-02  Julian Brown  <julian@codesourcery.com>
1986	    Cesar Philippidis  <cesar@codesourcery.com>
1987
1988	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1989	* target.c (FIELD_TGT_EMPTY): Define.
1990	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
1991	as switch instead of list of ifs.
1992	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1993
19942019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
1995
1996	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1997	include. Replace alloca () with __builtin_alloca ().
1998	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1999
20002019-10-01  Jakub Jelinek  <jakub@redhat.com>
2001
2002	* configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2003	* libgomp.h: Include <stdint.h> instead of "gstdint.h".
2004	* oacc-parallel.c: Don't include "libgomp_g.h".
2005	* plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2006	* plugin/plugin-nvptx.c: Don't include "gstdint.h".
2007	* aclocal.m4: Regenerated.
2008	* config.h.in: Regenerated.
2009	* configure: Regenerated.
2010	* Makefile.in: Regenerated.
2011
20122019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
2013
2014	* libgomp_g.h: Include stdint.h instead of gstdint.h.
2015
20162019-09-27  Maciej W. Rozycki  <macro@wdc.com>
2017
2018	* configure: Regenerate.
2019
20202019-09-13  Tobias Burnus  <tobias@codesourcery.com>
2021
2022	* plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2023	string is initialized.
2024
20252019-09-06  Florian Weimer  <fweimer@redhat.com>
2026
2027	* configure: Regenerate.
2028
20292019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
2030
2031	PR other/79543
2032	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2033	scanning to conform to the GNU Coding Standards.
2034	* configure: Regenerate.
2035
20362019-08-28  Jakub Jelinek  <jakub@redhat.com>
2037
2038	PR libgomp/91530
2039	* testsuite/libgomp.c/scan-21.c: New test.
2040	* testsuite/libgomp.c/scan-22.c: New test.
2041
20422019-08-27  Jakub Jelinek  <jakub@redhat.com>
2043
2044	PR libgomp/91530
2045	* testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2046	targets.
2047	* testsuite/libgomp.c/scan-12.c: Likewise.
2048	* testsuite/libgomp.c/scan-13.c: Likewise.
2049	* testsuite/libgomp.c/scan-14.c: Likewise.
2050	* testsuite/libgomp.c/scan-15.c: Likewise.
2051	* testsuite/libgomp.c/scan-16.c: Likewise.
2052	* testsuite/libgomp.c/scan-17.c: Likewise.
2053	* testsuite/libgomp.c/scan-18.c: Likewise.
2054	* testsuite/libgomp.c/scan-19.c: Likewise.
2055	* testsuite/libgomp.c/scan-20.c: Likewise.
2056	* testsuite/libgomp.c++/scan-9.C: Likewise.
2057	* testsuite/libgomp.c++/scan-10.C: Likewise.
2058	* testsuite/libgomp.c++/scan-11.C: Likewise.
2059	* testsuite/libgomp.c++/scan-12.C: Likewise.
2060	* testsuite/libgomp.c++/scan-14.C: Likewise.
2061	* testsuite/libgomp.c++/scan-15.C: Likewise.
2062	* testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
2063	instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2064	* testsuite/libgomp.c++/scan-16.C: Likewise.
2065
20662019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
2067
2068	PR fortran/91473
2069	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2070	-std=legacy so invalid code in the test case is accepted.
2071
20722019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
2073
2074	PR fortran/91422
2075	* testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2076	dimension.
2077
20782019-08-08  Jakub Jelinek  <jakub@redhat.com>
2079
2080	* target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2081	perform the lookup in the first loop only if !not_found_cnt, otherwise
2082	perform lookups for it in the second loop guarded with
2083	if (not_found_cnt || has_firstprivate).
2084	* testsuite/libgomp.c/target-37.c: New test.
2085	* testsuite/libgomp.c++/target-22.C: New test.
2086
20872019-08-07  Jakub Jelinek  <jakub@redhat.com>
2088
2089	* testsuite/libgomp.c/target-18.c (struct S): New type.
2090	(foo): Use use_device_addr clause instead of use_device_ptr clause
2091	where required by OpenMP 5.0, add further tests for both use_device_ptr
2092	and use_device_addr clauses.
2093	* testsuite/libgomp.c++/target-9.C (struct S): New type.
2094	(foo): Use use_device_addr clause instead of use_device_ptr clause
2095	where required by OpenMP 5.0, add further tests for both use_device_ptr
2096	and use_device_addr clauses.  Add t and u arguments.
2097	(main): Adjust caller.
2098
20992019-08-06  Jakub Jelinek  <jakub@redhat.com>
2100
2101	* testsuite/libgomp.c++/loop-13.C: New test.
2102	* testsuite/libgomp.c++/loop-14.C: New test.
2103	* testsuite/libgomp.c++/loop-15.C: New test.
2104
21052019-07-31  Jakub Jelinek  <jakub@redhat.com>
2106
2107	PR middle-end/91301
2108	* testsuite/libgomp.c++/for-27.C: New test.
2109
21102019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
2111
2112	* testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
2113	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
2114
21152019-07-20  Jakub Jelinek  <jakub@redhat.com>
2116
2117	* testsuite/libgomp.c-c++-common/loop-1.c: New test.
2118
21192019-07-08  Jakub Jelinek  <jakub@redhat.com>
2120
2121	* testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2122	* testsuite/libgomp.c++/scan-16.C: Likewise.
2123
21242019-07-06  Jakub Jelinek  <jakub@redhat.com>
2125
2126	* testsuite/libgomp.c/scan-19.c: New test.
2127	* testsuite/libgomp.c/scan-20.c: New test.
2128
2129	* testsuite/libgomp.c/scan-11.c: New test.
2130	* testsuite/libgomp.c/scan-12.c: New test.
2131	* testsuite/libgomp.c/scan-13.c: New test.
2132	* testsuite/libgomp.c/scan-14.c: New test.
2133	* testsuite/libgomp.c/scan-15.c: New test.
2134	* testsuite/libgomp.c/scan-16.c: New test.
2135	* testsuite/libgomp.c/scan-17.c: New test.
2136	* testsuite/libgomp.c/scan-18.c: New test.
2137	* testsuite/libgomp.c++/scan-9.C: New test.
2138	* testsuite/libgomp.c++/scan-10.C: New test.
2139	* testsuite/libgomp.c++/scan-11.C: New test.
2140	* testsuite/libgomp.c++/scan-12.C: New test.
2141	* testsuite/libgomp.c++/scan-13.C: New test.
2142	* testsuite/libgomp.c++/scan-14.C: New test.
2143	* testsuite/libgomp.c++/scan-15.C: New test.
2144	* testsuite/libgomp.c++/scan-16.C: New test.
2145
21462019-07-04  Jakub Jelinek  <jakub@redhat.com>
2147
2148	* testsuite/libgomp.c/scan-9.c: New test.
2149	* testsuite/libgomp.c/scan-10.c: New test.
2150
21512019-07-03  Jakub Jelinek  <jakub@redhat.com>
2152
2153	* testsuite/libgomp.c++/scan-1.C: New test.
2154	* testsuite/libgomp.c++/scan-2.C: New test.
2155	* testsuite/libgomp.c++/scan-3.C: New test.
2156	* testsuite/libgomp.c++/scan-4.C: New test.
2157	* testsuite/libgomp.c++/scan-5.C: New test.
2158	* testsuite/libgomp.c++/scan-6.C: New test.
2159	* testsuite/libgomp.c++/scan-7.C: New test.
2160	* testsuite/libgomp.c++/scan-8.C: New test.
2161	* testsuite/libgomp.c/scan-1.c: New test.
2162	* testsuite/libgomp.c/scan-2.c: New test.
2163	* testsuite/libgomp.c/scan-3.c: New test.
2164	* testsuite/libgomp.c/scan-4.c: New test.
2165	* testsuite/libgomp.c/scan-5.c: New test.
2166	* testsuite/libgomp.c/scan-6.c: New test.
2167	* testsuite/libgomp.c/scan-7.c: New test.
2168	* testsuite/libgomp.c/scan-8.c: New test.
2169
21702019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2171
2172	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2173	* testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2174	Likewise.
2175
2176	* testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2177	check.
2178
21792019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
2180
2181	* testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2182	file.
2183
21842019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2185
2186	PR fortran/90743
2187	* oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2188	case.
2189	* testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2190	* testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2191	* testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2192	* testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2193
2194	PR testsuite/90861
2195	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2196
2197	PR middle-end/90862
2198	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2199
22002019-06-16  Tom de Vries  <tdevries@suse.de>
2201
2202	PR tree-optimization/89376
2203	* testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2204
22052019-06-15  Tom de Vries  <tdevries@suse.de>
2206
2207	PR tree-optimization/89713
2208	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2209	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2210
22112019-06-15  Jakub Jelinek  <jakub@redhat.com>
2212
2213	PR middle-end/90779
2214	* testsuite/libgomp.c/pr90779.c: New test.
2215	* testsuite/libgomp.fortran/pr90779.f90: New test.
2216
22172019-06-15  Tom de Vries  <tdevries@suse.de>
2218
2219	PR tree-optimization/90009
2220	* testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2221
22222019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
2223
2224	PR tree-optimization/89713
2225	* testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2226
22272019-06-11  Jakub Jelinek  <jakub@redhat.com>
2228
2229	PR target/90811
2230	* testsuite/libgomp.c/pr90811.c: New test.
2231
22322019-06-05  Jakub Jelinek  <jakub@redhat.com>
2233
2234	* testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2235	* testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2236
22372019-06-04  Jakub Jelinek  <jakub@redhat.com>
2238
2239	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2240	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2241	* testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2242	* testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2243
22442019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2245
2246	* configure.ac: Call AX_COUNT_CPUS.
2247	Substitute CPU_COUNT.
2248	* testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2249	count fallback.
2250	* aclocal.m4: Regenerate.
2251	* configure: Regenerate.
2252	* Makefile.in, testsuite/Makefile.in: Regenerate.
2253
22542019-05-29  Jakub Jelinek  <jakub@redhat.com>
2255
2256	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2257	to ...
2258	* testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2259	* testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2260	* testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2261
22622019-05-27  Jakub Jelinek  <jakub@redhat.com>
2263
2264	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2265
2266	* testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2267
2268	PR libgomp/90641
2269	* work.c (gomp_init_work_share): Instead of aligning final ordered
2270	value to multiples of long long alignment, align to that the
2271	first part (ordered team ids) and if inline_ordered_team_ids
2272	is not on a long long alignment boundary within the structure,
2273	use __alignof__ (long long) - 1 pad size always.
2274	* loop.c (GOMP_loop_start): Fix *mem computation if
2275	inline_ordered_team_ids is not aligned on long long alignment boundary
2276	within the structure.
2277	* loop-ull.c (GOMP_loop_ull_start): Likewise.
2278	* sections.c (GOMP_sections2_start): Likewise.
2279
22802019-05-24  Jakub Jelinek  <jakub@redhat.com>
2281
2282	* testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2283	* testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2284
2285	PR libgomp/90585
2286	* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
2287	HAVE_INTTYPES_H is defined.
2288	(print_uint64_t): New typedef.
2289	(PRIu64): Define if HAVE_INTTYPES_H is not defined.
2290	(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2291	"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2292	(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
2293	before casting to void *.
2294	* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2295	* oacc-mem.c: Don't include config.h nor stdint.h.
2296	* target.c: Don't include config.h.
2297	* oacc-cuda.c: Likewise.
2298	* oacc-host.c: Don't include stdint.h.
2299
23002019-05-20  Jakub Jelinek  <jakub@redhat.com>
2301
2302	PR libgomp/90527
2303	* alloc.c (_GNU_SOURCE): Define.
2304
23052019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
2306
2307	* acc_prof.h: New file.
2308	* oacc-profiling.c: Likewise.
2309	* Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2310	Add these, respectively.
2311	* Makefile.in: Regenerate.
2312	* env.c (initialize_env): Call goacc_profiling_initialize.
2313	* oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2314	(GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2315	* oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2316	(GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2317	* libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2318	acc_prof_register, acc_prof_unregister, and acc_register_library.
2319	(GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2320	GOMP_PLUGIN_goacc_thread.
2321	* oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2322	prof_callbacks_enabled members.
2323	(goacc_prof_enabled, goacc_profiling_initialize)
2324	(_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2325	(goacc_profiling_dispatch): Declare.
2326	(GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2327	(GOACC_PROFILING_SETUP_P): Define.
2328	* oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2329	(acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2330	OpenACC Profiling Interface.
2331	* oacc-cuda.c (acc_get_current_cuda_device)
2332	(acc_get_current_cuda_context, acc_get_cuda_stream)
2333	(acc_set_cuda_stream): Likewise.
2334	* oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2335	(acc_init, acc_set_device_type, acc_get_device_type)
2336	(acc_get_device_num, goacc_lazy_initialize): Likewise.
2337	* oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2338	(acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2339	(acc_unmap_data, present_create_copy, delete_copyout)
2340	(update_dev_host): Likewise.
2341	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2342	(GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2343	Likewise.
2344	* plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2345	(GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2346	Likewise.
2347	* libgomp.texi: Update.
2348	* testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2349	file.
2350	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
2351	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2352	Likewise.
2353	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2354	Likewise.
2355	* testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
2356	Likewise.
2357	* testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
2358	Likewise.
2359
23602019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
2361
2362	* libgomp-plugin.h (struct goacc_asyncqueue): Declare.
2363	(struct goacc_asyncqueue_list): Likewise.
2364	(goacc_aq): Likewise.
2365	(goacc_aq_list): Likewise.
2366	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2367	(GOMP_OFFLOAD_openacc_async_test): Remove.
2368	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
2369	(GOMP_OFFLOAD_openacc_async_wait): Remove.
2370	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2371	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2372	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2373	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
2374	(GOMP_OFFLOAD_openacc_exec): Adjust declaration.
2375	(GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
2376	(GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
2377	(GOMP_OFFLOAD_openacc_async_exec): Declare.
2378	(GOMP_OFFLOAD_openacc_async_construct): Declare.
2379	(GOMP_OFFLOAD_openacc_async_destruct): Declare.
2380	(GOMP_OFFLOAD_openacc_async_test): Declare.
2381	(GOMP_OFFLOAD_openacc_async_synchronize): Declare.
2382	(GOMP_OFFLOAD_openacc_async_serialize): Declare.
2383	(GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
2384	(GOMP_OFFLOAD_openacc_async_host2dev): Declare.
2385	(GOMP_OFFLOAD_openacc_async_dev2host): Declare.
2386
2387	* libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
2388	(gomp_acc_insert_pointer): Adjust declaration.
2389	(gomp_copy_host2dev): New declaration.
2390	(gomp_copy_dev2host): Likewise.
2391	(gomp_map_vars_async): Likewise.
2392	(gomp_unmap_tgt): Likewise.
2393	(gomp_unmap_vars_async): Likewise.
2394	(gomp_fini_device): Likewise.
2395
2396	* oacc-async.c (get_goacc_thread): New function.
2397	(get_goacc_thread_device): New function.
2398	(lookup_goacc_asyncqueue): New function.
2399	(get_goacc_asyncqueue): New function.
2400	(acc_async_test): Adjust code to use new async design.
2401	(acc_async_test_all): Likewise.
2402	(acc_wait): Likewise.
2403	(acc_wait_async): Likewise.
2404	(acc_wait_all): Likewise.
2405	(acc_wait_all_async): Likewise.
2406	(goacc_async_free): New function.
2407	(goacc_init_asyncqueues): Likewise.
2408	(goacc_fini_asyncqueues): Likewise.
2409	* oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
2410	design.
2411	(acc_set_cuda_stream): Likewise.
2412	* oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
2413	(host_openacc_register_async_cleanup): Remove.
2414	(host_openacc_async_exec): New function.
2415	(host_openacc_async_test): Adjust parameters.
2416	(host_openacc_async_test_all): Remove.
2417	(host_openacc_async_wait): Remove.
2418	(host_openacc_async_wait_async): Remove.
2419	(host_openacc_async_wait_all): Remove.
2420	(host_openacc_async_wait_all_async): Remove.
2421	(host_openacc_async_set_async): Remove.
2422	(host_openacc_async_synchronize): New function.
2423	(host_openacc_async_serialize): New function.
2424	(host_openacc_async_host2dev): New function.
2425	(host_openacc_async_dev2host): New function.
2426	(host_openacc_async_queue_callback): New function.
2427	(host_openacc_async_construct): New function.
2428	(host_openacc_async_destruct): New function.
2429	(struct gomp_device_descr host_dispatch): Remove initialization of old
2430	interface, add initialization of new async sub-struct.
2431	* oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
2432	(goacc_attach_host_thread_to_device): Remove old async code usage.
2433	* oacc-int.h (goacc_init_asyncqueues): New declaration.
2434	(goacc_fini_asyncqueues): Likewise.
2435	(goacc_async_copyout_unmap_vars): Likewise.
2436	(goacc_async_free): Likewise.
2437	(get_goacc_asyncqueue): Likewise.
2438	(lookup_goacc_asyncqueue): Likewise.
2439	* oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
2440	design.
2441	(present_create_copy): Adjust code to use new async design.
2442	(delete_copyout): Likewise.
2443	(update_dev_host): Likewise.
2444	(gomp_acc_insert_pointer): Add async parameter, adjust code to use new
2445	async design.
2446	(gomp_acc_remove_pointer): Adjust code to use new async design.
2447	* oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
2448	design.
2449	(GOACC_enter_exit_data): Likewise.
2450	(goacc_wait): Likewise.
2451	(GOACC_update): Likewise.
2452	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
2453	when called, warn as obsolete in comment.
2454	* target.c (goacc_device_copy_async): New function.
2455	(gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
2456	add goacc_device_copy_async case.
2457	(gomp_copy_dev2host): Likewise.
2458	(gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
2459	(gomp_map_pointer): Likewise.
2460	(gomp_map_fields_existing): Likewise.
2461	(gomp_map_vars_internal): New always_inline function, renamed from
2462	gomp_map_vars.
2463	(gomp_map_vars): Implement by calling gomp_map_vars_internal.
2464	(gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
2465	passing goacc_asyncqueue argument.
2466	(gomp_unmap_tgt): Remove static, add attribute_hidden.
2467	(gomp_unref_tgt): New function.
2468	(gomp_unmap_vars_internal): New always_inline function, renamed from
2469	gomp_unmap_vars.
2470	(gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
2471	(gomp_unmap_vars_async): Implement by calling
2472	gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
2473	(gomp_fini_device): New function.
2474	(gomp_exit_data): Adjust gomp_copy_dev2host call.
2475	(gomp_load_plugin_for_device): Remove old interface, adjust to load
2476	new async interface.
2477	(gomp_target_fini): Adjust code to call gomp_fini_device.
2478
2479	* plugin/plugin-nvptx.c (struct cuda_map): Remove.
2480	(struct ptx_stream): Remove.
2481	(struct nvptx_thread): Remove current_stream field.
2482	(cuda_map_create): Remove.
2483	(cuda_map_destroy): Remove.
2484	(map_init): Remove.
2485	(map_fini): Remove.
2486	(map_pop): Remove.
2487	(map_push): Remove.
2488	(struct goacc_asyncqueue): Define.
2489	(struct nvptx_callback): Define.
2490	(struct ptx_free_block): Define.
2491	(struct ptx_device): Remove null_stream, active_streams, async_streams,
2492	stream_lock, and next fields.
2493	(enum ptx_event_type): Remove.
2494	(struct ptx_event): Remove.
2495	(ptx_event_lock): Remove.
2496	(ptx_events): Remove.
2497	(init_streams_for_device): Remove.
2498	(fini_streams_for_device): Remove.
2499	(select_stream_for_async): Remove.
2500	(nvptx_init): Remove ptx_events and ptx_event_lock references.
2501	(nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
2502	case.
2503	(nvptx_open_device): Add free_blocks initialization, remove
2504	init_streams_for_device call.
2505	(nvptx_close_device): Remove fini_streams_for_device call, add
2506	free_blocks destruct code.
2507	(event_gc): Remove.
2508	(event_add): Remove.
2509	(nvptx_exec): Adjust parameters and code.
2510	(nvptx_free): Likewise.
2511	(nvptx_host2dev): Remove.
2512	(nvptx_dev2host): Remove.
2513	(nvptx_set_async): Remove.
2514	(nvptx_async_test): Remove.
2515	(nvptx_async_test_all): Remove.
2516	(nvptx_wait): Remove.
2517	(nvptx_wait_async): Remove.
2518	(nvptx_wait_all): Remove.
2519	(nvptx_wait_all_async): Remove.
2520	(nvptx_get_cuda_stream): Remove.
2521	(nvptx_set_cuda_stream): Remove.
2522	(GOMP_OFFLOAD_alloc): Adjust code.
2523	(GOMP_OFFLOAD_free): Likewise.
2524	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
2525	(GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
2526	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
2527	(GOMP_OFFLOAD_openacc_async_wait): Remove.
2528	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
2529	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
2530	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
2531	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
2532	(cuda_free_argmem): New function.
2533	(GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
2534	(GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
2535	(GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
2536	(GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
2537	(GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
2538	(GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
2539	(GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
2540	(GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
2541	(GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
2542	(GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
2543	(cuda_callback_wrapper): New function.
2544	(cuda_memcpy_sanity_check): New function.
2545	(GOMP_OFFLOAD_host2dev): Remove and re-implement.
2546	(GOMP_OFFLOAD_dev2host): Remove and re-implement.
2547	(GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
2548	(GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
2549
25502019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
2551
2552	PR target/87835
2553	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
2554
25552019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
2556
2557	* oacc-parallel.c: Add comments to legacy entry points (GCC 5).
2558
25592019-03-27  Kevin Buettner  <kevinb@redhat.com>
2560
2561	* team.c (gomp_team_start): Initialize pool->threads[0].
2562
25632019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
2564
2565	* testsuite/libgomp.oacc-c++/c++.exp: Specify
2566	"-foffload=$offload_target".
2567	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2568	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2569	* testsuite/lib/libgomp.exp
2570	(check_effective_target_openacc_nvidia_accel_configured): Remove,
2571	as (conceptually) merged into
2572	check_effective_target_openacc_nvidia_accel_selected.  Adjust all
2573	users.
2574
2575	* plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
2576	* testsuite/libgomp-test-support.exp.in: Adjust.
2577	* testsuite/lib/libgomp.exp: Likewise.  Don't populate
2578	openacc_device_types_s.
2579	(offload_target_to_openacc_device_type): New proc.
2580	* testsuite/libgomp.oacc-c++/c++.exp: Adjust.
2581	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2582	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2583	* Makefile.in: Regenerate.
2584	* configure: Likewise.
2585	* testsuite/Makefile.in: Likewise.
2586
2587	* plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
2588	instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
2589	instead of OFFLOAD_TARGETS.
2590	* target.c (gomp_target_init): Adjust.
2591	* testsuite/libgomp-test-support.exp.in: Likewise.
2592	* testsuite/lib/libgomp.exp: Likewise.  Populate
2593	openacc_device_types_s instead of offload_targets_s_openacc.
2594	(check_effective_target_openacc_nvidia_accel_selected)
2595	(check_effective_target_openacc_host_selected): Adjust.
2596	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
2597	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2598	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2599	* Makefile.in: Regenerate.
2600	* config.h.in: Likewise.
2601	* configure: Likewise.
2602	* testsuite/Makefile.in: Likewise.
2603
2604	* testsuite/lib/libgomp.exp: Error out for unknown offload target.
2605	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
2606	"offloading: supported, but hardware not accessible".
2607	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2608	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2609
26102019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
2611
2612	PR c/87924
2613	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
2614	goacc_wait().
2615	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
2616	and related adjustment.
2617
26182019-01-30  Jakub Jelinek  <jakub@redhat.com>
2619
2620	PR c++/88988
2621	* testsuite/libgomp.c++/pr88988.C: New test.
2622
26232019-01-28  Jakub Jelinek  <jakub@redhat.com>
2624
2625	PR middle-end/89002
2626	* testsuite/libgomp.c/pr89002.c: New test.
2627
26282019-01-28  Richard Biener  <rguenther@suse.de>
2629
2630	PR testsuite/89064
2631	PR tree-optimization/86865
2632	* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
2633
26342019-01-24  Tom de Vries  <tdevries@suse.de>
2635
2636	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
2637	once instantiated_devices drops to 0.
2638
26392019-01-23  Tom de Vries  <tdevries@suse.de>
2640
2641	PR target/PR88946
2642	* plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
2643	cuMemFree.
2644	(nvptx_exec): Don't call map_push if mapnum == 0.
2645	* testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
2646
26472019-01-23  Tom de Vries  <tdevries@suse.de>
2648
2649	PR target/88941
2650	PR target/88939
2651	* plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
2652	(map_fini): Remove "assert (!s->map->active)".
2653	* testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
2654
26552019-01-23  Tom de Vries  <tdevries@suse.de>
2656
2657	PR target/87835
2658	* plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
2659	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
2660
26612019-01-15  Tom de Vries  <tdevries@suse.de>
2662
2663	PR target/80547
2664	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
2665	New test.
2666
26672019-01-12  Tom de Vries  <tdevries@suse.de>
2668
2669	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
2670	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
2671	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
2672	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
2673
26742019-01-12  Tom de Vries  <tdevries@suse.de>
2675
2676	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
2677
26782019-01-12  Tom de Vries  <tdevries@suse.de>
2679
2680	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
2681	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
2682	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
2683
26842019-01-12  Tom de Vries  <tdevries@suse.de>
2685
2686	PR target/85486
2687	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
2688	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
2689
26902019-01-12  Tom de Vries  <tdevries@suse.de>
2691
2692	PR target/85381
2693	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
2694	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
2695
26962019-01-12  Tom de Vries  <tdevries@suse.de>
2697
2698	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
2699	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
2700	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
2701
27022019-01-12  Tom de Vries  <tdevries@suse.de>
2703
2704	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
2705	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
2706	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
2707
27082019-01-12  Tom de Vries  <tdevries@suse.de>
2709
2710	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
2711	resources diagnostic.
2712
27132019-01-12  Tom de Vries  <tdevries@suse.de>
2714
2715	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
2716	vector length to be 128.
2717	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
2718	length 2097152 to be reduced to 1024 instead of 32.
2719
27202019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
2721            James Norris  <jnorris@codesourcery.com>
2722
2723	* libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
2724	Library Routines", and "Environment Variables".
2725
27262019-01-11  Tom de Vries  <tdevries@suse.de>
2727
2728	* plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
2729	num_workers 16.
2730
27312019-01-11  Tom de Vries  <tdevries@suse.de>
2732
2733	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
2734	-foffload=-w.
2735	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
2736	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
2737	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
2738	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
2739
27402019-01-11  Tom de Vries  <tdevries@suse.de>
2741
2742	* testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
2743	test.
2744
27452019-01-10  Nathan Sidwell  <nathan@acm.org>
2746	    Julian Brown  <julian@codesourcery.com>
2747
2748	PR lto/71959
2749	* testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
2750	* testsuite/libgomp.oacc-c++/pr71959.C: New.
2751
27522019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2753
2754	* config/rtems/bar.c: Include "../linux/bar.c" and delete copy
2755	and paste code.
2756
27572019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2758
2759	* config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
2760	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2761	write.
2762
27632019-01-09  Tom de Vries  <tdevries@suse.de>
2764
2765	PR target/88756
2766	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
2767	#define instead of "const int".
2768	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
2769	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
2770	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
2771	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
2772
27732019-01-09  Tom de Vries  <tdevries@suse.de>
2774
2775	* plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
2776	one worker.
2777
27782019-01-07  Tom de Vries  <tdevries@suse.de>
2779
2780	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
2781	GOMP_OPENACC_DIM argument.
2782
27832019-01-03  Tom de Vries  <tdevries@suse.de>
2784
2785	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
2786	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
2787
27882019-01-01  Jakub Jelinek  <jakub@redhat.com>
2789
2790	Update copyright years.
2791
27922019-01-01  Jakub Jelinek  <jakub@redhat.com>
2793
2794	* libgomp.texi: Bump @copying's copyright year.
2795
27962018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
2797
2798	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
2799	(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
2800	(GOACC_declare): Redefine the "device" argument to "flags".
2801
28022018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
2803	    Cesar Philippidis  <cesar@codesourcery.com>
2804
2805	* target.c (struct gomp_coalesce_chunk): New structure.
2806	(struct gomp_coalesce_buf): Update the chunks member to use that
2807	type.  Adjust all users.
2808
28092018-12-19  Tom de Vries  <tdevries@suse.de>
2810
2811	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
2812	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
2813	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
2814
28152018-12-19  Tom de Vries  <tdevries@suse.de>
2816
2817	* testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
2818	* testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
2819	gcc/testsuite/gcc.dg/goacc.
2820	* testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
2821
28222018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
2823	    Chung-Lin Tang  <cltang@codesourcery.com>
2824
2825	* oacc-mem.c (acc_present_or_create): Remove definition and change
2826	to alias of acc_create.
2827	(acc_present_or_copyin): Remove definition and change to alias of
2828	acc_copyin.
2829	* oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
2830	of acc_present_or_create.
2831	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
2832	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2833	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2834	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2835	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2836	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2837	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2838	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2839	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2840	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2841	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2842	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2843	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2844	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2845	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2846	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2847
28482018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
2849
2850	PR libgomp/88495
2851	* plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
2852	"identical parameters".
2853	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
2854	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
2855
2856	PR libgomp/88484
2857	* oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
2858	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
2859
2860	PR libgomp/88407
2861	* plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
2862	(nvptx_wait_async): Unseen async-argument is a no-op.
2863	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
2864	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
2865	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2866	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2867	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2868	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
2869	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
2870	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
2871	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
2872
2873	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
2874	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2875
28762018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
2877
2878	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
2879	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
2880	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2881
28822018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
2883
2884	PR libgomp/88370
2885	* libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
2886	(acc_set_cuda_stream): Clarify.
2887	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2888	"async_valid_p".
2889	* plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
2890	acc_async_sync".
2891	* testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
2892	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
2893	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
2894	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2895
28962018-12-14  Tom de Vries  <tdevries@suse.de>
2897
2898	* testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
2899	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
2900	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
2901	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
2902	* testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
2903
29042018-12-13  Tom de Vries  <tdevries@suse.de>
2905
2906	* affinity-fmt.c (gomp_print_string): New function, factored out of ...
2907	(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
2908	* fortran.c (omp_display_affinity_): ... here.
2909	* libgomp.h (gomp_print_string): Declare.
2910	* config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
2911	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
2912	write.
2913
29142018-12-13  Jakub Jelinek  <jakub@redhat.com>
2915
2916	PR libgomp/88460
2917	* testsuite/libgomp.c++/for-24.C (results): Include it in
2918	omp declare target region.
2919	(main): Use map (always, tofrom: results) instead of
2920	map (tofrom: results).
2921
29222018-12-12  Jakub Jelinek  <jakub@redhat.com>
2923
2924	PR fortran/88463
2925	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
2926	* testsuite/libgomp.fortran/pr88463-2.f90: New test.
2927
2928	* testsuite/libgomp.c-c++-common/for-16.c: New test.
2929
29302018-12-12  Andreas Schwab  <schwab@suse.de>
2931
2932	* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
2933	clobbered.
2934
29352018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
2936
2937	PR fortran/88411
2938	* testsuite/libgomp.fortran/async_io_8.f90: New test.
2939
29402018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
2941	    Jakub Jelinek  <jakub@redhat.com>
2942
2943	* target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
2944	devicep->host2dev_func.
2945
29462018-12-08  Jakub Jelinek  <jakub@redhat.com>
2947
2948	PR libgomp/87995
2949	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
2950	tls_runtime effective target.
2951	(t): New threadprivate variable.
2952	(main): Set t in threads which execute iterations of the worksharing
2953	loop.  Propagate that to the task after the loop and don't abort
2954	if the current taskgroup hasn't been cancelled.
2955
29562018-12-02  Jakub Jelinek  <jakub@redhat.com>
2957
2958	* testsuite/libgomp.c/task-reduction-3.c: New test.
2959
2960	* testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
2961
29622018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
2963
2964	PR libgomp/88288
2965	* oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
2966	* testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
2967
29682018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
2969
2970	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
2971
29722018-10-19  Richard Biener  <rguenther@suse.de>
2973
2974	PR tree-optimization/88182
2975	* testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
2976
29772018-11-26  Jakub Jelinek  <jakub@redhat.com>
2978
2979	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
2980	(RUNTEST): Don't define.
2981	(RUNTESTDEFAULTFLAGS): Add.
2982	(check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
2983	(distclean-am): Depend on distclean-DEJAGNU.
2984	(check-am): If -j% option is present in MFLAGS and if
2985	`getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2986	(.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2987	* testsuite/Makefile.in: Regenerated.
2988
29892018-11-26  Richard Biener  <rguenther@suse.de>
2990
2991	PR tree-optimization/88182
2992	* testsuite/libgomp.c++/pr88182.C: New testcase.
2993
29942018-11-20  Jakub Jelinek  <jakub@redhat.com>
2995
2996	PR bootstrap/88106
2997	* config/mingw32/affinity-fmt.c: New file.
2998
29992018-11-09  Jakub Jelinek  <jakub@redhat.com>
3000
3001	* affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3002	(gomp_display_affinity): Use __builtin_choose_expr to handle
3003	properly handle argument having integral, or pointer or some other
3004	type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
3005	with uint64_t type instead of %llx and unsigned long long.
3006
3007	* testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3008	* testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3009
30102018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3011
3012	* affinity.c: Include <string.h>, <stdio.h>.
3013	(gomp_display_affinity_place): Remove cpusetp.
3014	* teams.c: Include <limits.h>.
3015
30162018-11-08  Jakub Jelinek  <jakub@redhat.com>
3017
3018	* testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3019	in_reduction clause for s[0].
3020
3021	* affinity.c (gomp_display_affinity_place): New function.
3022	* affinity-fmt.c: New file.
3023	* alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3024	* config/linux/affinity.c (gomp_display_affinity_place): New function.
3025	* config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3026	Move these functions to ...
3027	* config/nvptx/teams.c: ... here.  New file.
3028	* config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3029	New functions.
3030	* config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3031	functions.
3032	* configure.ac: Check for aligned_alloc, posix_memalign, memalign
3033	and _aligned_malloc.
3034	(HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3035	* configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3036	* env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3037	gomp_affinity_format_len): New variables.
3038	(parse_schedule): Parse monotonic and nonmonotonic modifiers in
3039	OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
3040	(handle_omp_display_env): Display monotonic/nonmonotonic schedule
3041	modifiers.  Display (non-default) chunk sizes.  Print
3042	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3043	(initialize_env): Don't call pthread_attr_setdetachstate.  Handle
3044	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3045	* fortran.c: Include stdio.h and string.h.
3046	(omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3047	(omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3048	(omp_set_affinity_format_, omp_get_affinity_format_,
3049	omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3050	omp_pause_resource_all_): New functions.
3051	* icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3052	switch.
3053	* icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3054	functions to ...
3055	* teams.c: ... here.  New file.
3056	* libgomp_g.h: Include gstdint.h.
3057	(GOMP_loop_nonmonotonic_runtime_start,
3058	GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3059	GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3060	GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3061	GOMP_parallel_loop_nonmonotonic_runtime,
3062	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3063	GOMP_loop_ull_nonmonotonic_runtime_start,
3064	GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3065	GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3066	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3067	GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3068	GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3069	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3070	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3071	GOMP_teams_reg): Declare.
3072	* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3073	gomp_aligned_alloc uses fallback implementation.
3074	(gomp_aligned_alloc, gomp_aligned_free): Declare.
3075	(enum gomp_schedule_type): Add GFS_MONOTONIC.
3076	(struct gomp_doacross_work_share): Add extra field.
3077	(struct gomp_work_share): Add task_reductions field.
3078	(struct gomp_taskgroup): Add workshare and reductions fields.
3079	(GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3080	(gomp_thread_handle): New typedef.
3081	(gomp_display_affinity_place, gomp_set_affinity_format,
3082	gomp_display_string, gomp_display_affinity,
3083	gomp_display_affinity_thread): Declare.
3084	(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3085	(gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3086	gomp_workshare_task_reduction_register): Declare.
3087	(gomp_team_start): Add taskgroup argument.
3088	(gomp_pause_host): Declare.
3089	(gomp_init_work_share, gomp_work_share_start): Change bool argument
3090	to size_t.
3091	(gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3092	* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3093	GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3094	GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3095	GOMP_loop_ull_doacross_start,
3096	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3097	GOMP_loop_maybe_nonmonotonic_runtime_next,
3098	GOMP_loop_maybe_nonmonotonic_runtime_start,
3099	GOMP_loop_nonmonotonic_runtime_next,
3100	GOMP_loop_nonmonotonic_runtime_start,
3101	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3102	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3103	GOMP_loop_ull_nonmonotonic_runtime_next,
3104	GOMP_loop_ull_nonmonotonic_runtime_start,
3105	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3106	GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3107	GOMP_taskgroup_reduction_register,
3108	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3109	GOMP_teams_reg and GOMP_taskwait_depend.
3110	(OMP_5.0): Export omp_pause_resource{,_all}{,_},
3111	omp_{capture,display}_affinity{,_}, and
3112	omp_[gs]et_affinity_format{,_}.
3113	* loop.c: Include string.h.
3114	(GOMP_loop_runtime_next): Add ialias.
3115	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
3116	(gomp_loop_static_start, gomp_loop_dynamic_start,
3117	gomp_loop_guided_start, gomp_loop_ordered_static_start,
3118	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3119	gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3120	gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3121	or gomp_doacross_init callers.
3122	(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3123	GOMP_loop_doacross_start): New functions.
3124	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3125	GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3126	Mask off GFS_MONOTONIC bit.
3127	(GOMP_loop_maybe_nonmonotonic_runtime_next,
3128	GOMP_loop_maybe_nonmonotonic_runtime_start,
3129	GOMP_loop_nonmonotonic_runtime_next,
3130	GOMP_loop_nonmonotonic_runtime_start,
3131	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3132	GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3133	functions.
3134	(gomp_parallel_loop_start): Pass NULL as taskgroup to
3135	gomp_team_start.
3136	* loop_ull.c: Include string.h.
3137	(GOMP_loop_ull_runtime_next): Add ialias.
3138	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
3139	(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3140	gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3141	gomp_loop_ull_ordered_dynamic_start,
3142	gomp_loop_ull_ordered_guided_start,
3143	gomp_loop_ull_doacross_static_start,
3144	gomp_loop_ull_doacross_dynamic_start,
3145	gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3146	and gomp_doacross_ull_init callers.
3147	(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3148	GOMP_loop_ull_doacross_start): New functions.
3149	(GOMP_loop_ull_runtime_start,
3150	GOMP_loop_ull_ordered_runtime_start,
3151	GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3152	(GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3153	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3154	GOMP_loop_ull_nonmonotonic_runtime_next,
3155	GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3156	* Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3157	* omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3158	(omp_pause_resource_t, omp_depend_t): New typedefs.
3159	(enum omp_lock_hint_t): Renamed to ...
3160	(enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
3161	enumerators using numbers and omp_lock_hint_* as their aliases.
3162	(omp_lock_hint_t): New typedef.  Rename to ...
3163	(omp_sync_hint_t): ... this.
3164	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3165	omp_sync_hint_t instead of omp_lock_hint_t.
3166	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3167	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3168	Declare.
3169	(omp_target_is_present, omp_target_disassociate_ptr):
3170	Change first argument from void * to const void *.
3171	(omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3172	from void * to const void *.
3173	(omp_target_associate_ptr): Change first and second arguments from
3174	void * to const void *.
3175	* omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3176	omp_pause_hard): New parameters.
3177	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3178	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3179	New interfaces.
3180	* omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3181	omp_pause_hard): New parameters.
3182	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3183	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3184	New externals.
3185	* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3186	EXTRA argument.  If not needed to prepare array, if extra is 0,
3187	clear ws->doacross, otherwise allocate just doacross structure and
3188	extra payload.  If array is needed, allocate also extra payload.
3189	(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3190	GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3191	doacross == NULL.
3192	* parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3193	gomp_team_start.
3194	(GOMP_parallel): Likewise.  Formatting fix.
3195	(GOMP_parallel_reductions): New function.
3196	(GOMP_cancellation_point): If taskgroup has workshare
3197	flag set, check cancelled of prev taskgroup if any.
3198	(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3199	on prev taskgroup if any.
3200	* sections.c: Include string.h.
3201	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
3202	(GOMP_sections_start): Adjust gomp_work_share_start caller.
3203	(GOMP_sections2_start): New function.
3204	(GOMP_parallel_sections_start, GOMP_parallel_sections):
3205	Pass NULL as taskgroup to gomp_team_start.
3206	* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3207	gomp_work_share_start callers.
3208	* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3209	If taskgroup has workshare flag set, check cancelled on prev
3210	taskgroup if any.  Guard all cancellation tests with
3211	gomp_cancel_var test.
3212	(omp_target_is_present, omp_target_disassociate_ptr):
3213	Change ptr argument from void * to const void *.
3214	(omp_target_memcpy): Change src argument from void * to const void *.
3215	(omp_target_memcpy_rect): Likewise.
3216	(omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
3217	instead of char * where needed.
3218	(omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3219	from void * to const void *.
3220	(omp_pause_resource, omp_pause_resource_all): New functions.
3221	* task.c (gomp_task_handle_depend): Handle new depend array format
3222	in addition to the old.  Handle mutexinoutset kinds the same as
3223	inout for now, handle unspecified kinds.
3224	(gomp_create_target_task): If taskgroup has workshare flag set, check
3225	cancelled on prev taskgroup if any.  Guard all cancellation tests with
3226	gomp_cancel_var test.  Handle new depend array format count in
3227	addition to the old.
3228	(GOMP_task): Likewise.  Adjust function comment.
3229	(gomp_task_run_pre): If taskgroup has workshare flag set, check
3230	cancelled on prev taskgroup if any.  Guard all cancellation tests with
3231	gomp_cancel_var test.
3232	(GOMP_taskwait_depend): New function.
3233	(gomp_task_maybe_wait_for_dependencies): Handle new depend array
3234	format in addition to the old.  Handle mutexinoutset kinds the same as
3235	inout for now, handle unspecified kinds.  Fix a function comment typo.
3236	(gomp_taskgroup_init): New function.
3237	(GOMP_taskgroup_start): Use it.
3238	(gomp_reduction_register, gomp_create_artificial_team,
3239	GOMP_taskgroup_reduction_register,
3240	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3241	gomp_parallel_reduction_register,
3242	gomp_workshare_task_reduction_register,
3243	gomp_workshare_taskgroup_start,
3244	GOMP_workshare_task_reduction_unregister): New functions.
3245	* taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3246	check cancelled on prev taskgroup if any.  Guard all cancellation
3247	tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
3248	by calling GOMP_taskgroup_reduction_register.
3249	* team.c (gomp_thread_attr): Remove comment.
3250	(struct gomp_thread_start_data): Add handle field.
3251	(gomp_thread_start): Call pthread_detach.
3252	(gomp_new_team): Adjust gomp_init_work_share caller.
3253	(gomp_free_pool_helper): Call pthread_detach.
3254	(gomp_team_start): Add taskgroup argument, initialize implicit
3255	tasks' taskgroup field to that.  Don't call
3256	pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
3257	(gomp_team_end): Determine nesting by thr->ts.level != 0
3258	rather than thr->ts.team != NULL.
3259	(gomp_pause_pool_helper, gomp_pause_host): New functions.
3260	* work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3261	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3262	(gomp_init_work_share): Change ORDERED argument from bool to size_t,
3263	if more than 1 allocate also extra payload at the end of array.  Never
3264	keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3265	(gomp_work_share_start): Change ORDERED argument from bool to size_t,
3266	return true instead of ws.
3267	* Makefile.in: Regenerated.
3268	* configure: Regenerated.
3269	* config.h.in: Regenerated.
3270	* testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3271	in some cases.
3272	* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3273	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3274	* testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3275	* testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3276	* testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3277	* testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3278	* testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3279	* testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3280	* testsuite/libgomp.c-c++-common/for-10.c: New test.
3281	* testsuite/libgomp.c-c++-common/for-11.c: New test.
3282	* testsuite/libgomp.c-c++-common/for-12.c: New test.
3283	* testsuite/libgomp.c-c++-common/for-13.c: New test.
3284	* testsuite/libgomp.c-c++-common/for-14.c: New test.
3285	* testsuite/libgomp.c-c++-common/for-15.c: New test.
3286	* testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3287	define a different N(test), don't define N(f0) to N(f14), but instead
3288	define N(f20) to N(f34) using != comparisons.
3289	* testsuite/libgomp.c-c++-common/for-7.c: New test.
3290	* testsuite/libgomp.c-c++-common/for-8.c: New test.
3291	* testsuite/libgomp.c-c++-common/for-9.c: New test.
3292	* testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3293	* testsuite/libgomp.c-c++-common/pause-1.c: New test.
3294	* testsuite/libgomp.c-c++-common/pause-2.c: New test.
3295	* testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3296	* testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3297	* testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3298	* testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3299	* testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3300	* testsuite/libgomp.c-c++-common/simd-1.c: New test.
3301	* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3302	* testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3303	* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3304	* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3305	* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3306	* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3307	* testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3308	* testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3309	* testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3310	* testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3311	* testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3312	* testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3313	* testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3314	* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3315	* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3316	* testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3317	* testsuite/libgomp.c++/depend-1.C: New test.
3318	* testsuite/libgomp.c++/depend-iterator-1.C: New test.
3319	* testsuite/libgomp.c++/depobj-1.C: New test.
3320	* testsuite/libgomp.c++/for-16.C: New test.
3321	* testsuite/libgomp.c++/for-21.C: New test.
3322	* testsuite/libgomp.c++/for-22.C: New test.
3323	* testsuite/libgomp.c++/for-23.C: New test.
3324	* testsuite/libgomp.c++/for-24.C: New test.
3325	* testsuite/libgomp.c++/for-25.C: New test.
3326	* testsuite/libgomp.c++/for-26.C: New test.
3327	* testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3328	* testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3329	* testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3330	* testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3331	* testsuite/libgomp.c++/task-reduction-10.C: New test.
3332	* testsuite/libgomp.c++/task-reduction-11.C: New test.
3333	* testsuite/libgomp.c++/task-reduction-12.C: New test.
3334	* testsuite/libgomp.c++/task-reduction-13.C: New test.
3335	* testsuite/libgomp.c++/task-reduction-14.C: New test.
3336	* testsuite/libgomp.c++/task-reduction-15.C: New test.
3337	* testsuite/libgomp.c++/task-reduction-16.C: New test.
3338	* testsuite/libgomp.c++/task-reduction-17.C: New test.
3339	* testsuite/libgomp.c++/task-reduction-18.C: New test.
3340	* testsuite/libgomp.c++/task-reduction-19.C: New test.
3341	* testsuite/libgomp.c/task-reduction-1.c: New test.
3342	* testsuite/libgomp.c++/task-reduction-1.C: New test.
3343	* testsuite/libgomp.c/task-reduction-2.c: New test.
3344	* testsuite/libgomp.c++/task-reduction-2.C: New test.
3345	* testsuite/libgomp.c++/task-reduction-3.C: New test.
3346	* testsuite/libgomp.c++/task-reduction-4.C: New test.
3347	* testsuite/libgomp.c++/task-reduction-5.C: New test.
3348	* testsuite/libgomp.c++/task-reduction-6.C: New test.
3349	* testsuite/libgomp.c++/task-reduction-7.C: New test.
3350	* testsuite/libgomp.c++/task-reduction-8.C: New test.
3351	* testsuite/libgomp.c++/task-reduction-9.C: New test.
3352	* testsuite/libgomp.c/teams-1.c: New test.
3353	* testsuite/libgomp.c/teams-2.c: New test.
3354	* testsuite/libgomp.c/thread-limit-4.c: New test.
3355	* testsuite/libgomp.c/thread-limit-5.c: New test.
3356	* testsuite/libgomp.fortran/display-affinity-1.f90: New test.
3357
33582018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
3359
3360	* oacc-mem.c (memcpy_tofrom_device): New function, combined from
3361	acc_memcpy_to/from_device functions, now with async parameter.
3362	(acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
3363	(acc_memcpy_from_device): Likewise.
3364	(acc_memcpy_to_device_async): New API function.
3365	(acc_memcpy_from_device_async): Likewise.
3366	(present_create_copy): Add async parameter and async setting/unsetting.
3367	(acc_create): Adjust present_create_copy call.
3368	(acc_copyin): Likewise.
3369	(acc_present_or_create): Likewise.
3370	(acc_present_or_copyin): Likewise.
3371	(acc_create_async): New API function.
3372	(acc_copyin_async): New API function.
3373	(delete_copyout): Add async parameter and async setting/unsetting.
3374	(acc_delete): Adjust delete_copyout call.
3375	(acc_copyout): Likewise.
3376	(acc_delete_async): New API function.
3377	(acc_copyout_async): Likewise.
3378	(update_dev_host): Add async parameter and async setting/unsetting.
3379	(acc_update_device): Adjust update_dev_host call.
3380	(acc_update_self): Likewise.
3381	(acc_update_device_async): New API function.
3382	(acc_update_self_async): Likewise.
3383	* openacc.h (acc_copyin_async): Declare new API function.
3384	(acc_create_async): Likewise.
3385	(acc_copyout_async): Likewise.
3386	(acc_delete_async): Likewise.
3387	(acc_update_device_async): Likewise.
3388	(acc_update_self_async): Likewise.
3389	(acc_memcpy_to_device_async): Likewise.
3390	(acc_memcpy_from_device_async): Likewise.
3391	* openacc_lib.h (acc_copyin_async_32_h): New subroutine.
3392	(acc_copyin_async_64_h): New subroutine.
3393	(acc_copyin_async_array_h): New subroutine.
3394	(acc_create_async_32_h): New subroutine.
3395	(acc_create_async_64_h): New subroutine.
3396	(acc_create_async_array_h): New subroutine.
3397	(acc_copyout_async_32_h): New subroutine.
3398	(acc_copyout_async_64_h): New subroutine.
3399	(acc_copyout_async_array_h): New subroutine.
3400	(acc_delete_async_32_h): New subroutine.
3401	(acc_delete_async_64_h): New subroutine.
3402	(acc_delete_async_array_h): New subroutine.
3403	(acc_update_device_async_32_h): New subroutine.
3404	(acc_update_device_async_64_h): New subroutine.
3405	(acc_update_device_async_array_h): New subroutine.
3406	(acc_update_self_async_32_h): New subroutine.
3407	(acc_update_self_async_64_h): New subroutine.
3408	(acc_update_self_async_array_h): New subroutine.
3409	* openacc.f90 (acc_copyin_async_32_h): New subroutine.
3410	(acc_copyin_async_64_h): New subroutine.
3411	(acc_copyin_async_array_h): New subroutine.
3412	(acc_create_async_32_h): New subroutine.
3413	(acc_create_async_64_h): New subroutine.
3414	(acc_create_async_array_h): New subroutine.
3415	(acc_copyout_async_32_h): New subroutine.
3416	(acc_copyout_async_64_h): New subroutine.
3417	(acc_copyout_async_array_h): New subroutine.
3418	(acc_delete_async_32_h): New subroutine.
3419	(acc_delete_async_64_h): New subroutine.
3420	(acc_delete_async_array_h): New subroutine.
3421	(acc_update_device_async_32_h): New subroutine.
3422	(acc_update_device_async_64_h): New subroutine.
3423	(acc_update_device_async_array_h): New subroutine.
3424	(acc_update_self_async_32_h): New subroutine.
3425	(acc_update_self_async_64_h): New subroutine.
3426	(acc_update_self_async_array_h): New subroutine.
3427	* libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
3428	acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
3429	acc_delete_finalize_async*, acc_memcpy_from_device_async*,
3430	acc_memcpy_to_device_async*, acc_update_device_async*, and
3431	acc_update_self_async* entries.
3432	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
3433	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
3434	* testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
3435
34362018-10-31  Joseph Myers  <joseph@codesourcery.com>
3437
3438	PR bootstrap/82856
3439	* Makefile.am: Include multilib.am
3440	(AUTOMAKE_OPTIONS): Add info-in-builddir.
3441	(CLEANFILES): Remove libgomp.info.
3442	* configure.ac: Remove AC_PREREQ.
3443	* testsuite/Makefile.am (RUNTEST): Remove quotes.
3444	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
3445	Regenerate.
3446
34472018-10-29  Joseph Myers  <joseph@codesourcery.com>
3448	    Julian Brown  <julian@codesourcery.com>
3449
3450	* testsuite/libgomp.oacc-c++/this.C: New.
3451
34522018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
3453
3454	* plugin/plugin-nvptx.c (struct cuda_map): New.
3455	(struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
3456	h_tail with (cuda_map *) map.
3457	(cuda_map_create): New function.
3458	(cuda_map_destroy): New function.
3459	(map_init): Update to use a linked list of cuda_map objects.
3460	(map_fini): Likewise.
3461	(map_pop): Likewise.
3462	(map_push): Likewise.  Return CUdeviceptr instead of void.
3463	(init_streams_for_device): Remove stales references to ptx_stream
3464	members.
3465	(select_stream_for_async): Likewise.
3466	(nvptx_exec): Update call to map_init.
3467
34682018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
3469            Julian Brown  <julian@codesourcery.com>
3470
3471	PR middle-end/86336
3472	* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
3473
34742018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
3475	Thomas Koenig <tkoenig@gcc.gnu.org>
3476
3477	PR fortran/25829
3478	* testsuite/libgomp.fortran/async_io_1.f90: New test.
3479	* testsuite/libgomp.fortran/async_io_2.f90: New test.
3480	* testsuite/libgomp.fortran/async_io_3.f90: New test.
3481	* testsuite/libgomp.fortran/async_io_4.f90: New test.
3482	* testsuite/libgomp.fortran/async_io_5.f90: New test.
3483	* testsuite/libgomp.fortran/async_io_6.f90: New test.
3484	* testsuite/libgomp.fortran/async_io_7.f90: New test.
3485
34862018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
3487	    Tom de Vries  <tdevries@suse.de>
3488
3489	PR target/85590
3490	* plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
3491	(cuOccupancyMaxPotentialBlockSize): Declare.
3492	* plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
3493	CUDA_ONE_CALL_MAYBE_NULL.
3494	* plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
3495	CUoccupancyB2DSize and declare
3496	cuOccupancyMaxPotentialBlockSize.
3497	(nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
3498	default num_gangs and num_workers when the driver supports it.
3499
35002018-08-08  Tom de Vries  <tdevries@suse.de>
3501
3502	* plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
3503	CUDA_ONE_CALL_MAYBE_NULL.
3504	* plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
3505	(cuLinkAddData_v2, cuLinkCreate_v2): Declare.
3506	(link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
3507	are not found.
3508
35092018-08-08  Tom de Vries  <tdevries@suse.de>
3510
3511	* plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
3512	* plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
3513	present.
3514
35152018-08-08  Tom de Vries  <tdevries@suse.de>
3516
3517	* plugin/plugin-nvptx.c
3518	(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
3519	(nvptx_open_device): Use
3520	CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
3521
35222018-08-08  Tom de Vries  <tdevries@suse.de>
3523
3524	* plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
3525	(cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
3526
35272018-08-07  Tom de Vries  <tdevries@suse.de>
3528
3529	* plugin/plugin-nvptx.c (DO_PRAGMA): Define.
3530	(struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
3531	(init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
3532	corresponding call in CUDA_ONE_CALL.  Add def/undef of
3533	CUDA_ONE_CALL_MAYBE_NULL.
3534	(CUDA_CALL_EXISTS): Define.
3535
35362018-08-07  Tom de Vries  <tdevries@suse.de>
3537
3538	* plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
3539	CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
3540	corresponding undefs right after.
3541
35422018-08-04  Tom de Vries  <tdevries@suse.de>
3543
3544	* plugin/configfrag.ac: For --without-cuda-driver, set
3545	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
3546	CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
3547	* configure: Regenerate.
3548
35492018-08-02  Tom de Vries  <tdevries@suse.de>
3550
3551	PR target/86660
3552	* testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
3553	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
3554	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3555	Same.
3556	* testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
3557	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
3558	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
3559
35602018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
3561	    Thomas Schwinge <thomas@codesourcery.com>
3562
3563	* config/nvptx/oacc-parallel.c: Truncate.
3564
35652018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
3566	    James Norris <jnorris@codesourcery.com>
3567
3568	* plugin/plugin-nvptx.c (struct map): Removed.
3569	(map_init, map_pop): Remove use of struct map.
3570	(map_push): Likewise and change argument list.
3571	* testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
3572
35732018-08-01  Tom de Vries  <tdevries@suse.de>
3574
3575	* plugin/cuda-lib.def: New file.  Factor out of ...
3576	* plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
3577	(struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
3578	using CUDA_CALLS.
3579
35802018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
3581
3582	Revert 'AsyncI/O patch committed'.
3583	2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
3584		Thomas Koenig <tkoenig@gcc.gnu.org>
3585
3586	PR fortran/25829
3587	* testsuite/libgomp.fortran/async_io_1.f90: New test.
3588	* testsuite/libgomp.fortran/async_io_2.f90: New test.
3589	* testsuite/libgomp.fortran/async_io_3.f90: New test.
3590	* testsuite/libgomp.fortran/async_io_4.f90: New test.
3591	* testsuite/libgomp.fortran/async_io_5.f90: New test.
3592	* testsuite/libgomp.fortran/async_io_6.f90: New test.
3593	* testsuite/libgomp.fortran/async_io_7.f90: New test.
3594
35952018-07-30  Tom de Vries  <tdevries@suse.de>
3596
3597	* plugin/plugin-nvptx.c (MIN, MAX): Redefine.
3598	(nvptx_exec): Ensure worker and vector default dims don't exceed
3599	targ_fn->max_threads_per_block.
3600
36012018-07-30  Tom de Vries  <tdevries@suse.de>
3602
3603	* plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
3604	(nvptx_open_device): Init default_dims for device.
3605	(nvptx_exec): Use default_dims from device.
3606
36072018-07-26  Jakub Jelinek  <jakub@redhat.com>
3608
3609	PR testsuite/86660
3610	* testsuite/libgomp.c++/for-15.C (results): Include it in
3611	omp declare target region.
3612	(main): Use map (always, tofrom: results) instead of
3613	map (tofrom: results).
3614
3615	PR middle-end/86660
3616	* testsuite/libgomp.c/pr86660.c: New test.
3617
36182018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
3619	    Tom de Vries  <tdevries@suse.de>
3620
3621	* plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
3622	sufficient resources to launch a kernel, and give a hint on how to fix
3623	it.
3624
36252018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
3626	    Tom de Vries  <tdevries@suse.de>
3627
3628	* plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
3629	max_threads_per_block and max_threads_per_multiprocessor fields.
3630	(nvptx_open_device): Initialize new fields.
3631	(nvptx_exec): Use num_sms, and new fields.
3632
36332018-07-26  Tom de Vries  <tdevries@suse.de>
3634
3635	* testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
3636	to correct locations.  Remove xfail.
3637
36382018-07-26  Tom de Vries  <tdevries@suse.de>
3639
3640	* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
3641	acc_wait.  Move acc_async_test calls to correct locations.  Remove
3642	xfail.
3643
36442018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
3645	Thomas Koenig <tkoenig@gcc.gnu.org>
3646
3647	PR fortran/25829
3648	* testsuite/libgomp.fortran/async_io_1.f90: New test.
3649	* testsuite/libgomp.fortran/async_io_2.f90: New test.
3650	* testsuite/libgomp.fortran/async_io_3.f90: New test.
3651	* testsuite/libgomp.fortran/async_io_4.f90: New test.
3652	* testsuite/libgomp.fortran/async_io_5.f90: New test.
3653	* testsuite/libgomp.fortran/async_io_6.f90: New test.
3654	* testsuite/libgomp.fortran/async_io_7.f90: New test.
3655
36562018-07-17  Jakub Jelinek  <jakub@redhat.com>
3657
3658	PR middle-end/86542
3659	* testsuite/libgomp.c++/pr86542.C: New test.
3660
3661	PR middle-end/86539
3662	* testsuite/libgomp.c++/pr86539.C: New test.
3663
36642018-07-11  Jakub Jelinek  <jakub@redhat.com>
3665
3666	PR c++/86443
3667	* testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
3668	(results): Make sure the variable is not inside declare target region.
3669	(qux): Remove unused function.
3670
36712018-07-10  Jakub Jelinek  <jakub@redhat.com>
3672
3673	PR c++/86443
3674	* testsuite/libgomp.c++/for-15.C: New test.
3675
36762018-06-26  Jakub Jelinek  <jakub@redhat.com>
3677
3678	PR c++/86291
3679	* testsuite/libgomp.c++/pr86291.C: New test.
3680
36812018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
3682
3683	* libgomp.texi (Top): Move www.openmp.org to https.
3684	(Enabling OpenMP): Ditto.
3685	(omp_get_active_level): Ditto.
3686	(omp_get_ancestor_thread_num): Ditto.
3687	(omp_get_cancellation): Ditto.
3688	(omp_get_default_device): Ditto.
3689	(omp_get_dynamic): Ditto.
3690	(omp_get_level): Ditto.
3691	(omp_get_max_active_levels): Ditto.
3692	(omp_get_max_task_priority): Ditto.
3693	(omp_get_max_threads): Ditto.
3694	(omp_get_nested): Ditto.
3695	(omp_get_num_devices): Ditto.
3696	(omp_get_num_procs): Ditto.
3697	(omp_get_num_teams): Ditto.
3698	(omp_get_num_threads): Ditto.
3699	(omp_get_proc_bind): Ditto.
3700	(omp_get_schedule): Ditto.
3701	(omp_get_team_num): Ditto.
3702	(omp_get_team_size): Ditto.
3703	(omp_get_thread_limit): Ditto.
3704	(omp_get_thread_num): Ditto.
3705	(omp_in_parallel): Ditto.
3706	(omp_in_final): Ditto.
3707	(omp_is_initial_device): Ditto.
3708	(omp_set_default_device): Ditto.
3709	(omp_set_dynamic): Ditto.
3710	(omp_set_max_active_levels): Ditto.
3711	(omp_set_nested): Ditto.
3712	(omp_set_num_threads): Ditto.
3713	(omp_set_schedule): Ditto.
3714	(omp_init_lock): Ditto.
3715	(omp_set_lock): Ditto.
3716	(omp_test_lock): Ditto.
3717	(omp_unset_lock): Ditto.
3718	(omp_destroy_lock): Ditto.
3719	(omp_init_nest_lock): Ditto.
3720	(omp_set_nest_lock): Ditto.
3721	(omp_test_nest_lock): Ditto.
3722	(omp_unset_nest_lock): Ditto.
3723	(omp_destroy_nest_lock): Ditto.
3724	(omp_get_wtick): Ditto.
3725	(omp_get_wtime): Ditto.
3726	(OMP_CANCELLATION): Ditto.
3727	(OMP_DISPLAY_ENV): Ditto.
3728	(OMP_DEFAULT_DEVICE): Ditto.
3729	(OMP_DYNAMIC): Ditto.
3730	(OMP_MAX_ACTIVE_LEVELS): Ditto.
3731	(OMP_MAX_TASK_PRIORITY): Ditto.
3732	(OMP_NESTED): Ditto.
3733	(OMP_NUM_THREADS): Ditto.
3734	(OMP_PROC_BIND): Ditto.
3735	(OMP_PLACES): Ditto.
3736	(OMP_STACKSIZE): Ditto.
3737	(OMP_SCHEDULE): Ditto.
3738	(OMP_THREAD_LIMIT): Ditto.
3739	(OMP_WAIT_POLICY): Ditto.
3740
37412018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
3742	    James Norris  <jnorris@codesourcery.com>
3743	    Julian Brown  <julian@codesourcery.com>
3744	    Thomas Schwinge  <thomas@codesourcery.com>
3745	    Tom de Vries  <tom@codesourcery.com>
3746
3747	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
3748	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
3749	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
3750	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
3751	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3752	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3753	* testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
3754	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
3755	* testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
3756	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
3757	Likewise.
3758	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3759	Likewise.
3760	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3761	Likewise.
3762	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
3763	Likewise.
3764	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
3765	Likewise.
3766	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3767	Likewise.
3768	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3769	Likewise.
3770	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3771	Likewise.
3772	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3773	Likewise.
3774	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3775	Likewise.
3776	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3777	Likewise.
3778	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3779	Likewise.
3780	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3781	Likewise.
3782	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3783	Likewise.
3784	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3785	Likewise.
3786	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3787	Likewise.
3788	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3789	Likewise.
3790	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3791	Likewise.
3792	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3793	Likewise.
3794	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3795	Likewise.
3796	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3797	Likewise.
3798	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3799	Likewise.
3800	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3801	Likewise.
3802	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3803	Likewise.
3804	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3805	Likewise.
3806	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3807	Likewise.
3808	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3809	Likewise.
3810	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
3811	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
3812	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
3813	* testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
3814	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
3815	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
3816	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
3817	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
3818	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
3819	Likewise.
3820	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
3821	Likewise.
3822	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
3823	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
3824	* testsuite/libgomp.oacc-fortran/kernels-independent.f90:
3825	Likewise.
3826	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
3827	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
3828	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
3829	Likewise.
3830	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3831	Likewise.
3832	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3833	Likewise.
3834	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3835	Likewise.
3836	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3837	Likewise.
3838	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3839	Likewise.
3840	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3841	Likewise.
3842	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3843	Likewise.
3844	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3845	Likewise.
3846	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3847	Likewise.
3848	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3849	Likewise.
3850	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3851	Likewise.
3852	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3853	Likewise.
3854	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3855	Likewise.
3856	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3857	Likewise.
3858	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3859	* testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
3860	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
3861	* testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
3862	* testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
3863	* testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
3864	* testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
3865
38662018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
3867	    Thomas Schwinge <thomas@codesourcery.com>
3868	    Cesar Philippidis  <cesar@codesourcery.com>
3869
3870	* libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
3871	(gomp_acc_remove_pointer): Update declaration.
3872	(gomp_acc_declare_allocate): Declare.
3873	(gomp_remove_var): Declare.
3874	* libgomp.map (OACC_2.5): Define.
3875	* oacc-mem.c (acc_map_data): Update refcount.
3876	(acc_unmap_data): Likewise.
3877	(present_create_copy): Likewise.
3878	(acc_create): Add FLAG_PRESENT when calling present_create_copy.
3879	(acc_copyin): Likewise.
3880	(FLAG_FINALIZE): Define.
3881	(delete_copyout): Update dynamic refcounts, add support for FINALIZE.
3882	(acc_delete_finalize): New function.
3883	(acc_delete_finalize_async): New function.
3884	(acc_copyout_finalize): New function.
3885	(acc_copyout_finalize_async): New function.
3886	(gomp_acc_insert_pointer): Update refcounts.
3887	(gomp_acc_remove_pointer): Return if data is not present on the
3888	accelerator.
3889	* oacc-parallel.c (find_pset): Rename to find_pointer.
3890	(find_pointer): Add support for GOMP_MAP_POINTER.
3891	(handle_ftn_pointers): New function.
3892	(GOACC_parallel_keyed): Update refcounts of variables.
3893	(GOACC_enter_exit_data): Add support for finalized data mappings.
3894	Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
3895	of fortran arrays.
3896	(GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
3897	(GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
3898	for GOMP_MAP_FORCE_FROM.
3899	* openacc.f90 (module openacc_internal): Add
3900	acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
3901	acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
3902	acc_copyout_finalize and acc_delete_finalize.
3903	(acc_copyout_finalize_32_h): New subroutine.
3904	(acc_copyout_finalize_64_h): New subroutine.
3905	(acc_copyout_finalize_array_h): New subroutine.
3906	(acc_delete_finalize_32_h): New subroutine.
3907	(acc_delete_finalize_64_h): New subroutine.
3908	(acc_delete_finalize_array_h): New subroutine.
3909	* openacc.h (acc_copyout_finalize): Declare.
3910	(acc_copyout_finalize_async): Declare.
3911	(acc_delete_finalize): Declare.
3912	(acc_delete_finalize_async): Declare.
3913	* openacc_lib.h (acc_copyout_finalize): New interface.
3914	(acc_delete_finalize): New interface.
3915	* target.c (gomp_map_vars): Update dynamic_refcount.
3916	(gomp_remove_var): New function.
3917	(gomp_unmap_vars): Use it.
3918	(gomp_unload_image_from_device): Likewise.
3919	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
3920	case to utilize OpenACC 2.5 data clause semantics.
3921	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3922	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3923	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3924	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3925	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3926	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3927	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3928	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3929	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3930	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3931	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3932	* testsuite/libgomp.oacc-fortran/data-5.f90: New test.
3933	* testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
3934	utilize OpenACC 2.5 data clause semantics.
3935	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3936	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3937	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3938	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3939	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3940	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3941	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3942	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3943	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3944
39452018-05-21  Janus Weil  <janus@gcc.gnu.org>
3946
3947	PR fortran/85841
3948	PR testsuite/85865
3949	* testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
3950	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
3951	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
3952	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
3953	* testsuite/libgomp.fortran/task2.f90: Ditto.
3954	* testsuite/libgomp.fortran/vla1.f90: Ditto.
3955	* testsuite/libgomp.fortran/vla2.f90: Ditto.
3956	* testsuite/libgomp.fortran/vla3.f90: Ditto.
3957	* testsuite/libgomp.fortran/vla4.f90: Ditto.
3958	* testsuite/libgomp.fortran/vla5.f90: Ditto.
3959	* testsuite/libgomp.fortran/vla6.f90: Ditto.
3960	* testsuite/libgomp.fortran/vla8.f90: Ditto.
3961	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
3962	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
3963
39642018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
3965
3966	PR c++/85782
3967	* testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
3968
39692018-05-09  Tom de Vries  <tom@codesourcery.com>
3970
3971	PR libgomp/82901
3972	* oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
3973	to GOACC_enter_exit_data.
3974
39752018-05-09  Tom de Vries  <tom@codesourcery.com>
3976
3977	PR libgomp/83792
3978	* oacc-int.h (async_valid_stream_id_p, async_valid_p)
3979	(async_synchronous_p): New function.
3980	* oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
3981	async_valid_p.
3982	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3983	async_valid_stream_id_p.
3984	* oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
3985	* oacc-parallel.c (GOACC_parallel_keyed): Same.
3986
39872018-05-07  Tom de Vries  <tom@codesourcery.com>
3988
3989	PR testsuite/85677
3990	* testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3991	include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3992
39932018-05-03  Tom de Vries  <tom@codesourcery.com>
3994
3995	PR testsuite/85106
3996	* testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3997	extra_tool_flags if it contains an -foffload=-fdump-* flag.
3998	* testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3999	* testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4000
40012018-05-02  Tom de Vries  <tom@codesourcery.com>
4002
4003	PR libgomp/85411
4004	* plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4005	GOMP_OPENACC_DIM ...
4006	* env.c (parse_gomp_openacc_dim): ... here.  New function.
4007	(initialize_env): Call parse_gomp_openacc_dim.
4008	(goacc_default_dims): Define.
4009	* libgomp.h (goacc_default_dims): Declare.
4010	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4011	* oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4012	* libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4013	GOMP_PLUGIN_acc_default_dim.
4014	* testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4015	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4016
40172018-05-02  Tom de Vries  <tom@codesourcery.com>
4018
4019	PR testsuite/83791
4020	* testsuite/libgomp.c++/udr-9.C: Update.
4021	* testsuite/libgomp.c++/atomic-16.C: Remove.
4022	* testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4023	* testsuite/libgomp.c++/loop-13.C: Remove.
4024	* testsuite/libgomp.c++/loop-14.C: Remove.
4025	* testsuite/libgomp.c++/loop-15.C: Remove.
4026	* testsuite/libgomp.c++/monotonic-1.C: Remove.
4027	* testsuite/libgomp.c++/monotonic-2.C: Remove.
4028	* testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4029	* testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4030	* testsuite/libgomp.c++/ordered-1.C: Remove.
4031	* testsuite/libgomp.c++/pr45784.C: Remove.
4032	* testsuite/libgomp.c++/pr64824.C: Remove.
4033	* testsuite/libgomp.c++/pr64868.C: Remove.
4034	* testsuite/libgomp.c++/pr66199-1.C: Remove.
4035	* testsuite/libgomp.c++/pr66199-2.C: Remove.
4036	* testsuite/libgomp.c++/pr66199-3.C: Remove.
4037	* testsuite/libgomp.c++/pr66199-4.C: Remove.
4038	* testsuite/libgomp.c++/pr66199-5.C: Remove.
4039	* testsuite/libgomp.c++/pr66199-6.C: Remove.
4040	* testsuite/libgomp.c++/pr66199-7.C: Remove.
4041	* testsuite/libgomp.c++/pr66199-8.C: Remove.
4042	* testsuite/libgomp.c++/pr66199-9.C: Remove.
4043	* testsuite/libgomp.c++/pr69389.C: Remove.
4044	* testsuite/libgomp.c++/simd10.C: Remove.
4045	* testsuite/libgomp.c++/simd11.C: Remove.
4046	* testsuite/libgomp.c++/simd12.C: Remove.
4047	* testsuite/libgomp.c++/simd13.C: Remove.
4048	* testsuite/libgomp.c++/target-1.C: Remove.
4049	* testsuite/libgomp.c++/target-3.C: Remove.
4050	* testsuite/libgomp.c++/target-4.C: Remove.
4051	* testsuite/libgomp.c++/target-5.C: Remove.
4052	* testsuite/libgomp.c++/taskgroup-1.C: Remove.
4053	* testsuite/libgomp.c++/taskloop-1.C: Remove.
4054	* testsuite/libgomp.c++/taskloop-2.C: Remove.
4055	* testsuite/libgomp.c++/taskloop-3.C: Remove.
4056	* testsuite/libgomp.c++/taskloop-4.C: Remove.
4057	* testsuite/libgomp.c++/udr-9.C: Remove.
4058	* testsuite/libgomp.c++/for-10.C: Remove.
4059	* testsuite/libgomp.c++/for-11.C: Remove.
4060	* testsuite/libgomp.c++/for-12.C: Remove.
4061	* testsuite/libgomp.c++/for-13.C: Remove.
4062	* testsuite/libgomp.c++/for-14.C: Remove.
4063	* testsuite/libgomp.c++/for-9.C: Remove.
4064	* testsuite/libgomp.c/atomic-18.c: Move ...
4065	* testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4066	* testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4067	* testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4068	* testsuite/libgomp.c/loop-13.c: Move ...
4069	* testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4070	* testsuite/libgomp.c/loop-14.c: Move ...
4071	* testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4072	* testsuite/libgomp.c/loop-15.c: Remove.
4073	* testsuite/libgomp.c-c++-common/loop-15.c: New test.
4074	* testsuite/libgomp.c/monotonic-1.c: Move ...
4075	* testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4076	* testsuite/libgomp.c/monotonic-2.c: Move ...
4077	* testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4078	* testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4079	* testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4080	* testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4081	* testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4082	* testsuite/libgomp.c/ordered-4.c: Move ...
4083	* testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4084	* testsuite/libgomp.c/pr45784.c: Move ...
4085	* testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4086	* testsuite/libgomp.c/pr64824.c: Move ...
4087	* testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4088	* testsuite/libgomp.c/pr64868.c: Move ...
4089	* testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4090	* testsuite/libgomp.c/pr66199-1.c: Move ...
4091	* testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4092	* testsuite/libgomp.c/pr66199-2.c: Move ...
4093	* testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4094	* testsuite/libgomp.c/pr66199-3.c: Move ...
4095	* testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4096	* testsuite/libgomp.c/pr66199-4.c: Move ...
4097	* testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4098	* testsuite/libgomp.c/pr66199-5.c: Move ...
4099	* testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4100	* testsuite/libgomp.c/pr66199-6.c: Move ...
4101	* testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4102	* testsuite/libgomp.c/pr66199-7.c: Move ...
4103	* testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4104	* testsuite/libgomp.c/pr66199-8.c: Move ...
4105	* testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4106	* testsuite/libgomp.c/pr66199-9.c: Move ...
4107	* testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4108	* testsuite/libgomp.c/pr69389.c: Move ...
4109	* testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4110	* testsuite/libgomp.c/simd-14.c: Move ...
4111	* testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4112	* testsuite/libgomp.c/simd-15.c: Move ...
4113	* testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4114	* testsuite/libgomp.c/simd-16.c: Move ...
4115	* testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4116	* testsuite/libgomp.c/simd-17.c: Move ...
4117	* testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4118	* testsuite/libgomp.c/target-1.c: Move ...
4119	* testsuite/libgomp.c-c++-common/target-1.c: ... here.
4120	* testsuite/libgomp.c/target-10.c: Move ...
4121	* testsuite/libgomp.c-c++-common/target-10.c: ... here.
4122	* testsuite/libgomp.c/target-13.c: Move ...
4123	* testsuite/libgomp.c-c++-common/target-13.c: ... here.
4124	* testsuite/libgomp.c/target-2.c: Move ...
4125	* testsuite/libgomp.c-c++-common/target-2.c: ... here.
4126	* testsuite/libgomp.c/taskgroup-1.c: Move ...
4127	* testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4128	* testsuite/libgomp.c/taskloop-1.c: Move ...
4129	* testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4130	* testsuite/libgomp.c/taskloop-2.c: Move ...
4131	* testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4132	* testsuite/libgomp.c/taskloop-3.c: Move ...
4133	* testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4134	* testsuite/libgomp.c/taskloop-4.c: Move ...
4135	* testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4136	* testsuite/libgomp.c/udr-1.c: Move ...
4137	* testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4138	* testsuite/libgomp.c/for-1.c: Move ...
4139	* testsuite/libgomp.c-c++-common/for-1.c: ... here.
4140	* testsuite/libgomp.c/for-1.h: Move ...
4141	* testsuite/libgomp.c-c++-common/for-1.h: ... here.
4142	* testsuite/libgomp.c/for-2.c: Move ...
4143	* testsuite/libgomp.c-c++-common/for-2.c: ... here.
4144	* testsuite/libgomp.c/for-2.h: Move ...
4145	* testsuite/libgomp.c-c++-common/for-2.h: ... here.
4146	* testsuite/libgomp.c/for-3.c: Move ...
4147	* testsuite/libgomp.c-c++-common/for-3.c: ... here.
4148	* testsuite/libgomp.c/for-4.c: Move ...
4149	* testsuite/libgomp.c-c++-common/for-4.c: ... here.
4150	* testsuite/libgomp.c/for-5.c: Move ...
4151	* testsuite/libgomp.c-c++-common/for-5.c: ... here.
4152	* testsuite/libgomp.c/for-6.c: Move ...
4153	* testsuite/libgomp.c-c++-common/for-6.c: ... here.
4154
41552018-05-02  Tom de Vries  <tom@codesourcery.com>
4156
4157	PR libgomp/82428
4158	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4159	__builtin_goacc_parlevel_{id,size}.
4160	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4161	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4162	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4163	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4164	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4165	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4166	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4167	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4168	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4169	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4170	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4171	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4172	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4173	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4174	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4175	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4176	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4177	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4178	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4179	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4180	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4181	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4182	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4183
41842018-05-02  Tom de Vries  <tom@codesourcery.com>
4185
4186	PR testsuite/85106
4187	* testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4188
41892018-05-02  Tom de Vries  <tom@codesourcery.com>
4190
4191	PR testsuite/85106
4192	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4193
41942018-04-29  Julian Brown  <julian@codesourcery.com>
4195	    Tom de Vries  <tom@codesourcery.com>
4196
4197	PR testsuite/85527
4198	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4199	arbitrary order for iterations of atomic subtract check.
4200
42012018-04-28  Tom de Vries  <tom@codesourcery.com>
4202
4203	PR testsuite/85527
4204	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4205	atomic capture results obtained in parallel loop to an array, instead of
4206	to a scalar.
4207
42082018-04-26  Tom de Vries  <tom@codesourcery.com>
4209
4210	PR libgomp/84020
4211	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4212	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4213	(process_GOMP_NVPTX_JIT): New function.
4214	(link_ptx): Use process_GOMP_NVPTX_JIT.
4215
42162018-04-26  Richard Biener <rguenther@suse.de>
4217	    Tom de Vries  <tom@codesourcery.com>
4218
4219	PR lto/85422
4220	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4221
42222018-04-26  Tom de Vries  <tom@codesourcery.com>
4223
4224	PR target/85519
4225	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4226	recursion depth from 25 to 23.
4227	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4228
42292018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
4230
4231	* configure: Regenerated.
4232
42332018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
4234	    Tom de Vries  <tom@codesourcery.com>
4235
4236	PR target/85445
4237	* testsuite/libgomp.oacc-c++/ref-1.C: New.
4238
42392018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
4240
4241	PR libgomp/85463
4242	* testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4243	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4244	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4245	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4246	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4247	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4248
4249	PR libfortran/85166
4250	* testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4251	abort".
4252	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4253
42542018-04-19  Jakub Jelinek  <jakub@redhat.com>
4255
4256	* configure: Regenerated.
4257
42582018-04-18  David Malcolm  <dmalcolm@redhat.com>
4259
4260	PR jit/85384
4261	* configure: Regenerate.
4262
42632018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
4264	    Tom de Vries  <tom@codesourcery.com>
4265
4266	PR middle-end/84955
4267	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4268	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4269
42702018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
4271
4272	PR fortran/83064
4273	PR testsuite/85346
4274	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4275	test from gfortran.dg to here.
4276
42772018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
4278
4279	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4280	* testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4281
42822018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
4283
4284	PR middle-end/84955
4285	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4286	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4287
42882018-04-05  Tom de Vries  <tom@codesourcery.com>
4289
4290	PR target/85204
4291	* testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4292
42932018-03-26  Tom de Vries  <tom@codesourcery.com>
4294
4295	PR tree-optimization/85063
4296	* testsuite/libgomp.c/switch-conversion-2.c: New test.
4297	* testsuite/libgomp.c/switch-conversion.c: New test.
4298	* testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4299	* testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4300
43012018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
4302
4303	PR fortran/84381
4304	* testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4305	call abort by STOP n.
4306	* testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4307	* testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4308	* testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4309	* testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4310	* testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4311	* testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4312	* testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4313	* testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4314	* testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4315	* testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4316	* testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4317	* testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4318	* testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4319	* testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4320	* testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4321	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4322	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4323	* testsuite/libgomp.fortran/associate1.f90: Likewise.
4324	* testsuite/libgomp.fortran/associate2.f90: Likewise.
4325	* testsuite/libgomp.fortran/associate3.f90: Likewise.
4326	* testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4327	* testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4328	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4329	* testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4330	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4331	* testsuite/libgomp.fortran/character1.f90: Likewise.
4332	* testsuite/libgomp.fortran/character2.f90: Likewise.
4333	* testsuite/libgomp.fortran/collapse1.f90: Likewise.
4334	* testsuite/libgomp.fortran/collapse2.f90: Likewise.
4335	* testsuite/libgomp.fortran/collapse3.f90: Likewise.
4336	* testsuite/libgomp.fortran/collapse4.f90: Likewise.
4337	* testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4338	* testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4339	* testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4340	* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4341	* testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4342	* testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4343	* testsuite/libgomp.fortran/depend-1.f90: Likewise.
4344	* testsuite/libgomp.fortran/depend-2.f90: Likewise.
4345	* testsuite/libgomp.fortran/depend-3.f90: Likewise.
4346	* testsuite/libgomp.fortran/do1.f90: Likewise.
4347	* testsuite/libgomp.fortran/do2.f90: Likewise.
4348	* testsuite/libgomp.fortran/doacross1.f90: Likewise.
4349	* testsuite/libgomp.fortran/doacross2.f90: Likewise.
4350	* testsuite/libgomp.fortran/doacross3.f90: Likewise.
4351	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
4352	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
4353	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
4354	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4355	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
4356	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
4357	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
4358	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
4359	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
4360	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4361	* testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
4362	* testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
4363	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
4364	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
4365	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
4366	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
4367	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
4368	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
4369	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
4370	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
4371	* testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
4372	* testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
4373	* testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
4374	* testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
4375	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4376	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
4377	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
4378	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
4379	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
4380	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
4381	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4382	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4383	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
4384	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
4385	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
4386	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
4387	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
4388	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
4389	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
4390	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
4391	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
4392	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4393	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
4394	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
4395	* testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
4396	* testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
4397	* testsuite/libgomp.fortran/lib1.f90: Likewise.
4398	* testsuite/libgomp.fortran/lib2.f: Likewise.
4399	* testsuite/libgomp.fortran/lib3.f: Likewise.
4400	* testsuite/libgomp.fortran/lib4.f90: Likewise.
4401	* testsuite/libgomp.fortran/lock-1.f90: Likewise.
4402	* testsuite/libgomp.fortran/lock-2.f90: Likewise.
4403	* testsuite/libgomp.fortran/nested1.f90: Likewise.
4404	* testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
4405	* testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
4406	* testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
4407	* testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
4408	* testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
4409	* testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
4410	* testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
4411	* testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
4412	* testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
4413	* testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
4414	* testsuite/libgomp.fortran/omp_cond1.f: Likewise.
4415	* testsuite/libgomp.fortran/omp_cond2.f: Likewise.
4416	* testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
4417	* testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
4418	* testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
4419	* testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
4420	* testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
4421	* testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
4422	* testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
4423	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4424	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
4425	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
4426	* testsuite/libgomp.fortran/pointer1.f90: Likewise.
4427	* testsuite/libgomp.fortran/pointer2.f90: Likewise.
4428	* testsuite/libgomp.fortran/pr25162.f: Likewise.
4429	* testsuite/libgomp.fortran/pr25219.f90: Likewise.
4430	* testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
4431	* testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
4432	* testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
4433	* testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
4434	* testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
4435	* testsuite/libgomp.fortran/pr28390.f: Likewise.
4436	* testsuite/libgomp.fortran/pr29629.f90: Likewise.
4437	* testsuite/libgomp.fortran/pr32550.f90: Likewise.
4438	* testsuite/libgomp.fortran/pr33880.f90: Likewise.
4439	* testsuite/libgomp.fortran/pr34020.f90: Likewise.
4440	* testsuite/libgomp.fortran/pr35130.f90: Likewise.
4441	* testsuite/libgomp.fortran/pr42162.f90: Likewise.
4442	* testsuite/libgomp.fortran/pr46753.f90: Likewise.
4443	* testsuite/libgomp.fortran/pr48894.f90: Likewise.
4444	* testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
4445	* testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
4446	* testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
4447	* testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
4448	* testsuite/libgomp.fortran/pr65597.f90: Likewise.
4449	* testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
4450	* testsuite/libgomp.fortran/pr71014.f90: Likewise.
4451	* testsuite/libgomp.fortran/pr81304.f90: Likewise.
4452	* testsuite/libgomp.fortran/pr81841.f90: Likewise.
4453	* testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
4454	* testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
4455	* testsuite/libgomp.fortran/procptr1.f90: Likewise.
4456	* testsuite/libgomp.fortran/recursion1.f90: Likewise.
4457	* testsuite/libgomp.fortran/reduction1.f90: Likewise.
4458	* testsuite/libgomp.fortran/reduction2.f90: Likewise.
4459	* testsuite/libgomp.fortran/reduction3.f90: Likewise.
4460	* testsuite/libgomp.fortran/reduction4.f90: Likewise.
4461	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
4462	* testsuite/libgomp.fortran/reduction6.f90: Likewise.
4463	* testsuite/libgomp.fortran/reference1.f90: Likewise.
4464	* testsuite/libgomp.fortran/reference2.f90: Likewise.
4465	* testsuite/libgomp.fortran/retval1.f90: Likewise.
4466	* testsuite/libgomp.fortran/retval2.f90: Likewise.
4467	* testsuite/libgomp.fortran/sharing1.f90: Likewise.
4468	* testsuite/libgomp.fortran/sharing2.f90: Likewise.
4469	* testsuite/libgomp.fortran/simd1.f90: Likewise.
4470	* testsuite/libgomp.fortran/simd2.f90: Likewise.
4471	* testsuite/libgomp.fortran/simd3.f90: Likewise.
4472	* testsuite/libgomp.fortran/simd4.f90: Likewise.
4473	* testsuite/libgomp.fortran/simd5.f90: Likewise.
4474	* testsuite/libgomp.fortran/simd6.f90: Likewise.
4475	* testsuite/libgomp.fortran/simd7.f90: Likewise.
4476	* testsuite/libgomp.fortran/stack.f90: Likewise.
4477	* testsuite/libgomp.fortran/strassen.f90: Likewise.
4478	* testsuite/libgomp.fortran/tabs1.f90: Likewise.
4479	* testsuite/libgomp.fortran/tabs2.f: Likewise.
4480	* testsuite/libgomp.fortran/target1.f90: Likewise.
4481	* testsuite/libgomp.fortran/target2.f90: Likewise.
4482	* testsuite/libgomp.fortran/target3.f90: Likewise.
4483	* testsuite/libgomp.fortran/target4.f90: Likewise.
4484	* testsuite/libgomp.fortran/target5.f90: Likewise.
4485	* testsuite/libgomp.fortran/target6.f90: Likewise.
4486	* testsuite/libgomp.fortran/target7.f90: Likewise.
4487	* testsuite/libgomp.fortran/target8.f90: Likewise.
4488	* testsuite/libgomp.fortran/task1.f90: Likewise.
4489	* testsuite/libgomp.fortran/task2.f90: Likewise.
4490	* testsuite/libgomp.fortran/task3.f90: Likewise.
4491	* testsuite/libgomp.fortran/task4.f90: Likewise.
4492	* testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
4493	* testsuite/libgomp.fortran/taskloop1.f90: Likewise.
4494	* testsuite/libgomp.fortran/taskloop2.f90: Likewise.
4495	* testsuite/libgomp.fortran/taskloop3.f90: Likewise.
4496	* testsuite/libgomp.fortran/taskloop4.f90: Likewise.
4497	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4498	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4499	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4500	* testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
4501	* testsuite/libgomp.fortran/udr1.f90: Likewise.
4502	* testsuite/libgomp.fortran/udr10.f90: Likewise.
4503	* testsuite/libgomp.fortran/udr11.f90: Likewise.
4504	* testsuite/libgomp.fortran/udr12.f90: Likewise.
4505	* testsuite/libgomp.fortran/udr13.f90: Likewise.
4506	* testsuite/libgomp.fortran/udr14.f90: Likewise.
4507	* testsuite/libgomp.fortran/udr15.f90: Likewise.
4508	* testsuite/libgomp.fortran/udr2.f90: Likewise.
4509	* testsuite/libgomp.fortran/udr3.f90: Likewise.
4510	* testsuite/libgomp.fortran/udr4.f90: Likewise.
4511	* testsuite/libgomp.fortran/udr5.f90: Likewise.
4512	* testsuite/libgomp.fortran/udr6.f90: Likewise.
4513	* testsuite/libgomp.fortran/udr7.f90: Likewise.
4514	* testsuite/libgomp.fortran/udr8.f90: Likewise.
4515	* testsuite/libgomp.fortran/udr9.f90: Likewise.
4516	* testsuite/libgomp.fortran/vla1.f90: Likewise.
4517	* testsuite/libgomp.fortran/vla2.f90: Likewise.
4518	* testsuite/libgomp.fortran/vla3.f90: Likewise.
4519	* testsuite/libgomp.fortran/vla4.f90: Likewise.
4520	* testsuite/libgomp.fortran/vla5.f90: Likewise.
4521	* testsuite/libgomp.fortran/vla6.f90: Likewise.
4522	* testsuite/libgomp.fortran/vla7.f90: Likewise.
4523	* testsuite/libgomp.fortran/vla8.f90: Likewise.
4524	* testsuite/libgomp.fortran/workshare1.f90: Likewise.
4525	* testsuite/libgomp.fortran/workshare2.f90: Likewise.
4526	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4527	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4528	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4529	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4530	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4531	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4532	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4533	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4534	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4535	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
4536	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4537	* testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
4538	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4539	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4540	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4541	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4542	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4543	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4544	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4545	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4546	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4547	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
4548	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
4549	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4550	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4551	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4552	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4553	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4554	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4555	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4556	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4557	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4558	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4559	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4560	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4561	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4562	* testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
4563	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4564	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
4565	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4566	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
4567	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
4568	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
4569	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
4570	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4571	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4572	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4573	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4574	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4575	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4576	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4577	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4578	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4579	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4580	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4581	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4582	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4583	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4584	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4585	* testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4586	* testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4587	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4588	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4589	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4590	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4591	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4592	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4593	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4594	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4595	* testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
4596	* testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
4597	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4598	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4599	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4600	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4601	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4602	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4603	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4604	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4605	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4606	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4607	* testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
4608	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4609	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4610	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4611	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4612	* testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
4613	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4614	* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4615	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4616	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4617	* testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
4618
46192018-03-20  Richard Biener  <rguenther@suse.de>
4620
4621	* testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
4622	parallelizable loop.
4623
46242018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
4625
4626	PR target/84148
4627	* configure: Regenerate.
4628
46292018-02-16  Jakub Jelinek  <jakub@redhat.com>
4630
4631	PR fortran/84418
4632	* libgomp.fortran/pr84418-1.f90: New test.
4633	* libgomp.fortran/pr84418-2.f90: New test.
4634
46352018-02-14  Jakub Jelinek  <jakub@redhat.com>
4636
4637	PR fortran/84313
4638	* testsuite/libgomp.fortran/threadprivate4.f90: Add
4639	-std=f2003 -fall-intrinsics into dg-additional-options.
4640
46412018-02-08  Martin Jambor  <mjambor@suse.cz>
4642
4643	* testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
4644	clonable.
4645
46462018-02-08  Martin Jambor  <mjambor@suse.cz>
4647
4648	* testsuite/libgomp.hsa.c/staticvar.c: New test.
4649
46502018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4651
4652	* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
4653	[__cplusplus]: Declare extern "C".
4654
46552018-02-07  Tom de Vries  <tom@codesourcery.com>
4656
4657	PR libgomp/84217
4658	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
4659
46602018-01-29  Christoph Spiel  <cspiel@freenet.de>
4661	    Jakub Jelinek  <jakub@redhat.com>
4662
4663	PR libgomp/84096
4664	* omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
4665	instead of omp_lock_t.
4666
46672018-01-25  Tom de Vries  <tom@codesourcery.com>
4668
4669	PR target/84028
4670	* testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
4671
46722018-01-24  Tom de Vries  <tom@codesourcery.com>
4673
4674	PR target/83589
4675	* testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
4676
46772018-01-24  Tom de Vries  <tom@codesourcery.com>
4678
4679	PR target/81352
4680	* testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
4681
46822018-01-19  Tom de Vries  <tom@codesourcery.com>
4683	    Cesar Philippidis  <cesar@codesourcery.com>
4684
4685	PR target/83920
4686	* testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
4687	* testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
4688
46892018-01-03  Jakub Jelinek  <jakub@redhat.com>
4690
4691	Update copyright years.
4692
4693	* libgomp.texi: Bump @copying's copyright year.
4694
46952017-12-30  Tom de Vries  <tom@codesourcery.com>
4696
4697	PR libgomp/83046
4698	* testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
4699	* testsuite/libgomp.c-c++-common/pr83046.c: New test.
4700
47012017-12-27  Tom de Vries  <tom@codesourcery.com>
4702
4703	PR c++/83046
4704	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
4705	(test_nonstatic): Fix return type to workaround PR83046.
4706
47072017-12-05  Jakub Jelinek  <jakub@redhat.com>
4708
4709	PR testsuite/83281
4710	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
4711	j suffix instead of i.
4712	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
4713	Likewise.
4714
47152017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
4716
4717	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
4718	call to acc_wait (1).
4719
47202017-11-24  Jakub Jelinek  <jakub@redhat.com>
4721
4722	PR fortran/81304
4723	* testsuite/libgomp.fortran/pr81304.f90: New test.
4724
47252017-11-23  Jakub Jelinek  <jakub@redhat.com>
4726
4727	PR fortran/81841
4728	* libgomp.fortran/pr81841.f90: New test.
4729
47302017-11-22  Jakub Jelinek  <jakub@redhat.com>
4731
4732	PR libgomp/83106
4733	* target.c (gomp_target_init): Compute lengths just once and
4734	use them in both malloc size and subsequent copying.
4735
47362017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
4737
4738	* configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
4739	* acinclude.m4: Add cet.m4.
4740	* configure: Regenerate.
4741	* Makefile.in: Likewise.
4742	* testsuite/Makefile.in: Likewise.
4743
47442017-11-15  Tom de Vries  <tom@codesourcery.com>
4745
4746	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
4747	from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
4748	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
4749	from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
4750	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
4751	from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
4752
47532017-11-14  Tom de Vries  <tom@codesourcery.com>
4754
4755	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
4756	non-nvidia devices.
4757
47582017-11-07  Jakub Jelinek  <jakub@redhat.com>
4759
4760	PR c++/82835
4761	* testsuite/libgomp.c++/pr82835.C: New test.
4762
47632017-11-06  Martin Liska  <mliska@suse.cz>
4764
4765	* testsuite/libgomp.c++/loop-2.C: Return a value
4766	for functions with non-void return type, or change type to void,
4767	or add -Wno-return-type for test.
4768	* testsuite/libgomp.c++/loop-4.C: Likewise.
4769	* testsuite/libgomp.c++/parallel-1.C: Likewise.
4770	* testsuite/libgomp.c++/shared-1.C: Likewise.
4771	* testsuite/libgomp.c++/single-1.C: Likewise.
4772	* testsuite/libgomp.c++/single-2.C: Likewise.
4773
47742017-10-31  Tom de Vries  <tom@codesourcery.com>
4775
4776	* plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
4777	"do {} while (false)".
4778	(init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
4779	after HSA_DEBUG call.
4780
47812017-10-28  Jakub Jelinek  <jakub@redhat.com>
4782
4783	* target.c (struct gomp_coalesce_buf): New type.
4784	(MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
4785	(gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
4786	(gomp_copy_host2dev): Add CBUF argument, if copying into
4787	the cached ranges, memcpy into buffer instead of copying
4788	into device.
4789	(gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
4790	Add CBUF argument, pass it through to other calls.
4791	(gomp_map_vars): Aggregate copies from host to device if small enough
4792	and with small enough gaps in between into memcpy into a buffer and
4793	fewer host to device copies from the buffer.
4794	(gomp_update): Adjust gomp_copy_host2dev caller.
4795
47962017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
4797
4798	* testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4799	run" directive.
4800	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4801	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4802	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4803	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4804
48052017-10-16  Tom de Vries  <tom@codesourcery.com>
4806
4807	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
4808	openacc_nvidia_accel_selected.
4809	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
4810	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
4811	* testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
4812	* testsuite/libgomp.oacc-fortran/declare-4.f90: Same
4813	* testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
4814	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
4815	openacc_nvidia_accel_selected. Skip for shared memory device.
4816	* testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
4817	* testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
4818
48192017-10-09  Martin Jambor  <mjambor@suse.cz>
4820
4821	PR hsa/82416
4822	* testsuite/libgomp.hsa.c/pr82416.c: New test.
4823
48242017-10-07  Tom de Vries  <tom@codesourcery.com>
4825
4826	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
4827	Remove acc_device_nvidia references.
4828	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
4829	Same.
4830
48312017-10-05  Tom de Vries  <tom@codesourcery.com>
4832
4833	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
4834	vector_length(32) clause from acc parallel directive.
4835	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
4836
48372017-10-04  Tom de Vries  <tom@codesourcery.com>
4838
4839	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
4840	(main): Reduce sum of arr elements.  Assert that hres is exactly
4841	representable in 32-bit floating point.
4842	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
4843	(main): Reduce sum of arr elements.  Assert that hres and hmres are
4844	exactly representable in 32-bit floating point.
4845	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
4846
48472017-09-28  Tom de Vries  <tom@codesourcery.com>
4848
4849	* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
4850	setting.
4851	* testsuite/libgomp.c++/pr69393.C: Same.
4852	* testsuite/libgomp.c++/taskloop-1.C: Same.
4853	* testsuite/libgomp.c++/taskloop-3.C: Same.
4854	* testsuite/libgomp.c++/taskloop-4.C: Same.
4855	* testsuite/libgomp.c/for-4.c: Same.
4856	* testsuite/libgomp.c/pr66199-3.c: Same.
4857	* testsuite/libgomp.c/pr66199-4.c: Same.
4858	* testsuite/libgomp.c/pr66199-6.c: Same.
4859	* testsuite/libgomp.c/taskloop-1.c: Same.
4860	* testsuite/libgomp.c/taskloop-3.c: Same.
4861	* testsuite/libgomp.c/taskloop-4.c: Same.
4862	* testsuite/libgomp.fortran/aligned1.f03: Same.
4863	* testsuite/libgomp.fortran/condinc1.f: Same.
4864	* testsuite/libgomp.fortran/condinc3.f90: Same.
4865	* testsuite/libgomp.fortran/crayptr1.f90: Same.
4866	* testsuite/libgomp.fortran/crayptr2.f90: Same.
4867	* testsuite/libgomp.fortran/crayptr3.f90: Same.
4868	* testsuite/libgomp.fortran/omp_cond1.f: Same.
4869	* testsuite/libgomp.fortran/omp_cond3.F90: Same.
4870	* testsuite/libgomp.fortran/pr66199-1.f90: Same.
4871	* testsuite/libgomp.fortran/pr66199-2.f90: Same.
4872	* testsuite/libgomp.fortran/recursion1.f90: Same.
4873	* testsuite/libgomp.fortran/target2.f90: Same.
4874	* testsuite/libgomp.fortran/target5.f90: Same.
4875	* testsuite/libgomp.fortran/task3.f90: Same.
4876
48772017-09-28  Tom de Vries  <tom@codesourcery.com>
4878
4879	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
4880	vector_length(32) clause from acc parallel directive.
4881	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
4882
48832017-09-27  Tom de Vries  <tom@codesourcery.com>
4884
4885	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
4886	Remove acc_device_nvidia references.
4887
48882017-09-16  Tom de Vries  <tom@codesourcery.com>
4889
4890	PR c/81875
4891	* testsuite/libgomp.c-c++-common/pr81875.c: New test.
4892
48932017-09-14  Tom de Vries  <tom@codesourcery.com>
4894
4895	* testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4896	* testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
4897	* testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
4898	* testsuite/libgomp.c/c.exp: Include test-cases from
4899	libgomp.c-c++-common.
4900	* testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
4901	files.
4902
49032017-09-14  Jakub Jelinek  <jakub@redhat.com>
4904
4905	PR c++/81314
4906	* testsuite/libgomp.c++/pr81314.C: New test.
4907
49082017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
4909
4910	* libgomp.texi (Top): www.openacc.org now uses https.
4911	(Enabling OpenACC): Ditto.
4912	(acc_get_num_devices): Ditto.
4913	(acc_set_device_type): Ditto.
4914	(acc_get_device_type): Ditto.
4915	(acc_set_device_num): Ditto.
4916	(acc_get_device_num): Ditto.
4917	(acc_async_test): Ditto.
4918	(acc_async_test_all): Ditto.
4919	(acc_wait): Ditto.
4920	(acc_wait_all): Ditto.
4921	(acc_wait_all_async): Ditto.
4922	(acc_wait_async): Ditto.
4923	(acc_init): Ditto.
4924	(acc_shutdown): Ditto.
4925	(acc_on_device): Ditto.
4926	(acc_malloc): Ditto.
4927	(acc_free): Ditto.
4928	(acc_copyin): Ditto.
4929	(acc_present_or_copyin): Ditto.
4930	(acc_create): Ditto.
4931	(acc_present_or_create): Ditto.
4932	(acc_copyout): Ditto.
4933	(acc_delete): Ditto.
4934	(acc_update_device): Ditto.
4935	(acc_update_self): Ditto.
4936	(acc_map_data): Ditto.
4937	(acc_unmap_data): Ditto.
4938	(acc_deviceptr): Ditto.
4939	(acc_hostptr): Ditto.
4940	(acc_is_present): Ditto.
4941	(acc_memcpy_to_device): Ditto.
4942	(acc_memcpy_from_device): Ditto.
4943	(acc_get_current_cuda_device): Ditto.
4944	(acc_get_current_cuda_context): Ditto.
4945	(acc_get_cuda_stream): Ditto.
4946	(acc_set_cuda_stream): Ditto.
4947	(ACC_DEVICE_TYPE): Ditto.
4948	(ACC_DEVICE_NUM): Ditto.
4949	(OpenACC Library Interoperability): Ditto.
4950
49512017-08-09  Jakub Jelinek  <jakub@redhat.com>
4952
4953	PR c/81687
4954	* testsuite/libgomp.c/pr81687-1.c: New test.
4955	* testsuite/libgomp.c/pr81687-2.c: New test.
4956
49572017-08-07  Jakub Jelinek  <jakub@redhat.com>
4958
4959	PR c/69389
4960	* testsuite/libgomp.c/pr69389.c: New test.
4961	* testsuite/libgomp.c++/pr69389.C: New test.
4962
49632017-08-07  Tom de Vries  <tom@codesourcery.com>
4964
4965	PR middle-end/78266
4966	* testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
4967	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
4968
49692017-07-27  Jakub Jelinek  <jakub@redhat.com>
4970
4971	PR c/45784
4972	* testsuite/libgomp.c/pr45784.c: New test.
4973	* testsuite/libgomp.c++/pr45784.C: New test.
4974
49752017-07-19  Tom de Vries  <tom@codesourcery.com>
4976
4977	* testsuite/libgomp.oacc-c/vec.c: New test.
4978
49792017-07-03  Tom de Vries  <tom@codesourcery.com>
4980
4981	* plugin/plugin-hsa.c: Fix secure_getenv.h include.
4982
49832017-06-27  Tom de Vries  <tom@codesourcery.com>
4984
4985	* plugin/plugin-nvptx.c (notify_var): New function.
4986	(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4987
49882017-06-27  Tom de Vries  <tom@codesourcery.com>
4989
4990	* env.c (parse_unsigned_long_1): Factor out of ...
4991	(parse_unsigned_long): ... here.
4992	(parse_int_1): Factor out of ...
4993	(parse_int): ... here.
4994	(parse_int_secure): New function.
4995	(initialize_env): Use parse_int_secure for GOMP_DEBUG.
4996	* secure_getenv.h: Factor out of ...
4997	* plugin/plugin-hsa.c: ... here.
4998	* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4999
50002017-06-21  Jakub Jelinek  <jakub@redhat.com>
5001
5002	PR c++/81130
5003	* testsuite/libgomp.c++/pr81130.C: New test.
5004
50052017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5006
5007	* testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5008	default args.
5009	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5010	dg-xfail-run-if default args.
5011
50122017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5013
5014	* testsuite/libgomp.c/pr39591-2.c: Fix test case.
5015	* testsuite/libgomp.c/pr39591-3.c: Likewise.
5016
50172017-05-30  Jakub Jelinek  <jakub@redhat.com>
5018
5019	PR libgomp/80822
5020	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5021	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
5022	sibling lists, depending on level just pick up what CPUs to put
5023	together into a place vs. whether add multiple ordered places.
5024
50252017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
5026
5027	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5028	* libgomp.map (OACC_2.0.1): Add these.
5029	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5030	for "acc_wait", and "acc_wait_all", respectively.
5031	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5032	for "acc_wait", and "acc_wait_all", respectively.
5033	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5034	* libgomp.texi (acc_wait, acc_wait_all): Update.
5035	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5036	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5037	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5038
5039	* openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5040	acc_present_or_copyin and acc_present_or_create procedures,
5041	respectively.
5042	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5043	generally different variants of OpenACC Runtime Library functions.
5044	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5045
5046	* testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5047	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5048
5049	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5050	of preprocessor definitions.
5051	* libgomp.h (strong_alias): Guard by "#ifdef
5052	HAVE_ATTRIBUTE_ALIAS".
5053	* oacc-mem.c: Provide "acc_pcreate" as alias for
5054	"acc_present_or_create", and "acc_pcopyin" as alias for
5055	"acc_present_or_copyin".
5056	* libgomp.map: New version "OACC_2.0.1".
5057	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5058	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5059	its content into...
5060	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5061	Extend testing.
5062
5063	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5064	when disabling nvptx offloading.
5065
50662017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
5067
5068	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5069	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5070	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5071
5072	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5073	* testsuite/lib/libgomp.exp
5074	(check_effective_target_openacc_nvidia_accel_configured): New
5075	proc.
5076	* testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5077	(check_effective_target_c++): New procs.
5078	* testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5079	(check_effective_target_c++): Likewise.
5080
50812017-05-22  Jakub Jelinek  <jakub@redhat.com>
5082
5083	PR middle-end/80809
5084	* testsuite/libgomp.c/pr80809-2.c: New test.
5085	* testsuite/libgomp.c/pr80809-3.c: New test.
5086
5087	PR middle-end/80809
5088	* testsuite/libgomp.c/pr80809-1.c: New test.
5089
5090	PR middle-end/80853
5091	* testsuite/libgomp.c/pr80853.c: New test.
5092
50932017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
5094
5095	* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5096	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5097	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5098	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5099	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5100
5101	* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5102	Debug output for failure.
5103
51042017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5105
5106	* testsuite/lib/libgomp.exp: Load scanlang.exp.
5107
51082017-04-27  Jakub Jelinek  <jakub@redhat.com>
5109
5110	PR bootstrap/80531
5111	* configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5112	bootstrap compare failures.
5113
51142017-04-20  Alexander Monakov  <amonakov@ispras.ru>
5115
5116	* testsuite/libgomp.c/target-36.c: New testcase.
5117
51182017-04-13  Jakub Jelinek  <jakub@redhat.com>
5119
5120	* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5121	instead of char.
5122
51232017-04-11  Jakub Jelinek  <jakub@redhat.com>
5124
5125	PR libgomp/80394
5126	* testsuite/libgomp.c/pr80394.c: New test.
5127
51282017-04-04  Jakub Jelinek  <jakub@redhat.com>
5129
5130	PR libgomp/79876
5131	* config/posix/thread-stacksize.h: New file.
5132	* config/darwin/thread-stacksize.h: New file.
5133	* config/nvptx/thread-stacksize.h: New file.
5134	* env.c: Include thread-stacksize.h.
5135	(initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5136	instead of 0.  Call pthread_attr_setstacksize even if
5137	GOMP_DEFAULT_STACKSIZE is non-zero.
5138
51392017-03-30  Jakub Jelinek  <jakub@redhat.com>
5140
5141	* env.c (initialize_env): Initialize stacksize to 0.
5142
51432017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
5144
5145	PR c++/80029
5146	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5147
51482017-03-08  Jakub Jelinek  <jakub@redhat.com>
5149
5150	PR c/79940
5151	* testsuite/libgomp.c/pr79940.c: New test.
5152
51532017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5154
5155	* testsuite/libgomp.c/pr48591.c: Enable on all __float128
5156	targets.
5157	Add __float128 options.
5158
51592017-02-11  John David Anglin  <danglin@gcc.gnu.org>
5160
5161	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5162	hppa*-*-* dg-skip-if directive.
5163
51642017-02-09  Jakub Jelinek  <jakub@redhat.com>
5165
5166	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5167	dg-skip-if directive into a comment.
5168
51692017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
5170	    Chung-Lin Tang  <cltang@codesourcery.com>
5171
5172	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5173	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5174	add additional case.
5175	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5176	"openacc_nvidia_accel_selected".
5177	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
5178	Add num_workers(8) clause.
5179
51802017-02-08  John David Anglin  <danglin@gcc.gnu.org>
5181
5182	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5183	hppa*-*-*.
5184	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5185	include complex.h on hppa*-*-hpux*.
5186	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5187
51882017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
5189
5190	* plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5191
5192	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5193	GOMP_OFFLOAD_openacc_exec.  Adjust all users.
5194	(GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5195	GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
5196	(GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5197	GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
5198	(GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5199	GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
5200	(GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5201	GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
5202
52032017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
5204
5205	* libgomp-plugin.h: #include <stdbool.h>.
5206	(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5207	(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5208	(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5209	(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5210	(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5211	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5212	(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5213	(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5214	(GOMP_OFFLOAD_openacc_register_async_cleanup)
5215	(GOMP_OFFLOAD_openacc_async_test)
5216	(GOMP_OFFLOAD_openacc_async_test_all)
5217	(GOMP_OFFLOAD_openacc_async_wait)
5218	(GOMP_OFFLOAD_openacc_async_wait_async)
5219	(GOMP_OFFLOAD_openacc_async_wait_all)
5220	(GOMP_OFFLOAD_openacc_async_wait_all_async)
5221	(GOMP_OFFLOAD_openacc_async_set_async)
5222	(GOMP_OFFLOAD_openacc_create_thread_data)
5223	(GOMP_OFFLOAD_openacc_destroy_thread_data)
5224	(GOMP_OFFLOAD_openacc_get_current_cuda_device)
5225	(GOMP_OFFLOAD_openacc_get_current_cuda_context)
5226	(GOMP_OFFLOAD_openacc_get_cuda_stream)
5227	(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5228	* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5229	these.
5230	* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5231	(GOMP_OFFLOAD_unload_image): Fix argument types.
5232
52332017-01-26  Jakub Jelinek  <jakub@redhat.com>
5234
5235	* testsuite/lib/libgomp.exp
5236	(check_effective_target_hsa_offloading_selected_nocache): Fix up
5237	check_compile invocation.  Fix up removal of executable.  Drop
5238	bogus "2>&1" argument.
5239
5240	* testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5241	directive.
5242
52432017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
5244	    Martin Jambor  <mjambor@suse.cz>
5245
5246	* plugin/hsa.h: Moved to top level include.
5247	* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5248
52492017-01-21  Jakub Jelinek  <jakub@redhat.com>
5250
5251	PR other/79046
5252	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5253	of cat to get version from BASE-VER file.
5254	* testsuite/Makefile.in: Regenerated.
5255
52562017-01-19  Jakub Jelinek  <jakub@redhat.com>
5257
5258	* plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5259	for _WIN64.
5260
52612017-01-17  Jakub Jelinek  <jakub@redhat.com>
5262
5263	* plugin/hsa.h: Add GCC runtime library exception.
5264	* plugin/hsa_ext_finalize.h: Likewise.
5265
5266	* plugin/configfrag.ac: For --without-cuda-driver don't initialize
5267	CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
5268	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5269	cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5270	plugin/include/cuda as include dir and -ldl instead of -lcuda as
5271	library to link ptx plugin against.
5272	* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5273	(CUDA_CALLS): Define.
5274	(cuda_lib, cuda_lib_inited): New variables.
5275	(init_cuda_lib): New function.
5276	(CUDA_CALL_PREFIX): Define.
5277	(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5278	(CUDA_CALL): Use FN instead of (FN).
5279	(CUDA_CALL_NOCHECK): Define.
5280	(cuda_error, fini_streams_for_device, select_stream_for_async,
5281	nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5282	event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5283	nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5284	nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5285	CUDA_CALL_NOCHECK.
5286	(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
5287	CUDA_CALL_NOCHECK.
5288	(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5289	Use CUDA_CALL_NOCHECK.
5290	* plugin/cuda/cuda.h: New file.
5291	* config.h.in: Regenerated.
5292	* configure: Regenerated.
5293
5294	PR other/79046
5295	* configure.ac: Add GCC_BASE_VER.
5296	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5297	get version from BASE-VER file.
5298	* testsuite/Makefile.in: Regenerated.
5299	* configure: Regenerated.
5300	* Makefile.in: Regenerated.
5301
53022017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
5303
5304	PR libgomp/60670
5305	* Makefile.am: Make fincludedir multilib-aware.
5306	* Makefile.in: Regenerate.
5307
53082017-01-01  Jakub Jelinek  <jakub@redhat.com>
5309
5310	Update copyright years.
5311
5312	* libgomp.texi: Bump @copying's copyright year.
5313
53142016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5315
5316	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5317	pthread_spinlock_t instead of gomp_mutex_t lock.
5318	(gomp_get_thread_pool): Likewise.
5319	(gomp_release_thread_pool): Likewise.
5320	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5321	Likewise.
5322
53232016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5324
5325	* config/rtems/pool.h (gomp_get_thread_pool): Return proper
5326	thread pool in case nthreads == 1.
5327
53282016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5329
5330	* config/nvptx/env.c: Delete.
5331	* icv.c: Move definitions of ICV variables back ...
5332	* env.c: ...here.  Do not compile environment-related functionality if
5333	LIBGOMP_OFFLOADED_ONLY is set.
5334
53352016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5336
5337	* configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5338	(LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5339	* configure: Regenerate.
5340	* config.h.in: Likewise.
5341
53422016-11-30  Alexander Monakov  <amonakov@ispras.ru>
5343
5344	* Makefile.in: Regenerate with automake-1.11.6.
5345	* aclocal.m4: Likewise.
5346	* configure: Likewise.
5347	* testsuite/Makefile.in: Likewise.
5348
53492016-11-28  Alexander Monakov  <amonakov@ispras.ru>
5350
5351	* config/nvptx/critical.c: Delete to use generic implementation.
5352
53532016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
5354
5355	* config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
5356	../../affinity.c as fallback.
5357	* config/nvptx/affinity.c: Delete to use fallback implementation.
5358
53592016-11-23  Alexander Monakov  <amonakov@ispras.ru>
5360	    Jakub Jelinek  <jakub@redhat.com>
5361	    Dmitry Melnik  <dm@ispras.ru>
5362
5363	* Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
5364	* Makefile.in. Regenerate.
5365	* configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
5366	(LIBGOMP_USE_PTHREADS): ...here; new define.
5367	* configure: Regenerate.
5368	* config.h.in: Likewise.
5369	* config/posix/affinity.c: Move to...
5370	* affinity.c: ...here (new file).  Guard use of Pthreads-specific
5371	interface by LIBGOMP_USE_PTHREADS.
5372	* critical.c: Split out GOMP_atomic_{start,end} into...
5373	* atomic.c: ...here (new file).
5374	* env.c: Split out ICV definitions into...
5375	* icv.c: ...here (new file) and...
5376	* icv-device.c: ...here. New file.
5377	* config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
5378	(gomp_destroy_lock_30): Ditto.
5379	(gomp_set_lock_30): Ditto.
5380	(gomp_unset_lock_30): Ditto.
5381	(gomp_test_lock_30): Ditto.
5382	(gomp_init_nest_lock_30): Ditto.
5383	(gomp_destroy_nest_lock_30): Ditto.
5384	(gomp_set_nest_lock_30): Ditto.
5385	(gomp_unset_nest_lock_30): Ditto.
5386	(gomp_test_nest_lock_30): Ditto.
5387	* lock.c: New.
5388	* config/nvptx/lock.c: New.
5389	* config/nvptx/bar.c: New.
5390	* config/nvptx/bar.h: New.
5391	* config/nvptx/doacross.h: New.
5392	* config/nvptx/error.c: New.
5393	* config/nvptx/icv-device.c: New.
5394	* config/nvptx/mutex.h: New.
5395	* config/nvptx/pool.h: New.
5396	* config/nvptx/proc.c: New.
5397	* config/nvptx/ptrlock.h: New.
5398	* config/nvptx/sem.h: New.
5399	* config/nvptx/simple-bar.h: New.
5400	* config/nvptx/target.c: New.
5401	* config/nvptx/task.c: New.
5402	* config/nvptx/team.c: New.
5403	* config/nvptx/time.c: New.
5404	* config/posix/simple-bar.h: New.
5405	* libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
5406	(gomp_num_teams_var): Declare.
5407	(struct gomp_thread_pool): Change threads_dock member to
5408	gomp_simple_barrier_t.
5409	[__nvptx__] (gomp_thread): New implementation.
5410	(gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
5411	(gomp_thread_destructor): Ditto.
5412	(gomp_init_thread_affinity): Ditto.
5413	* team.c: Guard uses of Pthreads-specific interfaces by
5414	LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
5415	(gomp_free_thread) [__nvptx__]: Do not call 'free'.
5416	* config/nvptx/alloc.c: Delete.
5417	* config/nvptx/barrier.c: Ditto.
5418	* config/nvptx/fortran.c: Ditto.
5419	* config/nvptx/iter.c: Ditto.
5420	* config/nvptx/iter_ull.c: Ditto.
5421	* config/nvptx/loop.c: Ditto.
5422	* config/nvptx/loop_ull.c: Ditto.
5423	* config/nvptx/ordered.c: Ditto.
5424	* config/nvptx/parallel.c: Ditto.
5425	* config/nvptx/priority_queue.c: Ditto.
5426	* config/nvptx/sections.c: Ditto.
5427	* config/nvptx/single.c: Ditto.
5428	* config/nvptx/splay-tree.c: Ditto.
5429	* config/nvptx/work.c: Ditto.
5430	* testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
5431	-foffload=-lgfortran in addition to -lgfortran.
5432	* testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
5433	* plugin/plugin-nvptx.c: Include <limits.h>.
5434	(struct targ_fn_descriptor): Add new fields.
5435	(struct ptx_device): Ditto.  Set them...
5436	(nvptx_open_device): ...here.
5437	(nvptx_adjust_launch_bounds): New.
5438	(nvptx_host2dev): Allow NULL 'nvthd'.
5439	(nvptx_dev2host): Ditto.
5440	(GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
5441	(link_ptx): Adjust log sizes.
5442	(nvptx_host2dev): Allow NULL 'nvthd'.
5443	(nvptx_dev2host): Ditto.
5444	(nvptx_set_clocktick): New.  Use it...
5445	(GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
5446	fields.
5447	(GOMP_OFFLOAD_dev2dev): New.
5448	(nvptx_adjust_launch_bounds): New.
5449	(nvptx_stacks_size): New.
5450	(nvptx_stacks_alloc): New.
5451	(nvptx_stacks_free): New.
5452	(GOMP_OFFLOAD_run): New.
5453	(GOMP_OFFLOAD_async_run): New (stub).
5454
54552016-11-23  Martin Jambor  <mjambor@suse.cz>
5456
5457	* testsuite/libgomp.hsa.c/bits-insns.c: New test.
5458	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5459	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5460
54612016-11-23  Martin Liska  <mliska@suse.cz>
5462	    Martin Jambor  <mjambor@suse.cz>
5463
5464	* plugin/hsa.h: New file.
5465	* plugin/hsa_ext_finalize.h: New file.
5466	* plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
5467	header file unistd.h, and functions secure_getenv, __secure_getenv,
5468	getuid, geteuid, getgid and getegid.
5469	* plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
5470	-D_GNU_SOURCE.
5471	* plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
5472	Handle various cases of secure_getenv presence, add an implementation
5473	when we can test effective UID and GID.
5474	(struct hsa_runtime_fn_info): New structure.
5475	(hsa_runtime_fn_info hsa_fns): New variable.
5476	(hsa_runtime_lib): Likewise.
5477	(support_cpu_devices): Likewise.
5478	(init_enviroment_variables): Load newly introduced ENV
5479	variables.
5480	(hsa_warn): Call hsa run-time functions via hsa_fns structure.
5481	(hsa_fatal): Likewise.
5482	(DLSYM_FN): New macro.
5483	(init_hsa_runtime_functions): New function.
5484	(suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
5485	structure.  Depending on environment, also allow CPU devices.
5486	(init_hsa_context): Call hsa run-time functions via hsa_fns structure.
5487	(get_kernarg_memory_region): Likewise.
5488	(GOMP_OFFLOAD_init_device): Likewise.
5489	(destroy_hsa_program): Likewise.
5490	(init_basic_kernel_info): New function.
5491	(GOMP_OFFLOAD_load_image): Use it.
5492	(create_and_finalize_hsa_program): Call hsa run-time functions via
5493	hsa_fns structure.
5494	(create_single_kernel_dispatch): Likewise.
5495	(release_kernel_dispatch): Likewise.
5496	(init_single_kernel): Likewise.
5497	(parse_target_attributes): Allow up multiple HSA grid dimensions.
5498	(get_group_size): New function.
5499	(run_kernel): Likewise.
5500	(GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
5501	(GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
5502	structure.
5503	* testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
5504	* testsuite/libgomp-test-support.exp.in: Likewise.
5505	* Makefile.in: Regenerated.
5506	* aclocal.m4: Likewise.
5507	* config.h.in: Likewise.
5508	* configure: Likewise.
5509	* testsuite/Makefile.in: Likewise.
5510
55112016-11-15  Martin Jambor  <mjambor@suse.cz>
5512	    Alexander Monakov  <amonakov@ispras.ru>
5513
5514	* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
5515	mapping clauses to target constructs.
5516	* testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
5517
55182016-11-15  Matthias Klose  <doko@ubuntu.com>
5519
5520	* configure: Regenerate.
5521
55222016-11-10  Jakub Jelinek  <jakub@redhat.com>
5523
5524	* omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
5525	* omp_lib.h.in (openmp_version): Likewise.
5526	* testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
5527	of 201307.
5528	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5529
5530	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90
5531	(fib_wrapper): Add map(from: x) clause.
5532	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90
5533	(e_53_2): Likewise.
5534	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90
5535	(accum): Add map(tmp) clause.
5536	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90
5537	(accum): Add map(tofrom: tmp) clause.
5538	* testsuite/libgomp.fortran/examples-4/target_data-3.f90
5539	(gramSchmidt): Likewise.
5540	* testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
5541	map(tofrom: sum) clause.
5542	* testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
5543	map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
5544	* testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
5545	only allowed on the loop iterator.
5546	* testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
5547	* testsuite/libgomp.fortran/taskloop2.f90: New test.
5548	* testsuite/libgomp.fortran/taskloop4.f90: New test.
5549	* testsuite/libgomp.fortran/doacross1.f90: New test.
5550	* testsuite/libgomp.fortran/doacross3.f90: New test.
5551	* testsuite/libgomp.fortran/taskloop1.f90: New test.
5552	* testsuite/libgomp.fortran/taskloop3.f90: New test.
5553	* testsuite/libgomp.fortran/doacross2.f90: New test.
5554	* testsuite/libgomp.c/doacross-1.c (main): Add missing
5555	#pragma omp atomic read.
5556	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
5557	* testsuite/libgomp.c/doacross-3.c (main): Likewise.
5558
55592016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
5560	    Nathan Sidwell  <nathan@acm.org>
5561
5562	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
5563	to determine default geometry.
5564	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
5565	dimension.
5566
55672016-11-01  Jakub Jelinek  <jakub@redhat.com>
5568
5569	* hashtab.h: Use standard GPLv3 with runtime exception
5570	boilerplate.
5571
55722016-10-27  Aldy Hernandez  <aldyh@redhat.com>
5573
5574	* oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
5575	size when allocating new thread.
5576
55772016-09-14  Marek Polacek  <polacek@redhat.com>
5578
5579	* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
5580
55812016-08-19  Jakub Jelinek  <jakub@redhat.com>
5582
5583	PR fortran/71014
5584	* testsuite/libgomp.fortran/pr71014.f90: New test.
5585
55862016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
5587
5588	PR middle-end/70895
5589	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
5590	firstprivate clauses.
5591	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
5592	copy clauses.
5593	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5594	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5595	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
5596	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5597	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5598	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
5599	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5600	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5601	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5602	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5603	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5604	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
5605
56062016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
5607
5608	PR fortran/70598
5609	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
5610
56112016-08-08  Jakub Jelinek  <jakub@redhat.com>
5612
5613	PR c++/58706
5614	* testsuite/libgomp.c++/pr58706.C: New test.
5615
56162016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
5617
5618	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
5619	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
5620	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
5621	Likewise.
5622	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
5623	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
5624	Likewise.
5625	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
5626
5627	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
5628	test, and don't hardcode -O0.
5629
56302016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
5631
5632	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
5633
56342016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
5635
5636	* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
5637	test.
5638
56392016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
5640
5641	PR middle-end/71734
5642	* testsuite/libgomp.fortran/pr71734-1.f90: New test.
5643	* testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
5644
56452016-07-01  Jakub Jelinek  <jakub@redhat.com>
5646
5647	PR fortran/71717
5648	* testsuite/libgomp.fortran/associate3.f90: New test.
5649
56502016-06-17  Jakub Jelinek  <jakub@redhat.com>
5651
5652	* testsuite/libgomp.c++/target-21.C: New test.
5653
56542016-06-16  Jakub Jelinek  <jakub@redhat.com>
5655
5656	* testsuite/libgomp.c++/target-20.C: New test.
5657
56582016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5659	    Cesar Philippidis  <cesar@codesourcery.com>
5660
5661	PR middle-end/71373
5662	* libgomp.oacc-c/nested-function-1.c: New file.
5663	* libgomp.oacc-c/nested-function-2.c: Likewise.
5664	* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5665	* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5666	* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5667
56682016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5669
5670	PR c/71381
5671	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
5672	"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
5673	* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
5674
56752016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
5676
5677	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
5678	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
5679
56802016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
5681
5682	PR c/70688
5683	* testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
5684
56852016-05-26  Jakub Jelinek  <jakub@redhat.com>
5686
5687	* testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
5688	instead of invalid schedule(static, 0).
5689	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
5690
56912016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
5692
5693	* oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
5694	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
5695	parameter, use to set async stream around call to gomp_unmap_vars,
5696	call gomp_unmap_vars() with 'do_copyfrom' set to true.
5697	* plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
5698	(event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
5699	events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
5700	(event_add): Add int parameter, initialize 'val' field when
5701	adding new ptx_event struct.
5702	(nvptx_evec): Adjust event_add() call arguments.
5703	(nvptx_host2dev): Likewise.
5704	(nvptx_dev2host): Likewise.
5705	(nvptx_wait_async): Likewise.
5706	(nvptx_wait_all_async): Likewise.
5707	(GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
5708	pass to event_add() call.
5709	* oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
5710	parameter.
5711	* oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
5712	call openacc.register_async_cleanup_func() hook.
5713	* oacc-parallel.c (GOACC_parallel_keyed): Likewise.
5714	* target.c (gomp_copy_from_async): Delete function.
5715	(gomp_map_vars): Remove async_refcount.
5716	(gomp_unmap_vars): Likewise.
5717	(gomp_load_image_to_device): Likewise.
5718	(omp_target_associate_ptr): Likewise.
5719	* libgomp.h (struct splay_tree_key_s): Remove async_refcount.
5720	(acc_dispatch_t.register_async_cleanup_func): Add int parameter.
5721	(gomp_copy_from_async): Remove.
5722
57232016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
5724
5725	* target.c (gomp_device_copy): New function.
5726	(gomp_copy_host2dev): Likewise.
5727	(gomp_copy_dev2host): Likewise.
5728	(gomp_free_device_memory): Likewise.
5729	(gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
5730	(gomp_map_pointer): Likewise.
5731	(gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
5732	NULL value from alloc_func plugin hook.
5733	(gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
5734	(gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
5735	(gomp_unmap_vars): Likewise.
5736	(gomp_update): Adjust to call gomp_copy_dev2host and
5737	gomp_copy_host2dev functions.
5738	(gomp_unload_image_from_device): Handle false value from
5739	unload_image_func plugin hook.
5740	(gomp_init_device): Handle false value from init_device_func
5741	plugin hook.
5742	(gomp_exit_data): Adjust to call gomp_copy_dev2host.
5743	(omp_target_free): Adjust to call gomp_free_device_memory.
5744	(omp_target_memcpy): Handle return values from host2dev_func,
5745	dev2host_func, and dev2dev_func plugin hooks.
5746	(omp_target_memcpy_rect_worker): Likewise.
5747	(gomp_target_fini): Handle false value from fini_device_func
5748	plugin hook.
5749	* libgomp.h (struct gomp_device_descr): Adjust return type of
5750	init_device_func, fini_device_func, unload_image_func, free_func,
5751	dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
5752	* oacc-init.c (acc_shutdown_1): Handle false value from
5753	fini_device_func plugin hook.
5754	* oacc-host.c (host_init_device): Change return type to bool.
5755	(host_fini_device): Likewise.
5756	(host_unload_image): Likewise.
5757	(host_free): Likewise.
5758	(host_dev2host): Likewise.
5759	(host_host2dev): Likewise.
5760	* oacc-mem.c (acc_free): Handle plugin hook fatal error case.
5761	(acc_memcpy_to_device): Likewise.
5762	(acc_memcpy_from_device): Likewise.
5763	(delete_copyout): Add libfnname parameter, handle free_func
5764	hook fatal error case.
5765	(acc_delete): Adjust delete_copyout call.
5766	(acc_copyout): Likewise.
5767	(update_dev_host): Move gomp_mutex_unlock to after
5768	host2dev/dev2host hook calls.
5769
5770	* plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
5771	to 'hsa_error_msg', for clarity.
5772	(hsa_fatal): Likewise.
5773	(hsa_error): New function.
5774	(init_hsa_context): Change return type to bool, adjust to return
5775	false on error.
5776	(GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
5777	return value.
5778	(GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
5779	return false on error.
5780	(get_agent_info): Adjust to return NULL on error.
5781	(destroy_hsa_program): Change return type to bool, adjust to
5782	return false on error.
5783	(GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
5784	(destroy_module): Change return type to bool, adjust to
5785	return false on error.
5786	(GOMP_OFFLOAD_unload_image): Likewise.
5787	(GOMP_OFFLOAD_fini_device): Likewise.
5788	(GOMP_OFFLOAD_alloc): Change to return NULL when called.
5789	(GOMP_OFFLOAD_free): Change to return false when called.
5790	(GOMP_OFFLOAD_dev2host): Likewise.
5791	(GOMP_OFFLOAD_host2dev): Likewise.
5792	(GOMP_OFFLOAD_dev2dev): Likewise.
5793
5794	* plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
5795	(CUDA_CALL): Likewise.
5796	(CUDA_CALL_ASSERT): Likewise.
5797	(map_init): Change return type to bool, use CUDA_CALL* macros.
5798	(map_fini): Likewise.
5799	(init_streams_for_device): Change return type to bool, adjust
5800	call to map_init.
5801	(fini_streams_for_device): Change return type to bool, adjust
5802	call to map_fini.
5803	(select_stream_for_async): Release stream_lock before calls to
5804	GOMP_PLUGIN_fatal, adjust call to map_init.
5805	(nvptx_init): Use CUDA_CALL* macros.
5806	(nvptx_attach_host_thread_to_device): Change return type to bool,
5807	use CUDA_CALL* macros.
5808	(nvptx_open_device): Use CUDA_CALL* macros.
5809	(nvptx_close_device): Change return type to bool, use CUDA_CALL*
5810	macros.
5811	(nvptx_get_num_devices): Use CUDA_CALL* macros.
5812	(link_ptx): Change return type to bool, use CUDA_CALL* macros.
5813	(nvptx_exec): Use CUDA_CALL* macros.
5814	(nvptx_alloc): Use CUDA_CALL* macros.
5815	(nvptx_free): Change return type to bool, use CUDA_CALL* macros.
5816	(nvptx_host2dev): Likewise.
5817	(nvptx_dev2host): Likewise.
5818	(nvptx_wait): Use CUDA_CALL* macros.
5819	(nvptx_wait_async): Likewise.
5820	(nvptx_wait_all): Likewise.
5821	(nvptx_wait_all_async): Likewise.
5822	(nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
5823	use CUDA_CALL* macros, adjust call to map_fini.
5824	(GOMP_OFFLOAD_init_device): Change return type to bool,
5825	adjust code accordingly.
5826	(GOMP_OFFLOAD_fini_device): Likewise.
5827	(GOMP_OFFLOAD_load_image): Adjust calls to
5828	nvptx_attach_host_thread_to_device/link_ptx to handle errors,
5829	use CUDA_CALL* macros.
5830	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
5831	return code.
5832	(GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
5833	(GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
5834	handle error return.
5835	(GOMP_OFFLOAD_dev2host): Likewise.
5836	(GOMP_OFFLOAD_host2dev): Likewise.
5837	(GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
5838	(GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
5839
58402016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
5841
5842	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
5843	(acc_free): Likewise.
5844	(acc_memcpy_to_device): Likewise.
5845	(acc_memcpy_from_device): Likewise.
5846	(acc_deviceptr): Likewise.
5847	(acc_hostptr): Likewise.
5848	(acc_is_present): Likewise.
5849	(acc_map_data): Likewise.
5850	(acc_unmap_data): Likewise.
5851	(present_create_copy): Likewise.
5852	(delete_copyout): Likewise.
5853	(update_dev_host): Likewise.
5854	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
5855	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
5856	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
5857	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5858	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
5859	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
5860	it only runs on nvptx targets.
5861	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5862	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5863	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5864	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5865	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5866	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5867	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5868	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5869	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5870	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5871	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5872	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5873	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5874	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5875	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5876	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5877	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5878	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5879	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5880	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5881	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5882	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5883	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5884
58852016-05-23  Martin Jambor  <mjambor@suse.cz>
5886
5887	* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
5888
58892016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
5890
5891	* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
5892	to gomp_init_targets_once.
5893	(acc_set_device_type): Remove !cached_base_dev condition on call to
5894	gomp_init_targets_once, move call to before acc_device_lock acquire,
5895	to avoid deadlock.
5896	(acc_get_device_num): Remove !cached_base_dev condition on call to
5897	gomp_init_targets_once.
5898	(acc_set_device_num): Likewise.
5899
59002016-05-16  Martin Jambor  <mjambor@suse.cz>
5901
5902	* testsuite/libgomp.hsa.c/complex-align-2.c: New test.
5903
59042016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
5905
5906	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
5907	expected partitioning.
5908
59092016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
5910
5911	PR middle-end/70626
5912	* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
5913	* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
5914	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
5915
59162016-04-21  Alexander Monakov  <amonakov@ispras.ru>
5917
5918	* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
5919	non-fatal.
5920
59212016-04-19  Jakub Jelinek  <jakub@redhat.com>
5922
5923	PR middle-end/70680
5924	* testsuite/libgomp.c/pr70680-1.c: New test.
5925	* testsuite/libgomp.c/pr70680-2.c: New test.
5926
59272016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
5928
5929	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
5930	pass parameter variables to subroutines.
5931
59322016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
5933
5934	PR middle-end/70643
5935	* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
5936
59372016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
5938
5939	PR testsuite/68242
5940	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
5941	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5942
59432016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
5944
5945	* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
5946	GOACC_parallel_keyed, restore GOACC_parallel prototype, new
5947	GOACC_declare prototype.
5948
5949	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
5950	Merge this file, and...
5951	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
5952	... this file, and...
5953	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
5954	... this file, and...
5955	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
5956	... this file, and...
5957	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
5958	... this file, and...
5959	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
5960	... this file, and...
5961	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
5962	... this file, and...
5963	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
5964	... this file, and...
5965	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
5966	... this file, and...
5967	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
5968	... this file, and...
5969	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
5970	... this file, and...
5971	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
5972	... this file, and...
5973	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
5974	... this file into...
5975	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
5976	file.
5977
5978	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5979	Make failure observable.
5980
59812016-04-12  Jakub Jelinek  <jakub@redhat.com>
5982
5983	* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
5984	field.
5985	* target.c (gomp_target_fallback_firstprivate,
5986	gomp_target_unshare_firstprivate): Removed.
5987	(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5988	before waiting for dependencies.
5989	(gomp_target_task_fn): Don't copy firstprivate vars here.
5990	* task.c (GOMP_PLUGIN_target_task_completion): Don't free
5991	firstprivate_copies here.
5992	(gomp_create_target_task): Don't initialize firstprivate_copies field.
5993	* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5994	explicit/implicit firstprivate.
5995
59962016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
5997
5998	PR lto/70289
5999	PR ipa/70348
6000	PR tree-optimization/70373
6001	PR middle-end/70533
6002	PR middle-end/70534
6003	PR middle-end/70535
6004	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6005	test.
6006	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6007	test.
6008	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6009	test.
6010	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6011	test.
6012	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6013	test.
6014	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6015	test.
6016	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6017	test.
6018	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6019	test.
6020	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6021	test.
6022	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6023	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6024	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6025	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6026	test.
6027	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6028	test.
6029	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6030	test.
6031	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6032	test.
6033	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6034	coverage.
6035	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6036	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6037	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6038	* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6039	* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6040	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6041	coverage.
6042	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6043	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6044	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6045	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6046	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6047	* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6048	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6049	* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6050	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6051	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6052	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6053	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6054	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6055	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6056	* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6057
60582016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
6059	    James Norris  <jnorris@codesourcery.com>
6060	    Nathan Sidwell  <nathan@codesourcery.com>
6061	    Julian Brown  <julian@codesourcery.com>
6062	    Cesar Philippidis  <cesar@codesourcery.com>
6063	    Chung-Lin Tang  <cltang@codesourcery.com>
6064	    Tom de Vries  <tom@codesourcery.com>
6065
6066	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6067	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6068	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6069	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6070	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6071	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6072	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6073	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6074	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6075	XFAIL.
6076	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6077	Incorporate...
6078	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6079	file.
6080	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6081	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6082	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6083	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6084	Likewise.
6085	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6086	Likewise.
6087	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6088	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6089	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6090	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6091	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6092	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6093	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6094	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6095	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6096	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6097	Likewise.
6098	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6099	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6100	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6101	file...
6102	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6103	file into...
6104	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6105	file.  Update.
6106	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6107	file.
6108	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6109	Likewise.
6110	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6111	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6112	... this new file.  Update.
6113	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6114	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6115	... this new file.  Update.
6116	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6117	file.  Incorporate...
6118	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6119	file, and...
6120	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6121	file, and...
6122	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6123	file.
6124	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6125
61262016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
6127
6128	* testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6129	set-torture-options.
6130
61312016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
6132
6133	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6134	gcc-dg-runtest.
6135	* testsuite/libgomp.oacc-c/c.exp: Likewise.
6136	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6137	-fno-builtin-acc_on_device instead of -O0.
6138	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6139	-O0.
6140	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6141	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6142	Likewise.
6143	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6144	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6145	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6146	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6147	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6148	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6149	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6150	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6151	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6152	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6153	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6154	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6155	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6156	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6157	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6158	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6159	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6160	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6161	Don't specify -O2.
6162	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6163	Likewise.
6164	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6165	Likewise.
6166
61672016-03-24  Martin Liska  <mliska@suse.cz>
6168
6169	* plugin/plugin-hsa.c (packet_store_release): New function
6170	that is taken from the HSA runtime manual.
6171	(GOMP_OFFLOAD_run): Use the function.
6172
61732016-03-23  Jakub Jelinek  <jakub@redhat.com>
6174
6175	PR c++/70376
6176	* testsuite/libgomp.c++/pr70376.C: New test.
6177
61782016-03-23  Tom de Vries  <tom@codesourcery.com>
6179
6180	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6181	initialization of lresult and lvresult.
6182	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6183
61842016-03-23  James Norris  <jnorris@codesourcery.com>
6185	    Daichi Fukuoka <dc-fukuoka@sgi.com>
6186
6187	PR libgomp/69414
6188	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6189	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6190	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6191	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6192
61932016-03-23  Martin Liska  <mliska@suse.cz>
6194
6195	PR hsa/70337
6196	* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6197	argument just in case a dispatched kernel uses that argument.
6198
61992016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
6200
6201	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6202	-ftree-parallelize-loops/-fopenacc changes.
6203	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6204	Likewise.
6205	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6206	Likewise.
6207	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6208	Likewise.
6209	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6210	Likewise.
6211	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6212	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6213
62142016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
6215
6216	* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6217	always_ld_library_path the path to libgcc_s.
6218
62192016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
6220
6221	PR testsuite/70009
6222	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6223
62242016-03-09  Tom de Vries  <tom@codesourcery.com>
6225
6226	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6227	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6228	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6229	Same.
6230	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6231	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6232	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6233	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6234
62352016-03-07  Martin Jambor  <mjambor@suse.cz>
6236
6237	* testsuite/lib/libgomp.exp
6238	(check_effective_target_hsa_offloading_selected_nocache): New.
6239	(check_effective_target_hsa_offloading_selected): Likewise.
6240	* testsuite/libgomp.hsa.c/c.exp: Likewise.
6241	* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6242	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6243	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6244	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6245	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6246	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6247	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6248	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6249	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6250	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6251	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6252	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6253	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6254	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6255	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6256	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6257
62582016-03-07  Martin Jambor  <mjambor@suse.cz>
6259
6260	* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6261	non-shared memory accelerators.
6262	* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6263	* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6264	* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6265	* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6266	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6267	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6268	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6269	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6270	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6271
62722016-03-07  Martin Jambor  <mjambor@suse.cz>
6273
6274	* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6275	ALWAYS_CFLAGS.
6276
62772016-03-02  Jakub Jelinek  <jakub@redhat.com>
6278
6279	PR libgomp/69555
6280	* testsuite/libgomp.c++/pr69555-1.C: New test.
6281	* testsuite/libgomp.c++/pr69555-2.C: New test.
6282
62832016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
6284	    Martin Jambor  <mjambor@suse.cz>
6285
6286	* testsuite/lib/libgomp.exp
6287	(check_effective_target_offload_device_shared_as): New proc.
6288	* testsuite/libgomp.c++/declare_target-1.C: New test.
6289
62902016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
6291
6292	PR driver/68463
6293	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6294
62952016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
6296
6297	* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6298	* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6299	dims.
6300	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6301	-ftree-parallelize-loops/-fopenacc changes.
6302	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6303	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6304	Likewise.
6305	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6306	Likewise.
6307	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6308	Likewise.
6309	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6310	Likewise.
6311	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6312	Likewise.
6313	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6314	Likewise.
6315	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6316	Likewise.
6317	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6318	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6319	Likewise.
6320	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6321	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6322	Likewise.
6323	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6324	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6325	Likewise.
6326
63272016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
6328
6329	* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6330
63312016-02-19  Jakub Jelinek  <jakub@redhat.com>
6332
6333	PR driver/69805
6334	* testsuite/libgomp.c/pr69805.c: New test.
6335
63362016-02-16  Tom de Vries  <tom@codesourcery.com>
6337
6338	PR lto/67709
6339	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6340
63412016-02-09  Tom de Vries  <tom@codesourcery.com>
6342
6343	PR tree-optimization/69599
6344	* testsuite/libgomp.c/omp-nested-3.c: New test.
6345	* testsuite/libgomp.c/pr46032-2.c: New test.
6346	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6347	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6348
63492016-02-09  Tom de Vries  <tom@codesourcery.com>
6350
6351	PR lto/69707
6352	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
6353
63542016-02-02  Alexander Monakov  <amonakov@ispras.ru>
6355
6356	* testsuite/libgomp.c/target-31.c: Fix testcase.
6357
63582016-02-02  Alexander Monakov  <amonakov@ispras.ru>
6359
6360	* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
6361	clause.
6362	* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
6363	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
6364	reduction and map clauses.
6365	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6366
63672016-02-02  James Norris  <jnorris@codesourcery.com>
6368
6369	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
6370
63712016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
6372
6373	* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
6374	* oacc-parallel.c (GOACC_host_data): Remove function definition.
6375
6376	* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
6377	cases.
6378
6379	* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
6380	variables.
6381	* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
6382	(hsa_kmt_lib): Set variables.
6383	* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
6384	always_ld_library_path.
6385	* Makefile.in: Regenerate.
6386	* configure: Likewise.
6387	* testsuite/Makefile.in: Likewise.
6388
6389	* plugin/configfrag.ac (offload_additional_options)
6390	(offload_additional_lib_paths): Don't amend for hsa offloading.
6391	* configure: Regenerate.
6392
6393	* plugin/configfrag.ac: Don't configure for offloading target if
6394	we don't build the corresponding plugin.
6395	* configure: Regenerate.
6396
63972016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
6398
6399	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
6400	* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
6401
64022016-01-26  Tom de Vries  <tom@codesourcery.com>
6403
6404	PR tree-optimization/69110
6405	* testsuite/libgomp.c/pr69110.c: New test.
6406
64072016-01-25  Richard Biener  <rguenther@suse.de>
6408
6409	PR lto/69393
6410	* testsuite/libgomp.c++/pr69393.C: New testcase.
6411
64122016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
6413
6414	* target.c (gomp_get_target_fn_addr): Allow host fallback if target
6415	function wasn't mapped to the device with non-shared memory.
6416
64172016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
6418
6419	* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
6420
64212016-01-19  Martin Jambor  <mjambor@suse.cz>
6422	    Martin Liska  <mliska@suse.cz>
6423
6424	* plugin/Makefrag.am: Add HSA plugin requirements.
6425	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
6426	(HSA_RUNTIME_LIB): Likewise.
6427	(HSA_RUNTIME_CPPFLAGS): Likewise.
6428	(HSA_RUNTIME_INCLUDE): New substitution.
6429	(HSA_RUNTIME_LIB): Likewise.
6430	(HSA_RUNTIME_LDFLAGS): Likewise.
6431	(hsa-runtime): New configure option.
6432	(hsa-runtime-include): Likewise.
6433	(hsa-runtime-lib): Likewise.
6434	(PLUGIN_HSA): New substitution variable.
6435	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
6436	configure options.
6437	(PLUGIN_HSA_CPPFLAGS): Likewise.
6438	(PLUGIN_HSA_LDFLAGS): Likewise.
6439	(PLUGIN_HSA_LIBS): Likewise.
6440	Check that we have access to HSA run-time.
6441	* libgomp-plugin.h (offload_target_type): New element
6442	OFFLOAD_TARGET_TYPE_HSA.
6443	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
6444	args.
6445	(bool gomp_create_target_task): Updated.
6446	(gomp_device_descr): Extra parameter of run_func and async_run_func,
6447	new field can_run_func.
6448	* libgomp_g.h (GOMP_target_ext): Update prototype.
6449	* oacc-host.c (host_run): Added a new parameter args.
6450	* target.c (calculate_firstprivate_requirements): New function.
6451	(copy_firstprivate_data): Likewise.
6452	(gomp_target_fallback_firstprivate): Use them.
6453	(gomp_target_unshare_firstprivate): New function.
6454	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
6455	devices.
6456	(GOMP_target): Do host fallback for all shared memory devices.  Do not
6457	pass any args to plugins.
6458	(GOMP_target_ext): Introduce device-specific argument parameter args.
6459	Allow host fallback if device shares memory.  Do not remap data if
6460	device has shared memory.
6461	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
6462	like host fallback for mappings.
6463	(GOMP_target_data): Treat shared memory devices like host fallback.
6464	(GOMP_target_data_ext): Likewise.
6465	(GOMP_target_update): Likewise.
6466	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
6467	gomp_create_target_task.
6468	(GOMP_target_enter_exit_data): Likewise.
6469	(omp_target_alloc): Treat shared memory devices like host fallback.
6470	(omp_target_free): Likewise.
6471	(omp_target_is_present): Likewise.
6472	(omp_target_memcpy): Likewise.
6473	(omp_target_memcpy_rect): Likewise.
6474	(omp_target_associate_ptr): Likewise.
6475	(gomp_load_plugin_for_device): Also load can_run.
6476	* task.c (GOMP_PLUGIN_target_task_completion): Free
6477	firstprivate_copies.
6478	(gomp_create_target_task): Accept new argument args and store it to
6479	ttask.
6480	* plugin/plugin-hsa.c: New file.
6481
64822016-01-18  Tom de Vries  <tom@codesourcery.com>
6483
6484	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
6485	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
6486	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
6487	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
6488	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
6489	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
6490	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
6491	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
6492	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
6493	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
6494	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6495	Same.
6496	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6497	Same.
6498	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
6499	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
6500	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
6501	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
6502	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
6503	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
6504	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
6505	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6506	Same.
6507	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
6508
65092016-01-15  Jakub Jelinek  <jakub@redhat.com>
6510
6511	* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
6512
65132016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
6514
6515	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
6516
65172016-01-12  James Norris  <jnorris@codesourcery.com>
6518
6519	* libgomp.texi: Updates for OpenACC.
6520
65212016-01-11  Alexander Monakov  <amonakov@ispras.ru>
6522
6523	* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
6524
65252016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
6526
6527	PR fortran/66680
6528	* testsuite/libgomp.fortran/pr66680.f90: New test.
6529
65302016-01-07  Jakub Jelinek  <jakub@redhat.com>
6531
6532	PR middle-end/68960
6533	* testsuite/libgomp.c/pr68960.c: New test.
6534
65352016-01-06  Nathan Sidwell  <nathan@acm.org>
6536
6537	* openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
6538	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
6539
65402016-01-04  Jakub Jelinek  <jakub@redhat.com>
6541
6542	Update copyright years.
6543
6544	* libgomp.texi: Bump @copying's copyright year.
6545
65462015-12-31  Nathan Sidwell  <nathan@acm.org>
6547
6548	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
6549	dg-additional-options syntax.
6550	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6551	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6552	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6553	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6554	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6555	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6556	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6557	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6558	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6559	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6560	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6561	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6562	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6563	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6564	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6565	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6566	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6567	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6568
65692015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
6570
6571	* libgomp.h (REFCOUNT_LINK): Define.
6572	(struct splay_tree_key_s): Add link_key.
6573	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
6574	Replace target address of the pointer with target address of newly
6575	mapped object in the splay tree.  Set link pointer on target to the
6576	device address of the mapped object.
6577	(gomp_unmap_vars): Restore target address of the pointer in the splay
6578	tree for REFCOUNT_LINK objects after unmapping.
6579	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
6580	declare target link" objects.
6581	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
6582	"omp declare target link" objects, which were mapped for the image.
6583	(gomp_exit_data): Restore target address of the pointer in the splay
6584	tree for REFCOUNT_LINK objects after unmapping.
6585	* testsuite/libgomp.c/target-link-1.c: New file.
6586
65872015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
6588
6589	* libgomp.h (gomp_device_state): New enum.
6590	(struct gomp_device_descr): Replace is_initialized with state.
6591	(gomp_fini_device): Remove declaration.
6592	* oacc-host.c (host_dispatch): Use state instead of is_initialized.
6593	* oacc-init.c (acc_init_1): Use state instead of is_initialized.
6594	(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
6595	(acc_set_device_type): Use state instead of is_initialized.
6596	(acc_set_device_num): Likewise.
6597	* target.c (resolve_device): Use state instead of is_initialized.
6598	Do not initialize finalized device.
6599	(gomp_map_vars): Do nothing if device is finalized.
6600	(gomp_unmap_vars): Likewise.
6601	(gomp_update): Likewise.
6602	(GOMP_offload_register_ver): Use state instead of is_initialized.
6603	(GOMP_offload_unregister_ver): Likewise.
6604	(gomp_init_device): Likewise.
6605	(gomp_unload_device): Likewise.
6606	(gomp_fini_device): Remove.
6607	(gomp_get_target_fn_addr): Do nothing if device is finalized.
6608	(GOMP_target): Go to host fallback if device is finalized.
6609	(GOMP_target_ext): Likewise.
6610	(gomp_exit_data): Do nothing if device is finalized.
6611	(gomp_target_task_fn): Go to host fallback if device is finalized.
6612	(gomp_target_fini): New static function.
6613	(gomp_target_init): Use state instead of is_initialized.
6614	Call gomp_target_fini at exit.
6615
66162015-12-09  Tom de Vries  <tom@codesourcery.com>
6617
6618	PR tree-optimization/68716
6619	* testsuite/libgomp.c/omp-nested-2.c: New test.
6620
66212015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
6622
6623	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
6624	target openacc_nvidia_accel_selected.
6625	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
6626	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
6627	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
6628	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
6629
66302015-12-01  Julian Brown  <julian@codesourcery.com>
6631	    James Norris  <James_Norris@mentor.com>
6632
6633	* oacc-parallel.c (GOACC_host_data): New function.
6634	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
6635	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
6636	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
6637	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
6638	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
6639	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
6640	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
6641
66422015-11-30  James Norris  <jnorris@codesourcery.com>
6643	    Cesar Philippidis  <cesar@codesourcery.com>
6644
6645	libgomp/
6646	* libgomp.oacc-fortran/routine-5.f90: New test.
6647	* libgomp.oacc-fortran/routine-7.f90: New test.
6648	* libgomp.oacc-fortran/routine-9.f90: New test.
6649
66502015-11-30  Tom de Vries  <tom@codesourcery.com>
6651
6652	PR tree-optimization/46032
6653	* testsuite/libgomp.c/pr46032.c: New test.
6654
66552015-11-27  Jakub Jelinek  <jakub@redhat.com>
6656
6657	PR libgomp/68579
6658	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
6659	(gomp_create_target_task): Call it before freeing
6660	GOMP_TARGET_TASK_DATA tasks.
6661
6662	PR c/63326
6663	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
6664	in between case label and OpenMP standalone directives.
6665	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
6666
66672015-11-26  David Edelsohn  <dje.gcc@gmail.com>
6668
6669	* configure: Regenerate.
6670
66712015-11-26  Jakub Jelinek  <jakub@redhat.com>
6672
6673	* testsuite/libgomp.c/target-35.c: New test.
6674
66752015-11-22  James Norris  <jnorris@codesourcery.com>
6676	    Cesar Philippidis  <cesar@codesourcery.com>
6677
6678	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
6679	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6680	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
6681	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
6682	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
6683
66842015-11-20  Jakub Jelinek  <jakub@redhat.com>
6685
6686	PR middle-end/68221
6687	* testsuite/libgomp.c/reduction-11.c: Remove xfail.
6688	* testsuite/libgomp.c/reduction-12.c: Likewise.
6689	* testsuite/libgomp.c++/reduction-11.C: Likewise.
6690	* testsuite/libgomp.c++/reduction-12.C: Likewise.
6691
66922015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
6693
6694	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
6695	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
6696	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
6697	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
6698	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
6699	and fix.
6700	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6701	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6702
67032015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
6704
6705	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
6706	worker & gang cases.
6707	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6708
67092015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
6710
6711	* config/nvptx/priority_queue.c: New file.
6712
67132015-11-14  Jakub Jelinek  <jakub@redhat.com>
6714
6715	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
6716	sections.
6717
67182015-11-14  Jakub Jelinek  <jakub@redhat.com>
6719	    Aldy Hernandez  <aldyh@redhat.com>
6720	    Ilya Verbin  <ilya.verbin@intel.com>
6721
6722	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
6723	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
6724	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
6725	iterators or IV by chunk size.
6726	* parallel.c (gomp_resolve_num_threads): Don't assume that
6727	if thr->ts.team is non-NULL, then pool must be non-NULL.
6728	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
6729	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
6730	GOMP_PLUGIN_target_task_completion.
6731	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
6732	* Makefile.in: Regenerate.
6733	* libgomp.h: Shuffle prototypes and forward definitions around so
6734	priority queues can be defined.
6735	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
6736	(enum gomp_target_task_state): New enum.
6737	(struct gomp_target_task): Add state, tgt, task and team fields.
6738	(gomp_create_target_task): Change return type to bool, add
6739	state argument.
6740	(gomp_target_task_fn): Change return type to bool.
6741	(struct gomp_device_descr): Add async_run_func.
6742	(struct gomp_task): Remove children, next_child, prev_child,
6743	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
6744	Add pnode field.
6745	(struct gomp_taskgroup): Remove children.
6746	Add taskgroup_queue.
6747	(struct gomp_team): Change task_queue type to a priority queue.
6748	(splay_compare): Define inline.
6749	(priority_queue_offset): New.
6750	(priority_node_to_task): New.
6751	(task_to_priority_node): New.
6752	* oacc-mem.c: Do not include splay-tree.h.
6753	* priority_queue.c: New file.
6754	* priority_queue.h: New file.
6755	* splay-tree.c: Do not include splay-tree.h.
6756	(splay_tree_foreach_internal): New.
6757	(splay_tree_foreach): New.
6758	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
6759	(splay_tree_callback): Define typedef.
6760	* target.c (splay_compare): Move to libgomp.h.
6761	(GOMP_target): Don't adjust *thr in any way around running offloaded
6762	task.
6763	(GOMP_target_ext): Likewise.  Handle target nowait.
6764	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
6765	return value from gomp_create_target_task, if false, fallthrough
6766	as if no dependencies exist.
6767	(gomp_target_task_fn): Change return type to bool, return true
6768	if the task should have another part scheduled later.  Handle
6769	target nowait.
6770	(gomp_load_plugin_for_device): Initialize async_run.
6771	* task.c (gomp_init_task): Initialize children_queue.
6772	(gomp_clear_parent_in_list): New.
6773	(gomp_clear_parent_in_tree): New.
6774	(gomp_clear_parent): Handle priorities.
6775	(GOMP_task): Likewise.
6776	(priority_queue_move_task_first,
6777	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
6778	New functions.
6779	(gomp_create_target_task): Use priority queues.  Change return type
6780	to bool, add state argument, return false if for async
6781	{{enter,exit} data,update} constructs no dependencies need to be
6782	waited for, handle target nowait.  Set task->fn to NULL instead of
6783	gomp_target_task_fn.
6784	(verify_children_queue): Remove.
6785	(priority_list_upgrade_task): New.
6786	(priority_queue_upgrade_task): New.
6787	(verify_task_queue): Remove.
6788	(priority_list_downgrade_task): New.
6789	(priority_queue_downgrade_task): New.
6790	(gomp_task_run_pre): Use priority queues.
6791	Abstract code out to priority_queue_downgrade_task.
6792	(gomp_task_run_post_handle_dependers): Use priority queues.
6793	(gomp_task_run_post_remove_parent): Likewise.
6794	(gomp_task_run_post_remove_taskgroup): Likewise.
6795	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
6796	tasks specially.
6797	(GOMP_taskwait): Likewise.
6798	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
6799	priority-queue_upgrade_task.
6800	(GOMP_taskgroup_start): Use priority queues.
6801	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
6802	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
6803	barrier.
6804	* taskloop.c (GOMP_taskloop): Handle priorities.
6805	* team.c (gomp_new_team): Call priority_queue_init.
6806	(free_team): Call priority_queue_free.
6807	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
6808	team created for target nowait in implicit parallel region.
6809	(gomp_team_start): For nested check, test thr->ts.level instead of
6810	thr->ts.team != NULL.
6811	* testsuite/libgomp.c/doacross-3.c: New test.
6812	* testsuite/libgomp.c/ordered-5.c: New test.
6813	* testsuite/libgomp.c/priority.c: New test.
6814	* testsuite/libgomp.c/target-31.c: New test.
6815	* testsuite/libgomp.c/target-32.c: New test.
6816	* testsuite/libgomp.c/target-33.c: New test.
6817	* testsuite/libgomp.c/target-34.c: New test.
6818
68192015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
6820
6821	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
6822
6823	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
6824	loop is sequential.
6825
68262015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
6827
6828	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
6829	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
6830
68312015-11-12  James Norris  <jnorris@codesourcery.com>
6832	    Joseph Myers  <joseph@codesourcery.com>
6833
6834	* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
6835	* oacc-parallel.c (GOACC_declare): New function.
6836	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
6837	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
6838	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
6839	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
6840	* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
6841
68422015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
6843
6844	* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
6845
68462015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
6847
6848	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
6849	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
6850
68512015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
6852
6853	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
6854	inadvertent commit.
6855
68562015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
6857
6858	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
6859	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
6860	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
6861	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
6862	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
6863
68642015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
6865
6866	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
6867	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6868
68692015-11-05  Jakub Jelinek  <jakub@redhat.com>
6870	    Ilya Verbin  <ilya.verbin@intel.com>
6871
6872	* libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
6873	GOMP_loop_nonmonotonic_dynamic_start,
6874	GOMP_loop_nonmonotonic_guided_next,
6875	GOMP_loop_nonmonotonic_guided_start,
6876	GOMP_loop_ull_nonmonotonic_dynamic_next,
6877	GOMP_loop_ull_nonmonotonic_dynamic_start,
6878	GOMP_loop_ull_nonmonotonic_guided_next,
6879	GOMP_loop_ull_nonmonotonic_guided_start,
6880	GOMP_parallel_loop_nonmonotonic_dynamic,
6881	GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
6882	(GOMP_target_41): Renamed to ...
6883	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
6884	arguments.
6885	(GOMP_target_data_41): Renamed to ...
6886	(GOMP_target_data_ext): ... this.
6887	(GOMP_target_update_41): Renamed to ...
6888	(GOMP_target_update_ext): ... this.
6889	* libgomp.map (GOMP_4.5): Export GOMP_target_ext,
6890	GOMP_target_data_ext and GOMP_target_update_ext instead of
6891	GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
6892	Export GOMP_loop_nonmonotonic_dynamic_next,
6893	GOMP_loop_nonmonotonic_dynamic_start,
6894	GOMP_loop_nonmonotonic_guided_next,
6895	GOMP_loop_nonmonotonic_guided_start,
6896	GOMP_loop_ull_nonmonotonic_dynamic_next,
6897	GOMP_loop_ull_nonmonotonic_dynamic_start,
6898	GOMP_loop_ull_nonmonotonic_guided_next,
6899	GOMP_loop_ull_nonmonotonic_guided_start,
6900	GOMP_parallel_loop_nonmonotonic_dynamic and
6901	GOMP_parallel_loop_nonmonotonic_guided.
6902	* loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
6903	GOMP_parallel_loop_nonmonotonic_guided,
6904	GOMP_loop_nonmonotonic_dynamic_start,
6905	GOMP_loop_nonmonotonic_guided_start,
6906	GOMP_loop_nonmonotonic_dynamic_next,
6907	GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
6908	* loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
6909	GOMP_loop_ull_nonmonotonic_guided_start,
6910	GOMP_loop_ull_nonmonotonic_dynamic_next,
6911	GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
6912	* target.c (gomp_map_0len_lookup, gomp_map_val): New inline
6913	functions.
6914	(gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
6915	GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
6916	Use gomp_map_val function.
6917	(gomp_target_fallback_firstprivate): New static function.
6918	(GOMP_target_41): Renamed to ...
6919	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
6920	arguments.  Move firstprivate fallback handling into a new
6921	function.
6922	(GOMP_target_data_41): Renamed to ...
6923	(GOMP_target_data_ext): ... this.
6924	(GOMP_target_update_41): Renamed to ...
6925	(GOMP_target_update_ext): ... this.
6926	(gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
6927	gomp_map_0len_lookup instead of gomp_map_lookup.
6928	(omp_target_is_present): Use gomp_map_0len_lookup instead of
6929	gomp_map_lookup.
6930	* testsuite/libgomp.c/target-28.c: Likewise.
6931	* testsuite/libgomp.c/monotonic-1.c: New test.
6932	* testsuite/libgomp.c/monotonic-2.c: New test.
6933	* testsuite/libgomp.c/nonmonotonic-1.c: New test.
6934	* testsuite/libgomp.c/nonmonotonic-2.c: New test.
6935	* testsuite/libgomp.c/pr66199-5.c: New test.
6936	* testsuite/libgomp.c/pr66199-6.c: New test.
6937	* testsuite/libgomp.c/pr66199-7.c: New test.
6938	* testsuite/libgomp.c/pr66199-8.c: New test.
6939	* testsuite/libgomp.c/pr66199-9.c: New test.
6940	* testsuite/libgomp.c/reduction-11.c: New test.
6941	* testsuite/libgomp.c/reduction-12.c: New test.
6942	* testsuite/libgomp.c/reduction-13.c: New test.
6943	* testsuite/libgomp.c/reduction-14.c: New test.
6944	* testsuite/libgomp.c/reduction-15.c: New test.
6945	* testsuite/libgomp.c/target-12.c (main): Adjust for
6946	omp_target_is_present change for one-past-last element.
6947	* testsuite/libgomp.c/target-17.c (foo): Drop tests where
6948	the same var is both mapped and privatized.
6949	* testsuite/libgomp.c/target-19.c (foo): Adjust for different
6950	handling of zero-length array sections.
6951	* testsuite/libgomp.c/target-28.c: New test.
6952	* testsuite/libgomp.c/target-29.c: New test.
6953	* testsuite/libgomp.c/target-30.c: New test.
6954	* testsuite/libgomp.c/target-teams-1.c: New test.
6955	* testsuite/libgomp.c++/member-6.C: New test.
6956	* testsuite/libgomp.c++/member-7.C: New test.
6957	* testsuite/libgomp.c++/monotonic-1.C: New test.
6958	* testsuite/libgomp.c++/monotonic-2.C: New test.
6959	* testsuite/libgomp.c++/nonmonotonic-1.C: New test.
6960	* testsuite/libgomp.c++/nonmonotonic-2.C: New test.
6961	* testsuite/libgomp.c++/pr66199-3.C: New test.
6962	* testsuite/libgomp.c++/pr66199-4.C: New test.
6963	* testsuite/libgomp.c++/pr66199-5.C: New test.
6964	* testsuite/libgomp.c++/pr66199-6.C: New test.
6965	* testsuite/libgomp.c++/pr66199-7.C: New test.
6966	* testsuite/libgomp.c++/pr66199-8.C: New test.
6967	* testsuite/libgomp.c++/pr66199-9.C: New test.
6968	* testsuite/libgomp.c++/reduction-11.C: New test.
6969	* testsuite/libgomp.c++/reduction-12.C: New test.
6970	* testsuite/libgomp.c++/target-13.C: New test.
6971	* testsuite/libgomp.c++/target-14.C: New test.
6972	* testsuite/libgomp.c++/target-15.C: New test.
6973	* testsuite/libgomp.c++/target-16.C: New test.
6974	* testsuite/libgomp.c++/target-17.C: New test.
6975	* testsuite/libgomp.c++/target-18.C: New test.
6976	* testsuite/libgomp.c++/target-19.C: New test.
6977
69782015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
6979
6980	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
6981	and reduction copy.
6982	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6983	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6984	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6985	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6986	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6987	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6988	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6989	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6990	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6991	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6992	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6993	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6994	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6995	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6996
69972015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
6998
6999	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7000	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7001	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7002	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7003	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7004	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7005	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7006	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7007
70082015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
7009
7010	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7011	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7012	(GOMP_OFFLOAD_openacc_parallel): Likewise.
7013	* oacc-host.c (host_openacc_exec): Likewise.
7014	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7015
70162015-11-03  Julian Brown  <julian@codesourcery.com>
7017	    Thomas Schwinge  <thomas@codesourcery.com>
7018
7019	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7020	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7021	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7022	Likewise.
7023	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7024	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7025
70262015-11-03  James Norris  <jnorris@codesourcery.com>
7027
7028	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7029	file.
7030	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7031	Likewise.
7032	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7033	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7034	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7035	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7036	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7037
70382015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
7039
7040	* openacc.h (enum acc_device_t): Reformat. Ensure layout
7041	compatibility.
7042	(enum acc_async_t): Reformat.
7043	(acc_on_device): Declare compatible with builtin and provide C++
7044	wrapper.
7045	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7046
70472015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
7048	    Cesar Philippidis  <cesar@codesourcery.com>
7049
7050	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7051	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7052	... this.  Add a description of the test at the top of the file.
7053	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7054	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7055	... this.  Add a description of the test at the top of the file.
7056
70572015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
7058
7059	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7060	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7061	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7062	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7063	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7064	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7065
70662015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
7067
7068	* plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7069	dimensions.
7070
70712015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
7072
7073	PR testsuite/68063
7074	* testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7075
70762015-10-27  James Norris  <jnorris@codesourcery.com>
7077
7078	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7079	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7080
70812015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
7082
7083	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7084	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7085
7086	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7087	acc_device_nvidia usage.
7088	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7089	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7090	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7091
7092	* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7093	* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7094
7095	PR libgomp/66518
7096	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7097
7098	PR libgomp/65437
7099	PR libgomp/66518
7100	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7101	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7102
71032015-10-23  Tom de Vries  <tom@codesourcery.com>
7104
7105	PR testsuite/68063
7106	* testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7107
71082015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
7109
7110	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7111	vector_length.
7112	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7113
71142015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
7115	    Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
7116
7117	* target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7118	to 0 when mapnum is 0.
7119
71202015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7121
7122	* fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7123	Cast to int from int32_t.
7124
71252015-10-13  Jakub Jelinek  <jakub@redhat.com>
7126	    Aldy Hernandez  <aldyh@redhat.com>
7127	    Ilya Verbin  <ilya.verbin@intel.com>
7128
7129	* config/linux/affinity.c (omp_get_place_num_procs,
7130	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7131	* config/linux/doacross.h: New file.
7132	* config/posix/affinity.c (omp_get_place_num_procs,
7133	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7134	* config/posix/doacross.h: New file.
7135	* env.c: Include gomp-constants.h.
7136	(struct gomp_task_icv): Rename run_sched_modifier to
7137	run_sched_chunk_size.
7138	(gomp_max_task_priority_var): New variable.
7139	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7140	(handle_omp_display_env): Change _OPENMP value from 201307 to
7141	201511.  Print OMP_MAX_TASK_PRIORITY.
7142	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7143	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
7144	chunk_size and run_sched_modifier to run_sched_chunk_size.
7145	(omp_get_max_task_priority, omp_get_initial_device,
7146	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7147	omp_get_partition_place_nums): New functions.
7148	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7149	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7150	to chunk_size.
7151	(omp_get_num_places_, omp_get_place_num_procs_,
7152	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7153	omp_get_place_proc_ids_8_, omp_get_place_num_,
7154	omp_get_partition_num_places_, omp_get_partition_place_nums_,
7155	omp_get_partition_place_nums_8_, omp_get_initial_device_,
7156	omp_get_max_task_priority_): New functions.
7157	* libgomp_g.h (GOMP_loop_doacross_static_start,
7158	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7159	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7160	GOMP_loop_ull_doacross_dynamic_start,
7161	GOMP_loop_ull_doacross_guided_start,
7162	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7163	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7164	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7165	GOMP_target_data_41, GOMP_target_update_41,
7166	GOMP_target_enter_exit_data): New prototypes.
7167	(GOMP_task): Add prototype argument.
7168	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7169	(struct gomp_doacross_work_share): New type.
7170	(struct gomp_work_share): Add doacross field.
7171	(struct gomp_task_icv): Rename run_sched_modifier to
7172	run_sched_chunk_size.
7173	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7174	GOMP_TASK_UNDEFERRED.  Add comments.
7175	(struct gomp_task_depend_entry): Add comments.
7176	(struct gomp_task): Likewise.
7177	(struct gomp_taskgroup): Likewise.
7178	(struct gomp_target_task): New type.
7179	(struct gomp_team): Add comment.
7180	(gomp_get_place_proc_ids_8, gomp_doacross_init,
7181	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7182	gomp_create_target_task, gomp_target_task_fn): New prototypes.
7183	(struct target_var_desc): New type.
7184	(struct target_mem_desc): Adjust comment.  Use struct
7185	target_var_desc instead of splay_tree_key for list.
7186	(REFCOUNT_INFINITY): Define.
7187	(struct splay_tree_key_s): Remove copy_from field.
7188	(struct gomp_device_descr): Add dev2dev_func field.
7189	(enum gomp_map_vars_kind): New enum.
7190	(gomp_map_vars): Add one argument.
7191	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7192	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7193	omp_get_place_num_procs, omp_get_place_num_procs_,
7194	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7195	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7196	omp_get_place_num_, omp_get_partition_num_places,
7197	omp_get_partition_num_places_, omp_get_partition_place_nums,
7198	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7199	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7200	omp_target_free, omp_target_is_present, omp_target_memcpy,
7201	omp_target_memcpy_rect, omp_target_associate_ptr and
7202	omp_target_disassociate_ptr.
7203	(GOMP_4.0.2): Renamed to ...
7204	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
7205	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7206	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7207	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7208	GOMP_loop_doacross_static_start, GOMP_doacross_post,
7209	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7210	GOMP_loop_ull_doacross_guided_start,
7211	GOMP_loop_ull_doacross_runtime_start,
7212	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7213	GOMP_doacross_ull_wait.
7214	* libgomp.texi: Document omp_get_max_task_priority.
7215	Rename modifier argument to chunk_size for omp_set_schedule and
7216	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
7217	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7218	to run_sched_chunk_size renaming.
7219	(GOMP_loop_ordered_runtime_start): Likewise.
7220	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7221	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7222	GOMP_parallel_loop_runtime_start): New functions.
7223	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7224	to run_sched_chunk_size renaming.
7225	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7226	GOMP_loop_doacross_guided_start): New functions or aliases.
7227	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7228	run_sched_modifier to run_sched_chunk_size renaming.
7229	(GOMP_loop_ull_ordered_runtime_start): Likewise.
7230	(gomp_loop_ull_doacross_static_start,
7231	gomp_loop_ull_doacross_dynamic_start,
7232	gomp_loop_ull_doacross_guided_start,
7233	GOMP_loop_ull_doacross_runtime_start): New functions.
7234	(GOMP_loop_ull_doacross_static_start,
7235	GOMP_loop_ull_doacross_dynamic_start,
7236	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7237	* oacc-mem.c (acc_map_data, present_create_copy,
7238	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7239	to gomp_map_vars.
7240	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7241	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7242	instead of false to gomp_map_vars.
7243	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
7244	* omp.h.in (omp_lock_hint_t): New type.
7245	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7246	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7247	omp_get_place_num, omp_get_partition_num_places,
7248	omp_get_partition_place_nums, omp_get_initial_device,
7249	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7250	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7251	omp_target_associate_ptr, omp_target_disassociate_ptr): New
7252	prototypes.
7253	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7254	(omp_lock_hint_none, omp_lock_hint_uncontended,
7255	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7256	omp_lock_hint_speculative): New parameters.
7257	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7258	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7259	omp_get_place_num, omp_get_partition_num_places,
7260	omp_get_partition_place_nums, omp_get_initial_device,
7261	omp_get_max_task_priority): New interfaces.
7262	(omp_set_schedule, omp_get_schedule): Rename modifier argument
7263	to chunk_size.
7264	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
7265	(omp_lock_hint_none, omp_lock_hint_uncontended,
7266	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7267	omp_lock_hint_speculative): New parameters.
7268	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7269	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7270	omp_get_place_num, omp_get_partition_num_places,
7271	omp_get_partition_place_nums, omp_get_initial_device,
7272	omp_get_max_task_priority): New functions and subroutines.
7273	* ordered.c: Include stdarg.h and string.h.
7274	(MAX_COLLAPSED_BITS): Define.
7275	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7276	gomp_doacross_ull_init, GOMP_doacross_ull_post,
7277	GOMP_doacross_ull_wait): New functions.
7278	* target.c: Include errno.h.
7279	(resolve_device): If device is not initialized, call
7280	gomp_init_device on it.
7281	(gomp_map_lookup): New function.
7282	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
7283	Don't bump refcount if REFCOUNT_INFINITY.  Handle
7284	GOMP_MAP_ALWAYS_TO_P.
7285	(get_kind): Rename is_openacc argument to short_mapkind.
7286	(gomp_map_pointer): Use gomp_map_lookup.
7287	(gomp_map_fields_existing): New function.
7288	(gomp_map_vars): Rename is_openacc argument to short_mapkind
7289	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
7290	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7291	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7292	Adjust for tgt->list changed type and copy_from living in there.
7293	(gomp_copy_from_async): Adjust for tgt->list changed type and
7294	copy_from living in there.
7295	(gomp_unmap_vars): Likewise.
7296	(gomp_update): Likewise.  Rename is_openacc argument to
7297	short_mapkind.  Don't fail if object is not mapped.
7298	(gomp_load_image_to_device): Initialize refcount to
7299	REFCOUNT_INFINITY.
7300	(gomp_target_fallback): New function.
7301	(gomp_get_target_fn_addr): Likewise.
7302	(GOMP_target): Adjust gomp_map_vars caller, use
7303	gomp_get_target_fn_addr and gomp_target_fallback.
7304	(GOMP_target_41): New function.
7305	(gomp_target_data_fallback): New function.
7306	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
7307	(GOMP_target_data_41): New function.
7308	(GOMP_target_update): Adjust gomp_update caller.
7309	(GOMP_target_update_41): New function.
7310	(gomp_exit_data, GOMP_target_enter_exit_data,
7311	gomp_target_task_fn, omp_target_alloc, omp_target_free,
7312	omp_target_is_present, omp_target_memcpy,
7313	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7314	omp_target_associate_ptr, omp_target_disassociate_ptr,
7315	gomp_load_plugin_for_device): New functions.
7316	* task.c: Include gomp-constants.h.  Include taskloop.c
7317	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7318	(gomp_task_handle_depend): New function.
7319	(GOMP_task): Use it.  Add priority argument.  Use
7320	gomp-constant.h constants instead of hardcoded numbers.
7321	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7322	(gomp_create_target_task): New function.
7323	(verify_children_queue, verify_taskgroup_queue,
7324	verify_task_queue): New functions.
7325	(gomp_task_run_pre): Call verify_*_queue functions.
7326	If an upcoming tied task is about to leave the sibling or
7327	taskgroup queues in an invalid state, adjust appropriately.
7328	Remove taskgroup argument.  Add comments.
7329	(gomp_task_run_post_handle_dependers): Add comments.
7330	(gomp_task_run_post_remove_parent): Likewise.
7331	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7332	(GOMP_taskwait): Likewise.  Add comments.
7333	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
7334	problem such that the first non parent_depends_on task does not
7335	end up at the end of the children queue.
7336	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7337	GOMP_TASK_UNDEFERRED.
7338	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7339	* taskloop.c: New file.
7340	* testsuite/lib/libgomp.exp
7341	(check_effective_target_offload_device_nonshared_as): New proc.
7342	* testsuite/libgomp.c/affinity-2.c: New test.
7343	* testsuite/libgomp.c/doacross-1.c: New test.
7344	* testsuite/libgomp.c/doacross-2.c: New test.
7345	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7346	Add map clause to target.
7347	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7348	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7349	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
7350	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
7351	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
7352	Likewise.
7353	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
7354	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
7355	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
7356	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
7357	not defined.  Use those where needed.
7358	* testsuite/libgomp.c/for-4.c: New test.
7359	* testsuite/libgomp.c/for-5.c: New test.
7360	* testsuite/libgomp.c/for-6.c: New test.
7361	* testsuite/libgomp.c/linear-1.c: New test.
7362	* testsuite/libgomp.c/ordered-4.c: New test.
7363	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
7364	only allowed on the loop iterator.
7365	* testsuite/libgomp.c/pr66199-3.c: New test.
7366	* testsuite/libgomp.c/pr66199-4.c: New test.
7367	* testsuite/libgomp.c/reduction-7.c: New test.
7368	* testsuite/libgomp.c/reduction-8.c: New test.
7369	* testsuite/libgomp.c/reduction-9.c: New test.
7370	* testsuite/libgomp.c/reduction-10.c: New test.
7371	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
7372	map(tofrom:s).
7373	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
7374	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
7375	* testsuite/libgomp.c/target-11.c: New test.
7376	* testsuite/libgomp.c/target-12.c: New test.
7377	* testsuite/libgomp.c/target-13.c: New test.
7378	* testsuite/libgomp.c/target-14.c: New test.
7379	* testsuite/libgomp.c/target-15.c: New test.
7380	* testsuite/libgomp.c/target-16.c: New test.
7381	* testsuite/libgomp.c/target-17.c: New test.
7382	* testsuite/libgomp.c/target-18.c: New test.
7383	* testsuite/libgomp.c/target-19.c: New test.
7384	* testsuite/libgomp.c/target-20.c: New test.
7385	* testsuite/libgomp.c/target-21.c: New test.
7386	* testsuite/libgomp.c/target-22.c: New test.
7387	* testsuite/libgomp.c/target-23.c: New test.
7388	* testsuite/libgomp.c/target-24.c: New test.
7389	* testsuite/libgomp.c/target-25.c: New test.
7390	* testsuite/libgomp.c/target-26.c: New test.
7391	* testsuite/libgomp.c/target-27.c: New test.
7392	* testsuite/libgomp.c/taskloop-1.c: New test.
7393	* testsuite/libgomp.c/taskloop-2.c: New test.
7394	* testsuite/libgomp.c/taskloop-3.c: New test.
7395	* testsuite/libgomp.c/taskloop-4.c: New test.
7396	* testsuite/libgomp.c++/ctor-13.C: New test.
7397	* testsuite/libgomp.c++/doacross-1.C: New test.
7398	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
7399	Replace offload_device with offload_device_nonshared_as.
7400	* testsuite/libgomp.c++/for-12.C: New test.
7401	* testsuite/libgomp.c++/for-13.C: New test.
7402	* testsuite/libgomp.c++/for-14.C: New test.
7403	* testsuite/libgomp.c++/linear-1.C: New test.
7404	* testsuite/libgomp.c++/member-1.C: New test.
7405	* testsuite/libgomp.c++/member-2.C: New test.
7406	* testsuite/libgomp.c++/member-3.C: New test.
7407	* testsuite/libgomp.c++/member-4.C: New test.
7408	* testsuite/libgomp.c++/member-5.C: New test.
7409	* testsuite/libgomp.c++/ordered-1.C: New test.
7410	* testsuite/libgomp.c++/reduction-5.C: New test.
7411	* testsuite/libgomp.c++/reduction-6.C: New test.
7412	* testsuite/libgomp.c++/reduction-7.C: New test.
7413	* testsuite/libgomp.c++/reduction-8.C: New test.
7414	* testsuite/libgomp.c++/reduction-9.C: New test.
7415	* testsuite/libgomp.c++/reduction-10.C: New test.
7416	* testsuite/libgomp.c++/reference-1.C: New test.
7417	* testsuite/libgomp.c++/simd14.C: New test.
7418	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
7419	* testsuite/libgomp.c++/target-5.C: New test.
7420	* testsuite/libgomp.c++/target-6.C: New test.
7421	* testsuite/libgomp.c++/target-7.C: New test.
7422	* testsuite/libgomp.c++/target-8.C: New test.
7423	* testsuite/libgomp.c++/target-9.C: New test.
7424	* testsuite/libgomp.c++/target-10.C: New test.
7425	* testsuite/libgomp.c++/target-11.C: New test.
7426	* testsuite/libgomp.c++/target-12.C: New test.
7427	* testsuite/libgomp.c++/taskloop-1.C: New test.
7428	* testsuite/libgomp.c++/taskloop-2.C: New test.
7429	* testsuite/libgomp.c++/taskloop-3.C: New test.
7430	* testsuite/libgomp.c++/taskloop-4.C: New test.
7431	* testsuite/libgomp.c++/taskloop-5.C: New test.
7432	* testsuite/libgomp.c++/taskloop-6.C: New test.
7433	* testsuite/libgomp.c++/taskloop-7.C: New test.
7434	* testsuite/libgomp.c++/taskloop-8.C: New test.
7435	* testsuite/libgomp.c++/taskloop-9.C: New test.
7436	* testsuite/libgomp.fortran/affinity1.f90: New test.
7437	* testsuite/libgomp.fortran/affinity2.f90: New test.
7438
74392015-10-13  Tom de Vries  <tom@codesourcery.com>
7440
7441	PR tree-optimization/67476
7442	* testsuite/libgomp.c/autopar-3.c: New test.
7443	* testsuite/libgomp.c/autopar-4.c: New test.
7444	* testsuite/libgomp.c/autopar-5.c: New test.
7445	* testsuite/libgomp.c/autopar-6.c: New test.
7446	* testsuite/libgomp.c/autopar-7.c: New test.
7447	* testsuite/libgomp.c/autopar-8.c: New test.
7448
74492015-10-12  James Norris  <jnorris@codesourcery.com>
7450
7451	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
7452	initializer.
7453
74542015-10-09  David Malcolm  <dmalcolm@redhat.com>
7455
7456	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
7457	using load_gcc_lib.
7458
74592015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
7460
7461	* oacc-ptx.h: Remove file, moving its content into...
7462	* config/nvptx/fortran.c: ... here...
7463	* config/nvptx/oacc-init.c: ..., here...
7464	* config/nvptx/oacc-parallel.c: ..., and here.
7465	* config/nvptx/openacc.f90: New file.
7466	* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
7467	(link_ptx): Don't link in predefined bits of PTX code.
7468
74692015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
7470	    Bernd Schmidt <bernds@codesourcery.com>
7471
7472	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
7473	(struct targ_ptx_obj): New.
7474	(nvptx_tdata): Move earlier, change data format.
7475	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
7476	objects.
7477	(GOMP_OFFLOAD_load_image): Adjust.
7478
74792015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
7480
7481	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
7482	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7483	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7484	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7485	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7486	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7487	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7488	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7489	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7490	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7491	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7492	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7493	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7494	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7495	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7496	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7497	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7498	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7499	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7500	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7501	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7502	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7503	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7504	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7505	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7506	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7507	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7508	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7509	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7510	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7511	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7512	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7513	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7514	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7515	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7516	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7517	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7518	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7519	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7520	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7521	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7522	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7523	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7524	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7525	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7526	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7527	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7528	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7529	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7530	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7531	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7532	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7533	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7534	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7535	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7536	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7537	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7538	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7539	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7540	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7541	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7542	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7543	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7544
75452015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
7546
7547	* oacc-init.c (acc_on_device): Force optimization level.
7548
75492015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
7550
7551	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
7552	(cuda_errlist): Delete.
7553	(cuda_error): Reimplement.
7554
75552015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
7556
7557	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
7558	array.
7559	* libgomp.map (GOACC_parallel_keyed): New.
7560	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
7561	all callers.
7562	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
7563	and take keyed varargs list.  Adjust call to exec_func.
7564	(GOACC_parallel): Force host fallback.
7565	* libgomp_g.h (GOACC_parallel): Remove.
7566	(GOACC_parallel_keyed): Declare.
7567	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
7568	(struct targ_gn_descriptor): Replace name field with launch field.
7569	(nvptx_exec): Lose separate geometry args, take array.  Process
7570	dynamic dimensions and adjust.
7571	(struct nvptx_tdata): Replace fn_names field with fn_descs.
7572	(GOMP_OFFLOAD_load_image): Adjust for change in function table
7573	data.
7574	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
7575	passing.
7576	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
7577	passing.
7578
75792015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
7580
7581	PR libgomp/67141
7582	* oacc-int.h (goacc_host_init): Add declaration.
7583	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
7584	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
7585
75862015-09-08  Aditya Kumar  <hiraditya@msn.com>
7587	    Sebastian Pop  <s.pop@samsung.com>
7588
7589	* testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
7590	match o/p.
7591	* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
7592	* testsuite/libgomp.graphite/force-parallel-4.c: Same.
7593	* testsuite/libgomp.graphite/force-parallel-5.c: Same.
7594	* testsuite/libgomp.graphite/force-parallel-7.c: Same.
7595	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
7596
75972015-09-03  Jakub Jelinek  <jakub@redhat.com>
7598
7599	* configure.tgt: Add missing ;; in between nvptx and rtems
7600	snippets.
7601
76022015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7603
7604	* config/posix/pool.h (gomp_adjust_thread_attr): New.
7605	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
7606	(gomp_thread_pool_reservoir): Add priority member.
7607	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
7608	priority.
7609	(parse_thread_pools): Likewise.
7610	* team.c (gomp_team_start): Call configuration provided
7611	gomp_adjust_thread_attr(). Destroy thread attributes if
7612	necessary.
7613	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
7614
76152015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7616
7617	* config/posix/pool.h: New.
7618	* config/rtems/pool.h: Likewise.
7619	* config/rtems/proc.c: Likewise.
7620	* libgomp.h (gomp_thread_destructor): Declare.
7621	* team.c: Include configuration provided "pool.h".
7622	(gomp_get_thread_pool): Define in configuration.
7623	(gomp_team_end): Call configuration defined
7624	gomp_release_thread_pool().
7625
76262015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7627
7628	* config/rtems/bar.c: New.
7629	* config/rtems/bar.h: Likewise.
7630	* config/rtems/mutex.c: Likewise.
7631	* config/rtems/mutex.h: Likewise.
7632	* config/rtems/sem.c: Likewise.
7633	* config/rtems/sem.h: Likewise.
7634	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
7635	<sys/lock.h> header file.
7636	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
7637	supported by Newlib.
7638	* configure: Regenerate.
7639
76402015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7641
7642	* team.c (gomp_new_thread_pool): Delete and move content to ...
7643	(gomp_get_thread_pool): ... new function.  Allocate and
7644	initialize thread pool on demand.
7645	(get_last_team): Use gomp_get_thread_pool().
7646	(gomp_team_start): Delete thread pool initialization.
7647
76482015-09-03  Tom de Vries  <tom@codesourcery.com>
7649
7650	PR tree-optimization/65637
7651	* testsuite/libgomp.c/autopar-2.c: New test.
7652
76532015-08-29  Tom de Vries  <tom@codesourcery.com>
7654
7655	PR tree-optimization/46193
7656	* testsuite/libgomp.c/pr46193.c: New test.
7657
76582015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
7659
7660	libgomp/
7661	* libgomp.map: Add 4.0.2 version.
7662	* target.c (offload_image_descr): Add version field.
7663	(gomp_load_image_to_device): Add version argument.  Adjust plugin
7664	call.  Improve load mismatch diagnostic.
7665	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
7666	call.
7667	(GOMP_offload_regster): Make stub function, move bulk to ...
7668	(GOMP_offload_register_ver): ... here.  Process version argument.
7669	(GOMP_offload_unregister): Make stub function, move bulk to ...
7670	(GOMP_offload_unregister_ver): ... here.  Process version argument.
7671	(gomp_init_device): Process version field.
7672	(gomp_unload_device): Process version field.
7673	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
7674	macros.  Check plugin version.
7675	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
7676	loader and unloader types.
7677	* oacc-host.c: Include gomp-constants.h.
7678	(host_version): New.
7679	(host_load_image, host_unload_image): Adjust.
7680	(host_dispatch): Add host_version.
7681	* plugin/plugin-nvptx.c: Include gomp-constants.h.
7682	(GOMP_OFFLOAD_version): New.
7683	(GOMP_OFFLOAD_load_image): Add version arg and check it.
7684	(GOMP_OFFLOAD_unload_image): Likewise.
7685	* plugin/plugin-host.c: Include gomp-constants.h.
7686	(GOMP_OFFLOAD_version): New.
7687	(GOMP_OFFLOAD_load_image): Add version arg.
7688	(GOMP_OFFLOAD_unload_image): Likewise.
7689
76902015-08-24  Tom de Vries  <tom@codesourcery.com>
7691
7692	PR tree-optimization/65468
7693	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
7694
76952015-08-24  Tom de Vries  <tom@codesourcery.com>
7696
7697	PR tree-optimization/65468
7698	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
7699
77002015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
7701
7702	PR libgomp/66761
7703	PR libgomp/67303
7704	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
7705	(gomp_iter_guided_next): Idem.
7706	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
7707	(gomp_iter_ull_guided_next): Idem.
7708	* config/linux/wait.h (do_spin): Idem.
7709
77102015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
7711
7712	* libgomp-plugin.h (enum offload_target_type): Remove
7713	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
7714	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
7715	* openacc.h (enum acc_device_t): Likewise.
7716	* openacc_lib.h: Likewise.
7717	* oacc-init.c (name_of_acc_device_t): Don't handle it.
7718	(acc_on_device): Just use __builtin_acc_on_device.
7719	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
7720	of acc_on_device builtin.
7721	* plugin/plugin-host.h: Remove file.
7722	* plugin/plugin-host.c: Likewise, but salvage some content into...
7723	* oacc-host.c: ... this file.
7724	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
7725	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
7726	* Makefile.in: Regenerate.
7727	* configure: Likewise.
7728	* testsuite/lib/libgomp.exp
7729	(check_effective_target_openacc_host_nonshm_selected): Remove.
7730	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
7731	ACC_DEVICE_TYPE=host_nonshm.
7732	* testsuite/libgomp.oacc-c/c.exp: Likewise.
7733	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7734	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7735	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7736	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7737	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7738
77392015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
7740	    Jakub Jelinek  <jakub@redhat.com>
7741
7742	* config/nvptx/affinity.c: New file.
7743	* config/nvptx/alloc.c: Likewise.
7744	* config/nvptx/bar.c: Likewise.
7745	* config/nvptx/barrier.c: Likewise.
7746	* config/nvptx/critical.c: Likewise.
7747	* config/nvptx/env.c: Likewise.
7748	* config/nvptx/error.c: Likewise.
7749	* config/nvptx/fortran.c: Likewise.
7750	* config/nvptx/iter.c: Likewise.
7751	* config/nvptx/iter_ull.c: Likewise.
7752	* config/nvptx/libgomp-plugin.c: Likewise.
7753	* config/nvptx/lock.c: Likewise.
7754	* config/nvptx/loop.c: Likewise.
7755	* config/nvptx/loop_ull.c: Likewise.
7756	* config/nvptx/mutex.c: Likewise.
7757	* config/nvptx/oacc-async.c: Likewise.
7758	* config/nvptx/oacc-cuda.c: Likewise.
7759	* config/nvptx/oacc-host.c: Likewise.
7760	* config/nvptx/oacc-init.c: Likewise.
7761	* config/nvptx/oacc-mem.c: Likewise.
7762	* config/nvptx/oacc-parallel.c: Likewise.
7763	* config/nvptx/oacc-plugin.c: Likewise.
7764	* config/nvptx/omp-lock.h: Likewise.
7765	* config/nvptx/ordered.c: Likewise.
7766	* config/nvptx/parallel.c: Likewise.
7767	* config/nvptx/proc.c: Likewise.
7768	* config/nvptx/ptrlock.c: Likewise.
7769	* config/nvptx/sections.c: Likewise.
7770	* config/nvptx/sem.c: Likewise.
7771	* config/nvptx/single.c: Likewise.
7772	* config/nvptx/splay-tree.c: Likewise.
7773	* config/nvptx/target.c: Likewise.
7774	* config/nvptx/task.c: Likewise.
7775	* config/nvptx/team.c: Likewise.
7776	* config/nvptx/time.c: Likewise.
7777	* config/nvptx/work.c: Likewise.
7778	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
7779	* configure: Regenerate.
7780	* configure.tgt (config_path): Set to "nvptx" for target
7781	nvptx*-*-*.
7782
77832015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
7784
7785	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
7786
77872015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
7788
7789	* plugin/plugin-nvptx.c: Don't include dlfcn.h.
7790	(cuda_errlist): Constify.
7791	(errmsg):  Move into ...
7792	(cuda_error): ... here.  Make smaller.
7793	(_XSTR, _STR): Delete.
7794	(cuda_synames): Delete.
7795	(verify_device_library): Delete.
7796	(nvptx_init): Don't call it.
7797
77982015-07-28  Tom de Vries  <tom@codesourcery.com>
7799
7800	* testsuite/libgomp.c/uns-outer-4.c: New test.
7801
78022015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
7803
7804	* testsuite/libgomp.c/pr66714.c: New test.
7805
78062015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
7807
7808	PR libgomp/66950
7809	* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
7810	(fib_ref): New function.
7811	(fib): Correct corner cases in the recursion.
7812	(main): Replace the non-simd loop with fib_ref call.
7813	* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
7814	subroutine.
7815	(fibonacci): Lower the parameter N to 30.  Correct accordingly check
7816	for the last array element value.  Replace the non-simd loop with
7817	fib_ref call.  Remove redundant b_ref array.  Remove the comparison
7818	of the last array element with according Fibonacci sequence element.
7819	(fib): Correct corner cases in the recursion.
7820
78212015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
7822
7823	* target.c (gomp_offload_image_to_device): Rename to ...
7824	(gomp_load_image_to_device): ... here.
7825	(GOMP_offload_register): Adjust call.
7826	(gomp_init_device): Likewise.
7827	(gomp_unload_image_from_device): New.  Broken out of ...
7828	(GOMP_offload_unregister): ... here.  Call it.
7829	(gomp_unload_device): New.
7830	* libgomp.h (gomp_unload_device): Declare.
7831	* oacc-init.c (acc_shutdown_1): Unload from device before deleting
7832	mem maps.
7833
78342015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
7835
7836	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
7837	wait=-specific if.
7838	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
7839	!=0 condition.
7840	(goacc_waits): Move !num_waits handling to ...
7841	(GOACC_wait): ... here, the only caller that might have zero waits.
7842
7843	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
7844	(struct ptx_image_data): Move earlier, add fns field.
7845	(struct ptx_device): Add images and image_lock fields.
7846	(ptx_images, ptx_image_lock): Delete.
7847	(nvptx_open_device): Initialize images and image_lock fields.
7848	(nvptx_close_device): Destroy image_lock.
7849	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
7850	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
7851	fields.
7852
78532015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
7854
7855	* target.c (GOMP_offload_register): Use int for device type arg.
7856	(GOMP_offload_unregister): Likewise.
7857
7858	* target.c (struct_offload_image_descr): Constify host_table.
7859	(gomp_offload_image_to_device): Likewise.
7860	(GOMP_offload_register, GOMP_offload_unregister): Likewise.
7861
7862	* libgomp.h (gomp_device_descr): Constify target data arguments.
7863	* target.c (struct offload_image_descr): Constify target_data.
7864	(gomp_offload_image_to_device): Likewise.
7865	(GOMP_offload_register): Likewise.
7866	(GOMP_offload_unregister): Likewise.
7867	* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
7868	GOMP_OFFLOAD_unload_image): Constify target data.
7869	* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
7870	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
7871
78722015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
7873
7874	* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
7875	Workaround driver library const error.
7876	(struct nvptx_tdata, nvptx_tdata_t): New.
7877	(GOMP_OFFLOAD_load_image): Use struct for target_data's real
7878	type.
7879
78802015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
7881
7882	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
7883	of EPS parameter from integer to real.
7884	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
7885	type of EPS parameter from integer to real.
7886
78872015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7888
7889	* team.c (get_last_team): New.
7890	(gomp_new_team): Recycle last non-nested team if possible.
7891	(gomp_team_end): Move team work share list free lock destruction
7892	to ...
7893	(free_team): ... here.
7894
78952015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
7896
7897	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
7898	and ref from int to double.  Replaced their comparison with
7899	an inequality of their difference and EPS.
7900	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
7901	comparison of pri and a reference number with an inequality of their
7902	difference and EPS.
7903	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
7904	the comparison of sum and sum_ref with an inequality of their
7905	difference and EPS.
7906	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
7907	the comparison of pri and a reference number with an inequality of
7908	their difference and EPS.
7909
79102015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
7911
7912	* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
7913	* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
7914	* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
7915	* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
7916	* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
7917	* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
7918	* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
7919	* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
7920	* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
7921	* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
7922	* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
7923	* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
7924	(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
7925	variables.
7926	(vec_mult): Likewise.  Add #pragma omp taskwait.
7927	(main): Adjust caller.
7928	* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
7929	* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
7930	* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
7931	* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
7932	* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
7933	* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
7934	* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
7935	* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
7936	* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
7937	* testsuite/libgomp.c/examples-4/device-1.c: ...this.
7938	* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
7939	* testsuite/libgomp.c/examples-4/device-2.c: ...this.
7940	* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
7941	* testsuite/libgomp.c/examples-4/device-3.c: ...this.
7942	* testsuite/libgomp.c/examples-4/simd-1.c: New file.
7943	* testsuite/libgomp.c/examples-4/simd-2.c: New file.
7944	* testsuite/libgomp.c/examples-4/simd-3.c: New file.
7945	* testsuite/libgomp.c/examples-4/simd-4.c: New file.
7946	* testsuite/libgomp.c/examples-4/simd-5.c: New file.
7947	* testsuite/libgomp.c/examples-4/simd-6.c: New file.
7948	* testsuite/libgomp.c/examples-4/simd-7.c: New file.
7949	* testsuite/libgomp.c/examples-4/simd-8.c: New file.
7950	* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
7951	* testsuite/libgomp.c/examples-4/target-1.c: ...this.
7952	* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
7953	* testsuite/libgomp.c/examples-4/target-2.c: ...this.
7954	* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
7955	* testsuite/libgomp.c/examples-4/target-3.c: ...this.
7956	* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
7957	* testsuite/libgomp.c/examples-4/target-4.c: ...this.
7958	* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
7959	* testsuite/libgomp.c/examples-4/target-5.c: ...this.
7960	* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
7961	* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
7962	* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
7963	* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
7964	* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
7965	* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
7966	* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
7967	* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
7968	* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
7969	* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
7970	* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
7971	* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
7972	* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
7973	* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
7974	* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
7975	* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
7976	* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
7977	* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
7978	* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
7979	* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
7980	* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
7981	* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
7982	* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
7983	* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
7984	* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
7985	* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7986	* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7987	* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7988	* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7989	* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7990	* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7991	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7992	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7993	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7994	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7995	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7996	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7997	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7998	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7999	(vec_mult): Add !$omp taskwait.
8000	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8001	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8002	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8003	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8004	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8005	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8006	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8007	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8008	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8009	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8010	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8011	* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8012	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8013	* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8014	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8015	* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8016	* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8017	* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8018	* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8019	* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8020	* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8021	* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8022	* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8023	* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8024	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8025	* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8026	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8027	* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8028	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8029	* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8030	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8031	* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8032	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8033	* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8034	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8035	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8036	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8037	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8038	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8039	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8040	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8041	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8042	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8043	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8044	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8045	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8046	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8047	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8048	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8049	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8050	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8051	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8052	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8053	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8054	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8055	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8056	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8057	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8058	* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8059	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8060	* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8061	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8062	* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8063	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8064	* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8065	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8066	* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8067
80682015-07-10  Tom de Vries  <tom@codesourcery.com>
8069
8070	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8071	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8072
80732015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
8074
8075	PR libgomp/65099
8076	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8077	in a 64-bit configuration.
8078	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8079	offloading testing if no such device is available.
8080	* testsuite/libgomp.oacc-c/c.exp: Likewise.
8081	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8082
80832015-07-08  Tom de Vries  <tom@codesourcery.com>
8084
8085	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8086	second call to f.
8087	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8088
80892015-07-07  Tom de Vries  <tom@codesourcery.com>
8090
8091	PR tree-optimization/66642
8092	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8093	iteration count case.
8094	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8095	function, factor out of ...
8096	(main): ... here.  Test low iteration count case.
8097
80982015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8099
8100	* libgomp.h (gomp_thread_pool): Comment last_team field.
8101
81022015-07-02  Uros Bizjak  <ubizjak@gmail.com>
8103
8104	* testsuite/libgomp.c++/pr66702-1.C: Require
8105	vect_simd_clones effective target.
8106	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
8107
81082015-06-30  Tom de Vries  <tom@codesourcery.com>
8109
8110	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8111	already set.  Use DEFAULT_CFLAGS in dg-runtest.
8112	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8113	"-O2".
8114
81152015-06-30  Tom de Vries  <tom@codesourcery.com>
8116
8117	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8118	already set.  Use DEFAULT_CFLAGS in dg-runtest.
8119	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8120	* testsuite/libgomp.c++/pr64824.C: Same.
8121	* testsuite/libgomp.c++/pr64868.C: Same.
8122	* testsuite/libgomp.c++/pr66199-1.C: Same.
8123	* testsuite/libgomp.c++/pr66199-2.C: Same.
8124	* testsuite/libgomp.c++/target-2.C: Same.
8125	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8126	-std=<standard> option.
8127	* testsuite/libgomp.c++/udr-11.C: Same.
8128	* testsuite/libgomp.c++/udr-12.C: Same.
8129	* testsuite/libgomp.c++/udr-13.C: Same.
8130	* testsuite/libgomp.c++/udr-14.C: Same.
8131	* testsuite/libgomp.c++/udr-15.C: Same.
8132	* testsuite/libgomp.c++/udr-16.C: Same.
8133	* testsuite/libgomp.c++/udr-17.C: Same.
8134	* testsuite/libgomp.c++/udr-18.C: Same.
8135	* testsuite/libgomp.c++/udr-19.C: Same.
8136	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8137	* testsuite/libgomp.c++/simd-1.C: Same.
8138	* testsuite/libgomp.c++/simd-2.C: Same.
8139	* testsuite/libgomp.c++/simd-3.C: Same.
8140	* testsuite/libgomp.c++/simd-4.C: Same.
8141	* testsuite/libgomp.c++/simd-5.C: Same.
8142	* testsuite/libgomp.c++/simd-6.C: Same.
8143	* testsuite/libgomp.c++/simd-7.C: Same.
8144	* testsuite/libgomp.c++/simd-8.C: Same.
8145	* testsuite/libgomp.c++/simd-9.C: Same.
8146	* testsuite/libgomp.c++/simd10.C: Same.
8147	* testsuite/libgomp.c++/simd11.C: Same.
8148	* testsuite/libgomp.c++/simd12.C: Same.
8149	* testsuite/libgomp.c++/simd13.C: Same.
8150
81512015-06-30  Jakub Jelinek  <jakub@redhat.com>
8152
8153	PR middle-end/66702
8154	* testsuite/libgomp.c++/pr66702-1.C: New test.
8155	* testsuite/libgomp.c++/pr66702-2.C: New test.
8156
81572015-06-30  Tom de Vries  <tom@codesourcery.com>
8158
8159	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8160	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8161	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8162	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8163
81642015-06-30  Tom de Vries  <tom@codesourcery.com>
8165
8166	PR tree-optimization/66652
8167	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8168	using restrict pointers.
8169	(main): Add arguments to calls to f.
8170	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8171
81722015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
8173
8174	* configure.ac: Fix check for header <sys/sysctl.h>.
8175	* configure: Regenerate.
8176	* config.h.in: Likewise.
8177
81782015-06-23  Tom de Vries  <tom@codesourcery.com>
8179
8180	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8181	abort.
8182	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8183
81842015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
8185
8186	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8187	acc_device_nvidia.
8188
8189	PR libgomp/66518
8190	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8191	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8192
81932015-06-15  Tom de Vries  <tom@codesourcery.com>
8194
8195	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
8196	dg-additional-options for any remaining options.
8197	* testsuite/libgomp.c/atomic-2.c: Same.
8198	* testsuite/libgomp.c/atomic-4.c: Same.
8199	* testsuite/libgomp.c/atomic-5.c: Same.
8200	* testsuite/libgomp.c/atomic-6.c: Same.
8201	* testsuite/libgomp.c/autopar-1.c: Same.
8202	* testsuite/libgomp.c/copyin-1.c: Same.
8203	* testsuite/libgomp.c/copyin-2.c: Same.
8204	* testsuite/libgomp.c/copyin-3.c: Same.
8205	* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8206	* testsuite/libgomp.c/nestedfn-5.c: Same.
8207	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8208	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8209	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8210	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8211	* testsuite/libgomp.c/pr32362-1.c: Same.
8212	* testsuite/libgomp.c/pr32362-2.c: Same.
8213	* testsuite/libgomp.c/pr32362-3.c: Same.
8214	* testsuite/libgomp.c/pr39591-1.c: Same.
8215	* testsuite/libgomp.c/pr39591-2.c: Same.
8216	* testsuite/libgomp.c/pr39591-3.c: Same.
8217	* testsuite/libgomp.c/pr58392.c: Same.
8218	* testsuite/libgomp.c/pr58756.c: Same.
8219	* testsuite/libgomp.c/simd-1.c: Same.
8220	* testsuite/libgomp.c/simd-10.c: Same.
8221	* testsuite/libgomp.c/simd-11.c: Same.
8222	* testsuite/libgomp.c/simd-12.c: Same.
8223	* testsuite/libgomp.c/simd-13.c: Same.
8224	* testsuite/libgomp.c/simd-14.c: Same.
8225	* testsuite/libgomp.c/simd-15.c: Same.
8226	* testsuite/libgomp.c/simd-2.c: Same.
8227	* testsuite/libgomp.c/simd-3.c: Same.
8228	* testsuite/libgomp.c/simd-4.c: Same.
8229	* testsuite/libgomp.c/simd-5.c: Same.
8230	* testsuite/libgomp.c/simd-6.c: Same.
8231	* testsuite/libgomp.c/simd-7.c: Same.
8232	* testsuite/libgomp.c/simd-8.c: Same.
8233	* testsuite/libgomp.c/simd-9.c: Same.
8234
82352015-06-15  Tom de Vries  <tom@codesourcery.com>
8236
8237	* testsuite/libgomp.c/pr35625.c: Fix typo.
8238
82392015-06-15  Tom de Vries  <tom@codesourcery.com>
8240
8241	* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8242	in dg-options.
8243	* testsuite/libgomp.c/atomic-3.c: Same.
8244	* testsuite/libgomp.c/debug-1.c: Same.
8245	* testsuite/libgomp.c/nqueens-1.c: Same.
8246	* testsuite/libgomp.c/pr26171.c: Same.
8247	* testsuite/libgomp.c/pr48591.c: Same.
8248	* testsuite/libgomp.c/pr64824.c: Same.
8249	* testsuite/libgomp.c/pr64868.c: Same.
8250	* testsuite/libgomp.c/pr66133.c: Same.
8251	* testsuite/libgomp.c/pr66199-1.c: Same.
8252	* testsuite/libgomp.c/pr66199-2.c: Same.
8253	* testsuite/libgomp.c/target-8.c: Same.
8254
82552015-06-15  Tom de Vries  <tom@codesourcery.com>
8256
8257	* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8258	-std={gnu99,c99}.
8259	* testsuite/libgomp.c/for-1.c: Same.
8260	* testsuite/libgomp.c/for-2.c: Same.
8261	* testsuite/libgomp.c/for-3.c: Same.
8262	* testsuite/libgomp.c/pr35625.c: Same.
8263	* testsuite/libgomp.c/pr39154.c: Same.
8264	* testsuite/libgomp.c/simd-16.c: Same.
8265	* testsuite/libgomp.c/simd-17.c: Same.
8266
82672015-06-13  Tom de Vries  <tom@codesourcery.com>
8268
8269	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8270
82712015-06-13  Tom de Vries  <tom@codesourcery.com>
8272
8273	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8274	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8275	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8276	(N): Define.
8277	(main): Use N instead of hardcoded constants.
8278
82792015-06-05  Tom de Vries  <tom@codesourcery.com>
8280
8281	merge from gomp4 branch:
8282	2015-05-28  Tom de Vries  <tom@codesourcery.com>
8283
8284	PR tree-optimization/65443
8285	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8286	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8287	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8288
82892015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
8290
8291	* testsuite/libgomp.graphite/bounds.c: Adjust for
8292	cleanup-tree-dump removal.
8293	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8294	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8295	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8296	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8297	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8298	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8299	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8300	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8301	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8302	* testsuite/libgomp.graphite/pr41118.c: Likewise.
8303
83042015-05-28  Uros Bizjak  <ubizjak@gmail.com>
8305
8306	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8307	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8308	(futex_wake) [!__x86_64__]: Ditto.
8309
83102015-05-28  Julian Brown  <julian@codesourcery.com>
8311
8312	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8313	function comment. Only call gomp_fatal if new argument is true.
8314	(acc_dev_num_out_of_range): New function.
8315	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8316	acc_dev_num_out_of_range as appropriate.
8317	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8318	(acc_get_device_num, acc_set_device_num): Update calls to
8319	resolve_device.
8320	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8321	output.
8322
83232015-05-28  Julian Brown  <julian@codesourcery.com>
8324
8325	PR libgomp/65742
8326	* oacc-init.c (plugin/plugin-host.h): Include.
8327	(acc_on_device): Check whether we're in an offloaded region for
8328	host_nonshm
8329	plugin. Don't use __builtin_acc_on_device.
8330	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8331	nonshm_exec flag in thread-local data.
8332	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8333	data for host_nonshm plugin.
8334	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8335	for host_nonshm plugin.
8336	* plugin/plugin-host.h: New.
8337
83382015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8339
8340	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8341
83422015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8343
8344	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8345	Declare as int.
8346	(FUTEX_PRIVATE_FLAG): Remove L suffix.
8347	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8348	Declare as int.
8349
83502015-05-27  Uros Bizjak  <ubizjak@gmail.com>
8351
8352	* config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
8353
83542015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
8355
8356	* target.c (gomp_map_pointer): New function abstracting out
8357	GOMP_MAP_POINTER handling.
8358	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
8359	gomp_map_pointer().
8360
83612015-05-19  Jakub Jelinek  <jakub@redhat.com>
8362
8363	PR middle-end/66199
8364	* testsuite/libgomp.c/pr66199-1.c: New test.
8365	* testsuite/libgomp.c/pr66199-2.c: New test.
8366	* testsuite/libgomp.c++/pr66199-1.C: New test.
8367	* testsuite/libgomp.c++/pr66199-2.C: New test.
8368	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
8369	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
8370
83712015-05-19  Julian Brown  <julian@codesourcery.com>
8372
8373	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
8374	on cuInit failure.
8375
83762015-05-13  Jakub Jelinek  <jakub@redhat.com>
8377
8378	PR middle-end/66133
8379	* testsuite/libgomp.c/pr66133.c: New test.
8380
83812015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
8382
8383	* Makefile.in: Regenerated with automake-1.11.6.
8384	* aclocal.m4: Likewise.
8385	* config.h.in: Likewise.
8386	* configure: Likewise.
8387	* testsuite/Makefile.in: Likewise.
8388
83892015-05-08  Jason Merrill  <jason@redhat.com>
8390
8391	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
8392	_Complex.
8393
8394	* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
8395
83962015-05-06  Julian Brown  <julian@codesourcery.com>
8397
8398	* oacc-init.c (acc_device_lock): Add explanatory comment.
8399	(resolve_device): Add comment about locking requirement.
8400	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
8401	gomp_init_device and gomp_fini_device calls.
8402	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
8403	(acc_get_device_num, acc_set_device_num): Add locking around
8404	resolve_device and gomp_init_device calls.
8405
84062015-05-06  Julian Brown  <julian@codesourcery.com>
8407
8408	* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
8409	goacc_thread_lock on error paths.
8410	* oacc-mem.c (lookup_host): Remove locking from function. Note
8411	locking requirement for caller in function comment.
8412	(lookup_dev): Likewise.
8413	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
8414	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
8415	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8416	Add locking.
8417
84182015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
8419
8420	PR testsuite/65205
8421	PR libgomp/65993
8422	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
8423	don't expect "0x" prefix for "%p" format specifier, don't expect
8424	"(nil)" for NULL pointer.
8425	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8426	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8427	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8428	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8429	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8430	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8431	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8432	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8433	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8434	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8435	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8436	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8437	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8438	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8439	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8440	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8441	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8442	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8443	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8444	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8445	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8446	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8447	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8448	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8449	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8450	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8451	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8452	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8453	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
8454	accurately specify what we're looking for.
8455	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8456	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8457	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8458	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8459	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8460
84612015-04-30  James Norris  <jnorris@codesourcery.com>
8462
8463	PR testsuite/65205
8464	* testsuite/lib/libgomp.exp
8465	(check_effective_target_openacc_host_selected)
8466	(check_effective_target_openacc_host_nonshm_selected): New
8467	procedures.
8468	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
8469	dg-shouldfail.
8470	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8471	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8472	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8473	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8474	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8475	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8476	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8477	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8478	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8479	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8480	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8481	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8482	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8483	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8484	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8485	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8486	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8487	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8488	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8489	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8490	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8491	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8492	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8493	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8494	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8495	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8496	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8497	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8498	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8499	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8500	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8501	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8502	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8503	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8504	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8505	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8506	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8507	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8508	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8509	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8510	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8511	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8512	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8513
85142015-04-08  Julian Brown  <julian@codesourcery.com>
8515
8516	* libgomp.h (target_mem_desc: Remove mem_map field.
8517	(acc_dispatch_t): Remove open_device_func, close_device_func,
8518	get_device_num_func, set_device_num_func, target_data members.
8519	Change create_thread_data_func argument to device number instead of
8520	generic pointer.
8521	* oacc-async.c (assert.h): Include.
8522	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
8523	(acc_wait_all, acc_wait_all_async): Use current host thread's
8524	active device, not base_dev.
8525	* oacc-cuda.c (acc_get_current_cuda_device)
8526	(acc_get_current_cuda_context, acc_get_cuda_stream)
8527	(acc_set_cuda_stream): Likewise.
8528	* oacc-host.c (host_dispatch): Don't set open_device_func,
8529	close_device_func, get_device_num_func or set_device_num_func.
8530	* oacc-init.c (base_dev, init_key): Remove.
8531	(cached_base_dev): New.
8532	(name_of_acc_device_t): New.
8533	(acc_init_1): Initialise default-numbered device, not zeroth.
8534	(acc_shutdown_1): Close all devices of a given type.
8535	(goacc_destroy_thread): Don't use base_dev.
8536	(lazy_open, lazy_init, lazy_init_and_open): Remove.
8537	(goacc_attach_host_thread_to_device): New.
8538	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
8539	(acc_get_num_devices): Don't use base_dev.
8540	(acc_set_device_type): Reimplement.
8541	(acc_get_device_type): Don't use base_dev.
8542	(acc_get_device_num): Tweak logic.
8543	(acc_set_device_num): Likewise.
8544	(acc_on_device): Use acc_get_device_type.
8545	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
8546	(goacc_lazy_initialize): Reimplement with acc_init and
8547	goacc_attach_host_thread_to_device.
8548	* oacc-int.h (goacc_thread): Add base_dev field.
8549	(base_dev): Remove extern declaration.
8550	(goacc_attach_host_thread_to_device): Add prototype.
8551	* oacc-mem.c (acc_malloc): Use current thread's device instead of
8552	base_dev.
8553	(acc_free): Likewise.
8554	(acc_memcpy_to_device): Likewise.
8555	(acc_memcpy_from_device): Likewise.
8556	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
8557	goacc_lazy_initialize (throughout).
8558	(GOACC_parallel): Use tgt_offset to locate target functions.
8559	* target.c (gomp_map_vars): Don't set tgt->mem_map.
8560	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
8561	(gomp_load_plugin_for_device): Remove open_device, close_device,
8562	get_device_num, set_device_num openacc hook initialisation. Don't set
8563	openacc.target_data.
8564	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
8565	(GOMP_OFFLOAD_openacc_close_device)
8566	(GOMP_OFFLOAD_openacc_get_device_num)
8567	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
8568	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
8569	to int.
8570	* plugin/plugin-nvptx.c (ptx_inited): Remove.
8571	(instantiated_devices, ptx_dev_lock): New.
8572	(struct ptx_image_data): New.
8573	(ptx_devices, ptx_images, ptx_image_lock): New.
8574	(fini_streams_for_device): Reorder cuStreamDestroy call.
8575	(nvptx_get_num_devices): Remove forward declaration.
8576	(nvptx_init): Change return type to bool.
8577	(nvptx_fini): Remove.
8578	(nvptx_attach_host_thread_to_device): New.
8579	(nvptx_open_device): Return struct ptx_device* instead of void*.
8580	(nvptx_close_device): Change argument type to struct ptx_device*,
8581	return type to void.
8582	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
8583	(kernel_target_data, kernel_host_table): Remove static globals.
8584	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
8585	(GOMP_OFFLOAD_init_device): Reimplement.
8586	(GOMP_OFFLOAD_fini_device): Likewise.
8587	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
8588	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
8589	(GOMP_OFFLOAD_host2dev): Use ORD argument.
8590	(GOMP_OFFLOAD_openacc_open_device)
8591	(GOMP_OFFLOAD_openacc_close_device)
8592	(GOMP_OFFLOAD_openacc_set_device_num)
8593	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
8594	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
8595	(device number).
8596
8597	testsuite/
8598	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
8599
86002015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
8601
8602	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
8603	* libgomp.h (struct gomp_memory_mapping): Remove.
8604	(struct target_mem_desc): Change type of mem_map from
8605	gomp_memory_mapping * to splay_tree_s *.
8606	(struct gomp_device_descr): Remove register_image_func, get_table_func.
8607	Add load_image_func, unload_image_func.
8608	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
8609	Remove offload_regions_registered.
8610	(gomp_init_tables): Remove.
8611	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8612	to splay_tree_s *.
8613	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
8614	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
8615	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
8616	offload_regions_registered.
8617	Initialize load_image_func, unload_image_func, mem_map.root.
8618	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
8619	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
8620	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
8621	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
8622	gomp_memory_mapping *.  Use dev's lock and splay_tree.
8623	(lookup_dev): Use dev's lock.
8624	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
8625	(acc_is_present): Likewise.
8626	(acc_map_data): Likewise.
8627	(acc_unmap_data): Likewise.  Use dev's lock.
8628	(present_create_copy): Likewise.
8629	(delete_copyout): Pass dev to lookup_host instead of mem_map.
8630	(update_dev_host): Likewise.
8631	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
8632	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
8633	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
8634	(GOMP_OFFLOAD_get_table): Remove
8635	(GOMP_OFFLOAD_load_image): New function.
8636	(GOMP_OFFLOAD_unload_image): New function.
8637	* target.c (register_lock): New mutex for offload image registration.
8638	(num_devices): Do not guard with PLUGIN_SUPPORT.
8639	(gomp_realloc_unlock): New static function.
8640	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
8641	before gomp_fatal.
8642	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
8643	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
8644	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
8645	mem_map's.
8646	(gomp_unmap_vars): Likewise.
8647	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
8648	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
8649	(gomp_offload_image_to_device): New static function.
8650	(GOMP_offload_register): Add mutex lock.
8651	Call gomp_offload_image_to_device for all initialized devices.
8652	Replace gomp_realloc with gomp_realloc_unlock.
8653	(GOMP_offload_unregister): New function.
8654	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
8655	get_table_func from the plugin with calls to init_device_func and
8656	gomp_offload_image_to_device.
8657	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
8658	to splay_tree_s *.
8659	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
8660	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
8661	(GOMP_target_data): Do not call gomp_init_tables.
8662	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
8663	(gomp_load_plugin_for_device): Replace register_image and get_table
8664	with load_image and unload_image in DLSYM ().
8665	(gomp_register_images_for_device): Remove function.
8666	(gomp_target_init): Do not initialize current_device.mem_map.*,
8667	current_device.offload_regions_registered.
8668	Remove call to gomp_register_images_for_device.
8669	Do not free offload_images and num_offload_images.
8670
86712015-03-30  Jakub Jelinek  <jakub@redhat.com>
8672
8673	PR fortran/65597
8674	* testsuite/libgomp.fortran/pr65597.f90: New test.
8675
86762015-03-27  Tom de Vries  <tom@codesourcery.com>
8677
8678	PR testsuite/65594
8679	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
8680	(init, check): New function.
8681	(foo): Change return type to void.
8682	(main): Call init and check.
8683
86842015-03-27  Tom de Vries  <tom@codesourcery.com>
8685
8686	PR testsuite/65594
8687	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
8688	(foo): Use M for non-inner loops to scale down test-case.
8689
86902015-03-25  Kai Tietz  <ktietz@redhat.com>
8691
8692	PR libgomp/64972
8693	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
8694	(GOACC_data_start): Likewise.
8695	* target.c (gomp_map_vars): Likewise.
8696
86972015-03-21  John David Anglin  <danglin@gcc.gnu.org>
8698
8699	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
8700	hppa*-*-hpux*.
8701
87022015-03-19  Jakub Jelinek  <jakub@redhat.com>
8703
8704	* testsuite/libgomp.c/target-10.c: New test.
8705	* testsuite/libgomp.c++/target-4.C: New test.
8706
87072015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
8708
8709	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
8710	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
8711
87122015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8713
8714	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
8715	* configure.ac (*-*-rtems*): Assume Pthread is supported.
8716	(pthread.h): Check for this header file.
8717	* configure: Regenerate.
8718
87192015-02-25  Tom de Vries  <tom@codesourcery.com>
8720
8721	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
8722	(check_reduction_op, check_reduction_macro, max, min):
8723	Declare.
8724	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
8725	function.
8726	(main): Use new functions.
8727
87282015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
8729
8730	* target.c (gomp_load_plugin_for_device): Use const char * instead of
8731	char * for variables holding dlerror return values.
8732	(DLSYM_OPT): Ditto.
8733
87342015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
8735
8736	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
8737
87382015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
8739	    Cesar Philippidis  <cesar@codesourcery.com>
8740
8741	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
8742	GOACC_ctaid, and GOACC_nctaid routines.
8743
87442015-02-11  Jakub Jelinek  <jakub@redhat.com>
8745
8746	PR c/64824
8747	* testsuite/libgomp.c/atomic-18.c: New test.
8748	* testsuite/libgomp.c++/atomic-16.C: New test.
8749
87502015-02-04  Jakub Jelinek  <jakub@redhat.com>
8751
8752	PR c/64824
8753	PR c/64868
8754	* testsuite/libgomp.c/pr64824.c: New test.
8755	* testsuite/libgomp.c/pr64868.c: New test.
8756	* testsuite/libgomp.c++/pr64824.C: New test.
8757	* testsuite/libgomp.c++/pr64868.C: New test.
8758
87592015-02-01  David Edelsohn  <dje.gcc@gmail.com>
8760
8761	PR libgomp/64635
8762	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
8763	Link with -lpthread.
8764	* config/aix/plugin-suffix.h: Delete.
8765
87662015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
8767
8768	PR libgomp/64635
8769	* configure.tgt (*-*-aix*): Use config_path "aix posix".
8770	(*-*-darwin*): Use config_path "bsd darwin posix".
8771	(*-*-hpux*): Use config_path "hpux posix".
8772	* target.c: Add include of plugin-suffix.h and use
8773	SONAME_SUFFIX macro.
8774	* config/aix/plugin-suffix.h: New file.
8775	* config/darwin/plugin-suffix.h: New file.
8776	* config/hpux/plugin-suffix.h: New file.
8777	* config/posix/plugin-suffix.h: New file.
8778
87792015-01-23  Jakub Jelinek  <jakub@redhat.com>
8780
8781	PR middle-end/64734
8782	* libgomp.c/pr64734.c: New test.
8783
87842015-01-23  Tom de Vries  <tom@codesourcery.com>
8785
8786	PR libgomp/64672
8787	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
8788
87892015-01-23  Tom de Vries  <tom@codesourcery.com>
8790
8791	PR libgomp/64707
8792	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
8793	dg-options.
8794
87952015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
8796
8797	PR libgomp/64625
8798	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
8799	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
8800	formal parameter.  Update all users.
8801	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
8802	Document unused formal parameter.
8803
88042015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
8805
8806	* oacc-parallel.c: Don't include <alloca.h>.
8807	(GOACC_parallel): Use gomp_alloca instead of alloca.
8808
88092015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
8810
8811	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
8812
88132015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
8814	    James Norris  <jnorris@codesourcery.com>
8815	    Tom de Vries  <tom@codesourcery.com>
8816	    Julian Brown  <julian@codesourcery.com>
8817	    Cesar Philippidis  <cesar@codesourcery.com>
8818	    Nathan Sidwell  <nathan@codesourcery.com>
8819	    Tobias Burnus  <burnus@net-b.de>
8820
8821	* Makefile.am (search_path): Add $(top_srcdir)/../include.
8822	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
8823	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
8824	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
8825	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
8826	Include $(top_srcdir)/plugin/Makefrag.am.
8827	(nodist_libsubinclude_HEADERS): Add openacc.h.
8828	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
8829	openacc.f90, openacc.mod, openacc_kinds.mod.
8830	(omp_lib.mod): Generalize into...
8831	(%.mod): ... this new rule.
8832	(openacc_kinds.mod, openacc.mod): New rules.
8833	* plugin/configfrag.ac: New file.
8834	* configure.ac: Move plugin/offloading support into it.  Include
8835	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
8836	* plugin/Makefrag.am: New file.
8837	* testsuite/Makefile.am (OFFLOAD_TARGETS)
8838	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
8839	export.
8840	(libgomp-test-support.exp): New rule.
8841	(all-local): Depend on it.
8842	* Makefile.in: Regenerate.
8843	* testsuite/Makefile.in: Regenerate.
8844	* config.h.in: Likewise.
8845	* configure: Likewise.
8846	* configure.tgt: Harden shell syntax.
8847	* env.c: Include "oacc-int.h".
8848	(parse_acc_device_type): New function.
8849	(gomp_debug_var, goacc_device_type, goacc_device_num): New
8850	variables.
8851	(initialize_env): Initialize those.  Call
8852	goacc_runtime_initialize.
8853	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
8854	(gomp_fatal): Call gomp_vfatal.
8855	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
8856	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
8857	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
8858	(splay_tree_node, splay_tree, splay_tree_key)
8859	(struct target_mem_desc, struct splay_tree_key_s)
8860	(struct gomp_memory_mapping, struct acc_dispatch_t)
8861	(struct gomp_device_descr, gomp_acc_insert_pointer)
8862	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
8863	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
8864	(gomp_free_memmap, gomp_fini_device): New declarations.
8865	(gomp_vdebug, gomp_debug): New macros.
8866	Include "splay-tree.h".
8867	* libgomp.map (OACC_2.0): New symbol version.  Use for
8868	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
8869	acc_set_device_type_h_, acc_get_device_type,
8870	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
8871	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
8872	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
8873	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
8874	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
8875	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
8876	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
8877	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
8878	acc_copyin_array_h_, acc_present_or_copyin,
8879	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
8880	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
8881	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
8882	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
8883	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
8884	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
8885	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
8886	acc_update_device, acc_update_device_32_h_,
8887	acc_update_device_64_h_, acc_update_device_array_h_,
8888	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
8889	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
8890	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
8891	acc_is_present_64_h_, acc_is_present_array_h_,
8892	acc_memcpy_to_device, acc_memcpy_from_device,
8893	acc_get_current_cuda_device, acc_get_current_cuda_context,
8894	acc_get_cuda_stream, acc_set_cuda_stream.
8895	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
8896	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
8897	GOACC_update, GOACC_wait, GOACC_get_thread_num,
8898	GOACC_get_num_threads.
8899	(GOMP_PLUGIN_1.0): New symbol version.  Use for
8900	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
8901	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
8902	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
8903	GOMP_PLUGIN_acc_thread.
8904	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
8905	environment variable.
8906	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
8907	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
8908	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
8909	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
8910	(splay_tree_remove): New declarations.
8911	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
8912	(splay_tree_remove, splay_tree_lookup): Move into...
8913	* splay-tree.c: ... this new file.
8914	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
8915	(splay_tree_node, splay_tree, splay_tree_key)
8916	(struct target_mem_desc, struct splay_tree_key_s)
8917	(struct gomp_device_descr): Don't declare.
8918	(num_devices_openmp): New variable.
8919	(gomp_get_num_devices ): Use it.
8920	(gomp_init_targets_once): New function.
8921	(gomp_get_num_devices ): Use it.
8922	(get_kind, gomp_copy_from_async, gomp_free_memmap)
8923	(gomp_fini_device, gomp_register_image_for_device): New functions.
8924	(gomp_map_vars): Add devaddrs parameter.
8925	(gomp_update): Add mm parameter.
8926	(gomp_init_device): Move most of it into...
8927	(gomp_init_tables): ... this new function.
8928	(gomp_register_images_for_device): Remove function.
8929	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
8930	Make them hidden instead of static.
8931	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
8932	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
8933	(GOMP_target_end_data, GOMP_target_update)
8934	(gomp_load_plugin_for_device, gomp_target_init): Update for
8935	OpenACC changes.
8936	* oacc-async.c: New file.
8937	* oacc-cuda.c: Likewise.
8938	* oacc-host.c: Likewise.
8939	* oacc-init.c: Likewise.
8940	* oacc-int.h: Likewise.
8941	* oacc-mem.c: Likewise.
8942	* oacc-parallel.c: Likewise.
8943	* oacc-plugin.c: Likewise.
8944	* oacc-plugin.h: Likewise.
8945	* oacc-ptx.h: Likewise.
8946	* openacc.f90: Likewise.
8947	* openacc.h: Likewise.
8948	* openacc_lib.h: Likewise.
8949	* plugin/plugin-host.c: Likewise.
8950	* plugin/plugin-nvptx.c: Likewise.
8951	* libgomp-plugin.c: Likewise.
8952	* libgomp-plugin.h: Likewise.
8953	* libgomp_target.h: Remove file after merging content into the
8954	former file.  Update all users.
8955	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
8956	(offload_targets_s, offload_targets_s_openacc): New variables.
8957	(check_effective_target_openacc_nvidia_accel_present)
8958	(check_effective_target_openacc_nvidia_accel_selected): New
8959	procedures.
8960	(libgomp_init): Update for OpenACC changes.
8961	* testsuite/libgomp-test-support.exp.in: New file.
8962	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8963	* testsuite/libgomp.oacc-c/c.exp: Likewise.
8964	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8965	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
8966	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
8967	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8968	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
8969	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8970	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8971	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
8972	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
8973	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8974	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
8975	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8976	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
8977	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8978	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8979	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8980	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8981	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8982	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
8983	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8984	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8985	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8986	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8987	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8988	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8989	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8990	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8991	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8992	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8993	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8994	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8995	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8996	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8997	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8998	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8999	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9000	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9001	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9002	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9003	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9004	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9005	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9006	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9007	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9008	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9009	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9010	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9011	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9012	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9013	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9014	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9015	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9016	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9017	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9018	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9019	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9020	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9021	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9022	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9023	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9024	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9025	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9026	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9027	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9028	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9029	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9030	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9031	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9032	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9033	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9034	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9035	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9036	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9037	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9038	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9039	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9040	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9041	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9042	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9043	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9044	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9045	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9046	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9047	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9048	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9049	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9050	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9051	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9052	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9053	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9054	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9055	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9056	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9057	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9058	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9059	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9060	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9061	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9062	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9063	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9064	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9065	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9066	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9067	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9068	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9069	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9070	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9071	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9072	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9073	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9074	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9075	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9076	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9077	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9078	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9079	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9080	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9081	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9082	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9083	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9084	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9085	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9086	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9087	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9088	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9089	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9090	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9091	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9092	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9093	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9094	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9095	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9096	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9097	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9098	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9099	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9100	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9101	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9102	Likewise.
9103	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9104	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9105	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9106	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9107	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9108	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9109	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9110	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9111	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9112	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9113	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9114	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9115	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9116	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9117	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9118	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9119	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9120	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9121	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9122	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9123	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9124	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9125	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9126	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9127	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9128	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9129	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9130	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9131	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9132	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9133	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9134	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9135	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9136	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9137	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9138	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9139	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9140	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9141	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9142	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9143	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9144	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9145	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9146	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9147	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9148	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9149	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9150	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9151	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9152	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9153	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9154	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9155	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9156	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9157	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9158	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9159	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9160	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9161	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9162	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9163
91642015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
9165	    Julian Brown  <julian@codesourcery.com>
9166	    David Malcolm  <dmalcolm@redhat.com>
9167
9168	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9169	to "GNU Offloading and Multi Processing Runtime Library".  Change
9170	all users.
9171	* configure: Regenerate.
9172	* libgomp.texi: Update.
9173
91742015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
9175
9176	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9177	"$tgt_dir/lib32".
9178	* configure: Regenerate.
9179
9180	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9181	"intelmic" in $offload_targets.
9182
91832015-01-05  Jakub Jelinek  <jakub@redhat.com>
9184
9185	Update copyright years.
9186
9187	* libgomp.texi: Bump @copying's copyright year.
9188
91892014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9190
9191	* testsuite/lib/libgomp.exp: Load target-utils.exp.
9192	Move load of target-supports.exp earlier.
9193
91942014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
9195
9196	* testsuite/libgomp.c/target-9.c: New test.
9197
91982014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
9199
9200	* config.h.in: Regenerate.
9201	* configure: Regenerate.
9202	* configure.ac: Add GCC_CHECK_EMUTLS.
9203	* libgomp.h: Add check for USE_EMUTLS: this case
9204	is equal to HAVE_TLS.
9205	* team.c: Likewise.
9206
92072014-12-03  Uros Bizjak  <ubizjak@gmail.com>
9208
9209	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9210
92112014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9212	    Ilya Verbin  <ilya.verbin@intel.com>
9213
9214	* testsuite/libgomp.c/target-critical-1.c: New test.
9215
92162014-11-26  Jakub Jelinek  <jakub@redhat.com>
9217
9218	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
9219	to dg-options unless expensive testing is on.
9220	(TESTITERS): Define to N if not defined.
9221	(main): Use TESTITERS instead of N.
9222	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9223	dg-additional-options depending on whether expensive testing is on.
9224	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9225	Decrease N to 100000 and CHUNKSZ to 10000.
9226
92272014-11-24  Jakub Jelinek  <jakub@redhat.com>
9228
9229	PR fortran/63938
9230	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
9231	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
9232
92332014-11-21  Steve Ellcey  <sellcey@imgtec.com>
9234
9235	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
9236
92372014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
9238
9239	PR bootstrap/63784
9240	* configure: Regenerated.
9241
92422014-11-19  Uros Bizjak  <ubizjak@gmail.com>
9243
9244	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
9245	vect_simd_clones effective target.
9246	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9247
92482014-11-14  Jakub Jelinek  <jakub@redhat.com>
9249
9250	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9251	of 32 as block_size.
9252	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9253	instead of 32 as block_size.
9254
92552014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9256	    Ilya Verbin  <ilya.verbin@intel.com>
9257
9258	* Makefile.in: Regenerate.
9259	* configure: Regenerate.
9260	* configure.ac: Set up offload_additional_options,
9261	offload_additional_lib_paths and offload_targets.
9262	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9263	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9264	* testsuite/Makefile.in: Regenerate.
9265	* testsuite/lib/libgomp.exp (libgomp_init): Append
9266	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
9267	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
9268	build directory to LD_LIBRARY_PATH for intelmic offload targets.
9269
92702014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9271	    Ilya Verbin  <ilya.verbin@intel.com>
9272	    Kirill Yukhin  <kirill.yukhin@intel.com>
9273	    Ilya Tocar  <ilya.tocar@intel.com>
9274
9275	* testsuite/lib/libgomp.exp
9276	(check_effective_target_offload_device): New.
9277	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9278	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9279	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9280	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9281	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9282	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9283	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9284	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9285	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9286	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9287	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9288	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9289	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9290	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9291	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9292	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9293	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9294	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9295	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9296	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9297	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9298	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9299	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9300	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9301	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9302	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9303	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9304	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9305	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9306	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9307	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9308	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9309	* testsuite/libgomp.c/target-7.c: Fix test.
9310	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9311	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9312	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9313	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9314	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9315	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9316	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9317	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9318	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9319	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9320	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9321	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9322	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9323	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9324	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9325	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9326	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9327	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9328	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9329	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9330	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9331	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9332	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9333	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9334	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9335	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9336	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9337	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9338	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9339	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9340	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9341
93422014-11-13  Jakub Jelinek  <jakub@redhat.com>
9343	    Ilya Verbin  <ilya.verbin@intel.com>
9344	    Thomas Schwinge  <thomas@codesourcery.com>
9345	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
9346
9347	* libgomp.map (GOMP_4.0.1): New symbol version.
9348	Add GOMP_offload_register.
9349	* libgomp_target.h: New file.
9350	* splay-tree.h: New file.
9351	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
9352	(gomp_target_init): New forward declaration.
9353	(gomp_is_initialized): New static variable.
9354	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
9355	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
9356	New structures.
9357	(offload_images, num_offload_images, devices, num_devices): New static
9358	variables.
9359	(splay_compare): New static function.
9360	(struct gomp_device_descr): New structure.
9361	(gomp_get_num_devices): Call gomp_target_init.
9362	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
9363	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
9364	(GOMP_offload_register): New function.
9365	(GOMP_target): Arrange for host callback to be performed in a separate
9366	initial thread and contention group, inheriting ICVs from
9367	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
9368	Add device initialization and lookup for target function in splay tree.
9369	(GOMP_target_data): Add device initialization and call gomp_map_vars.
9370	(GOMP_target_end_data): Call gomp_unmap_vars.
9371	(GOMP_target_update): Add device initialization and call gomp_update.
9372	(gomp_load_plugin_for_device, gomp_register_images_for_device)
9373	(gomp_target_init): New static functions.
9374
93752014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
9376	    Thomas Schwinge  <thomas@codesourcery.com>
9377	    Ilya Verbin  <ilya.verbin@intel.com>
9378	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
9379
9380	* config.h.in: Regenerate.
9381	* configure: Regenerate.
9382	* configure.ac: Check for libdl, required for plugin support.
9383	(PLUGIN_SUPPORT): Define if plugins are supported.
9384	(enable_offload_targets): Support Intel MIC targets.
9385	(OFFLOAD_TARGETS): List of target names suitable for offloading.
9386
93872014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9388
9389	PR target/63610
9390	* configure: Regenerate.
9391
93922014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9393
9394	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
9395
93962014-10-06  Marek Polacek  <polacek@redhat.com>
9397
9398	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
9399	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
9400	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
9401	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
9402
94032014-10-06  Marek Polacek  <polacek@redhat.com>
9404
9405	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
9406	* testsuite/libgomp.c/nqueens-1.c: Likewise.
9407	* testsuite/libgomp.c/pr26943-3.c: Likewise.
9408	* testsuite/libgomp.c/pr26943-4.c: Likewise.
9409	* testsuite/libgomp.c/pr36802-2.c: Likewise.
9410	* testsuite/libgomp.c/pr36802-3.c: Likewise.
9411	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
9412	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
9413	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
9414	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
9415	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
9416	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
9417	* testsuite/libgomp.c/omp-single-1.c: Likewise.
9418	* testsuite/libgomp.c/omp-single-2.c: Likewise.
9419	* testsuite/libgomp.c/omp_matvec.c: Likewise.
9420	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
9421	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
9422	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
9423	declarations.
9424
94252014-10-03  Jakub Jelinek  <jakub@redhat.com>
9426
9427	PR libgomp/61200
9428	* testsuite/libgomp.c/pr61200.c: New test.
9429
94302014-09-18  Jakub Jelinek  <jakub@redhat.com>
9431
9432	PR c++/63248
9433	* testsuite/libgomp.c++/pr63248.C: New test.
9434
94352014-08-04  Jakub Jelinek  <jakub@redhat.com>
9436
9437	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
9438	is not zero, but taskgroup->children is NULL and there are
9439	any task->children, schedule those instead of waiting.
9440	* testsuite/libgomp.c/depend-6.c: New test.
9441	* testsuite/libgomp.c/depend-7.c: New test.
9442	* testsuite/libgomp.c/depend-8.c: New test.
9443	* testsuite/libgomp.c/depend-9.c: New test.
9444	* testsuite/libgomp.c/depend-10.c: New test.
9445
94462014-08-01  Jakub Jelinek  <jakub@redhat.com>
9447
9448	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
9449	(struct gomp_taskwait): New type.
9450	(struct gomp_task): Add taskwait and parent_depends_on, remove
9451	in_taskwait and taskwait_sem fields.
9452	(gomp_finish_task): Don't destroy taskwait_sem.
9453	* task.c (gomp_init_task): Don't init in_taskwait, instead init
9454	taskwait and parent_depends_on.
9455	(GOMP_task): For if (0) tasks with depend clause that depend on
9456	earlier tasks don't defer them, instead call
9457	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
9458	Initialize redundant_out field, for redundant out entries just
9459	move them at the end of linked list instead of removing them
9460	completely, and set redundant_out flag instead of redundant.
9461	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
9462	that task.
9463	(gomp_task_run_post_handle_dependers): If parent is in
9464	gomp_task_maybe_wait_for_dependencies and newly runnable task
9465	is not parent_depends_on, queue it in parent->children linked
9466	list after all runnable tasks with parent_depends_on set.
9467	Adjust for addition of taskwait indirection.
9468	(gomp_task_run_post_remove_parent): If parent is in
9469	gomp_task_maybe_wait_for_dependencies and task to be removed
9470	is parent_depends_on, decrement n_depend and if needed awake
9471	parent.  Adjust for addition of taskwait indirection.
9472	(GOMP_taskwait): Adjust for addition of taskwait indirection.
9473	(gomp_task_maybe_wait_for_dependencies): New function.
9474	* testsuite/libgomp.c/depend-5.c: New test.
9475
94762014-07-13  Tobias Burnus  <burnus@net-b.de>
9477
9478	* testsuite/libgomp.fortran/pr34020.f90: Make compile
9479	with TS 18508/Fortran 2015.
9480
94812014-07-06  Marek Polacek  <polacek@redhat.com>
9482
9483	PR c/6940
9484	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
9485
94862014-07-03  Jakub Jelinek  <jakub@redhat.com>
9487
9488	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
9489	matches regex $lang_source_re, add $lang_include_flags to options.
9490	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
9491	* testsuite/libgomp.c++/c++.exp: Likewise.
9492	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
9493	and lang_include_flags instead of adding -fintrinsic-modules-path= to
9494	ALWAYS_CFLAGS.
9495	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
9496
94972014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
9498
9499	* testsuite/libgomp.fortran/fortran.exp: Explain
9500	gfortran-dg-runtest usage.
9501
95022014-06-25  Jakub Jelinek  <jakub@redhat.com>
9503
9504	* testsuite/libgomp.fortran/simd5.f90: New test.
9505	* testsuite/libgomp.fortran/simd6.f90: New test.
9506	* testsuite/libgomp.fortran/simd7.f90: New test.
9507
95082014-06-24  Jakub Jelinek  <jakub@redhat.com>
9509
9510	* testsuite/libgomp.c/for-2.c: Define SC to static for
9511	#pragma omp for simd testing.
9512	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
9513	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
9514	SC macro.
9515	* testsuite/libgomp.c/simd-14.c: New test.
9516	* testsuite/libgomp.c/simd-15.c: New test.
9517	* testsuite/libgomp.c/simd-16.c: New test.
9518	* testsuite/libgomp.c/simd-17.c: New test.
9519	* testsuite/libgomp.c++/for-10.C: Define SC to static for
9520	#pragma omp for simd testing.
9521	* testsuite/libgomp.c++/simd10.C: New test.
9522	* testsuite/libgomp.c++/simd11.C: New test.
9523	* testsuite/libgomp.c++/simd12.C: New test.
9524	* testsuite/libgomp.c++/simd13.C: New test.
9525
9526	* testsuite/libgomp.fortran/aligned1.f03: New test.
9527	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
9528	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
9529	tasks with !$omp parallel !$omp single.
9530	* testsuite/libgomp.fortran/target8.f90: New test.
9531	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
9532	not to use trim in the combiner, instead call elemental function.
9533	(fn): New elemental function.
9534	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
9535	Make elemental.
9536	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
9537	omp_in): Likewise.
9538	* testsuite/libgomp.fortran/udr12.f90: New test.
9539	* testsuite/libgomp.fortran/udr13.f90: New test.
9540	* testsuite/libgomp.fortran/udr14.f90: New test.
9541	* testsuite/libgomp.fortran/udr15.f90: New test.
9542
95432014-06-18  Jakub Jelinek  <jakub@redhat.com>
9544
9545	* omp_lib.f90.in (openmp_version): Set to 201307.
9546	* omp_lib.h.in (openmp_version): Likewise.
9547	* testsuite/libgomp.c/target-8.c: New test.
9548	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
9549	and inbranch clauses.
9550	* testsuite/libgomp.fortran/depend-3.f90: New test.
9551	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
9552	openmp_version.
9553	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9554	* testsuite/libgomp.fortran/target1.f90: New test.
9555	* testsuite/libgomp.fortran/target2.f90: New test.
9556	* testsuite/libgomp.fortran/target3.f90: New test.
9557	* testsuite/libgomp.fortran/target4.f90: New test.
9558	* testsuite/libgomp.fortran/target5.f90: New test.
9559	* testsuite/libgomp.fortran/target6.f90: New test.
9560	* testsuite/libgomp.fortran/target7.f90: New test.
9561
95622014-06-10  Jakub Jelinek  <jakub@redhat.com>
9563
9564	PR fortran/60928
9565	* testsuite/libgomp.fortran/allocatable9.f90: New test.
9566	* testsuite/libgomp.fortran/allocatable10.f90: New test.
9567	* testsuite/libgomp.fortran/allocatable11.f90: New test.
9568	* testsuite/libgomp.fortran/allocatable12.f90: New test.
9569	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
9570	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
9571	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
9572	* testsuite/libgomp.fortran/associate1.f90: New test.
9573	* testsuite/libgomp.fortran/associate2.f90: New test.
9574	* testsuite/libgomp.fortran/procptr1.f90: New test.
9575
95762014-06-06  Jakub Jelinek  <jakub@redhat.com>
9577
9578	* testsuite/libgomp.fortran/simd1.f90: New test.
9579	* testsuite/libgomp.fortran/udr1.f90: New test.
9580	* testsuite/libgomp.fortran/udr2.f90: New test.
9581	* testsuite/libgomp.fortran/udr3.f90: New test.
9582	* testsuite/libgomp.fortran/udr4.f90: New test.
9583	* testsuite/libgomp.fortran/udr5.f90: New test.
9584	* testsuite/libgomp.fortran/udr6.f90: New test.
9585	* testsuite/libgomp.fortran/udr7.f90: New test.
9586	* testsuite/libgomp.fortran/udr8.f90: New test.
9587	* testsuite/libgomp.fortran/udr9.f90: New test.
9588	* testsuite/libgomp.fortran/udr10.f90: New test.
9589	* testsuite/libgomp.fortran/udr11.f90: New test.
9590
95912014-05-27  Uros Bizjak  <ubizjak@gmail.com>
9592
9593	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
9594	vect_simd_clones effective target.
9595	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
9596
95972014-05-21  Jakub Jelinek  <jakub@redhat.com>
9598
9599	PR middle-end/61252
9600	* testsuite/libgomp.c++/simd-9.C: New test.
9601
96022014-05-18  Uros Bizjak  <ubizjak@gmail.com>
9603
9604	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9605	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
9606	texts according to their @menu entry positions.
9607
96082014-05-11  Jakub Jelinek  <jakub@redhat.com>
9609
9610	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
9611	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
9612	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
9613	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
9614	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
9615	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
9616	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
9617	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
9618	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
9619	* testsuite/libgomp.fortran/depend-1.f90: New test.
9620	* testsuite/libgomp.fortran/depend-2.f90: New test.
9621	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
9622	* testsuite/libgomp.fortran/simd1.f90: New test.
9623	* testsuite/libgomp.fortran/simd2.f90: New test.
9624	* testsuite/libgomp.fortran/simd3.f90: New test.
9625	* testsuite/libgomp.fortran/simd4.f90: New test.
9626	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
9627
96282014-05-02  Jakub Jelinek  <jakub@redhat.com>
9629
9630	* testsuite/libgomp.c/simd-10.c: New test.
9631	* testsuite/libgomp.c/simd-11.c: New test.
9632	* testsuite/libgomp.c/simd-12.c: New test.
9633	* testsuite/libgomp.c/simd-13.c: New test.
9634
96352014-04-24  Jakub Jelinek  <jakub@redhat.com>
9636
9637	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
9638	atomic type clauses in any order and optional comma in between.
9639	* testsuite/libgomp.c++/atomic-15.C: Likewise.
9640	* testsuite/libgomp.c/atomic-17.c: Likewise.
9641
9642	* testsuite/libgomp.c/simd-7.c: New test.
9643	* testsuite/libgomp.c/simd-8.c: New test.
9644	* testsuite/libgomp.c/simd-9.c: New test.
9645	* testsuite/libgomp.c/loop-16.c: New test.
9646
96472014-04-02  Richard Henderson  <rth@redhat.com>
9648
9649	* config/linux/futex.h (futex_wait): Get error value from errno.
9650	(futex_wake): Likewise.
9651
96522014-03-25  Jakub Jelinek  <jakub@redhat.com>
9653
9654	PR c++/60331
9655	* testsuite/libgomp.c++/udr-11.C: New test.
9656	* testsuite/libgomp.c++/udr-12.C: New test.
9657	* testsuite/libgomp.c++/udr-13.C: New test.
9658	* testsuite/libgomp.c++/udr-14.C: New test.
9659	* testsuite/libgomp.c++/udr-15.C: New test.
9660	* testsuite/libgomp.c++/udr-16.C: New test.
9661	* testsuite/libgomp.c++/udr-17.C: New test.
9662	* testsuite/libgomp.c++/udr-18.C: New test.
9663	* testsuite/libgomp.c++/udr-19.C: New test.
9664
96652014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9666
9667	Update copyright years
9668
96692014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
9670
9671	* hashtab.h: Use the standard form for the copyright notice.
9672
96732014-01-02  Tobias Burnus  <burnus@net-b.de>
9674
9675	* libgomp.texi: Bump @copying's copyright year.
9676
96772013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
9678
9679	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
9680	alloca () with __builtin_alloca ().
9681	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
9682	* testsuite/libgomp.c/lock-3.c: Likewise.
9683	* testsuite/libgomp.c/pr48591.c: Likewise.
9684
96852013-12-17  Jakub Jelinek  <jakub@redhat.com>
9686
9687	PR testsuite/59534
9688	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
9689	comparisons.
9690
96912013-12-16  Jakub Jelinek  <jakub@redhat.com>
9692
9693	PR libgomp/58756
9694	* testsuite/libgomp.c/pr58756.c: New test.
9695
96962013-12-12  Jakub Jelinek  <jakub@redhat.com>
9697
9698	PR libgomp/59467
9699	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
9700	!$omp parallel.
9701
97022013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
9703
9704	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
9705	ALWAYS_CFLAGS.
9706	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
9707	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
9708	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
9709	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
9710	Likewise.
9711
9712	* libgomp_g.h: Include <stddef.h> for size_t.
9713
9714	* libgomp.spec.in: Update comment about libgomp's dependencies.
9715	* configure.ac: Likewise.
9716	* configure: Regenerate.
9717
97182013-10-16  Tobias Burnus  <burnus@net-b.de>
9719
9720	* libgomp.texi: (Runtime Library Routines): Update references for
9721	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
9722	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
9723	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
9724	(Environment Variables): Update references for OpenMP 4.0. Add
9725	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
9726	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
9727	order.
9728
97292013-10-14  Jakub Jelinek  <jakub@redhat.com>
9730
9731	* env.c (parse_bind_var): Initialize value to avoid
9732	(false positive) warning.
9733
97342013-10-12  Jakub Jelinek  <jakub@redhat.com>
9735
9736	PR libgomp/58691
9737	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
9738	to check variable.
9739	(gomp_init_num_threads): Move i variable declaration into
9740	#ifdef CPU_ALLOC_SIZE block.
9741	* config/linux/affinity.c (gomp_affinity_init_level): Test
9742	gomp_places_list_len == 0 rather than gomp_places_list == 0
9743	when checking for topology reading error.
9744	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
9745	* env.c (parse_affinity): Add ignore argument, if true, don't populate
9746	gomp_places_list, only parse env var and always return false.
9747	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
9748	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
9749	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
9750	and either of these variables were parsed correctly into a places
9751	list.
9752
97532013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
9754	    Jakub Jelinek  <jakub@redhat.com>
9755
9756	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
9757	of 5 loopfn matches.
9758	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9759	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9760	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9761	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9762	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9763	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9764	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9765	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9766
97672013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
9768
9769	* Makefile.am (omp_lib.mod): Streamline rule.
9770	* Makefile.in: Regenerate.
9771
9772	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
9773	exceptions.
9774
9775	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
9776	* testsuite/libgomp.fortran/lib1.f90: Likewise.
9777	* testsuite/libgomp.fortran/lib2.f: Likewise.
9778	* testsuite/libgomp.fortran/lib3.f: Likewise.
9779
9780	* configure.ac: Typo fix.
9781	* configure: Regenerate.
9782
9783	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
9784	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9785
9786	* omp.h.in: Don't touch the user's namespace.
9787
97882013-10-11  Jakub Jelinek  <jakub@redhat.com>
9789	    Tobias Burnus  <burnus@net-b.de>
9790	    Richard Henderson  <rth@redhat.com>
9791
9792	* target.c: New file.
9793	* Makefile.am (libgomp_la_SOURCES): Add target.c.
9794	* Makefile.in: Regenerated.
9795	* libgomp_g.h (GOMP_task): Add depend argument.
9796	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
9797	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9798	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
9799	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9800	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9801	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
9802	GOMP_taskgroup_start, GOMP_taskgroup_end,
9803	GOMP_parallel_sections): New prototypes.
9804	* fortran.c (omp_is_initial_device): Add ialias_redirect.
9805	(omp_is_initial_device_): New function.
9806	(ULP, STR1, STR2, ialias_redirect): Removed.
9807	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
9808	omp_set_default_device_8_, omp_get_default_device_,
9809	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
9810	functions.
9811	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
9812	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
9813	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
9814	@@GOMP_4.0.
9815	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
9816	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
9817	omp_set_default_device, omp_set_default_device_,
9818	omp_set_default_device_8_, omp_get_default_device,
9819	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
9820	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
9821	omp_get_team_num_): Export @@OMP_4.0.
9822	* team.c (struct gomp_thread_start_data): Add place field.
9823	(gomp_thread_start): Clear thr->thread_pool and
9824	thr->task before returning.  Use gomp_team_barrier_wait_final
9825	instead of gomp_team_barrier_wait.  Initialize thr->place.
9826	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
9827	team_cancelled and task_queued_count fields.
9828	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
9829	before calling pthread_exit.
9830	(gomp_free_thread): No longer static.  Use
9831	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
9832	(gomp_team_start): Add flags argument.  Set
9833	thr->thread_pool->threads_busy to nthreads immediately after creating
9834	new pool.  Use gomp_managed_threads_lock instead of
9835	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
9836	(gomp_team_end): Use gomp_managed_threads_lock instead of
9837	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
9838	of gomp_team_barrier_wait.  If team->team_cancelled, call
9839	gomp_fini_workshare on ws chain starting at team->work_shares_to_free
9840	rather than thr->ts.work_share.
9841	(initialize_team): Don't call gomp_sem_init here.
9842	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
9843	caller.
9844	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
9845	* env.c (gomp_global_icv): Add default_device_var, target_data and
9846	bind_var initializers.
9847	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9848	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9849	gomp_places_list_len): New variables.
9850	(parse_bind_var, parse_one_place, parse_places_var): New functions.
9851	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
9852	sized places.
9853	(gomp_cancel_var): New global variable.
9854	(parse_int): New function.
9855	(handle_omp_display_env): New function.
9856	(initialize_env): Use it.  Initialize default_device_var.
9857	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
9858	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
9859	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
9860	been successfully parsed (and call gomp_init_affinity in that case).
9861	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9862	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9863	omp_get_team_num, omp_is_initial_device): New functions.
9864	* libgomp.h: Include stdlib.h.
9865	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
9866	Define.
9867	(struct target_mem_desc): Forward declare.
9868	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
9869	and thread_limit_var fields.
9870	(gomp_get_num_devices): New prototype.
9871	(gomp_cancel_var): New extern decl.
9872	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
9873	team_cancelled and task_queued_count fields.  Add comments about
9874	task_{,queued_,running_}count.
9875	(gomp_cancel_kind): New enum.
9876	(gomp_work_share_end_cancel): New prototype.
9877	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
9878	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
9879	and depend fields.
9880	(struct gomp_taskgroup): New type.
9881	(struct gomp_task_depend_entry,
9882	struct gomp_dependers_vec): New types.
9883	(gomp_finish_task): Free depend_hash if non-NULL.
9884	(struct gomp_team_state): Add place_partition_off
9885	and place_partition_len fields.
9886	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
9887	gomp_places_list_len): New extern decls.
9888	(struct gomp_thread): Add place field.
9889	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
9890	(gomp_init_thread_affinity): Add place argument.
9891	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9892	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9893	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9894	gomp_affinity_init_level, gomp_affinity_print_place): New
9895	prototypes.
9896	(gomp_team_start): Add flags argument.
9897	(gomp_thread_limit_var, gomp_remaining_threads_count,
9898	gomp_remaining_threads_lock): Remove.
9899	(gomp_managed_threads_lock): New variable.
9900	(struct gomp_thread_pool): Add threads_busy field.
9901	(gomp_free_thread): New prototype.
9902	* task.c: Include hashtab.h.
9903	(hash_entry_type): New typedef.
9904	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
9905	(gomp_init_task): Clear dependers, depend_hash, depend_count,
9906	copy_ctors_done and taskgroup fields.
9907	(GOMP_task): Add depend argument, handle depend clauses.  If
9908	gomp_team_barrier_cancelled or if it's taskgroup has been
9909	cancelled, don't queue or start new tasks.  Set copy_ctors_done
9910	field if needed.  Initialize taskgroup field.  If copy_ctors_done
9911	and already cancelled, don't discard the task.  If taskgroup is
9912	non-NULL, enqueue the task into taskgroup queue.  Increment
9913	num_children field in taskgroup.  Increment task_queued_count.
9914	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
9915	gomp_task_run_post_remove_taskgroup): New inline functions.
9916	(gomp_task_run_post_handle_depend_hash,
9917	gomp_task_run_post_handle_dependers,
9918	gomp_task_run_post_handle_depend): New functions.
9919	(GOMP_taskwait): Use them.  If more than one new tasks
9920	have been queued, wake other threads if needed.
9921	(gomp_barrier_handle_tasks): Likewise.  If
9922	gomp_team_barrier_cancelled, don't start any new tasks, just free
9923	all tasks.
9924	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
9925	* omp_lib.f90.in
9926	(omp_proc_bind_kind, omp_proc_bind_false,
9927	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9928	omp_proc_bind_spread): New params.
9929	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9930	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9931	omp_get_team_num, omp_is_initial_device): New interfaces.
9932	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
9933	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
9934	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
9935	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
9936	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
9937	useless use omp_lib_kinds.
9938	* omp.h.in (omp_proc_bind_t): New typedef.
9939	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9940	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9941	omp_get_team_num, omp_is_initial_device): New prototypes.
9942	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
9943	through to gomp_team_start.
9944	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
9945	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
9946	Adjust gomp_parallel_loop_start callers.
9947	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
9948	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
9949	GOMP_loop_end_cancel): New functions.
9950	(GOMP_parallel_end): Add ialias_redirect.
9951	* hashtab.h: New file.
9952	* libgomp.texi (Environment Variables): Minor cleanup,
9953	update section refs to OpenMP 4.0rc2.
9954	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
9955	environment variables.
9956	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
9957	team->work_shares_to_free to thr->ts.work_share before calling
9958	free_work_share.
9959	(gomp_work_share_end_cancel): New function.
9960	* config/linux/proc.c: Include errno.h.
9961	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
9962	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
9963	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
9964	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
9965	gomp_cpuset_size is sizeof (cpu_set_t).
9966	(gomp_init_num_threads): Initialize gomp_cpuset_size,
9967	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
9968	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
9969	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
9970	contain any logical CPUs.
9971	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
9972	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
9973	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
9974	pthread_getaffinity_np.  Check gomp_places_list instead of
9975	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
9976	* config/linux/bar.c (gomp_barrier_wait_end,
9977	gomp_barrier_wait_last): Use BAR_* defines.
9978	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
9979	from state where needed.  Set work_share_cancelled to 0 on last
9980	thread.
9981	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
9982	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
9983	functions.
9984	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
9985	Add cpusetsize argument.
9986	(gomp_cpuset_size, gomp_cpusetp): Declare.
9987	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9988	(affinity_counter): Remove.
9989	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9990	if CPU_ALLOC_SIZE isn't defined.
9991	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9992	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9993	bind current thread to the first place.
9994	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
9995	pthread_setaffinity_np to gomp_places_list[place].
9996	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9997	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9998	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9999	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10000	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10001	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10002	(gomp_barrier_t): Add awaited_final field.
10003	(gomp_barrier_init): Initialize awaited_final field.
10004	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10005	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10006	prototypes.
10007	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
10008	defines.
10009	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10010	gomp_team_barrier_cancelled): New inline functions.
10011	(gomp_barrier_last_thread,
10012	gomp_team_barrier_set_task_pending,
10013	gomp_team_barrier_clear_task_pending,
10014	gomp_team_barrier_set_waiting_for_tasks,
10015	gomp_team_barrier_waiting_for_tasks,
10016	gomp_team_barrier_done): Use BAR_* defines.
10017	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10018	(gomp_barrier_wait_end): Use BAR_* defines.
10019	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10020	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10021	Use BAR_* defines.
10022	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10023	gomp_team_barrier_cancel): New functions.
10024	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
10025	argument.
10026	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10027	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10028	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10029	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10030	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10031	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10032	(gomp_barrier_t): Add cancellable field.
10033	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10034	gomp_team_barrier_cancel): New prototypes.
10035	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10036	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10037	gomp_team_barrier_cancelled): New inline functions.
10038	(gomp_barrier_wait_start, gomp_barrier_last_thread,
10039	gomp_team_barrier_set_task_pending,
10040	gomp_team_barrier_clear_task_pending,
10041	gomp_team_barrier_set_waiting_for_tasks,
10042	gomp_team_barrier_waiting_for_tasks,
10043	gomp_team_barrier_done): Use BAR_* defines.
10044	* barrier.c (GOMP_barrier_cancel): New function.
10045	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10046	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10047	omp_proc_bind_spread): New params.
10048	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10049	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10050	omp_get_team_num, omp_is_initial_device): New externals.
10051	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10052	New functions.
10053	(gomp_resolve_num_threads): Adjust for thread_limit now being in
10054	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10055	infinity.  If not nested, just return minimum of max_num_threads
10056	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10057	to the returned value.  Otherwise, don't update atomically
10058	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10059	(GOMP_parallel_end): Adjust for thread_limit now being in
10060	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10061	infinity.  Adjust threads_busy in the pool rather than
10062	gomp_remaining_threads_count.  Remember team->nthreads and call
10063	gomp_team_end before adjusting threads_busy, if not nested
10064	afterwards, just set it to 1 non-atomically.  Add ialias.
10065	(GOMP_parallel_start): Adjust gomp_team_start caller.
10066	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10067	* testsuite/libgomp.c/affinity-1.c: New test.
10068	* testsuite/libgomp.c/atomic-15.c: New test.
10069	* testsuite/libgomp.c/atomic-16.c: New test.
10070	* testsuite/libgomp.c/atomic-17.c: New test.
10071	* testsuite/libgomp.c/cancel-for-1.c: New test.
10072	* testsuite/libgomp.c/cancel-for-2.c: New test.
10073	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
10074	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
10075	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
10076	* testsuite/libgomp.c/cancel-sections-1.c: New test.
10077	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10078	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10079	* testsuite/libgomp.c/depend-1.c: New test.
10080	* testsuite/libgomp.c/depend-2.c: New test.
10081	* testsuite/libgomp.c/depend-3.c: New test.
10082	* testsuite/libgomp.c/depend-4.c: New test.
10083	* testsuite/libgomp.c/for-1.c: New test.
10084	* testsuite/libgomp.c/for-1.h: New file.
10085	* testsuite/libgomp.c/for-2.c: New test.
10086	* testsuite/libgomp.c/for-2.h: New file.
10087	* testsuite/libgomp.c/for-3.c: New test.
10088	* testsuite/libgomp.c/pr58392.c: New test.
10089	* testsuite/libgomp.c/simd-1.c: New test.
10090	* testsuite/libgomp.c/simd-2.c: New test.
10091	* testsuite/libgomp.c/simd-3.c: New test.
10092	* testsuite/libgomp.c/simd-4.c: New test.
10093	* testsuite/libgomp.c/simd-5.c: New test.
10094	* testsuite/libgomp.c/simd-6.c: New test.
10095	* testsuite/libgomp.c/target-1.c: New test.
10096	* testsuite/libgomp.c/target-2.c: New test.
10097	* testsuite/libgomp.c/target-3.c: New test.
10098	* testsuite/libgomp.c/target-4.c: New test.
10099	* testsuite/libgomp.c/target-5.c: New test.
10100	* testsuite/libgomp.c/target-6.c: New test.
10101	* testsuite/libgomp.c/target-7.c: New test.
10102	* testsuite/libgomp.c/taskgroup-1.c: New test.
10103	* testsuite/libgomp.c/thread-limit-1.c: New test.
10104	* testsuite/libgomp.c/thread-limit-2.c: New test.
10105	* testsuite/libgomp.c/thread-limit-3.c: New test.
10106	* testsuite/libgomp.c/udr-1.c: New test.
10107	* testsuite/libgomp.c/udr-2.c: New test.
10108	* testsuite/libgomp.c/udr-3.c: New test.
10109	* testsuite/libgomp.c++/affinity-1.C: New test.
10110	* testsuite/libgomp.c++/atomic-10.C: New test.
10111	* testsuite/libgomp.c++/atomic-11.C: New test.
10112	* testsuite/libgomp.c++/atomic-12.C: New test.
10113	* testsuite/libgomp.c++/atomic-13.C: New test.
10114	* testsuite/libgomp.c++/atomic-14.C: New test.
10115	* testsuite/libgomp.c++/atomic-15.C: New test.
10116	* testsuite/libgomp.c++/cancel-for-1.C: New test.
10117	* testsuite/libgomp.c++/cancel-for-2.C: New test.
10118	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10119	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10120	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10121	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
10122	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10123	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10124	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10125	* testsuite/libgomp.c++/cancel-test.h: New file.
10126	* testsuite/libgomp.c++/for-9.C: New test.
10127	* testsuite/libgomp.c++/for-10.C: New test.
10128	* testsuite/libgomp.c++/for-11.C: New test.
10129	* testsuite/libgomp.c++/simd-1.C: New test.
10130	* testsuite/libgomp.c++/simd-2.C: New test.
10131	* testsuite/libgomp.c++/simd-3.C: New test.
10132	* testsuite/libgomp.c++/simd-4.C: New test.
10133	* testsuite/libgomp.c++/simd-5.C: New test.
10134	* testsuite/libgomp.c++/simd-6.C: New test.
10135	* testsuite/libgomp.c++/simd-7.C: New test.
10136	* testsuite/libgomp.c++/simd-8.C: New test.
10137	* testsuite/libgomp.c++/target-1.C: New test.
10138	* testsuite/libgomp.c++/target-2.C: New test.
10139	* testsuite/libgomp.c++/target-2-aux.cc: New file.
10140	* testsuite/libgomp.c++/target-3.C: New test.
10141	* testsuite/libgomp.c++/taskgroup-1.C: New test.
10142	* testsuite/libgomp.c++/udr-1.C: New test.
10143	* testsuite/libgomp.c++/udr-2.C: New test.
10144	* testsuite/libgomp.c++/udr-3.C: New test.
10145	* testsuite/libgomp.c++/udr-4.C: New test.
10146	* testsuite/libgomp.c++/udr-5.C: New test.
10147	* testsuite/libgomp.c++/udr-6.C: New test.
10148	* testsuite/libgomp.c++/udr-7.C: New test.
10149	* testsuite/libgomp.c++/udr-8.C: New test.
10150	* testsuite/libgomp.c++/udr-9.C: New test.
10151
101522013-09-20  Jakub Jelinek  <jakub@redhat.com>
10153
10154	PR testsuite/57605
10155	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10156	ALWAYS_CFLAGS.
10157
101582013-09-20  Alan Modra  <amodra@gmail.com>
10159
10160	* configure: Regenerate.
10161
101622013-09-19  Jakub Jelinek  <jakub@redhat.com>
10163
10164	* testsuite/libgomp.c/sections-2.c: New test.
10165
101662013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
10167
10168	* testsuite/libgomp.fortran/strassen.f90:
10169	Add dg-skip-if aarch64_tiny.
10170
101712013-06-20  Iain Sandoe  <iain@codesourcery.com>
10172	    Cesar Philippidis  <cesar@codesourcery.com>
10173
10174	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10175	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10176	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10177	* testsuite/libgomp.fortran/fortran.exp: Likewise.
10178	* testsuite/libgomp.graphite/graphite.exp: Likewise.
10179	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10180	Use dg-runtest rather than gfortran-dg-runtest.
10181
101822013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
10183
10184	* testsuite/libgomp.c/icv-2.c: Extend current handling of
10185	Linux-based x86 systems to cover all GNU systems.
10186	* testsuite/libgomp.c/lock-3.c: Likewise.
10187	* testsuite/libgomp.c/pr48591.c: Likewise.
10188
101892013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
10190
10191	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10192	GNU/Hurd, as done for Linux-based systems.
10193
10194	* config/posix/ptrlock.h: Fix comment.
10195
101962013-05-27  Tobias Burnus  <burnus@net-b.de>
10197
10198	PR fortran/57423
10199	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10200	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10201	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10202	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10203	omp_destroy_nest_lock): Correct arguments to match the one in
10204	the OpenMP spec.
10205	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10206	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10207	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10208	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10209
102102013-05-16  Jakub Jelinek  <jakub@redhat.com>
10211
10212	* testsuite/libgomp.c/loop-13.c: New test.
10213	* testsuite/libgomp.c/loop-14.c: New test.
10214	* testsuite/libgomp.c/loop-15.c: New test.
10215	* testsuite/libgomp.c++/loop-13.C: New test.
10216	* testsuite/libgomp.c++/loop-14.C: New test.
10217	* testsuite/libgomp.c++/loop-15.C: New test.
10218
102192013-02-06  Jakub Jelinek  <jakub@redhat.com>
10220
10221	PR middle-end/56217
10222	* testsuite/libgomp.c++/pr56217.C: New test.
10223
102242013-02-01  Alan Modra  <amodra@gmail.com>
10225
10226	* task.c (GOMP_task, GOMP_taskwait): Comment.
10227
102282013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
10229	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
10230
10231	PR libgomp/55561
10232	* config/linux/wait.h (do_spin): Use atomic load for addr.
10233	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10234	for intptr and ptrlock.
10235	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10236	for ptrlock.
10237
102382013-01-22  Alan Modra  <amodra@gmail.com>
10239
10240	PR libgomp/51376
10241	PR libgomp/56073
10242	* task.c (GOMP_task): Revert 2011-12-09 change.
10243	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
10244	barrier to read task->children..
10245	(gomp_barrier_handle_tasks): ..and matching atomic store with
10246	release barrier here when setting parent->children to NULL.
10247
102482013-01-16  Jakub Jelinek  <jakub@redhat.com>
10249	    Tobias Burnus  <burnus@net-b.de>
10250
10251	PR driver/55884
10252	* testsuite/libgomp.fortran/fortran.exp: Use
10253	-fintrinsic-modules-path= instead of
10254	-fintrinsic-modules-path.
10255
102562013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
10257
10258	Update copyright years.
10259
102602012-12-19  Tobias Burnus  <burnus@net-b.de>
10261
10262	* testsuite/libgomp.fortran/fortran.exp: Set
10263	-fintrinsic-modules-path.
10264
102652012-12-19  Tobias Burnus  <burnus@net-b.de>
10266
10267	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10268	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10269
102702012-11-21  Jakub Jelinek  <jakub@redhat.com>
10271
10272	PR libgomp/55411
10273	* team.c (gomp_free_thread): Decrease gomp_managed_threads
10274	if pool had any threads_used.
10275
102762012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
10277
10278	* testsuite/libgomp.c++/pr24455.C: Use
10279	-Wl,-undefined,dynamic_lookup on darwin.
10280
102812012-11-07  David Edelsohn  <dje.gcc@gmail.com>
10282
10283	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10284
102852012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
10286
10287	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10288
102892012-10-23  Ian Bolton  <ian.bolton@arm.com>
10290	    Jim MacArthur  <jim.macarthur@arm.com>
10291	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
10292	    Nigel Stephens  <nigel.stephens@arm.com>
10293	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
10294	    Richard Earnshaw  <rearnsha@arm.com>
10295	    Sofiane Naci  <sofiane.naci@arm.com>
10296	    Stephen Thomas  <stephen.thomas@arm.com>
10297	    Tejas Belagod  <tejas.belagod@arm.com>
10298	    Yufeng Zhang  <yufeng.zhang@arm.com>
10299
10300	* configure.tgt: Add AArch64.
10301
103022012-10-04  Jason Merrill  <jason@redhat.com>
10303
10304	* testsuite/libgomp.c++/tls-init1.C: New.
10305
103062012-09-14  David Edelsohn  <dje.gcc@gmail.com>
10307
10308	* configure: Regenerated.
10309
103102012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
10311
10312	* config/linux/mips/futex.h (sys_futex0): Change to static
10313	function with noinline, nomips16 attributes under MIPS16. Adjust
10314	asm statement to place 'li v0,SYS_futex' immediately before
10315	syscall insn.
10316
103172012-07-04  Sandra Loosemore <sandra@codesourcery.com>
10318
10319	* libgomp.texi (Library Index): Renamed from "Index" to prevent
10320	conflict with index.html on case-insensitive file systems.
10321
103222012-07-03  Uros Bizjak  <ubizjak@gmail.com>
10323
10324	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10325	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10326
103272012-07-02  Richard Guenther  <rguenther@suse.de>
10328	    Michael Matz  <matz@suse.de>
10329	    Tobias Grosser <tobias@grosser.es>
10330	    Sebastian Pop <sebpop@gmail.com>
10331
10332	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10333	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10334	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10335	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10336
103372012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
10338
10339	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10340
103412012-06-22  Richard Guenther  <rguenther@suse.de>
10342
10343	Merge from graphite branch
10344	2012-01-13  Tobias Grosser  <tobias@grosser.es>
10345
10346	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10347	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10348
103492012-06-07  Jakub Jelinek  <jakub@redhat.com>
10350
10351	PR middle-end/53580
10352	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
10353	use GOMP_barrier () call instead.
10354	* testsuite/libgomp.c/pr26943-3.c: Likewise.
10355	* testsuite/libgomp.c/pr26943-4.c: Likewise.
10356	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
10357	call GOMP_barrier instead.
10358	* testsuite/libgomp.fortran/vla5.f90: Likewise.
10359
103602012-06-06  Jakub Jelinek  <jakub@redhat.com>
10361
10362	PR libgomp/52993
10363	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
10364	argument to memset call.
10365
103662012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
10367
10368	* configure: Regenerated.
10369
103702012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
10371
10372	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
10373
103742012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
10375
10376	PR bootstrap/52812
10377	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
10378
103792012-03-22  Jakub Jelinek  <jakub@redhat.com>
10380
10381	PR middle-end/52547
10382	* testsuite/libgomp.c/pr52547.c: New test.
10383
103842012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
10385
10386	* testsuite/lib/libgomp.exp: load fortran-modules.exp
10387
103882012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10389
10390	* configure.tgt (mips-sgi-irix6*): Remove.
10391
103922012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10393
10394	* configure.tgt (alpha*-dec-osf*): Remove.
10395
10396	* config/osf/sem.h: Remove.
10397	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
10398
103992012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
10400
10401	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
10402
104032012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10404
10405	PR libstdc++/52188
10406	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
10407	Remove ENABLE_SYMVERS_SOL2.
10408	* configure: Regenerate.
10409	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
10410	(PREPROCESS): New variable.
10411	(libgomp.ver): New target.
10412	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
10413	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
10414	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
10415	Use libgomp.ver.
10416	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
10417	* Makefile.in: Regenerate.
10418
104192012-02-14  Walter Lee  <walt@tilera.com>
10420
10421	* configure.tgt: Handle tilegx and tilepro.
10422	* config/linux/tile/futex.h: New file.
10423
104242012-02-08  Richard Guenther  <rguenther@suse.de>
10425
10426	PR tree-optimization/46886
10427	* testsuite/libgomp.c/pr46886.c: New testcase.
10428
104292012-01-25  Matthias Klose  <doko@ubuntu.com>
10430
10431	* config/linux/arm: Remove empty directory.
10432	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
10433
104342011-12-09  Alan Modra  <amodra@gmail.com>
10435
10436	PR libgomp/51376
10437	* task.c (GOMP_taskwait): Don't access task->children outside of
10438	task_lock mutex region.
10439	(GOMP_task): Likewise.
10440
104412011-12-06  Jakub Jelinek  <jakub@redhat.com>
10442
10443	PR libgomp/51132
10444	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
10445	to file scope.
10446	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10447	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10448	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10449	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10450	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10451
104522011-12-02  Alan Modra  <amodra@gmail.com>
10453
10454	* config/linux/affinity.c: Use atomic rather than sync builtin.
10455	* config/linux/lock.c: Likewise.
10456	* config/linux/ptrlock.h: Likewise.
10457	* config/linux/ptrlock.c: Likewise.
10458	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
10459	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
10460	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
10461	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
10462	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
10463	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
10464	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
10465	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
10466	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
10467	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
10468
104692011-11-30  Alan Modra  <amodra@gmail.com>
10470
10471	PR libgomp/51298
10472	* config/linux/bar.h: Use atomic rather than sync builtins.
10473	* config/linux/bar.c: Likewise.  Add missing acquire
10474	synchronisation on generation field.
10475	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
10476	double unlock.
10477
104782011-11-30  Alan Modra  <amodra@gmail.com>
10479
10480	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
10481	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
10482	* config/linux/mutex.h: Use atomic rather than sync builtins.
10483	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
10484	* config/linux/omp-lock.h: Comment fix.
10485	* config/linux/arm/mutex.h: Delete.
10486	* config/linux/powerpc/mutex.h: Delete.
10487	* config/linux/ia64/mutex.h: Delete.
10488	* config/linux/mips/mutex.h: Delete.
10489
104902011-11-30  Alan Modra  <amodra@gmail.com>
10491
10492	PR libgomp/51249
10493	* config/linux/sem.h: Rewrite.
10494	* config/linux/sem.c: Rewrite.
10495
104962011-11-28  Richard Henderson  <rth@redhat.com>
10497
10498	* libgomp.h (enum memmodel): New.
10499
105002011-11-21  Andreas Tobler  <andreast@fgznet.ch>
10501
10502	* configure: Regenerate.
10503
105042011-10-10  Matthias Klose  <doko@ubuntu.com>
10505
10506	* config/posix95: Remove empty directory.
10507
105082011-08-26  Jakub Jelinek  <jakub@redhat.com>
10509
10510	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
10511
105122011-08-19  Jakub Jelinek  <jakub@redhat.com>
10513
10514	PR fortran/49792
10515	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
10516	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
10517
105182011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10519
10520	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
10521
105222011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10523
10524	PR libgomp/49965
10525	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
10526
105272011-08-03  Uros Bizjak  <ubizjak@gmail.com>
10528
10529	* config/linux/proc.h: New.
10530	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
10531	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
10532	(gomp_init_num_threads): Update call to cpuset_popcount.
10533	(get_num_procs): Ditto.
10534	* config/linux/affinity.c (gomp_init_affinity): Call
10535	gomp_cpuset_popcount.
10536
105372011-08-02  Jakub Jelinek  <jakub@redhat.com>
10538
10539	PR fortran/42041
10540	PR fortran/46752
10541	* omp.h.in (omp_in_final): New prototype.
10542	* omp_lib.f90.in (omp_in_final): New interface.
10543	(omp_integer_kind, omp_logical_kind): Remove
10544	and replace all its uses in the module with 4.
10545	(openmp_version): Change to 201107.
10546	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
10547	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
10548	kind for the parameters.
10549	(omp_in_final): New external.
10550	(openmp_version): Change to 201107.
10551	* task.c (omp_in_final): New function.
10552	(gomp_init_task): Initialize final_task.
10553	(GOMP_task): Remove unused attribute from flags.  Handle final
10554	tasks.
10555	(GOMP_taskyield): New function.
10556	(omp_in_final): Return true if if (false) or final (true) task
10557	or descendant of final (true).
10558	* fortran.c (omp_in_final_): New function.
10559	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
10560	(GOMP_3.0): Export GOMP_taskyield.
10561	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
10562	variables.
10563	(parse_unsigned_long_list): New function.
10564	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
10565	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
10566	even if parse_affinity returned false.
10567	* config/linux/affinity.c (gomp_init_affinity): Handle
10568	gomp_cpu_affinity_len == 0.
10569	* libgomp_g.h (GOMP_taskyield): New prototype.
10570	* libgomp.h (struct gomp_task): Add final_task field.
10571	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
10572	* team.c (gomp_team_start): Override new task's nthreads_var icv
10573	if list form OMP_NUM_THREADS has been used and it has value for
10574	the new nesting level.
10575
10576	* testsuite/libgomp.c/atomic-11.c: New test.
10577	* testsuite/libgomp.c/atomic-12.c: New test.
10578	* testsuite/libgomp.c/atomic-13.c: New test.
10579	* testsuite/libgomp.c/atomic-14.c: New test.
10580	* testsuite/libgomp.c/reduction-6.c: New test.
10581	* testsuite/libgomp.c/task-5.c: New test.
10582	* testsuite/libgomp.c++/atomic-2.C: New test.
10583	* testsuite/libgomp.c++/atomic-3.C: New test.
10584	* testsuite/libgomp.c++/atomic-4.C: New test.
10585	* testsuite/libgomp.c++/atomic-5.C: New test.
10586	* testsuite/libgomp.c++/atomic-6.C: New test.
10587	* testsuite/libgomp.c++/atomic-7.C: New test.
10588	* testsuite/libgomp.c++/atomic-8.C: New test.
10589	* testsuite/libgomp.c++/atomic-9.C: New test.
10590	* testsuite/libgomp.c++/task-8.C: New test.
10591	* testsuite/libgomp.c++/reduction-4.C: New test.
10592	* testsuite/libgomp.fortran/allocatable7.f90: New test.
10593	* testsuite/libgomp.fortran/allocatable8.f90: New test.
10594	* testsuite/libgomp.fortran/crayptr3.f90: New test.
10595	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
10596	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
10597	* testsuite/libgomp.fortran/pointer1.f90: New test.
10598	* testsuite/libgomp.fortran/pointer2.f90: New test.
10599	* testsuite/libgomp.fortran/task4.f90: New test.
10600
106012011-08-02  Tobias Burnus  <burnus@net-b.de>
10602
10603	* libgomp.texi: Update OpenMP spec references to 3.1.
10604	(omp_in_final,OMP_PROC_BIND): New sections.
10605	(OMP_NUM_THREADS): Document that the value can be now a list.
10606	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
10607
106082011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
10609
10610	* config/linux/x86/futex.h: Check __x86_64__ instead of
10611	__LP64__.
10612
106132011-07-29  Jakub Jelinek  <jakub@redhat.com>
10614
10615	PR middle-end/49897
10616	PR middle-end/49898
10617	* testsuite/libgomp.c/pr49897-1.c: New test.
10618	* testsuite/libgomp.c/pr49897-2.c: New test.
10619	* testsuite/libgomp.c/pr49898-1.c: New test.
10620	* testsuite/libgomp.c/pr49898-2.c: New test.
10621
106222011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
10623
10624	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
10625	for ia32 instead of ilp32.
10626
10627	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
10628	* testsuite/libgomp.c/atomic-6.c: Likewise.
10629
106302011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
10631
10632	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
10633	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
10634
106352011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10636
10637	PR libgomp/45351
10638	* config/osf/sem.h: New file.
10639	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
10640
106412011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10642
10643	PR target/49541
10644	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
10645	ldflags.
10646
106472011-07-15  Jakub Jelinek  <jakub@redhat.com>
10648
10649	* config/linux/wait.h (do_spin): New inline, largely copied
10650	from do_wait, just don't do futex_wait here, instead return true if
10651	it should be done.
10652	(do_wait): Implement using do_spin.
10653	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
10654	to prototype.
10655	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10656	__sync_bool_compare_and_swap, pass the oldval to
10657	gomp_mutex_lock_slow.
10658	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
10659	If all mutex contenders are just spinning and not sleeping, don't
10660	change state to 2 unnecessarily.  Optimize the loop when state has
10661	already become 2 to use just one atomic operation per loop instead
10662	of two.
10663	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
10664	to prototype.
10665	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
10666	__sync_bool_compare_and_swap, pass the oldval to
10667	gomp_mutex_lock_slow.
10668
106692011-06-22  Jakub Jelinek  <jakub@redhat.com>
10670
10671	PR libgomp/49490
10672	* iter.c (gomp_iter_static_next): For chunk size 0
10673	only use n ceil/ nthreads size for the first
10674	n % nthreads threads in the team instead of
10675	all threads except for the last few ones which
10676	get less work or none at all.
10677	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
10678	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
10679	chunk argument, set run_sched_modifier to 0 for static
10680	resp. 1 for other kinds.  If chunk argument is 0
10681	and not static, set value to 1.
10682
106832011-05-19  Jakub Jelinek  <jakub@redhat.com>
10684
10685	PR c++/49043
10686	* testsuite/libgomp.c++/pr49043.C: New test.
10687
10688	PR c++/48869
10689	* testsuite/libgomp.c++/pr48869.C: New test.
10690
106912011-05-06  Jakub Jelinek  <jakub@redhat.com>
10692
10693	PR fortran/48894
10694	* fortran.c: Include limits.h.
10695	(TO_INT): Define.
10696	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
10697	*set.
10698	(omp_set_num_threads_8_, omp_set_schedule_8_,
10699	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
10700	omp_get_team_size_8_): Use TO_INT macro.
10701	* testsuite/libgomp.fortran/pr48894.f90: New test.
10702
107032011-04-13  Jakub Jelinek  <jakub@redhat.com>
10704
10705	PR middle-end/48591
10706	* testsuite/libgomp.c/pr48591.c: New test.
10707
107082011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10709
10710	PR bootstrap/48135
10711	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
10712	* configure: Regenerate.
10713
107142011-02-27  Jakub Jelinek  <jakub@redhat.com>
10715
10716	PR fortran/47886
10717	* testsuite/libgomp.fortran/task3.f90: New test.
10718
107192011-02-24  Tobias Burnus  <burnus@net-b.de>
10720
10721	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
10722
107232011-02-23  Jakub Jelinek  <jakub@redhat.com>
10724
10725	PR libgomp/47854
10726	* libgomp.texi (omp_get_wtime): Don't say time in the past
10727	must be Unix Epoch.
10728
107292011-02-18  Jakub Jelinek  <jakub@redhat.com>
10730
10731	PR libgomp/47804
10732	* testsuite/libgomp.fortran/fortran.exp: Check for both
10733	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
10734	but $blddir != "", still append ${blddir}/${lang_library_path}
10735	to ld_library_path.
10736
107372011-02-16  Tobias Burnus  <burnus@net-b.de>
10738
10739	PR libgomp/47758
10740	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
10741	of libquadmath.a before adding its libpath to ldflags.
10742
107432011-02-14  Jakub Jelinek  <jakub@redhat.com>
10744
10745	PR libgomp/47731
10746	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
10747	to FUTEX_WAIT futex syscall.
10748	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
10749
107502011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10751
10752	* configure: Regenerate.
10753
107542011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
10755
10756	PR libstdc++/36104
10757	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
10758
107592011-01-16  Gerald Pfeifer
10760
10761	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
10762
107632010-12-14  Jakub Jelinek  <jakub@redhat.com>
10764
10765	PR fortran/46874
10766	* libgomp.fortran/allocatable6.f90: New test.
10767
107682010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10769
10770	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
10771	* configure: Regenerate.
10772
107732010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
10774
10775	PR target/40125
10776	PR lto/46695
10777	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
10778	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
10779	* aclocal.m4: Regenerate.
10780	* configure: Regenerate.
10781	* Makefile.in: Regenerate.
10782	* testsuite/Makefile.in: Regenerate.
10783
107842010-12-02  Jakub Jelinek  <jakub@redhat.com>
10785
10786	PR fortran/46753
10787	* libgomp.fortran/pr46753.f90: New test.
10788
10789	PR libgomp/43706
10790	* env.c (initialize_env): Default to spin count 300000
10791	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
10792	is specified.
10793
10794	PR libgomp/45240
10795	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
10796	at the end if sync builtins aren't supported.
10797
107982010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10799
10800	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
10801
108022010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10803
10804	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
10805
108062010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
10807
10808	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
10809
108102010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
10811	    Tobias Burnus  <burnus@net-b.de>
10812
10813	PR fortran/32049
10814	* configure.ac:
10815	* configure: Regenerate.
10816
108172010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
10818
10819	* config/linux/futex.h: New.
10820	* config/linux/arm/mutex.h: New.
10821	* configure.tgt (arm*-*-linux*): Add config path.
10822
108232010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
10824
10825	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10826
108272010-09-23  Tobias Burnus  <burnus@net-b.de>
10828
10829	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
10830	Change Fortran datatype to LOGICAL.
10831	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
10832	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
10833
108342010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10835
10836	* configure: Regenerate.
10837
108382010-07-26  Jakub Jelinek  <jakub@redhat.com>
10839
10840	* libgomp.texi: Add function keyword to a couple of Fortran
10841	interfaces, use integer instead of int for Fortran.
10842
108432010-07-26  Aldy Hernandez  <aldyh@redhat.com>
10844
10845	* libgomp.texi: Fix spelling and pasto problems throughout.
10846	Adjust prototypes to match code.
10847
108482010-07-24  Tobias Burnus  <burnus@net-b.de>
10849
10850	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
10851	silence -fwhole-file warning.
10852
108532010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10854
10855	* configure.tgt (*-*-solaris2.[56]*): Removed.
10856
108572010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10858
10859	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
10860	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
10861	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
10862	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
10863	targetting solaris2*.
10864	* configure: Regenerate.
10865	* config.h.in: Regenerate.
10866
10867	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
10868	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
10869	Add libgomp_version_dep.
10870	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
10871	versioning.
10872	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
10873	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
10874	* Makefile.in: Regenerate.
10875
10876	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
10877	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10878	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
10879	to common block, protected by
10880	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
10881
108822010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
10883
10884	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
10885
108862010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
10887
10888	PR bootstrap/43170
10889	* configure: Regenerate.
10890
108912010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10892
10893	PR other/43620
10894	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
10895	* configure: Regenerate.
10896	* Makefile.in: Regenerate.
10897	* testsuite/Makefile.in: Regenerate.
10898
108992010-04-26  Jakub Jelinek  <jakub@redhat.com>
10900
10901	PR c/43893
10902	* testsuite/libgomp.c/pr43893.c: New test.
10903	* testsuite/libgomp.c++/pr43893.C: New test.
10904
109052010-04-21  Jakub Jelinek  <jakub@redhat.com>
10906
10907	PR middle-end/43570
10908	* testsuite/libgomp.fortran/vla8.f90: New test.
10909
109102010-04-20  Jakub Jelinek  <jakub@redhat.com>
10911
10912	PR libgomp/43706
10913	* config/linux/affinity.c (gomp_init_affinity): Decrease
10914	gomp_available_cpus if affinity mask confines the process to fewer
10915	CPUs.
10916	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
10917	non-NULL, just return gomp_available_cpus.
10918
10919	PR libgomp/43569
10920	* sections.c (gomp_sections_init): Initialize ws->mode.
10921
109222010-04-14  Uros Bizjak  <ubizjak@gmail.com>
10923
10924	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
10925	not unused bar variable.
10926	* configure: Regenerate.
10927
109282010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10929
10930	* Makefile.in: Regenerate.
10931	* aclocal.m4: Regenerate.
10932	* testsuite/Makefile.in: Regenerate.
10933
109342010-03-22  Jakub Jelinek  <jakub@redhat.com>
10935
10936	PR libgomp/42942
10937	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
10938	(initialize_env): Adjust callers.
10939	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
10940	when the argument is 0.
10941
10942	* testsuite/libgomp.c/pr42942.c: New test.
10943
109442010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
10945
10946	PR middle-end/42644
10947	PR middle-end/42130
10948	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10949	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
10950
109512010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10952
10953	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
10954	* testsuite/libgomp.c++/task-6.C: Likewise.
10955
109562010-01-28  Steve Ellcey  <sje@cup.hp.com>
10957
10958	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
10959
109602010-01-26  Paolo Bonzini  <bonzini@gnu.org>
10961
10962	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
10963	* configure: Regenerate.
10964
109652010-01-26  Jakub Jelinek  <jakub@redhat.com>
10966
10967	PR fortran/42866
10968	* testsuite/libgomp.fortran/allocatable5.f90: New test.
10969
109702010-01-20  Paolo Bonzini  <bonzini@gnu.org>
10971
10972	* configure.ac: Test for executability of GFORTRAN.
10973	* configure: Regenerate.
10974
109752010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10976
10977	* configure: Regenerate.
10978
109792010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
10980
10981	PR libgomp/42602
10982	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
10983
109842010-01-03  Richard Guenther  <rguenther@suse.de>
10985
10986	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
10987
109882009-12-23  Sebastian Pop  <sebpop@gmail.com>
10989
10990	* testsuite/libgomp.graphite/pr4118.c: New.
10991
109922009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
10993
10994	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10995	for darwin, protect the test with require-effective-target tls_runtime.
10996	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
10997
109982009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
10999
11000	PR target/41605
11001	* testsuite/lib/libgomp.exp: Provide -B options to allow for
11002	link spec %s substitutions for static libraries.
11003
110042009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
11005
11006	PR testsuite/42135
11007	* libgomp.graphite/force-parallel-2.c: Reduce array size.
11008
110092009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11010
11011	* Makefile.in: Regenerate.
11012	* configure: Regenerate.
11013	* testsuite/Makefile.in: Regenerate.
11014
110152009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
11016
11017	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11018	settings for LC_ALL and LANG.
11019
110202009-11-25  Jakub Jelinek  <jakub@redhat.com>
11021
11022	PR fortran/42162
11023	* testsuite/libgomp.fortran/pr42162.f90: New test.
11024
110252009-11-13  Jakub Jelinek  <jakub@redhat.com>
11026
11027	PR middle-end/42029
11028	* testsuite/libgomp.c/pr42029.c: New test.
11029
110302009-10-26  Jakub Jelinek  <jakub@redhat.com>
11031
11032	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11033	*s.  Accept ld version without text in ()s.
11034	* configure: Regenerated.
11035
110362009-10-22  Razya Ladelsky  <razya@il.ibm.com>
11037
11038	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11039
110402009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11041
11042	PR libgomp/41418
11043	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11044	or a hyphen (happens with fortran language disabled).
11045	* configure: Regenerate.
11046
110472009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11048
11049	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11050	use sed script portable to Solaris /bin/sed for extracting ld
11051	version.
11052	* configure: Regenerate.
11053
110542009-09-17  Alexander Monakov  <amonakov@ispras.ru>
11055
11056	* testsuite/libgomp.graphite/bounds.c: New test.
11057
110582009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11059
11060	* Makefile.am (libgomp_la_LINK): New.
11061	* Makefile.in: Regenerate.
11062
110632009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11064
11065	* configure.ac (AC_PREREQ): Bump to 2.64.
11066
110672009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11068
11069	* Makefile.am (install-html, install-pdf): Remove.
11070	* Makefile.in: Regenerate.
11071
11072	* Makefile.in: Regenerate.
11073	* aclocal.m4: Regenerate.
11074	* config.h.in: Regenerate.
11075	* configure: Regenerate.
11076	* testsuite/Makefile.in: Regenerate.
11077
110782009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11079
11080	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11081	* Makefile.in: Regenerate.
11082
110832009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
11084
11085	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11086	* Makefile.in: Regenerate.
11087
110882009-08-19  Tobias Burnus  <burnus@net-b.de>
11089
11090	PR fortran/41102
11091	omp_lib.h.in: Fix -std=f95 errors.
11092
110932009-08-14  David Edelsohn  <edelsohn@gnu.org>
11094
11095	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11096	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11097	* testsuite/libgomp.graphite/graphite.exp: New.
11098
110992009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
11100
11101	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11102	only build.
11103
111042009-08-04  David Daney  <ddaney@caviumnetworks.com>
11105
11106	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11107	needed memory barrier semantics.
11108	* config/linux/mips/mutex.h: New file.
11109
111102009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11111
11112	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11113
111142009-07-16  Joseph Myers  <joseph@codesourcery.com>
11115
11116	* configure: Regenerate.
11117
111182009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
11119
11120	PR testsuite/40699
11121	PR testsuite/40707
11122	PR testsuite/40709
11123	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11124	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11125	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11126
111272009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
11128
11129	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11130	options when choosing a multilib.
11131
111322009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
11133
11134	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11135	ld_library_path.  Use add_path.  Add just find_libgcc_s to
11136	ld_library_path, not every libgcc multilib directory.
11137	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11138	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11139	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11140	Use add_path.
11141	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11142
111432009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
11144
11145	* Makefile.am (LTLDFLAGS): Define.
11146	(LINK): Define.
11147	* Makefile.in: Regenerate.
11148
111492009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
11150
11151	PR fortran/39718
11152	* testsuite/libgomp.fortran/fortran.exp: Don't link with
11153	libgfortranbegin, check existence of libgfortran.a instead of
11154	libgfortranbegin.a.
11155
111562009-05-20  Jakub Jelinek  <jakub@redhat.com>
11157
11158	PR libgomp/40174
11159	* team.c (gomp_thread_start): Destroy thr->release semaphore.
11160	(gomp_free_pool_helper): Likewise.
11161
111622009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
11163	    Jakub Jelinek  <jakub@redhat.com>
11164
11165	PR fortran/35423
11166	* testsuite/libgomp.fortran/workshare2.f90: New test.
11167
111682009-04-09  Nick Clifton  <nickc@redhat.com>
11169
11170	* iter.c: Change copyright header to refer to version 3 of the
11171	GNU General Public License with version 3.1 of the GCC Runtime
11172	Library Exception and to point readers at the COPYING3 and
11173	COPYING3.RUNTIME files and the FSF's license web page.
11174	* alloc.c: Likewise.
11175	* barrier.c: Likewise.
11176	* config/bsd/proc.c: Likewise.
11177	* config/linux/affinity.c: Likewise.
11178	* config/linux/alpha/futex.h: Likewise.
11179	* config/linux/bar.c: Likewise.
11180	* config/linux/bar.h: Likewise.
11181	* config/linux/ia64/futex.h: Likewise.
11182	* config/linux/ia64/mutex.h: Likewise.
11183	* config/linux/lock.c: Likewise.
11184	* config/linux/mips/futex.h: Likewise.
11185	* config/linux/mutex.c: Likewise.
11186	* config/linux/mutex.h: Likewise.
11187	* config/linux/powerpc/futex.h: Likewise.
11188	* config/linux/proc.c: Likewise.
11189	* config/linux/ptrlock.c: Likewise.
11190	* config/linux/ptrlock.h: Likewise.
11191	* config/linux/s390/futex.h: Likewise.
11192	* config/linux/sem.c: Likewise.
11193	* config/linux/sem.h: Likewise.
11194	* config/linux/sparc/futex.h: Likewise.
11195	* config/linux/wait.h: Likewise.
11196	* config/linux/x86/futex.h: Likewise.
11197	* config/mingw32/proc.c: Likewise.
11198	* config/mingw32/time.c: Likewise.
11199	* config/posix/affinity.c: Likewise.
11200	* config/posix/bar.c: Likewise.
11201	* config/posix/bar.h: Likewise.
11202	* config/posix/lock.c: Likewise.
11203	* config/posix/mutex.h: Likewise.
11204	* config/posix/proc.c: Likewise.
11205	* config/posix/ptrlock.h: Likewise.
11206	* config/posix/sem.c: Likewise.
11207	* config/posix/sem.h: Likewise.
11208	* config/posix/time.c: Likewise.
11209	* config/posix95/lock.c: Likewise.
11210	* critical.c: Likewise.
11211	* env.c: Likewise.
11212	* error.c: Likewise.
11213	* fortran.c: Likewise.
11214	* iter_ull.c: Likewise.
11215	* libgomp.h: Likewise.
11216	* libgomp_f.h.in: Likewise.
11217	* libgomp_g.h: Likewise.
11218	* loop.c: Likewise.
11219	* loop_ull.c: Likewise.
11220	* omp.h.in: Likewise.
11221	* omp_lib.f90.in: Likewise.
11222	* omp_lib.h.in: Likewise.
11223	* ordered.c: Likewise.
11224	* parallel.c: Likewise.
11225	* sections.c: Likewise.
11226	* single.c: Likewise.
11227	* task.c: Likewise.
11228	* team.c: Likewise.
11229	* work.c: Likewise.
11230
112312009-04-09  Jakub Jelinek  <jakub@redhat.com>
11232
11233	* testsuite/config/default.exp: Change copyright header to refer to
11234	version 3 of the GNU General Public License and to point readers
11235	at the COPYING3 file and the FSF's license web page.
11236
112372009-04-08  Jakub Jelinek  <jakub@redhat.com>
11238
11239	PR middle-end/39573
11240	* libgomp.c++/pr39573.C: New test.
11241
112422009-04-01  Jakub Jelinek  <jakub@redhat.com>
11243
11244	PR other/39591
11245	* testsuite/libgomp.c/pr39591-1.c: New test.
11246	* testsuite/libgomp.c/pr39591-2.c: New test.
11247	* testsuite/libgomp.c/pr39591-3.c: New test.
11248
112492009-03-25  Uros Bizjak  <ubizjak@gmail.com>
11250
11251	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11252	* testsuite/libgomp.c/atomic-6.c: Ditto.
11253
112542009-03-23  Jakub Jelinek  <jakub@redhat.com>
11255
11256	PR c/39495
11257	* testsuite/libgomp.c/loop-12.c: New test.
11258	* testsuite/libgomp.c/loop-11.c: New test.
11259	* testsuite/libgomp.c++/loop-11.C: New test.
11260	* testsuite/libgomp.c++/loop-12.C: New test.
11261	* testsuite/libgomp.c++/for-8.C: New test.
11262
112632009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11264
11265	* configure: Regenerate.
11266
112672009-02-11  Jakub Jelinek  <jakub@redhat.com>
11268
11269	PR middle-end/39154
11270	* testsuite/libgomp.c/pr39154.c: New test.
11271
112722009-01-30  Ian Lance Taylor  <iant@google.com>
11273
11274	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11275	libgomp_ld_is_gold.  Get gold version number.
11276	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11277	* configure: Rebuild.
11278
112792009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11280
11281	* testsuite/lib/libgomp.exp: Add -B option for targets that
11282	use libgfortran.a%s in their specs.
11283
112842009-01-07  Jakub Jelinek  <jakub@redhat.com>
11285
11286	PR libgomp/38086
11287	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11288	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11289	HAVE_AS_SYMVER_DIRECTIVE is not defined.
11290	* configure: Regenerated.
11291	* config.h.in: Likewise.
11292
112932008-12-28  Jakub Jelinek  <jakub@redhat.com>
11294
11295	PR c++/38650
11296	* testsuite/libgomp.c/pr38650.c: New test.
11297	* testsuite/libgomp.c++/pr38650.C: New test.
11298
112992008-12-27  Jakub Jelinek  <jakub@redhat.com>
11300
11301	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11302
113032008-12-26  Uros Bizjak  <ubizjak@gmail.com>
11304
11305	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11306
113072008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11308
11309	* configure: Regenerate.
11310
113112008-12-08  Jakub Jelinek  <jakub@redhat.com>
11312
11313	PR middle-end/36802
11314	* testsuite/libgomp.c/pr36802-1.c: New test.
11315	* testsuite/libgomp.c/pr36802-2.c: New test.
11316	* testsuite/libgomp.c/pr36802-3.c: New test.
11317
113182008-12-01  Janis Johnson  <janis187@us.ibm.com>
11319
11320	PR libgomp/38270
11321	* config/linux/powerpc/mutex.h: New.
11322
113232008-12-01  Jakub Jelinek  <jakub@redhat.com>
11324
11325	PR c++/38257
11326	* testsuite/libgomp.c++/for-7.C: New test.
11327
11328	PR c++/38348
11329	* testsuite/libgomp.c++/for-6.C: New test.
11330
113312008-11-26  Janis Johnson  <janis187@us.ibm.com>
11332
11333	PR testsuite/28870
11334	* testsuite/lib/libgomp.exp: Include new timeout library files.
11335	(libgomp_target_compile): Set timeout value from new proc.
11336
113372008-11-13  Steve Ellcey  <sje@cup.hp.com>
11338
11339	PR libgomp/37938
11340	* config/linux/ia64/mutex.h: New.
11341
113422008-11-04  Tobias Burnus  <burnus@net-b.de>
11343
11344	PR libgomp/37935
11345	* libgomp.texi (Runtime library routines, environment variables):
11346	Update for OpenMP version 3.0.
11347
113482008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
11349	    Steve Ellcey  <sje@cup.hp.com>
11350
11351	* configure: Regenerate for new libtool.
11352	* Makefile.in: Ditto.
11353	* testsuite/Makefile.in: Ditto.
11354
113552008-09-19  Jakub Jelinek  <jakub@redhat.com>
11356	    Andreas Tobler  <a.tobler@schweiz.org>
11357
11358	* config/bsd/proc.c: New file.
11359	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
11360	* configure.ac: Check for header <sys/sysctl.h>
11361	* configure: Regenerate.
11362	* config.h.in: Likewise.
11363
113642008-09-05  Janis Johnson  <janis187@us.ibm.com>
11365
11366	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
11367
113682008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
11369
11370	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
11371	* Makefile.in: Regenerated.
11372	* testsuite/Makefile.in: Regenerated.
11373
113742008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
11375
11376	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
11377	depend on blddir if blddir exists.
11378	(libgomp_target_compile): Likewise.
11379	* testsuite/libgomp.c++/c++.exp: Likewise.
11380	* testsuite/libgomp.fortran/fortran.exp: Likewise.
11381
113822008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11383
11384	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
11385	Do not list GPL as Invariant Section.
11386
113872008-07-28  Ilie Garbacea  <ilie@mips.com>
11388	    Chao-ying Fu  <fu@mips.com>
11389
11390	* configure.tgt: Enable futex for MIPS.
11391	* config/linux/mips/futex.h: New file.
11392
113932008-07-16  Jakub Jelinek  <jakub@redhat.com>
11394
11395	* team.c (gomp_team_end): Free team immediately if it has
11396	just one thread.
11397
113982008-07-08  David Edelsohn  <edelsohn@gnu.org>
11399
11400	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
11401	* testsuite/libgomp.fortran/fortran.exp: Same.
11402	* testsuite/libgomp.c/c.exp: Same.
11403	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
11404	directory to library path first.
11405
114062008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
11407
11408	* env.c (parse_stacksize): Add cast to avoid warning.
11409	(parse_spincount): Likewise.
11410
114112008-06-27  Jakub Jelinek  <jakub@redhat.com>
11412
11413	* testsuite/libgomp.c/loop-10.c: New test.
11414	* libgomp.c/loop-3.c (main): Add lastprivate clause.
11415	* libgomp.c++/loop-6.C (main): Likewise.
11416
11417	PR debug/36617
11418	* testsuite/libgomp.c/debug-1.c: New test.
11419
114202008-06-19  Jakub Jelinek  <jakub@redhat.com>
11421
11422	* testsuite/libgomp.c/nqueens-1.c: New test.
11423
11424	PR c++/36523
11425	* testsuite/libgomp.c++/task-7.C: New function.
11426
114272008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11428
11429	* configure: Regenerate.
11430
114312008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11432
11433	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
11434	mutex when HAVE_SYNC_BUILTINS isn't defined.
11435
114362008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11437
11438	* libgomp.texi (omp_test_lock): Fix typo.
11439
114402008-06-12  Tobias Burnus  <burnus@net-b.de>
11441
11442	* omp_lib.f90.in: Add "implicit none".
11443
114442008-06-12  Jakub Jelinek  <jakub@redhat.com>
11445
11446	PR middle-end/36506
11447	* testsuite/libgomp.c/reduction-5.c: New test.
11448
114492008-06-11  Jakub Jelinek  <jakub@redhat.com>
11450
11451	* libgomp.h (struct gomp_task): Add in_tied_task field.
11452	* task.c (gomp_init_task): Initialize it.
11453	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
11454	unconditionally.  Don't call gomp_team_barrier_wake if
11455	current task is implicit or if(0) from implicit and number of
11456	running tasks is equal to nthreads - 1.
11457
11458	PR libgomp/36471
11459	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
11460	omp_get_team_size_8): Fix pastos.
11461
11462	PR libgomp/36469
11463	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
11464	* configure: Regenerated.
11465	* config.h.in: Regenerated.
11466	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
11467	defined.
11468
114692008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
11470
11471	PR bootstrap/36452
11472	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
11473	(GOMP_loop_ull_dynamic_start): Likewise.
11474	(GOMP_loop_ull_guided_start): Likewise.
11475	(GOMP_loop_ull_ordered_static_start): Likewise.
11476	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
11477	(GOMP_loop_ull_ordered_guided_start): Likewise.
11478
114792008-06-06  Jakub Jelinek  <jakub@redhat.com>
11480	    Richard Henderson  <rth@redhat.com>
11481	    Ulrich Drepper  <drepper@redhat.com>
11482	    Jakob Blomer  <jakob.blomer@ira.uka.de>
11483
11484	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
11485	Substitute also OMP_*LOCK_25*.
11486	* configure: Regenerated.
11487	* config.h.in: Regenerated.
11488	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
11489	ptrlock.c and task.c.
11490	* Makefile.in: Regenerated.
11491	* testsuite/Makefile.in: Regenerated.
11492	* task.c: New file.
11493	* loop_ull.c: New file.
11494	* iter_ull.c: New file.
11495	* libgomp.h: Include ptrlock.h.
11496	(enum gomp_task_kind): New type.
11497	(struct gomp_team): Add task_lock, task_queue, task_count,
11498	task_running_count, single_count fields.  Add
11499	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
11500	Remove work_share_lock, generation_mask,
11501	oldest_live_gen, num_live_gen and init_work_shares fields, add
11502	work work_share_list_alloc, work_share_list_free and work_share_chunk
11503	fields.  Change work_shares from pointer to pointers into an array.
11504	Change ordered_release field into gomp_sem_t ** from flexible array
11505	member.  Add implicit_task and initial_work_shares fields.
11506	Move close to the end of the struct.
11507	(struct gomp_team_state): Add single_count, last_work_share,
11508	active_level and level fields, remove work_share_generation.
11509	(gomp_barrier_handle_tasks): New prototype.
11510	(gomp_finish_task): New inline function.
11511	(struct gomp_work_share): Move chunk_size, end, incr into
11512	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
11513	next_ll fields.  Reshuffle fields.  Add next_alloc,
11514	next_ws, next_free and inline_ordered_team_ids fields, change
11515	ordered_team_ids into pointer from flexible array member.
11516	Add mode field.  Put lock and next into a different cache line
11517	from most of the write-once fields.
11518	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
11519	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
11520	gomp_iter_ull_guided_next): New prototypes.
11521	(gomp_new_icv): New prototype.
11522	(struct gomp_thread): Add thread_pool and task fields.
11523	(struct gomp_thread_pool): New type.
11524	(gomp_new_team): New prototype.
11525	(gomp_team_start): Change type of last argument.
11526	(gomp_new_work_share): Removed.
11527	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
11528	(gomp_work_share_init_done): New static inline.
11529	(gomp_throttled_spin_count_var, gomp_available_cpus,
11530	gomp_managed_threads): New extern decls.
11531	(gomp_init_task): New prototype.
11532	(gomp_spin_count_var): New extern var decl.
11533	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
11534	or no alias support, or if not PIC.
11535	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
11536	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
11537	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
11538	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
11539	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
11540	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
11541	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
11542	gomp_test_nest_lock_25): New prototypes.
11543	(omp_lock_symver, strong_alias): Define.
11544	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
11545	decls.
11546	(gomp_end_task): New.
11547	(struct gomp_task_icv, gomp_global_icv): New.
11548	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
11549	(struct gomp_task): New.
11550	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11551	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11552	(gomp_icv): New.
11553	(gomp_schedule_type): Reorder enum to match
11554	omp_sched_t.
11555	* team.c (struct gomp_thread_start_data): Add thread_pool and task
11556	fields.
11557	(gomp_thread_start): Add gomp_team_barrier_wait call.
11558	For non-nested case remove clearing of docked thread thr fields.
11559	Use pool fields instead of global gomp_* variables.  Use
11560	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
11561	Create tasks for each member thread.
11562	(free_team): Only destroy team barrier, task_lock here and free it.
11563	(gomp_free_thread): Free last_team if non-NULL.
11564	(gomp_team_end): Call gomp_team_barrier_wait instead of
11565	gomp_barrier_wait.  For nested case call one extra
11566	gomp_barrier_wait.  Move here some destruction from free_team.
11567	Call free_team on pool->last_team if any, rather than freeing
11568	current team.  Destroy work_share_list_free_lock ifndef
11569	HAVE_SYNC_BUILTINS.
11570	(gomp_new_icv): New function.
11571	(gomp_threads, gomp_threads_size, gomp_threads_used,
11572	gomp_threads_dock): Removed.
11573	(gomp_thread_destructor): New variable.
11574	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
11575	functions.
11576	(gomp_team_start): Create new pool if current thread doesn't have
11577	one.  Use pool fields instead of global gomp_* variables.
11578	Initialize thread_pool field for new threads.  Clear single_count.
11579	Change last argument from ws to team, don't create
11580	new team, set ts.work_share to &team->work_shares[0] and clear
11581	ts.last_work_share.  Don't clear ts.work_share_generation.
11582	If number of threads changed, adjust atomically gomp_managed_threads.
11583	Use gomp_init_task instead of gomp_new_task,
11584	set thr->task to the corresponding implicit_task array entry.
11585	Create tasks for each member thread.  Initialize ts.level.
11586	(initialize_team): Call pthread_key_create on
11587	gomp_thread_destructor.
11588	(team_destructor): New function.
11589	(new_team): Removed.
11590	(gomp_new_team): New function.
11591	(free_team): Free gomp_work_share blocks chained through next_alloc,
11592	instead of freeing work_shares and destroying work_share_lock.
11593	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
11594	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
11595	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
11596	of gomp_barrier_wait.
11597	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
11598	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
11599	if gomp_work_share_start returned true.  Don't unlock ws->lock.
11600	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
11601	of gomp_barrier_wait.
11602	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
11603	gomp_work_share_init_done if gomp_work_share_start returned true.
11604	Don't unlock ws->lock.
11605	* work.c: Include stddef.h.
11606	(free_work_share): Use work_share_list_free_lock instead
11607	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
11608	Call gomp_fini_work_share and then either free ws if orphaned, or
11609	put it into work_share_list_free list of the current team.
11610	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
11611	functions.
11612	(gomp_work_share_start, gomp_work_share_end,
11613	gomp_work_share_end_nowait): Rewritten.
11614	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
11615	(openmp_version): Set to 200805.
11616	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11617	omp_sched_guided, omp_sched_auto): New parameters.
11618	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11619	omp_set_max_active_levels, omp_get_max_active_levels,
11620	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11621	omp_get_active_level): New interfaces.
11622	* omp_lib.h.in (openmp_version): Set to 200805.
11623	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
11624	omp_sched_guided, omp_sched_auto): New parameters.
11625	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11626	omp_set_max_active_levels, omp_get_max_active_levels,
11627	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11628	omp_get_active_level): New externals.
11629	* loop.c: Include limits.h.
11630	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
11631	GFS_AUTO.
11632	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
11633	Likewise.  Use gomp_icv.
11634	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
11635	ts.static_trip here.
11636	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
11637	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
11638	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
11639	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
11640	don't unlock ws->lock, otherwise lock it.
11641	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
11642	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
11643	(gomp_parallel_loop_start): Call gomp_new_team instead of
11644	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
11645	Adjust gomp_team_start caller.  Pass 0 as second argument to
11646	gomp_resolve_num_threads.
11647	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
11648	If adding ws->chunk_size nthreads + 1 times after end won't
11649	overflow, set ws->mode to 1.
11650	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
11651	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
11652	GOMP_loop_ull_ordered_static_start,
11653	GOMP_loop_ull_ordered_dynamic_start,
11654	GOMP_loop_ull_ordered_guided_start,
11655	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
11656	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
11657	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
11658	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
11659	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
11660	prototypes.
11661	* libgomp.map: Export lock routines also @@OMP_2.0.
11662	(GOMP_loop_ordered_dynamic_first,
11663	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
11664	GOMP_loop_ordered_static_first): Remove.
11665	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
11666	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
11667	GOMP_loop_ull_ordered_dynamic_next,
11668	GOMP_loop_ull_ordered_dynamic_start,
11669	GOMP_loop_ull_ordered_guided_next,
11670	GOMP_loop_ull_ordered_guided_start,
11671	GOMP_loop_ull_ordered_runtime_next,
11672	GOMP_loop_ull_ordered_runtime_start,
11673	GOMP_loop_ull_ordered_static_next,
11674	GOMP_loop_ull_ordered_static_start,
11675	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
11676	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
11677	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
11678	(omp_set_schedule, omp_get_schedule,
11679	omp_get_thread_limit, omp_set_max_active_levels,
11680	omp_get_max_active_levels, omp_get_level,
11681	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
11682	omp_set_schedule_, omp_set_schedule_8_,
11683	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11684	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11685	omp_get_max_active_levels_, omp_get_level_,
11686	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11687	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11688	New exports @@OMP_3.0.
11689	* omp.h.in (omp_sched_t): New type.
11690	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11691	omp_set_max_active_levels, omp_get_max_active_levels,
11692	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
11693	omp_get_active_level): New prototypes.
11694	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
11695	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
11696	gomp_thread_limit_var, gomp_remaining_threads_count,
11697	gomp_remaining_threads_lock): New variables.
11698	(parse_spincount): New function.
11699	(initialize_env): Call gomp_init_num_threads unconditionally.
11700	Initialize gomp_available_cpus.  Call parse_spincount,
11701	initialize gomp_{,throttled_}spin_count_var
11702	depending on presence and value of OMP_WAIT_POLICY and
11703	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
11704	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
11705	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
11706	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
11707	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
11708	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
11709	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
11710	(gomp_global_icv): New.
11711	(parse_schedule): Use it.  Parse "auto".
11712	(omp_set_num_threads): Use gomp_icv.
11713	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
11714	Likewise.
11715	(omp_get_max_threads): Move from parallel.c.
11716	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
11717	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
11718	add ialias.
11719	(parse_stacksize, parse_wait_policy): New functions.
11720	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
11721	both wrappers for compatibility and new locks.
11722	(omp_set_schedule, omp_get_schedule,
11723	omp_get_thread_limit, omp_set_max_active_levels,
11724	omp_get_max_active_levels, omp_get_level,
11725	omp_get_ancestor_thread_num, omp_get_team_size,
11726	omp_get_active_level): New ialias_redirect.
11727	(omp_set_schedule_, omp_set_schedule_8_,
11728	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
11729	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
11730	omp_get_max_active_levels_, omp_get_level_,
11731	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
11732	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
11733	New functions.
11734	* parallel.c: Include limits.h.
11735	(gomp_resolve_num_threads): Add count argument.  Rewritten.
11736	(GOMP_parallel_start): Call gomp_new_team and pass that as last
11737	argument to gomp_team_start.  Pass 0 as second argument to
11738	gomp_resolve_num_threads.
11739	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
11740	if gomp_thread_limit_var != ULONG_MAX.
11741	(omp_in_parallel): Implement using ts.active_level.
11742	(omp_get_max_threads): Move to env.c.
11743	(omp_get_level, omp_get_ancestor_thread_num,
11744	omp_get_team_size, omp_get_active_level): New functions,
11745	add ialias.
11746	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
11747	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
11748	gomp_iter_dynamic_next instead of the _locked variant and don't take
11749	lock around it, otherwise acquire it before calling
11750	gomp_iter_dynamic_next_locked.
11751	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
11752	gomp_iter_dynamic_next instead of the _locked variant and don't take
11753	lock around it.
11754	(GOMP_parallel_sections_start): Call gomp_new_team instead of
11755	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
11756	Adjust gomp_team_start caller.  Pass count as second argument to
11757	gomp_resolve_num_threads, don't adjust num_threads after the call.
11758	Use gomp_icv.
11759	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
11760	ws->chunk_size by incr.
11761	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
11762	code.
11763	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
11764	types.
11765	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
11766	(omp_check_defines): Check even the compat defines.
11767	* config/linux/ptrlock.c: New file.
11768	* config/linux/ptrlock.h: New file.
11769	* config/linux/wait.h: New file.
11770	* config/posix/ptrlock.c: New file.
11771	* config/posix/ptrlock.h: New file.
11772	* config/linux/bar.h (gomp_team_barrier_wait,
11773	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11774	(gomp_team_barrier_set_task_pending,
11775	gomp_team_barrier_clear_task_pending,
11776	gomp_team_barrier_set_waiting_for_tasks,
11777	gomp_team_barrier_waiting_for_tasks,
11778	gomp_team_barrier_done): New inlines.
11779	(gomp_barrier_t): Rewritten.
11780	(gomp_barrier_state_t): New typedef.
11781	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
11782	gomp_barrier_wait_start): Rewritten.
11783	(gomp_barrier_wait_end): Change second argument to
11784	gomp_barrier_state_t.
11785	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11786	inlines.
11787	* config/linux/bar.c: Include wait.h instead of libgomp.h and
11788	futex.h.
11789	(gomp_barrier_wait_end): Rewritten.
11790	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11791	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
11792	* config/posix/bar.h (gomp_barrier_t): Add generation field.
11793	(gomp_barrier_state_t): New typedef.
11794	(gomp_team_barrier_wait,
11795	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
11796	(gomp_barrier_wait_start): Or all but low 2 bits from generation
11797	into the return value.  Return gomp_barrier_state_t.
11798	(gomp_team_barrier_set_task_pending,
11799	gomp_team_barrier_clear_task_pending,
11800	gomp_team_barrier_set_waiting_for_tasks,
11801	gomp_team_barrier_waiting_for_tasks,
11802	gomp_team_barrier_done): New inlines.
11803	(gomp_barrier_wait_end): Change second argument to
11804	gomp_barrier_state_t.
11805	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
11806	inlines.
11807	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
11808	(gomp_barrier_wait_end): Change second argument to
11809	gomp_barrier_state_t.
11810	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
11811	gomp_team_barrier_wake): New functions.
11812	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
11813	futex.h.
11814	(gomp_futex_wake, gomp_futex_wait): New variables.
11815	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
11816	* config/linux/lock.c: Rewrite to make locks task owned,
11817	for backwards compatibility provide the old entrypoints
11818	if symbol versioning.  Include wait.h instead of libgomp.h and
11819	futex.h.
11820	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
11821	* config/posix95/lock.c: Rewrite to make locks task owned,
11822	for backwards compatibility provide the old entrypoints
11823	if symbol versioning.
11824	* config/posix/lock.c: Rewrite to make locks task owned,
11825	for backwards compatibility provide the old entrypoints
11826	if symbol versioning.
11827	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
11828	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
11829	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
11830	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11831	(sys_futex0): Return error code.
11832	(futex_wake, futex_wait): If ENOSYS was returned, clear
11833	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11834	(cpu_relax, atomic_write_barrier): New static inlines.
11835	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11836	(futex_wake, futex_wait): If ENOSYS was returned, clear
11837	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11838	(cpu_relax, atomic_write_barrier): New static inlines.
11839	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11840	(sys_futex0): Return error code.
11841	(futex_wake, futex_wait): If ENOSYS was returned, clear
11842	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11843	(cpu_relax, atomic_write_barrier): New static inlines.
11844	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11845	(sys_futex0): Return error code.
11846	(futex_wake, futex_wait): If ENOSYS was returned, clear
11847	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11848	(cpu_relax, atomic_write_barrier): New static inlines.
11849	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11850	(sys_futex0): Return error code.
11851	(futex_wake, futex_wait): If ENOSYS was returned, clear
11852	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11853	(cpu_relax, atomic_write_barrier): New static inlines.
11854	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
11855	(sys_futex0): Return error code.
11856	(futex_wake, futex_wait): If ENOSYS was returned, clear
11857	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
11858	(cpu_relax, atomic_write_barrier): New static inlines.
11859	* config/linux/sem.c: Include wait.h instead of libgomp.h and
11860	futex.h.
11861	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
11862	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
11863	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
11864	types.
11865	(omp_nest_lock_t): Change owner into void *, add lock field.
11866	* config/posix95/omp-lock.h: Include semaphore.h.
11867	(omp_lock_25_t, omp_nest_lock_25_t): New types.
11868	(omp_lock_t): Use sem_t instead of mutex if semaphores
11869	aren't broken.
11870	(omp_nest_lock_t): Likewise.  Change owner to void *.
11871	* config/posix/omp-lock.h: Include semaphore.h.
11872	(omp_lock_25_t, omp_nest_lock_25_t): New types.
11873	(omp_lock_t): Use sem_t instead of mutex if semaphores
11874	aren't broken.
11875	(omp_nest_lock_t): Likewise.  Add owner field.
11876
118772008-06-06  Jakub Jelinek  <jakub@redhat.com>
11878
11879	* testsuite/libgomp.c/collapse-1.c: New test.
11880	* testsuite/libgomp.c/collapse-2.c: New test.
11881	* testsuite/libgomp.c/collapse-3.c: New test.
11882	* testsuite/libgomp.c/icv-1.c: New test.
11883	* testsuite/libgomp.c/icv-2.c: New test.
11884	* testsuite/libgomp.c/lib-2.c: New test.
11885	* testsuite/libgomp.c/lock-1.c: New test.
11886	* testsuite/libgomp.c/lock-2.c: New test.
11887	* testsuite/libgomp.c/lock-3.c: New test.
11888	* testsuite/libgomp.c/loop-4.c: New test.
11889	* testsuite/libgomp.c/loop-5.c: New test.
11890	* testsuite/libgomp.c/loop-6.c: New test.
11891	* testsuite/libgomp.c/loop-7.c: New test.
11892	* testsuite/libgomp.c/loop-8.c: New test.
11893	* testsuite/libgomp.c/loop-9.c: New test.
11894	* testsuite/libgomp.c/nested-3.c: New test.
11895	* testsuite/libgomp.c/nestedfn-6.c: New test.
11896	* testsuite/libgomp.c/sort-1.c: New test.
11897	* testsuite/libgomp.c/task-1.c: New test.
11898	* testsuite/libgomp.c/task-2.c: New test.
11899	* testsuite/libgomp.c/task-3.c: New test.
11900	* testsuite/libgomp.c/task-4.c: New test.
11901	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
11902	to C++ testsuite default compiler options.
11903	* testsuite/libgomp.c++/collapse-1.C: New test.
11904	* testsuite/libgomp.c++/collapse-2.C: New test.
11905	* testsuite/libgomp.c++/ctor-10.C: New test.
11906	* testsuite/libgomp.c++/for-1.C: New test.
11907	* testsuite/libgomp.c++/for-2.C: New test.
11908	* testsuite/libgomp.c++/for-3.C: New test.
11909	* testsuite/libgomp.c++/for-4.C: New test.
11910	* testsuite/libgomp.c++/for-5.C: New test.
11911	* testsuite/libgomp.c++/loop-8.C: New test.
11912	* testsuite/libgomp.c++/loop-9.C: New test.
11913	* testsuite/libgomp.c++/loop-10.C: New test.
11914	* testsuite/libgomp.c++/task-1.C: New test.
11915	* testsuite/libgomp.c++/task-2.C: New test.
11916	* testsuite/libgomp.c++/task-3.C: New test.
11917	* testsuite/libgomp.c++/task-4.C: New test.
11918	* testsuite/libgomp.c++/task-5.C: New test.
11919	* testsuite/libgomp.c++/task-6.C: New test.
11920	* testsuite/libgomp.fortran/allocatable1.f90: New test.
11921	* testsuite/libgomp.fortran/allocatable2.f90: New test.
11922	* testsuite/libgomp.fortran/allocatable3.f90: New test.
11923	* testsuite/libgomp.fortran/allocatable4.f90: New test.
11924	* testsuite/libgomp.fortran/collapse1.f90: New test.
11925	* testsuite/libgomp.fortran/collapse2.f90: New test.
11926	* testsuite/libgomp.fortran/collapse3.f90: New test.
11927	* testsuite/libgomp.fortran/collapse4.f90: New test.
11928	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
11929	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
11930	* testsuite/libgomp.fortran/lib4.f90: New test.
11931	* testsuite/libgomp.fortran/lock-1.f90: New test.
11932	* testsuite/libgomp.fortran/lock-2.f90: New test.
11933	* testsuite/libgomp.fortran/nested1.f90: New test.
11934	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
11935	* testsuite/libgomp.fortran/strassen.f90: New test.
11936	* testsuite/libgomp.fortran/tabs1.f90: New test.
11937	* testsuite/libgomp.fortran/tabs2.f: New test.
11938	* testsuite/libgomp.fortran/task1.f90: New test.
11939	* testsuite/libgomp.fortran/task2.f90: New test.
11940	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
11941	* testsuite/libgomp.fortran/vla5.f90: Likewise.
11942	* testsuite/libgomp.c/pr26943-2.c: Likewise.
11943	* testsuite/libgomp.c/pr26943-3.c: Likewise.
11944	* testsuite/libgomp.c/pr26943-4.c: Likewise.
11945
119462008-05-23  Jakub Jelinek  <jakub@redhat.com>
11947
11948	PR c++/36308
11949	* testsuite/libgomp.c++/ctor-11.C: New test.
11950	* testsuite/libgomp.c++/ctor-12.C: New test.
11951
119522008-05-15  Janis Johnson  <janis187@us.ibm.com>
11953
11954	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
11955
119562008-05-07  Jakub Jelinek  <jakub@redhat.com>
11957
11958	PR middle-end/36106
11959	* testsuite/libgomp.c/atomic-5.c: New test.
11960	* testsuite/libgomp.c/atomic-6.c: New test.
11961	* testsuite/libgomp.c/autopar-1.c: New test.
11962
119632008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11964
11965	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
11966	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
11967	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
11968	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
11969	* configure: Regenerate.
11970	* Makefile.in, testsuite/Makefile.in: Likewise.
11971
119722008-04-18  Paolo Bonzini  <bonzini@gnu.org>
11973
11974	PR bootstrap/35457
11975	* aclocal.m4: Regenerate.
11976	* configure: Regenerate.
11977
119782008-03-18  Jakub Jelinek  <jakub@redhat.com>
11979
11980	PR middle-end/35611
11981	* testsuite/libgomp.c/atomic-4.c: New test.
11982
11983	PR libgomp/35625
11984	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
11985	(gomp_iter_guided_next): Likewise.
11986	* testsuite/libgomp.c/pr35625.c: New test.
11987
119882008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11989
11990	* aclocal.m4: Regenerate.
11991	* configure: Likewise.
11992	* Makefile.in: Likewise.
11993	* testsuite/Makefile.in: Likewise.
11994
119952008-03-13  Jakub Jelinek  <jakub@redhat.com>
11996
11997	PR middle-end/35185
11998	* testsuite/libgomp.c++/pr35185.C: New test.
11999
120002008-03-12  Jakub Jelinek  <jakub@redhat.com>
12001
12002	PR middle-end/35549
12003	* testsuite/libgomp.c/pr35549.c: New test.
12004
120052008-03-06  Jakub Jelinek  <jakub@redhat.com>
12006
12007	* testsuite/libgomp.c/atomic-3.c: New test.
12008
120092008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12010
12011	PR fortran/33197
12012	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
12013	.F08 file suffixes.
12014
120152008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
12016
12017	PR libgomp/33131
12018	* configure.ac: Add ACX_HEADER_STRING.
12019	* env.c: Include strings.h.
12020	* aclocal.m4: Regenerate.
12021	* config.h.in: Regenerate.
12022	* configure: Regenerate.
12023	* Makefile.in: Regenerate.
12024	* testsuite/Makefile.in: Regenerate.
12025
120262008-02-15  Jakub Jelinek  <jakub@redhat.com>
12027
12028	PR middle-end/35196
12029	* testsuite/libgomp.c/pr35196.c: New test.
12030
12031	PR middle-end/35130
12032	* testsuite/libgomp.fortran/pr35130.f90: New test.
12033	* testsuite/libgomp.c/pr35130.c: New test.
12034
120352008-01-25  Jakub Jelinek  <jakub@redhat.com>
12036
12037	PR middle-end/33880
12038	* testsuite/libgomp.c/pr33880.c: New test.
12039	* testsuite/libgomp.fortran/pr33880.f90: New test.
12040
120412008-01-24  David Edelsohn  <edelsohn@gnu.org>
12042
12043	* configure: Regenerate.
12044
120452008-01-08  Jakub Jelinek  <jakub@redhat.com>
12046
12047	* configure.ac: Move futex checking into ../config/futex.m4.
12048	* configure: Rebuilt.
12049	* aclocal.m4: Rebuilt.
12050	* Makefile.in: Rebuilt.
12051
12052	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12053	2007-10-15 ../config/tls.m4 change.
12054
120552007-12-19  Jakub Jelinek  <jakub@redhat.com>
12056
12057	PR c++/34513
12058	* testsuite/libgomp.c/pr34513.c: New test.
12059	* testsuite/libgomp.c++/pr34513.C: New test.
12060
120612007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
12062
12063	PR target/32765
12064	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12065
120662007-12-04  Jakub Jelinek  <jakub@redhat.com>
12067
12068	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
12069
120702007-12-03  Jakub Jelinek  <jakub@redhat.com>
12071
12072	* testsuite/libgomp.c/private-1.c: New test.
12073
120742007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
12075	    Paolo Bonzini  <bonzini@gnu.org>
12076
12077	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
12078	instead of 'VPATH ='.
12079	* Makefile.in: Regenerate.
12080
120812007-11-23  Matthias Klose  <doko@ubuntu.com>
12082
12083	* configure.ac: Adjust makeinfo version check.
12084	* configure: Regenerate.
12085
120862007-11-10  Jakub Jelinek  <jakub@redhat.com>
12087
12088	PR fortran/34020
12089	* testsuite/libgomp.fortran/pr34020.f90: New test.
12090
120912007-11-06  Jakub Jelinek  <jakub@redhat.com>
12092
12093	PR c++/33894
12094	* testsuite/libgomp.c++/atomic-1.C: New test.
12095
120962007-10-25  Jakub Jelinek  <jakub@redhat.com>
12097
12098	PR libgomp/33275
12099	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12100	Make x and y integers rather than (implicit) reals.  Add private (j)
12101	clause to the last omp parallel.
12102
121032007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
12104
12105	* configure: Regenerate following changes to ../config/tls.m4.
12106
121072007-09-28  Jakub Jelinek  <jakub@redhat.com>
12108
12109	* testsuite/libgomp.fortran/stack.f90: New test.
12110
121112007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
12112
12113	* config/mingw32/proc.c: New file.
12114
121152007-09-05  Uros Bizjak  <ubizjak@gmail.com>
12116
12117	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12118	(main): Use __get_cpuid to get i386 target fetaures.
12119	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12120	(main): Use __get_cpuid to get x86_64 target fetaures.
12121
121222007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
12123
12124	PR target/32765
12125	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12126	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12127
121282007-07-12  Jakub Jelinek  <jakub@redhat.com>
12129
12130	PR fortran/32550
12131	* testsuite/libgomp.fortran/pr32550.f90: New test.
12132	* testsuite/libgomp.fortran/crayptr2.f90: New test.
12133
121342007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
12135
12136	* aclocal.m4: Regenerated.
12137
121382007-07-05  Tobias Burnus  <burnus@net-b.de>
12139
12140	PR fortran/32359
12141	* testsuite/libgomp.fortran/pr32359.f90: New.
12142
121432007-07-02  Jakub Jelinek  <jakub@redhat.com>
12144
12145	PR libgomp/32468
12146	* sections.c (GOMP_parallel_sections_start): Only decrease
12147	number of threads to COUNT if dyn_var is true.
12148	* testsuite/libgomp.c/pr32468.c: New test.
12149
121502007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12151
12152	PR libgomp/26308
12153	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12154
121552007-06-21  Jakub Jelinek  <jakub@redhat.com>
12156
12157	PR middle-end/32362
12158	* testsuite/libgomp.c/pr32362-1.c: New test.
12159	* testsuite/libgomp.c/pr32362-2.c: New test.
12160	* testsuite/libgomp.c/pr32362-3.c: New test.
12161
121622007-06-07  Jakub Jelinek  <jakub@redhat.com>
12163
12164	* team.c (gomp_team_start): Fix setting up thread_attr
12165	stack size.
12166
121672007-06-02  Paolo Bonzini  <bonzini@gnu.org>
12168
12169	* configure: Regenerate.
12170
121712007-05-23  Steve Ellcey  <sje@cup.hp.com>
12172
12173	* Makefile.in: Regenerate.
12174	* configure: Regenerate.
12175	* aclocal.m4: Regenerate.
12176	* testsuite/Makefile.in: Regenerate.
12177
121782007-05-04  Jakub Jelinek  <jakub@redhat.com>
12179
12180	* config/linux/proc.c: New file.
12181
12182	PR libgomp/28482
12183	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12184
121852007-04-19  Daniel Franke  <franke.daniel@gmail.com>
12186
12187	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12188
121892007-04-16  Matthias Klose  <doko@debian.org>
12190
12191	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12192	flags if not building with -m64.
12193	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12194	flag for i?86-*-* targets, if current target matches -m64.
12195
121962007-04-14  Steve Ellcey  <sje@cup.hp.com>
12197
12198	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12199	* Makefile.in: Regenerate.
12200
122012007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12202
12203	PR testsuite/31369
12204	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12205	ld_library_path.
12206	* testsuite/libgomp.fortran/fortran.exp: Likewise.
12207
122082007-04-04  Jakub Jelinek  <jakub@redhat.com>
12209
12210	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12211	decls.
12212	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12213	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12214	(parse_affinity): New function.
12215	(initialize_env): Call it and gomp_init_affinity.
12216	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12217	create new pthread_attr_t and call gomp_init_thread_affinity
12218	on it for each thread before passing the attribute to pthread_create.
12219	* config/linux/affinity.c: New file.
12220	* config/posix/affinity.c: New file.
12221	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12222	* configure: Rebuilt.
12223	* config.h.in: Rebuilt.
12224	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12225	* Makefile.in: Rebuilt.
12226
122272007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
12228
12229	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12230	*-*-darwin*.
12231	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12232	and use it if found.
12233
122342007-03-18  Uros Bizjak  <ubizjak@gmail.com>
12235
12236	* testsuite/config/default.exp: New file.
12237	* testsuite/lib/libgomp.exp: New file.
12238	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12239	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12240	load_lib *, load_gcc_lib *): Move to libgomp.exp.
12241	(libgomp_load): Remove.
12242	* testsuite/lib/libgomp.exp (libgomp_init): Compute
12243	always_ld_library_path, not ld_library_path.  Set additional_flags
12244	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12245	(target_compile): Do not call libgomp_init.  Append lang_library_path
12246	and lang_link_flags to options.
12247	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
12248	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
12249	here.
12250	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12251	always_ld_library_path.  Set LD_LIBRARY_PATH here.
12252	* testsuite/libgomp.fortran/fortran.exp: Ditto.
12253	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
12254	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12255	CX8 flag.
12256	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12257	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12258	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12259	* testsuite/libgomp.c/pr29947-1.c: Ditto.
12260	* testsuite/libgomp.c/atomic-10.c: Ditto.
12261
122622007-03-21  Jakub Jelinek  <jakub@redhat.com>
12263
12264	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12265	dg-final cleanup-modules line.
12266	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12267	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12268	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12269	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12270	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
12271	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12272	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12273
122742007-03-18  Andreas Schwab  <schwab@suse.de>
12275
12276	* acinclude.m4: Adjust regular expression for ld version
12277	extraction.
12278	* configure: Regenerate.
12279
122802007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
12281
12282	* Makefile.am: Add install-pdf target as copied from
12283	automake v1.10 rules.
12284	* Makefile.in: Regenerate
12285
122862007-02-07  Jakub Jelinek  <jakub@redhat.com>
12287
12288	PR libgomp/28486
12289	* configure: Regenerate.
12290
12291	PR c++/30703
12292	* testsuite/libgomp.c++/pr30703.C: New test.
12293
122942007-02-02  Jakub Jelinek  <jakub@redhat.com>
12295
12296	Revert:
12297	2006-07-05  Eric Christopher  <echristo@apple.com>
12298	* configure.ac: Depend addition of -pthread on host OS.
12299	* configure: Regenerate.
12300
123012007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12302
12303	* libgomp.texi: Fix spacing after abbreviations.
12304
123052007-01-31  Daniel Franke <franke.daniel@gmail.com>
12306
12307	PR libgomp/30546
12308	* configure.ac: Add check for makeinfo
12309	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
12310	if an appropriate version of makeinfo is found.
12311	* aclocal.m4: Regenerated.
12312	* configure: Regenerated.
12313	* Makefile.in: Regenerated.
12314	* testsuite/Makefile.in: Regenerated.
12315
123162007-01-29  Daniel Franke <franke.daniel@gmail.com>
12317
12318	PR libgomp/30540
12319	* libgomp.texi: More about implementation-dependent settings.
12320
123212007-01-26  Tobias Burnus  <burnus@net-b.de>
12322
12323	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12324
123252007-01-24  Jakub Jelinek  <jakub@redhat.com>
12326
12327	PR middle-end/30494
12328	* testsuite/libgomp.c/pr30494.c: New test.
12329
123302007-01-15  Tom Tromey  <tromey@redhat.com>
12331
12332	* configure: Rebuilt.
12333	* configure.ac: Fixed comment.
12334
123352007-01-14  Daniel Franke  <franke.daniel@gmail.com>
12336
12337	* libgomp.texi: Document implementation specific default values of
12338	environment variables.
12339
123402006-12-21  Daniel Franke  <franke.daniel@gmail.com>
12341
12342	PR libgomp/28209
12343	* libgomp.texi: New file.
12344	* configure.ac: Add --enable-generated-files-in-srcdir option.
12345	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12346	files to srcdir.
12347	* Makefile.in: Regenerated.
12348	* config.h.in: Regenerated.
12349	* testsuite/Makefile.in: Regenerated.
12350	* NOTES: Removed.
12351
123522006-12-04  Daniel Franke  <franke.daniel@gmail.com>
12353
12354	PR libgomp/29949
12355	* env.c (omp_set_num_threads): Set illegal thread count to 1.
12356
123572006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
12358
12359	* configure: Regenerate.
12360
123612006-12-04  Jakub Jelinek  <jakub@redhat.com>
12362
12363	PR libgomp/29947
12364	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
12365	start if there shouldn't be any loop iterations.
12366	(gomp_loop_ordered_static_start): Remove start == end test.
12367	* testsuite/libgomp.c/pr29947-1.c: New test.
12368	* testsuite/libgomp.c/pr29947-2.c: New test.
12369
123702006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
12371
12372	* configure.tgt: Force initial-exec TLS model on Linux only.
12373
123742006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
12375
12376	* configure: Regenerated.
12377
123782006-11-09  Uros Bizjak  <ubizjak@gmail.com>
12379
12380	* env.c (parse_schedule): Reject out of range values.
12381	(parse_unsigned_long): Reject out of range, negative or zero values.
12382
123832006-10-29  Jakub Jelinek  <jakub@redhat.com>
12384
12385	PR fortran/29629
12386	* testsuite/libgomp.fortran/pr29629.f90: New test.
12387
123882006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
12389
12390	PR libgomp/29494
12391	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
12392	* config/posix95: New directory.
12393	* config/posix95/omp-lock.h: New file.
12394	* config/posix95/lock.c: Likewise.
12395
123962006-10-14  Geoffrey Keating  <geoffk@apple.com>
12397
12398	* aclocal.m4: Regenerate.
12399	* configure: Regenerate.
12400
124012006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
12402
12403	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
12404	'<' to '<='.
12405
124062006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
12407
12408	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
12409	test.
12410	* configure: Regenerate.
12411	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
12412
124132006-09-26  Jakub Jelinek  <jakub@redhat.com>
12414
12415	PR middle-end/25261
12416	PR middle-end/28790
12417	* testsuite/libgomp.c/nestedfn-4.c: New test.
12418	* testsuite/libgomp.c/nestedfn-5.c: New test.
12419	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
12420
12421	PR fortran/29097
12422	* testsuite/libgomp.fortran/condinc1.f: New test.
12423	* testsuite/libgomp.fortran/condinc2.f: New test.
12424	* testsuite/libgomp.fortran/condinc3.f90: New test.
12425	* testsuite/libgomp.fortran/condinc4.f90: New test.
12426	* testsuite/libgomp.fortran/condinc1.inc: New file.
12427
124282006-09-18  Tom Tromey  <tromey@redhat.com>
12429
12430	* configure: Rebuilt.
12431
124322006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
12433
12434	PR c/28768
12435	PR preprocessor/14634
12436	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
12437	to AC_DEFINE.
12438	* configure: Regenerate.
12439
124402006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
12441
12442	* testsuite/libgomp.fortran/reduction3.f90: Change
12443	-2147483648 to -huge(i)-1 to avoid overflow.
12444	* testsuite/libgomp.fortran/reduction4.f90: Change
12445	Z'ffffffff' to not(0) to avoid overflow.
12446
124472006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
12448
12449	PR libgomp/25938
12450	* Makefile.am (libsubincludedir): New.
12451	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
12452	* Makefile.in: Regenerate.
12453
124542006-08-17  Jakub Jelinek  <jakub@redhat.com>
12455
12456	PR libgomp/28725
12457	* env.c: Include ctype.h.
12458	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
12459	leading and/or trailing whitespace and compare strings case
12460	insensitively.
12461
124622006-07-16  Jakub Jelinek  <jakub@redhat.com>
12463
12464	PR fortran/28390
12465	* testsuite/libgomp.fortran/pr28390.f: New test.
12466
124672006-07-05  Eric Christopher  <echristo@apple.com>
12468
12469	* configure.ac: Depend addition of -pthread on host OS.
12470	* configure: Regenerate.
12471
124722006-06-21  Jakub Jelinek  <jakub@redhat.com>
12473
12474	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
12475	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
12476	defined.
12477
124782006-06-20  Jakub Jelinek  <jakub@redhat.com>
12479
12480	PR libgomp/26175
12481	PR libgomp/26477
12482	* configure.ac: If neither --enable-linux-futex nor
12483	--disable-linux-futex is passed, determine the default by checking
12484	for compiling and/or running against NPTL.  With --enable-linux-futex,
12485	check if SYS_gettid and SYS_futex are defined.
12486	* configure: Rebuilt.
12487
124882006-06-14  Richard Henderson  <rth@redhat.com>
12489
12490	PR libgomp/28008
12491	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
12492	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
12493
124942006-06-09  Richard Henderson  <rth@redhat.com>
12495
12496	* env.c (gomp_nthreads_var): Change to unsigned long.
12497	(gomp_run_sched_chunk): Likewise.
12498	(parse_unsigned_long): Rename from parse_num_threads and generalize.
12499	(initialize_env): Initialize gomp_thread_attr.
12500	* libgomp.h (gomp_nthreads_var): Update decl.
12501	(gomp_run_sched_chunk): Likewise.
12502	(gomp_thread_attr): Declare.
12503	* team.c (gomp_thread_attr): Export.
12504	(initialize_team): Don't initialize it.
12505
125062006-06-09  Jakub Jelinek  <jakub@redhat.com>
12507
12508	PR fortran/27916
12509	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
12510	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
12511
125122006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12513
12514	* config/mingw32/time.c: New file.
12515	* configure.tgt: Use it.
12516
125172006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
12518
12519	* Makefile.am: Add install-html target. Add install-html to .PHONY
12520	* Makefile.in: Regenerate.
12521
125222006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12523
12524	PR libgomp/27612
12525	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
12526	* testsuite/libgomp.c/critical-1.c: Likewise.
12527	* testsuite/libgomp.c/loop-1.c: Likewise.
12528	* testsuite/libgomp.c/loop-2.c: Likewise.
12529	* testsuite/libgomp.c/single-1.c: Likewise.
12530	* testsuite/libgomp.c/ordered-1.c: Likewise.
12531	* testsuite/libgomp.c/ordered-2.c: Likewise.
12532
125332006-05-15  Jakub Jelinek  <jakub@redhat.com>
12534
12535	PR middle-end/27416
12536	* libgomp.fortran/pr27416-1.f90: New test.
12537
125382006-05-03  Jakub Jelinek  <jakub@redhat.com>
12539
12540	PR fortran/27395
12541	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
12542	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
12543
125442006-05-02  Jakub Jelinek  <jakub@redhat.com>
12545
12546	PR c++/26943
12547	* testsuite/libgomp.c/pr26943-1.c: New test.
12548	* testsuite/libgomp.c/pr26943-2.c: New test.
12549	* testsuite/libgomp.c/pr26943-3.c: New test.
12550	* testsuite/libgomp.c/pr26943-4.c: New test.
12551	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
12552	* testsuite/libgomp.c++/pr26943.C: New test.
12553
125542006-05-02  Jakub Jelinek  <jakub@redhat.com>
12555
12556	PR middle-end/27337
12557	* testsuite/libgomp.c++/pr27337.C: New test.
12558
125592006-04-26  Jakub Jelinek  <jakub@redhat.com>
12560
12561	PR c/26171
12562	* testsuite/libgomp.c/pr26171.c: New test.
12563
125642006-04-25  Richard Henderson  <rth@redhat.com>
12565
12566	PR libgomp/25865
12567	* configure.ac: Use GCC_CHECK_TLS.
12568	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
12569	* Makefile.in, aclocal.m4, configure: Regenerate.
12570
125712006-04-10  Matthias Klose  <doko@debian.org>
12572
12573	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
12574	directory names containing underscores.
12575
125762006-03-21  Jakub Jelinek  <jakub@redhat.com>
12577
12578	PR c++/26691
12579	* testsuite/libgomp.c++/pr26691.C: New test.
12580
125812006-03-13  Jakub Jelinek  <jakub@redhat.com>
12582
12583	* testsuite/libgomp.fortran/retval2.f90: New test.
12584
125852006-03-09  Diego Novillo  <dnovillo@redhat.com>
12586
12587	* testsuite/libgomp.c++: New directory.
12588
125892006-02-25  Shantonu Sen  <ssen@opendarwin.org>
12590
12591	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
12592	* config/posix/sem.c: Implement the above.
12593
125942006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
12595
12596	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
12597	define HAVE_BROKEN_POSIX_SEMAPHORES.
12598	* configure: Rebuilt.
12599	* config.h.in: Rebuilt.
12600
126012006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12602
12603	PR bootstrap/26161
12604	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
12605	for the other pthread check.
12606	* configure: Regenerate.
12607	* config.h.in: Regenerate.
12608
126092006-02-15  Jakub Jelinek  <jakub@redhat.com>
12610
12611	PR libgomp/25938
12612	PR libgomp/25984
12613	* Makefile.am (fincludedir): New variable.
12614	(nodist_include_HEADERS): Remove Fortran files.
12615	(nodist_finclude_HEADERS): New variable.
12616	* Makefile.in: Regenerated.
12617
126182006-02-13  Jakub Jelinek  <jakub@redhat.com>
12619
12620	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
12621	Remove tests for returning assumed character length arrays.
12622
126232006-02-12  Roger Sayle  <roger@eyesopen.com>
12624	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
12625
12626	PR libgomp/25936
12627	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
12628
126292006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
12630
12631	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
12632
126332006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
12634
12635	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
12636	part of LD_LIBRARY_PATH manually.
12637
126382006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
12639
12640	PR libgomp/25852
12641	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
12642	libgomp_init.
12643
126442005-01-25  Paolo Bonzini  <bonzini@gnu.org>
12645
12646	PR libgomp/25884
12647	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
12648	* configure.ac (PERL): Don't set.
12649	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
12650	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
12651	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
12652	* omp.h.in: Wrap the new configure substitutions with @ characters.
12653	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
12654	* aclocal.m4, configure, Makefile.in: Regenerate.
12655	* mkomp_h.pl: Delete.
12656
126572005-01-24  Paolo Bonzini  <bonzini@gnu.org>
12658
12659	PR libgomp/25259
12660	* configure.ac: Use GCC_HEADER_STDINT.
12661	* libgomp.h: Include gstdint.h.
12662	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
12663	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
12664
126652006-01-24  Richard Henderson  <rth@redhat.com>
12666
12667	PR libgomp/25942
12668	* configure.ac: Add AM_MAINTAINER_MODE.
12669	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
12670
126712006-01-24  Diego Novillo  <dnovillo@redhat.com>
12672
12673	* Makefile.in: Regenerate.
12674	* testsuite/Makefile.in: Regenerate.
12675	* aclocal.m4: Regenerate.
12676
126772006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
12678
12679	* config/posix/proc.c: Conditional include of sys/loadavg.h for
12680	Solaris.
12681	* configure.ac: Add check for loadavg.h.
12682	(link_gomp): Adjust comment.
12683	* configure: Regenerate.
12684	* config.h.in: Regenerate.
12685
126862006-01-21  Steve Ellcey  <sje@cup.hp.com>
12687
12688	PR libgomp/25877
12689	* configure.ac: Remove check for alloca.h.
12690	* configure: Regenerate.
12691	* config.h.in: Regenerate.
12692	* libgomp.h: define gomp_alloca to be __builtin_alloca.
12693	* team.c: Remove use of alloca.h.
12694	Call gomp_alloca instead of alloca.
12695
126962006-01-20  Steve Ellcey  <sje@cup.hp.com>
12697
12698	PR libgomp/25877
12699	* team.c: Add include of alloca.h.
12700	* configure.ac: Add check for alloca.h.
12701	* configure: Regenerate.
12702	* config.h.in: Regenerate.
12703
127042006-01-17  Jakub Jelinek  <jakub@redhat.com>
12705
12706	PR fortran/25219
12707	* testsuite/libgomp.fortran/pr25219.f90: New test.
12708
127092005-12-05  Uros Bizjak  <uros@kss-loka.si>
12710
12711	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
12712	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
12713	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12714	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12715	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
12716	testsuite/libgomp.fortran/threadprivate1.f90,
12717	testsuite/libgomp.fortran/threadprivate2.f90,
12718	testsuite/libgomp.fortran/threadprivate3.f90,
12719	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12720	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12721	testsuite/libgomp.fortran/omp_parse3.f90: Change required
12722	effective-target to TLS runtime.
12723
12724	* testsuite/libgomp.fortran/pr25162.f: Require
12725	effective-target TLS runtime.
12726
127272005-12-01  Jakub Jelinek  <jakub@redhat.com>
12728
12729	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
12730	* testsuite/libgomp.c/nestedfn-3.c: New test.
12731
127322005-11-30  Jakub Jelinek  <jakub@redhat.com>
12733
12734	PR fortran/25162
12735	* testsuite/libgomp.fortran/pr25162.f: New test.
12736
127372005-11-28  Jakub Jelinek  <jakub@redhat.com>
12738
12739	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
12740	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
12741
127422005-11-25  Jakub Jelinek  <jakub@redhat.com>
12743
12744	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
12745	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
12746	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
12747	single.c, team.c, work.c, config/linux/alpha/futex.h,
12748	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
12749	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
12750	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
12751	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
12752	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
12753	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
12754	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
12755	FSF address.
12756
127572005-11-18  Jakub Jelinek  <jakub@redhat.com>
12758
12759	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
12760	to nodist_noinst_HEADERS.
12761	* Makefile.in: Rebuilt.
12762
12763	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
12764	add integer count field.
12765	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
12766	omp_nest_lock_t type change.
12767	(omp_init_nest_lock): Likewise.  Initialize count to 0.
12768	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
12769	Increment count.
12770	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
12771	Decrement count.
12772	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
12773	Increment count if successful and return the new nesting level.
12774	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
12775	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
12776	* testsuite/libgomp.c/lib-1.c: New test.
12777	* testsuite/libgomp.fortran/lib1.f90: New test.
12778	* testsuite/libgomp.fortran/lib2.f: New test.
12779	* testsuite/libgomp.fortran/lib3.f: New test.
12780
127812005-11-17  Richard Henderson  <rth@redhat.com>
12782
12783	PR 24845
12784	* Makefile.am (nodist_toolexeclib_HEADERS): New.
12785	* configure.ac (link_gomp): New.  Substitute it.
12786	(AC_CONFIG_FILES): Add libgomp.spec.
12787	* libgomp.spec.in: New file.
12788	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
12789	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
12790
127912005-11-18  Jakub Jelinek  <jakub@redhat.com>
12792
12793	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
12794	reduction(-:var) behaving the same as reduction(+:var).
12795	* testsuite/libgomp.c/reduction-4.c: New test.
12796
127972005-11-15  Uros Bizjak  <uros@kss-loka.si>
12798
12799	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
12800	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
12801	testsuite/libgomp.c/copyin-3.c,
12802	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
12803	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
12804	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
12805	testsuite/libgomp.c++/pr24455.C,
12806	testsuite/libgomp.fortran/threadprivate1.f90,
12807	testsuite/libgomp.fortran/threadprivate2.f90,
12808	testsuite/libgomp.fortran/threadprivate3.f90,
12809	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
12810	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
12811	testsuite/libgomp.fortran/omp_parse3.f90: Require
12812	effective-target TLS.
12813
128142005-11-14  Diego Novillo  <dnovillo@redhat.com>
12815
12816	* HEADER: Remove.
12817
128182005-11-13  Jakub Jelinek  <jakub@redhat.com>
12819
12820	PR libgomp/24797
12821	* team.c (initialize_team): Pass NULL rather than free as
12822	pthread_key_create destructor.  Initialize thread specific data
12823	pointer in initial thread to a static local variable rather than
12824	malloced memory.
12825
128262005-11-11  Uros Bizjak  <uros@kss-loka.si>
12827
12828	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
12829	its location to ld_library_path.
12830
128312005-11-10  Diego Novillo  <dnovillo@redhat.com>
12832
12833	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
12834
128352005-11-10  Diego Novillo  <dnovillo@redhat.com>
12836
12837	* testsuite/libgomp.c: Rename from libgomp.dg.
12838
128392005-11-09  Diego Novillo  <dnovillo@redhat.com>
12840
12841	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
12842	threadprivate variable 'i'.
12843
128442005-11-09  Jakub Jelinek  <jakub@redhat.com>
12845
12846	* config/linux/s390/futex.h: New file.
12847	* configure.tgt: Use it.
12848
12849	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
12850	before the parallel.
12851
128522005-11-08  Jakub Jelinek  <jakub@redhat.com>
12853
12854	PR c++/24734
12855	* testsuite/libgomp.c++/master-1.C: New test.
12856
128572005-11-07  Jakub Jelinek  <jakub@redhat.com>
12858
12859	* testsuite/libgomp.dg/copyin-3.c: New test.
12860
128612005-11-07  Jakub Jelinek  <jakub@redhat.com>
12862
12863	* testsuite/libgomp.fortran/retval1.f90: New test.
12864	* testsuite/libgomp.fortran/vla7.f90: New test.
12865
128662005-11-06  Jakub Jelinek  <jakub@redhat.com>
12867
12868	* testsuite/libgomp.fortran/vla2.f90: New test.
12869	* testsuite/libgomp.fortran/vla3.f90: New test.
12870	* testsuite/libgomp.fortran/vla4.f90: New test.
12871	* testsuite/libgomp.fortran/vla5.f90: New test.
12872	* testsuite/libgomp.fortran/vla6.f90: New test.
12873
128742005-11-01  Jakub Jelinek  <jakub@redhat.com>
12875
12876	* config/linux/sparc/futex.h: New file.
12877	* configure.tgt: Use it.
12878	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
12879
12880	* critical.c: Include stdlib.h.
12881	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
12882	ignoring return value.
12883	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
12884	LIBGOMP_CHECK_SYNC_BUILTINS check.
12885	* configure: Rebuilt.
12886
128872005-10-31  Jakub Jelinek  <jakub@redhat.com>
12888
12889	* testsuite/libgomp.fortran/vla1.f90: New test.
12890
128912005-10-31  Richard Henderson  <rth@redhat.com>
12892
12893	* testsuite/libgomp.fortran/character2.f90: Fix race condition
12894	setting 's' in different threads.
12895
128962005-10-31  Jakub Jelinek  <jakub@redhat.com>
12897
12898	* libgomp.h (attribute_hidden, ialias): Define.
12899	* config/posix/proc.c (omp_get_num_procs): Add ialias.
12900	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
12901	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
12902	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12903	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12904	omp_test_lock, omp_test_nest_lock): Likewise.
12905	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
12906	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
12907	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
12908	omp_test_lock, omp_test_nest_lock): Likewise.
12909	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
12910	omp_get_dynamic, omp_get_nested): Likewise.
12911	* parallel.c (omp_get_num_threads, omp_get_max_threads,
12912	omp_get_thread_num, omp_in_parallel): Likewise.
12913	* fortran.c (ialias_redirect): Define.
12914	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
12915	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
12916	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
12917	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
12918	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
12919	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
12920	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
12921	omp_get_wtime): Add ialias_redirect.
12922
129232005-10-30  Jakub Jelinek  <jakub@redhat.com>
12924
12925	* fortran.c: Include stdlib.h.
12926
129272005-10-29  Jakub Jelinek  <jakub@redhat.com>
12928
12929	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
12930	* Makefile.in: Regenerated.
12931
129322005-10-28  Jakub Jelinek  <jakub@redhat.com>
12933
12934	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
12935	* libgomp_f.h.in (omp_check_defines): New function.
12936	* env.c: Include libgomp_f.h.
12937	(initialize_env): Call omp_check_defines.
12938
12939	* testsuite/libgomp.dg/copyin-2.c: New test.
12940	* testsuite/libgomp.c++/copyin-2.C: New test.
12941	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
12942
12943	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
12944	* testsuite/libgomp.fortran/sharing2.f90: New test.
12945
12946	* testsuite/libgomp.dg/copyin-1.c: New test.
12947	* testsuite/libgomp.c++/copyin-1.C: New test.
12948
129492005-10-26  Jakub Jelinek  <jakub@redhat.com>
12950
12951	* testsuite/libgomp.fortran/crayptr1.f90: New test.
12952
12953	* testsuite/libgomp.fortran/workshare1.f90: New test.
12954
12955	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
12956	only test.
12957	* libgomp.fortran/sharing1.f90: New test.
12958
129592005-10-24  Jakub Jelinek  <jakub@redhat.com>
12960
12961	PR c++/24502
12962	* testsuite/libgomp.c++/loop-7.C: New test.
12963
12964	* testsuite/libgomp.dg/nestedfn-2.c: New test.
12965
12966	* testsuite/libgomp.dg/nestedfn-1.c: New test.
12967	* testsuite/libgomp.fortran/reduction6.f90: New test.
12968	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
12969
129702005-10-23  Richard Henderson  <rth@redhat.com>
12971
12972	* testsuite/libgomp.c++/ctor-1.C: New.
12973	* testsuite/libgomp.c++/ctor-2.C: New.
12974	* testsuite/libgomp.c++/ctor-3.C: New.
12975	* testsuite/libgomp.c++/ctor-4.C: New.
12976	* testsuite/libgomp.c++/ctor-5.C: New.
12977	* testsuite/libgomp.c++/ctor-6.C: New.
12978	* testsuite/libgomp.c++/ctor-7.C: New.
12979	* testsuite/libgomp.c++/ctor-8.C: New.
12980	* testsuite/libgomp.c++/ctor-9.C: New.
12981
129822005-10-21  Diego Novillo  <dnovillo@redhat.com>
12983
12984	PR 24455
12985	* testsuite/libgomp.c++/pr24455-1.C: New test.
12986	* testsuite/libgomp.c++/pr24455.C: New test.
12987	* testsuite/libgomp.dg/pr24455-1.c: New test.
12988	* testsuite/libgomp.dg/pr24455.c: New test.
12989
129902005-10-20  Richard Henderson  <rth@redhat.com>
12991
12992	* testsuite/libgomp.c++/loop-6.C: New.
12993	* testsuite/libgomp.dg/loop-3.c: New.
12994
129952005-10-20  Jakub Jelinek  <jakub@redhat.com>
12996
12997	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12998	explicitly private.
12999	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13000	explicitly shared.
13001
130022005-10-19  Diego Novillo  <dnovillo@redhat.com>
13003
13004	* testsuite/libgomp.fortran/jacobi.f: New test.
13005
130062005-10-19  Richard Henderson  <rth@redhat.com>
13007
13008	* configure.tgt (i?86-linux): Default to with_arch instead of
13009	CFLAGS.  Add -mtune to match target_cpu.
13010	(x86_64-linux): Tune to i686.
13011
13012	* fortran.c (omp_test_nest_lock_): Fix typo.
13013
130142005-10-19  Jakub Jelinek  <jakub@redhat.com>
13015
13016	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13017	gomp_ordered_sync): Do nothing if team->nthreads == 1.
13018	* testsuite/libgomp.dg/ordered-3.c: New test.
13019
13020	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13021	Remove volatile keyword.
13022
13023	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13024	in COMMON block to avoid warnings on 64-bit targets.
13025
130262005-10-18  Diego Novillo  <dnovillo@redhat.com>
13027
13028	* testsuite/libgomp.dg/shared-3.c: New test.
13029
130302005-10-18  Jakub Jelinek  <jakub@redhat.com>
13031
13032	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13033	* testsuite/libgomp.fortran/reduction5.f90: New test.
13034
130352005-10-18  Jakub Jelinek  <jakub@redhat.com>
13036
13037	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13038	dg-options.
13039	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
13040	flush loop now that __sync_synchronize has proper memory barrier.
13041	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13042	Add -ffixed-form to dg-options.
13043
130442005-10-17  Diego Novillo  <dnovillo@redhat.com>
13045
13046	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
13047	from subdirectories.
13048	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13049	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13050	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13051	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13052	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13053	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13054	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13055	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13056	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13057	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13058	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13059	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13060	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13061	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13062	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13063	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13064	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13065	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13066	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13067	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13068	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13069	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13070	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13071	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13072	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13073
130742005-10-17  Jakub Jelinek  <jakub@redhat.com>
13075
13076	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13077	lang_library_path exists.  Use find instead of glob to gather tests.
13078	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13079
130802005-10-17  Diego Novillo  <dnovillo@redhat.com>
13081
13082	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13083	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13084	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13085	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13086	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13087	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13088	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13089	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13090	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13091	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13092	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13093	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13094	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13095
130962005-10-15  Jakub Jelinek  <jakub@redhat.com>
13097
13098	* testsuite/libgomp.dg/vla-1.c: New test.
13099
13100	* testsuite/libgomp.fortran/reference2.f90: New test.
13101
13102	* testsuite/libgomp.fortran/character2.f90: Remove explicit
13103	declaration of omp_get_thread_num.
13104	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
13105	use omp_lib.
13106
13107	* testsuite/libgomp.fortran/reduction1.f90: New test.
13108	* testsuite/libgomp.fortran/reduction2.f90: New test.
13109	* testsuite/libgomp.fortran/reduction3.f90: New test.
13110	* testsuite/libgomp.fortran/reduction4.f90: New test.
13111
131122005-10-13  Richard Henderson  <rth@redhat.com>
13113
13114	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
13115	* Makefile.in: Regenerate.
13116	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13117	* libgomp.h: Include bar.h.
13118	(struct gomp_barrier): Remove.
13119	(struct gomp_team): Add barrier.  Replace master_barrier with
13120	master_release.  Replace threads with ordered_release.
13121	(struct gomp_thread): Replace barrier with release.
13122	* ordered.c (gomp_ordered_first): Update for ordered_release change.
13123	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13124	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13125	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13126	(GOMP_single_copy_end): Likewise.
13127	* team.c (gomp_threads_dock): New.
13128	(gomp_barrier_init, gomp_barrier_destroy): Remove.
13129	(gomp_thread_start): Use gomp_barrier_wait.
13130	(new_team, free_team): Update for gomp_team changes.
13131	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13132	(gomp_team_end): Use gomp_barrier_wait.
13133	(initialize_team): Update for gomp_thread changes.
13134	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13135	(gomp_work_share_end_nowait): Use atomic ops when available.
13136	* config/linux/bar.c, config/linux/bar.h: New files.
13137	* config/posix/bar.c, config/posix/bar.h: New files.
13138
131392005-10-13  Jakub Jelinek  <jakub@redhat.com>
13140
13141	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13142	* testsuite/libgomp.dg/single-2.c: New test.
13143
13144	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13145	lang_link_flags): Unset, so that they aren't inherited from previously
13146	sourced *.exp.
13147
13148	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
13149
131502005-10-12  Richard Henderson  <rth@redhat.com>
13151
13152	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13153	(libgomp_init): Use lang_test_file, lang_library_path, and
13154	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
13155
13156	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13157	(lang_test_file, lang_link_flags): New.
13158	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13159
13160	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13161	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13162	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13163	testsuite/libgomp.c++/parallel-1.C,
13164	testsuite/libgomp.c++/reduction-1.C,
13165	testsuite/libgomp.c++/reduction-2.C,
13166	testsuite/libgomp.c++/reduction-3.C,
13167	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13168	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13169	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13170	New files, largely cribbed from the C testsuite.
13171
131722005-10-12  Jakub Jelinek  <jakub@redhat.com>
13173
13174	* testsuite/libgomp.fortran/character1.f90: New test.
13175	* testsuite/libgomp.fortran/character2.f90: New test.
13176
13177	* testsuite/libgomp.dg/nested-1.c: New test.
13178	* testsuite/libgomp.dg/nested-2.c: New test.
13179	* testsuite/libgomp.fortran/do1.f90: New test.
13180	* testsuite/libgomp.fortran/do2.f90: New test.
13181
13182	* testsuite/libgomp.fortran/reference1.f90: New test.
13183
131842005-10-11  Jakub Jelinek  <jakub@redhat.com>
13185
13186	* testsuite/libgomp.dg/reduction-1.c: New test.
13187	* testsuite/libgomp.dg/reduction-2.c: New test.
13188	* testsuite/libgomp.dg/reduction-3.c: New test.
13189
131902005-10-10  Jakub Jelinek  <jakub@redhat.com>
13191
13192	* testsuite/libgomp.dg/atomic-1.c: New test.
13193	* testsuite/libgomp.dg/atomic-2.c: New test.
13194
131952005-10-09  Richard Henderson  <rth@redhat.com>
13196
13197	* critical.c (atomic_lock): New.
13198	(initialize_critical): Initialize it.
13199	(GOMP_atomic_start, GOMP_atomic_end): New.
13200	* libgomp.map: Export them.
13201	* libgomp_g.h: Declare them.
13202
13203	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13204
132052005-10-02  Richard Henderson  <rth@redhat.com>
13206
13207	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
13208	to XCFLAGS instead of CFLAGS.
13209
132102005-09-30  Richard Henderson  <rth@redhat.com>
13211
13212	* configure.ac: Determine whether -pthread or -lpthread is needed.
13213	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
13214	* Makefile.in, configure: Rebuild.
13215
132162005-09-28  Richard Henderson  <rth@redhat.com>
13217
13218	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13219	* testsuite/libgomp.dg/omp-single-3.c: New test.
13220
132212005-09-28  Diego Novillo  <dnovillo@redhat.com>
13222
13223	* testsuite/libgomp.dg/omp-single-2.c: New test.
13224	* testsuite/libgomp.dg/shared-2.c: Fix return code.
13225
132262005-09-27  Richard Henderson  <rth@redhat.com>
13227
13228	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13229	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13230
132312005-09-27  Jakub Jelinek  <jakub@redhat.com>
13232
13233	* testsuite/libgomp.dg/omp-loop03.c: New test.
13234
132352005-09-27  Diego Novillo  <dnovillo@redhat.com>
13236
13237	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
13238
132392005-09-27  Diego Novillo  <dnovillo@redhat.com>
13240
13241	* testsuite/libgomp.dg/omp-single-1.c: New test.
13242	* testsuite/libgomp.dg/shared-1.c: Return 0.
13243	Add prototype for abort.
13244	* testsuite/libgomp.dg/shared-2.c: Likewise.
13245
132462005-09-26  Jakub Jelinek  <jakub@redhat.com>
13247
13248	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13249	constructs.
13250
132512005-09-26  Diego Novillo  <dnovillo@redhat.com>
13252
13253	* testsuite/libgomp.dg/shared-1.c: New test.
13254	* testsuite/libgomp.dg/shared-2.c: New test.
13255
132562005-09-24  Richard Henderson  <rth@redhat.com>
13257
13258	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13259
132602005-09-24  Richard Henderson  <rth@redhat.com>
13261
13262	* iter.c (gomp_iter_static_next): Round up when computing number
13263	of iterations.  Don't bother distributing a remainder equally.
13264
13265	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13266	Don't call srand.  Zero b before testing.
13267	(main): New.
13268
132692005-09-24  Jakub Jelinek  <jakub@redhat.com>
13270
13271	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13272	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13273
132742005-09-23  Jakub Jelinek  <jakub@redhat.com>
13275
13276	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13277	without !$omp end do, followed immediately by subroutine end.
13278
132792005-09-23  Diego Novillo  <dnovillo@redhat.com>
13280
13281	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
13282
132832005-09-22  Richard Henderson  <rth@redhat.com>
13284
13285	* critical.c (GOMP_critical_name_start): Change argument to void**.
13286	Reuse the pointer space if the mutex fits.
13287	(GOMP_critical_name_end): Likewise.
13288	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13289	* libgomp_g.h (GOMP_critical_name_start): Update decl.
13290	(GOMP_critical_name_end): Likewise.
13291	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13292	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13293
132942005-09-20  Richard Henderson  <rth@redhat.com>
13295
13296	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13297	(create_lock_lock): New.
13298	(initialize_critical): Initialize it.
13299	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13300	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13301
133022005-09-20  Diego Novillo  <dnovillo@redhat.com>
13303
13304	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13305
133062005-09-20  Diego Novillo  <dnovillo@redhat.com>
13307
13308	* testsuite/libgomp.dg/omp-loop01.c: New test.
13309	* testsuite/libgomp.dg/omp-loop02.c: New test.
13310
133112005-09-20  Jakub Jelinek  <jakub@redhat.com>
13312
13313	* configure.ac (AC_PROG_FC): Add.
13314	(USE_FORTRAN): New automake conditional.
13315	* configure: Rebuilt.
13316	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13317	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13318	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13319	Add rules to build them.
13320	* Makefile.in: Rebuilt.
13321	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13322	OMP_NEST_LOCK_KIND.
13323	* libgomp.map: Add Fortran wrappers.
13324	* libgomp_f.h.in: New file.
13325	* omp_lib.h.in: New file.
13326	* omp_lib.f90.in: New file.
13327	* fortran.c: New file.
13328	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13329	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13330	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13331	libgfortran has been built.
13332	* testsuite/libgomp.fortran/fortran.exp: New file.
13333	* testsuite/libgomp.fortran/omp_cond1.f: New test.
13334	* testsuite/libgomp.fortran/omp_cond2.f: New test.
13335	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
13336	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
13337	* testsuite/libgomp.fortran/omp_hello.f: New test.
13338	* testsuite/libgomp.fortran/omp_orphan.f: New test.
13339	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
13340	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
13341	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
13342	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
13343	* testsuite/libgomp.fortran/omp_reduction.f: New test.
13344	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
13345	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
13346
133472005-08-30  Richard Henderson  <rth@redhat.com>
13348
13349	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
13350	function for when aliases are not usable.
13351	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
13352	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13353	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
13354	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
13355	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
13356	GOMP_loop_ordered_guided_next): Likewise.
13357	* ordered.c (GOMP_ordered_start): Likewise.
13358
133592005-08-01  Diego Novillo  <dnovillo@redhat.com>
13360
13361	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
13362	* testsuite/libgomp.dg/omp_hello.c: Fix return code
13363	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
13364	* testsuite/libgomp.dg/omp_orphan.c: Likewise
13365	* testsuite/libgomp.dg/omp_reduction.c: Likewise
13366	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
13367	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
13368	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
13369	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
13370
133712005-07-07  Eric Christopher  <echristo@redhat.com>
13372	    Diego Novillo  <dnovillo@redhat.com>
13373
13374	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
13375	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
13376	up code.
13377	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
13378	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
13379	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
13380	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
13381	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
13382	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
13383	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
13384
133852005-06-13  Diego Novillo  <dnovillo@redhat.com>
13386
13387	* TOPLEVEL.patch: Remove.
13388
133892005-05-16  Richard Henderson  <rth@redhat.com>
13390
13391	* configure.ac: Test for clock_gettime.
13392	* config.h.in, configure: Rebuild.
13393	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
13394	(omp_get_wtime): Use clock_gettime if available.
13395	(omp_get_wtick): Use clock_getres if available.
13396
133972005-05-11  Richard Henderson  <rth@redhat.com>
13398
13399	* config/linux/ia64/futex.h: New file.
13400	* configure.tgt: Use it.
13401
13402	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
13403
134042005-05-07  Richard Henderson  <rth@redhat.com>
13405
13406	* config/linux/powerpc/futex.h: New file.
13407	* configure.tgt: Use it.
13408
13409	* config/linux/i486/futex.h: Merge ...
13410	* config/linux/x86_64/futex.h: ... into ...
13411	* config/linux/x86/futex.h: ... here.
13412	* configure.tgt: Update to match.
13413
134142005-05-06  Richard Henderson  <rth@redhat.com>
13415
13416	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
13417	* config/linux/i486/futex.h: Likewise.
13418	* config/linux/x86_64/futex.h: Likewise.
13419
13420	* config/linux/lock.c: New file.
13421	* config/linux/omp-lock.h: New file.
13422
13423	* critical.c, env.h: Don't include omp.h
13424	* config/posix/lock.c: Include libgomp.h instead of omp.h.
13425	* config/posix/time.c: Likewise.
13426	* config/posix/omp-lock.h: New file.
13427	* libgomp.h: Include omp-lock.h and omp.h.
13428	* Makefile.am (nodist_include_HEADERS): New.
13429	(omp.h): New rule.
13430	* configure.ac (PERL): New.
13431	* mkomp_h.pl: New file.
13432	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
13433	with templates.
13434	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
13435
13436	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
13437	build directory.  Re-add -march=i486 hack.
13438
13439	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
13440	(libgomp_link_flags): Remove.
13441	(libgomp_initialized): Remove.
13442	(libgomp_init): Don't protect from reinitialization.  Copy code
13443	from libstdc++ for getting the multilib set correctly.
13444
134452005-05-05  Richard Henderson  <rth@redhat.com>
13446
13447	* config/linux/alpha/futex.h: New file.
13448	* configure.tgt (alpha*-*-linux*): Use it.
13449
13450	* config/posix/mutex.c: New file.
13451	* config/posix/sem.c: Use libgomp.h.
13452
13453	* configure.tgt (x86_64-linux): Also test CC for -m32.
13454	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
13455
13456	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
13457	after $gccpath.
13458
13459	* Makefile.am (SUBDIRS): New.
13460	(libgomp_la_LDFLAGS): Add -lpthread.
13461	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
13462	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
13463
13464	* libgomp_g.h: New file.
13465	* libgomp.h: Split out all public declarations to libgomp_g.h.
13466	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
13467	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
13468	* config/linux/sem.h: Likewise.
13469	* config/posix/sem.h: Likewise.
13470
13471	* Makefile.am (AM_LDFLAGS): New.
13472	(libgomp_version_script): Split out from ...
13473	(libgomp_la_LDFLAGS): ... here.
13474	(libgomp_version_info): New.
13475	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
13476	(LIBGOMP_ENABLE): New.
13477	(LIBGOMP_CHECK_LINKER_FEATURES): New.
13478	(LIBGOMP_ENABLE_SYMVERS): New.
13479	* configure.ac (AC_INIT): Version 1.0.
13480	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
13481	(enable-linux-futex): Likewise.  Rename from enable-futex.
13482	(libtool_VERSION): New.
13483	(LIBGOMP_ENABLE_SYMVERS): Use it.
13484	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
13485	* Makefile.in, aclocal.m4, configure: Rebuild.
13486
13487	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
13488	(gomp_mutex_unlock_slow): Fix typo.
13489	* config/linux/sem.c: Similarly.
13490	(gomp_sem_post_slow): Fix typo.
13491	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
13492	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
13493	[__PIC__] (sys_futex0): Don't use tmp output in asm.
13494
13495	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
13496	(libgomp_la_LDFLAGS): Add top_srcdir to path.
13497	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
13498	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
13499	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
13500	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
13501	LDFLAGS.  Pull enable_futex check to top-level.
13502	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
13503	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
13504
13505	First attempt at real configury.
13506	* Makefile, config.h: Remove file.
13507	* Makefile.am, Makefile.in: New file.
13508	* acinclude.m4 aclocal.m4: New file.
13509	* configure.ac, configure.tgt, configure: New file.
13510
13511	* config/posix/lock.c: Rename from sys-lock.c.
13512	* config/posix/mutex.h: Rename from sys-mutex.h.
13513	* config/posix/sem.c: Rename from sys-sem.c.
13514	* config/posix/sem.h: Rename from sys-sem.h.
13515	* config/posix/proc.c: Rename from sys-proc.c.
13516	* config/posix/time.c: Rename from sys-proc.c.
13517
13518	* config/linux/mutex.c: New file.
13519	* config/linux/mutex.h: New file.
13520	* config/linux/sem.c: New file.
13521	* config/linux/sem.h: New file.
13522	* config/linux/i486/futex.h: New file.
13523	* config/linux/x86_64/futex.h: New file.
13524
135252005-05-04  Richard Henderson  <rth@redhat.com>
13526
13527	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
13528	* libgomp.h: Declare them.
13529	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
13530	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
13531
135322005-05-04  Richard Henderson  <rth@redhat.com>
13533
13534	* libgomp-1 code drop
13535
135362005-05-04  Richard Henderson  <rth@redhat.com>
13537
13538	* iter.c (gomp_iter_static_next): Return tri-state on 0.
13539	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
13540	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
13541	(gomp_iter_static_next): Update.
13542	(gomp_ordered_static_next): Update.
13543	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
13544	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
13545	totally empty range.
13546	(gomp_loop_ordered_static_next): Refine test for calling
13547	gomp_ordered_static_next.
13548	* testsuite/ordered-1.c: Add case for more threads than iterations.
13549
13550	* iter.c (gomp_iter_runtime_next_locked): Remove.
13551	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
13552	gomp_loop_guided_start, gomp_loop_ordered_static_start,
13553	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
13554	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
13555	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
13556	gomp_loop_ordered_guided_next): Downcase name, make static, add
13557	an external alias with the old name.
13558	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
13559	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
13560	switch and call one of the above static functions.
13561	* libgomp.h: Update.
13562
13563	* work.c (gomp_work_share_start): Lock the mutex for !first too.
13564	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
13565	GOMP_loop_guided_start, GOMP_loop_runtime_start,
13566	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
13567	GOMP_loop_ordered_guided_start): Update to match.
13568	* sections.c (GOMP_sections_start): Likewise.
13569	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
13570
13571	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13572	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
13573	Use bounds check instead of modulus.
13574	(gomp_ordered_sync): Split out of GOMP_ordered_start.
13575	(gomp_ordered_last): Don't sync with ordered_owner here.
13576	(gomp_ordered_next): Likewise.
13577	(gomp_ordered_static_loop_next): Likewise.
13578	* loop.c, libgomp.h: Update to match.
13579
13580	* libgomp.h (GOMP_barrier): Declare.
13581
13582	* testsuite/barrier-1.c: New file.
13583	* testsuite/critical-1.c: New file.
13584	* testsuite/ordered-2.c: New file.
13585	* testsuite/ordered-1.c: New file.
13586	* testsuite/sections-1.c: New file.
13587	* testsuite/single-1.c: New file.
13588	* testsuite/Makefile (TESTS): Add them.
13589
135902005-05-04  Richard Henderson  <rth@redhat.com>
13591
13592	* libgomp.h (struct gomp_work_share): Add ordered_owner.
13593	* loop.c (GOMP_loop_static_start): If not the startup thread,
13594	acquire the mutex to wait for initialization complete.
13595	(GOMP_loop_ordered_static_start): Likewise.
13596	(GOMP_loop_ordered_runtime_start): Likewise.
13597	(GOMP_loop_ordered_static_first): Remove.
13598	(GOMP_loop_ordered_dynamic_first): Remove.
13599	(GOMP_loop_ordered_guided_first): Remove.
13600	(GOMP_loop_ordered_runtime_first): Remove.
13601	* ordered.c (gomp_ordered_loop_first): Post to own release when
13602	we're the first thread.
13603	(gomp_ordered_loop_last): Wait on release if not owner.
13604	(gomp_ordered_loop_next): Likewise.
13605	(gomp_ordered_static_loop_init): New.
13606	(gomp_ordered_static_loop_next): Use ordered_owner.
13607	(GOMP_ordered_start): Likewise.
13608	* work.c (gomp_new_work_share): Initialize ordered_owner.
13609
136102005-05-03  Richard Henderson  <rth@redhat.com>
13611
13612	* Makefile (OPT): New.
13613	(CFLAGS): Use it.
13614
13615	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
13616	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
13617	* libgomp.h, libgomp.map, NOTES: Update to match.
13618
13619	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
13620	Add initialized and thr members.
13621	(gomp_thread_start): Pause when initially spawned to wait for
13622	the whole team to be created.
13623	(gomp_team_start): Release team members at the end.
13624
13625	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
13626	(f_foo_1): Use GOMP_loop_end.
13627	(f_foo_2): Use GOMP_loop_end_nowait.
13628
13629	* testsuite/loop-2.c: New file.
13630	* testsuite/Makefile (TESTS): Add it.
13631
136322005-05-03  Richard Henderson  <rth@redhat.com>
13633
13634	* iter.c (gomp_iter_static_next): Fix overflow check typo.
13635	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
13636	* team.c (new_team): Initialize oldest_live_gen to 1 if no
13637	initial work_share.
13638
13639	* testsuite/Makefile: New file.
13640	* testsuite/loop-1.c: New file.
13641
136422005-05-03  Richard Henderson  <rth@redhat.com>
13643
13644	Initial implementation and checkin.
13645
13646Copyright (C) 2005-2020 Free Software Foundation, Inc.
13647
13648Copying and distribution of this file, with or without modification,
13649are permitted in any medium without royalty provided the copyright
13650notice and this notice are preserved.
13651