12021-12-04  Tobias Burnus  <tobias@codesourcery.com>
2
3	* libgomp.texi (OpenMP 5.1): Update status.
4
52021-12-04  Tobias Burnus  <tobias@codesourcery.com>
6
7	* libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
8
92021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
10
11	PR fortran/90030
12	* testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
13	* testsuite/libgomp.fortran/pr90030.f90: New test.
14
152021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
16	    Thomas Schwinge  <thomas@codesourcery.com>
17
18	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
19	temporary skip.
20
212021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
22	    Thomas Schwinge  <thomas@codesourcery.com>
23
24	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
25	skip.
26
272021-11-29  Richard Biener  <rguenther@suse.de>
28
29	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
30	return.
31
322021-11-24  Jakub Jelinek  <jakub@redhat.com>
33
34	PR middle-end/103384
35	* testsuite/libgomp.c/declare-variant-2.c: New test.
36
372021-11-18  David Edelsohn  <dje.gcc@gmail.com>
38
39	* alloc.c (gomp_aligned_alloc): Fix typo.
40
412021-11-18  Jakub Jelinek  <jakub@redhat.com>
42
43	PR libgomp/102838
44	* libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
45	GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
46	(struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
47	GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
48	* work.c (alloc_work_share, gomp_work_share_start): Likewise.
49	* team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
50	gomp_aligned_alloc instead of team_malloc.
51
522021-11-18  Jakub Jelinek  <jakub@redhat.com>
53
54	PR libgomp/102838
55	* alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
56	memalign over posix_memalign over aligned_alloc over fallback
57	with malloc instead of aligned_alloc over _aligned_alloc over
58	posix_memalign over memalign over fallback with malloc.  For
59	aligned_alloc, round up size up to multiple of al.
60
612021-11-16  Jakub Jelinek  <jakub@redhat.com>
62
63	* libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
64	construct as implemented.
65
662021-11-15  Tobias Burnus  <tobias@codesourcery.com>
67
68	* testsuite/libgomp.fortran/thread-limit-1.f90: New test.
69
702021-11-15  Jakub Jelinek  <jakub@redhat.com>
71
72	* task.c (gomp_create_target_task): Copy args array as well.
73	* target.c (gomp_target_fallback): Add args argument.
74	Set gomp_icv (true)->thread_limit_var if thread_limit is present.
75	(GOMP_target): Adjust gomp_target_fallback caller.
76	(GOMP_target_ext): Likewise.
77	(gomp_target_task_fn): Likewise.
78	* config/nvptx/team.c (gomp_nvptx_main): Set
79	gomp_global_icv.thread_limit_var.
80	* testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
81
822021-11-15  Jakub Jelinek  <jakub@redhat.com>
83
84	* config/nvptx/team.c (__gomp_team_num): Define as
85	__attribute__((shared)) var.
86	(gomp_nvptx_main): Initialize __gomp_team_num to 0.
87	* config/nvptx/target.c (__gomp_team_num): Declare as
88	extern __attribute__((shared)) var.
89	(GOMP_teams4): Use __gomp_team_num as the team number instead of
90	%ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
91	is bigger than num_blocks, use num_teams_lower teams and arrange for
92	bumping of __gomp_team_num if !first and returning false once we run
93	out of teams.
94	* config/nvptx/teams.c (__gomp_team_num): Declare as
95	extern __attribute__((shared)) var.
96	(omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
97
982021-11-15  Jakub Jelinek  <jakub@redhat.com>
99
100	* testsuite/libgomp.c/teams-5.c: New test.
101
1022021-11-12  Jakub Jelinek  <jakub@redhat.com>
103
104	PR target/103201
105	* config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
106	to ...
107	* config/gcn/teams.c: ... here.  New file.
108
1092021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
110
111	* target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
112	implicit map handling to allow a "superset" existing map as valid case.
113	(get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
114	(get_implicit): New function to extract implicit status.
115	(gomp_map_fields_existing): Adjust arguments in calls to
116	gomp_map_vars_existing, and add uses of get_implicit.
117	(gomp_map_vars_internal): Likewise.
118	* testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
119
1202021-11-12  Jakub Jelinek  <jakub@redhat.com>
121
122	* libgomp_g.h (GOMP_teams4): Declare.
123	* libgomp.map (GOMP_5.1): Export GOMP_teams4.
124	* target.c (GOMP_teams4): New function.
125	* config/nvptx/target.c (GOMP_teams): Remove.
126	(GOMP_teams4): New function.
127	* config/gcn/target.c (GOMP_teams): Remove.
128	(GOMP_teams4): New function.
129	* testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
130	teams instead of <= 2.
131	* testsuite/libgomp.c-c++-common/teams-2.c: New test.
132
1332021-11-11  Tobias Burnus  <tobias@codesourcery.com>
134
135	* testsuite/libgomp.fortran/teams-1.f90: New test.
136
1372021-11-11  Jakub Jelinek  <jakub@redhat.com>
138
139	* libgomp.h (struct gomp_thread): Add num_teams and team_num members.
140	* team.c (struct gomp_thread_start_data): Likewise.
141	(gomp_thread_start): Initialize thr->num_teams and thr->team_num.
142	(gomp_team_start): Initialize start_data->num_teams and
143	start_data->team_num.  Update nthr->num_teams and nthr->team_num.
144	* teams.c (gomp_num_teams, gomp_team_num): Remove.
145	(GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
146	instead of gomp_num_teams and gomp_team_num.
147	(omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
148	(omp_get_team_num): Use thr->team_num instead of gomp_team_num.
149	* testsuite/libgomp.c/teams-4.c: New test.
150
1512021-11-11  Jakub Jelinek  <jakub@redhat.com>
152
153	* testsuite/libgomp.c-c++-common/teams-1.c: New test.
154
1552021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
156
157	* env.c (parse_gomp_openacc_dim): Restore parsing.
158
1592021-10-30  Tobias Burnus  <tobias@codesourcery.com>
160
161	PR middle-end/102972
162	* testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
163	parallel construct.
164	* testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
165	* testsuite/libgomp.c/target-3.c: Likewise.
166	* testsuite/libgomp.c/target-5.c: Likewise.
167	* testsuite/libgomp.c/target-6.c: Likewise.
168	* testsuite/libgomp.c/target-teams-1.c: Likewise.
169	* testsuite/libgomp.c/teams-1.c: Likewise.
170	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
171	* testsuite/libgomp.c/thread-limit-3.c: Likewise.
172	* testsuite/libgomp.c/thread-limit-4.c: Likewise.
173	* testsuite/libgomp.c/thread-limit-5.c: Likewise.
174	* testsuite/libgomp.fortran/icv-3.f90: Likewise.
175	* testsuite/libgomp.fortran/icv-4.f90: Likewise.
176	* testsuite/libgomp.fortran/teams1.f90: Likewise.
177
1782021-10-29  Aldy Hernandez  <aldyh@redhat.com>
179
180	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
181	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
182
1832021-10-27  Jakub Jelinek  <jakub@redhat.com>
184
185	* libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
186	aren't implemented for Fortran yet.
187
1882021-10-27  Jakub Jelinek  <jakub@redhat.com>
189
190	* testsuite/libgomp.c/loop-26.c: New test.
191	* testsuite/libgomp.c/loop-27.c: New test.
192
1932021-10-25  Tobias Burnus  <tobias@codesourcery.com>
194
195	PR testsuite/102910
196	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
197	instead of #include <alloca.h> + alloca.
198
1992021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
200
201	* libgomp.texi (Support of strictly structured blocks in Fortran):
202	Adjust to 'Y'.
203	* testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
204
2052021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
206
207	* testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
208	* testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
209
2102021-10-20  Jakub Jelinek  <jakub@redhat.com>
211
212	PR libgomp/102838
213	* libgomp.h (struct gomp_work_share_1st_cacheline): New type.
214	(struct gomp_work_share): Only use aligned(64) attribute if
215	GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
216	add padding before lock to ensure lock is at offset 64 bytes
217	into the structure.
218	(gomp_workshare_struct_check1, gomp_workshare_struct_check2):
219	New poor man's static assertions.
220	* work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
221	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
222
2232021-10-20  Aldy Hernandez  <aldyh@redhat.com>
224	    Richard Biener  <rguenther@suse.de>
225
226	* testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
227
2282021-10-18  Jakub Jelinek  <jakub@redhat.com>
229
230	* config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
231	&& gomp_places_list_len < count after nfirst <= nlast loop condition.
232
2332021-10-18  Tobias Burnus  <tobias@codesourcery.com>
234
235	PR fortran/102086
236	PR fortran/92189
237	PR fortran/92621
238	PR fortran/101308
239	PR fortran/101309
240	PR fortran/101635
241	PR fortran/92482
242	* testsuite/libgomp.fortran/optional-bind-c.f90: New test.
243
2442021-10-15  Jakub Jelinek  <jakub@redhat.com>
245
246	* testsuite/libgomp.c/affinity-1.c (struct places): Change name field
247	type from char [50] to const char *.
248	(places_array): Add a testcase for simplified syntax place followed
249	by length or length and stride.
250
2512021-10-15  Jakub Jelinek  <jakub@redhat.com>
252
253	* env.c (parse_one_place): Handle non-negative-number the same
254	as { non-negative-number }.  Reject even !number:1 and
255	!number:1:stride or !place:1 or !place:1:stride instead of just
256	length other than 1.
257	* libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
258	and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
259	omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
260	as implemented.
261	* testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
262	simplified syntax.
263
2642021-10-15  Jakub Jelinek  <jakub@redhat.com>
265
266	* env.c (parse_schedule): For strtoul or strtoull calls which don't
267	clearly reject return value 0 as invalid handle the case where end
268	pointer is the same as first argument as invalid.
269	(parse_unsigned_long_1): Likewise.
270	(parse_one_place): Likewise.
271	(parse_places_var): Likewise.
272	(parse_stacksize): Likewise.
273	(parse_spincount): Likewise.
274	(parse_affinity): Likewise.
275	(parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
276	Make code valid C89.
277	* config/linux/affinity.c (gomp_affinity_find_last_cache_level):
278	For strtoul calls which don't clearly reject return value 0 as
279	invalid handle the case where end pointer is the same as first
280	argument as invalid.
281	(gomp_affinity_init_level_1): Likewise.
282	(gomp_affinity_init_numa_domains): Likewise.
283	* config/rtems/proc.c (parse_thread_pools): Likewise.
284
2852021-10-15  Jakub Jelinek  <jakub@redhat.com>
286
287	* config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
288	after creating count places clean up and return immediately.
289	* testsuite/libgomp.c/places-6.c: New test.
290	* testsuite/libgomp.c/places-7.c: New test.
291	* testsuite/libgomp.c/places-8.c: New test.
292	* testsuite/libgomp.c/places-9.c: New test.
293	* testsuite/libgomp.c/places-10.c: New test.
294
2952021-10-15  Jakub Jelinek  <jakub@redhat.com>
296
297	* env.c (parse_places_var): Handle numa_domains as level 5.
298	* config/linux/affinity.c (gomp_affinity_init_numa_domains): New
299	function.
300	(gomp_affinity_init_level): Use it instead of
301	gomp_affinity_init_level_1 for level == 5.
302	* testsuite/libgomp.c/places-5.c: New test.
303
3042021-10-15  Jakub Jelinek  <jakub@redhat.com>
305
306	* env.c (parse_places_var): Handle ll_caches as level 4.
307	* config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
308	function.
309	(gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
310	last level cache.
311	(gomp_affinity_init_level): Likewise.
312	* testsuite/libgomp.c/places-1.c: New test.
313	* testsuite/libgomp.c/places-2.c: New test.
314	* testsuite/libgomp.c/places-3.c: New test.
315	* testsuite/libgomp.c/places-4.c: New test.
316
3172021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
318
319	* libgomp.texi (OpenMP 5.0): Update entry for declare variant
320	directive.
321
3222021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
323
324	* testsuite/libgomp.fortran/declare-variant-1.f90: New test.
325
3262021-10-12  Julian Brown  <julian@codesourcery.com>
327
328	* target.c (gomp_copy_host2dev): Release device lock on cbuf
329	error path.
330
3312021-10-12  Tobias Burnus  <tobias@codesourcery.com>
332
333	* testsuite/libgomp.fortran/icv-3.f90: New.
334	* testsuite/libgomp.fortran/icv-4.f90: New.
335
3362021-10-12  Jakub Jelinek  <jakub@redhat.com>
337
338	* libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
339	omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
340	OMP_TEAMS_THREAD_LIMIT): Document.
341
3422021-10-12  Jakub Jelinek  <jakub@redhat.com>
343
344	* libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
345	to avoid makeinfo warnings.
346
3472021-10-12  Jakub Jelinek  <jakub@redhat.com>
348
349	* testsuite/libgomp.c-c++-common/icv-3.c: New test.
350	* testsuite/libgomp.c-c++-common/icv-4.c: New test.
351
3522021-10-12  Jakub Jelinek  <jakub@redhat.com>
353
354	PR libgomp/102628
355	PR libgomp/102668
356	* testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
357	allocation sizes from 420 to 320 and from 768 to 568.
358	* testsuite/libgomp.fortran/alloc-11.f90: Likewise.
359	* testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
360	for cr from 16 to 4.
361
3622021-10-12  Jakub Jelinek  <jakub@redhat.com>
363
364	* testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
365	* testsuite/libgomp.c/scan-12.c: Likewise.
366	* testsuite/libgomp.c/scan-13.c: Likewise.
367	* testsuite/libgomp.c/scan-14.c: Likewise.
368	* testsuite/libgomp.c/scan-15.c: Likewise.
369	* testsuite/libgomp.c/scan-16.c: Likewise.
370	* testsuite/libgomp.c/scan-17.c: Likewise.
371	* testsuite/libgomp.c/scan-18.c: Likewise.
372	* testsuite/libgomp.c/scan-19.c: Likewise.
373	* testsuite/libgomp.c/scan-20.c: Likewise.
374	* testsuite/libgomp.c/scan-21.c: Likewise.
375	* testsuite/libgomp.c/scan-22.c: Likewise.
376	* testsuite/libgomp.c++/scan-9.C: Likewise.
377	* testsuite/libgomp.c++/scan-10.C: Likewise.
378	* testsuite/libgomp.c++/scan-11.C: Likewise.
379	* testsuite/libgomp.c++/scan-12.C: Likewise.
380	* testsuite/libgomp.c++/scan-13.C: Likewise.
381	* testsuite/libgomp.c++/scan-14.C: Likewise.
382	* testsuite/libgomp.c++/scan-15.C: Likewise.
383	* testsuite/libgomp.c++/scan-16.C: Likewise.
384
3852021-10-12  Kewen Lin  <linkw@linux.ibm.com>
386
387	* testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
388
3892021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
390
391	* allocator.c (omp_init_allocator): Replace omp_atv_sequential with
392	omp_atv_serialized.
393	* omp.h.in: Add deprecated flag for omp_atv_sequential.
394	* omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
395	* testsuite/libgomp.c-c++-common/alloc-10.c: New test.
396	* testsuite/libgomp.fortran/alloc-12.f90: New test.
397
3982021-10-11  Jakub Jelinek  <jakub@redhat.com>
399
400	* omp.h.in (omp_set_num_teams, omp_get_max_teams,
401	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
402	* omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
403	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
404	* omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
405	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
406	* libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
407	* libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
408	omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
409	omp_set_teams_thread_limit{,_,_8_}.
410	* icv.c (omp_set_num_teams, omp_get_max_teams,
411	omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
412	functions.
413	* env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
414	(omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
415	(initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
416	vars.
417	* teams.c (GOMP_teams_reg): If thread_limit is not specified, use
418	gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
419	is not specified, use gomp_nteams_var.
420	* fortran.c (omp_set_num_teams, omp_get_max_teams,
421	omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
422	ialias_redirect.
423	(omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
424	omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
425	omp_get_teams_thread_limit_): New functions.
426
4272021-10-09  liuhongt  <hongtao.liu@intel.com>
428
429	* testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
430	* testsuite/libgomp.c++/scan-11.C: Ditto.
431	* testsuite/libgomp.c++/scan-12.C: Ditto.
432	* testsuite/libgomp.c++/scan-13.C: Ditto.
433	* testsuite/libgomp.c++/scan-14.C: Ditto.
434	* testsuite/libgomp.c++/scan-15.C: Ditto.
435	* testsuite/libgomp.c++/scan-16.C: Ditto.
436	* testsuite/libgomp.c++/scan-9.C: Ditto.
437	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
438	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
439	* testsuite/libgomp.c/scan-11.c: Ditto.
440	* testsuite/libgomp.c/scan-12.c: Ditto.
441	* testsuite/libgomp.c/scan-13.c: Ditto.
442	* testsuite/libgomp.c/scan-14.c: Ditto.
443	* testsuite/libgomp.c/scan-15.c: Ditto.
444	* testsuite/libgomp.c/scan-16.c: Ditto.
445	* testsuite/libgomp.c/scan-17.c: Ditto.
446	* testsuite/libgomp.c/scan-18.c: Ditto.
447	* testsuite/libgomp.c/scan-19.c: Ditto.
448	* testsuite/libgomp.c/scan-20.c: Ditto.
449	* testsuite/libgomp.c/scan-21.c: Ditto.
450	* testsuite/libgomp.c/scan-22.c: Ditto.
451
4522021-10-09  Jakub Jelinek  <jakub@redhat.com>
453
454	* libgomp.texi (OpenMP 5.1): Mention implemented support for
455	structured block sequences in C/C++.  Mention support for
456	unconstrained/reproducible modifiers on order clause.
457	Mention partial (C/C++ only) support of extentensions to atomics
458	construct.  Mention partial (C/C++ on clause only) support of
459	align/allocator modifiers on allocate clause.
460
4612021-10-02  Tobias Burnus  <tobias@codesourcery.com>
462
463	* testsuite/libgomp.fortran/order-reproducible-1.f90: New test
464	based on libgomp.c-c++-common/order-reproducible-1.c.
465	* testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
466	* testsuite/libgomp.fortran/my-usleep.c: New test.
467
4682021-10-01  Tobias Burnus  <tobias@codesourcery.com>
469
470	* testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
471	* testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
472	* testsuite/libgomp.fortran/alloc-8.f90: Likewise.
473	* testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
474	based on libgomp.c-c++-common/alloc-9.c.
475
4762021-10-01  Jakub Jelinek  <jakub@redhat.com>
477
478	* testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
479	* testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
480
4812021-10-01  Jakub Jelinek  <jakub@redhat.com>
482
483	* affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
484	ialias_redirect.
485	* env.c (handle_omp_display_env): Use ialias_call.
486	* icv-device.c: Move ialias right below each function.
487	(omp_get_device_num): Use ialias_call.
488	* fortran.c (omp_fulfill_event): Add ialias_redirect.
489	* icv.c (omp_get_active_level): Add ialias_redirect.
490
4912021-10-01  Jakub Jelinek  <jakub@redhat.com>
492
493	* omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
494	__alloc_align__ (1) attribute.
495	* testsuite/libgomp.c-c++-common/alloc-9.c: New test.
496
4972021-09-30  Tobias Burnus  <tobias@codesourcery.com>
498
499	* testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
500	for -fintrinsic-modules-path= warning of the C compiler.
501	* testsuite/libgomp.fortran/alloc-9.f90: Likewise.
502	* testsuite/libgomp.fortran/alloc-10.f90: Likewise.
503
5042021-09-30  Tobias Burnus  <tobias@codesourcery.com>
505
506	* libgomp.texi (OpenMP 5.1): Set implementation status to Y for
507	omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
508	* omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
509	omp_realloc): Add.
510	* omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
511	omp_realloc): Add.
512	* testsuite/libgomp.fortran/alloc-10.f90: New test.
513	* testsuite/libgomp.fortran/alloc-6.f90: New test.
514	* testsuite/libgomp.fortran/alloc-7.c: New test.
515	* testsuite/libgomp.fortran/alloc-7.f90: New test.
516	* testsuite/libgomp.fortran/alloc-8.f90: New test.
517	* testsuite/libgomp.fortran/alloc-9.f90: New test.
518
5192021-09-30  Jakub Jelinek  <jakub@redhat.com>
520
521	* omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
522	omp_realloc): New prototypes.
523	(omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
524	attribute.
525	* allocator.c: Include string.h.
526	(omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
527	variable and use it instead of alignment so that when retrying the old
528	alignment is used again.  Don't retry if new alignment is the same
529	as old alignment, unless allocator had pool size.
530	(omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
531	(omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
532	* libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
533	omp_aligned_calloc and omp_realloc.
534	* testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
535	omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
536	* testsuite/libgomp.c-c++-common/alloc-5.c: New test.
537	* testsuite/libgomp.c-c++-common/alloc-6.c: New test.
538	* testsuite/libgomp.c-c++-common/alloc-7.c: New test.
539	* testsuite/libgomp.c-c++-common/alloc-8.c: New test.
540
5412021-09-28  Tobias Burnus  <tobias@codesourcery.com>
542
543	PR libgomp/96661
544	* configure.ac: Only check for int-type = 2*size_t support when
545	building with Fortran support.
546	* configure: Regenerate.
547
5482021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
549
550	* testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
551	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
552
5532021-09-27  Aldy Hernandez  <aldyh@redhat.com>
554
555	* team.c: Initialize start_data.
556	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
557	* testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
558
5592021-09-27  Tobias Burnus  <tobias@codesourcery.com>
560
561	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
562	dg-message back to dg-note.
563
5642021-09-27  Tobias Burnus  <tobias@codesourcery.com>
565
566	PR fortran/94070
567	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
568	expected dg-note output.
569
5702021-09-22  Tobias Burnus  <tobias@codesourcery.com>
571
572	PR fortran/55534
573	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
574	r12-3722 by removing -Wno-missing-include-dirs.
575	* testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
576
5772021-09-22  Jakub Jelinek  <jakub@redhat.com>
578
579	* testsuite/libgomp.c-c++-common/allocate-2.c: New test.
580	* testsuite/libgomp.c-c++-common/allocate-3.c: New test.
581
5822021-09-21  Tobias Burnus  <tobias@codesourcery.com>
583
584	PR fortran/55534
585	* testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
586	to ALWAYS_CFLAGS.
587	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
588
5892021-09-18  Jakub Jelinek  <jakub@redhat.com>
590
591	* testsuite/libgomp.c++/default-1.C: New test.
592	* testsuite/libgomp.c-c++-common/default-1.c: New test.
593	* libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
594	to default clause in C and C++" as implemented.
595
5962021-09-17  Julian Brown  <julian@codesourcery.com>
597
598	* testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
599
6002021-09-17  Julian Brown  <julian@codesourcery.com>
601
602	* testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
603
6042021-09-17  Jakub Jelinek  <jakub@redhat.com>
605
606	* libgomp.texi (OpenMP 5.1): Spelling fix,
607	declare variante -> declare variant.
608
6092021-09-17  Jakub Jelinek  <jakub@redhat.com>
610
611	* testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
612	Use /* */ comments instead of //.
613	* testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
614	* testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
615	* testsuite/libgomp.c++/atomic-16.C: New test.
616	* testsuite/libgomp.c++/atomic-17.C: New test.
617
6182021-09-10  Jakub Jelinek  <jakub@redhat.com>
619
620	* testsuite/libgomp.c-c++-common/atomic-19.c: New test.
621	* testsuite/libgomp.c-c++-common/atomic-20.c: New test.
622	* testsuite/libgomp.c-c++-common/atomic-21.c: New test.
623
6242021-09-07  Tobias Burnus  <tobias@codesourcery.com>
625
626	* libgomp.texi (OpenMP Implementation Status): Extend
627	OpenMP 5.0 section.
628	(OpenACC Profiling Interface): Fix typo.
629
6302021-09-07  Tobias Burnus  <tobias@codesourcery.com>
631
632	* libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
633	not to 4.5; link to new section.
634	(OpenMP Implementation Status): New.
635
6362021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
637
638	* testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
639
6402021-09-03  Tobias Burnus  <tobias@codesourcery.com>
641
642	* testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
643	dg-output.
644	* testsuite/libgomp.fortran/error-1.f90: Likewise.
645
6462021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
647	    Jakub Jelinek  <jakub@redhat.com>
648
649	* testsuite/libgomp.c/address-space-1.c: New file.
650
6512021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
652
653	* testsuite/lib/libgomp.exp
654	(check_effective_target_offload_target_intelmic): Remove 'proc'.
655	(check_effective_target_offload_device_intel_mic): New 'proc'.
656	* testsuite/libgomp.c-c++-common/on_device_arch.h
657	(device_arch_intel_mic, on_device_arch_intel_mic): New.
658	* testsuite/libgomp.c-c++-common/target-45.c: Use that for
659	'dg-xfail-run-if'.
660	* testsuite/libgomp.fortran/target10.f90: Likewise.
661
6622021-08-23  Tobias Burnus  <tobias@codesourcery.com>
663
664	* testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
665	* testsuite/libgomp.fortran/taskloop-4.f90: New test.
666	* testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
667	* testsuite/libgomp.fortran/taskloop-5.f90: New test.
668
6692021-08-23  Jakub Jelinek  <jakub@redhat.com>
670
671	* taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
672	* testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
673	* testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
674
6752021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
676
677	* config/nvptx/error.c (fwrite, exit): Override, too.
678	* testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
679	of offloading testing.
680	* testsuite/libgomp.fortran/error-1.f90: Likewise.
681
6822021-08-20  Tobias Burnus  <tobias@codesourcery.com>
683
684	* testsuite/libgomp.fortran/error-1.f90: New test.
685
6862021-08-20  Jakub Jelinek  <jakub@redhat.com>
687
688	* libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
689	* libgomp_g.h (GOMP_warning, GOMP_error): Declare.
690	* error.c (GOMP_warning, GOMP_error): New functions.
691	* testsuite/libgomp.c-c++-common/error-1.c: New test.
692
6932021-08-18  Tobias Burnus  <tobias@codesourcery.com>
694
695	* omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
696	omp_target_free. omp_target_is_present, omp_target_memcpy,
697	omp_target_memcpy_rect, omp_target_associate_ptr,
698	omp_target_disassociate_ptr): Add interface.
699	* omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
700	omp_target_free. omp_target_is_present, omp_target_memcpy,
701	omp_target_memcpy_rect, omp_target_associate_ptr,
702	omp_target_disassociate_ptr): Add interface.
703	* testsuite/libgomp.fortran/alloc-1.F90: Remove local
704	interface block for omp_alloc + omp_free.
705	* testsuite/libgomp.fortran/alloc-4.f90: Likewise.
706	* testsuite/libgomp.fortran/refcount-1.f90: New test.
707	* testsuite/libgomp.fortran/target-12.f90: New test.
708
7092021-08-18  Jakub Jelinek  <jakub@redhat.com>
710
711	* testsuite/libgomp.c-c++-common/nothing-1.c: New test.
712
7132021-08-17  Tobias Burnus  <tobias@codesourcery.com>
714
715	* testsuite/libgomp.fortran/scope-1.f90: New test.
716	* testsuite/libgomp.fortran/task-reduction-16.f90: New test.
717
7182021-08-17  Jakub Jelinek  <jakub@redhat.com>
719
720	* Makefile.am (libgomp_la_SOURCES): Add scope.c
721	* Makefile.in: Regenerated.
722	* libgomp_g.h (GOMP_scope_start): Declare.
723	* libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
724	* scope.c: New file.
725	* testsuite/libgomp.c-c++-common/scope-1.c: New test.
726	* testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
727
7282021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
729
730	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
731	'?:' issues.
732
7332021-08-16  Tobias Burnus  <tobias@codesourcery.com>
734
735	* testsuite/libgomp.fortran/masked-1.f90: New test.
736
7372021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
738
739	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
740
7412021-08-12  Jakub Jelinek  <jakub@redhat.com>
742
743	* testsuite/libgomp.c-c++-common/masked-1.c: New test.
744
7452021-08-12  Tobias Burnus  <tobias@codesourcery.com>
746
747	* env.c (parse_bind_var): Accept 'primary' as alias for
748	'master'.
749	(omp_display_env): Add TODO comment to
750	change 'master' to 'primary' in proc_bind for OpenMP 5.1.
751	* libgomp.texi: Change 'master thread' to 'primary thread'
752	in line with OpenMP 5.1.
753	(omp_get_proc_bind): Add omp_proc_bind_primary and note that
754	omp_proc_bind_master is an alias of it.
755	(OMP_PROC_BIND): Mention 'PRIMARY'.
756	* omp.h.in (__GOMP_DEPRECATED_5_1): Define.
757	(omp_proc_bind_primary): Add.
758	(omp_proc_bind_master): Deprecate for OpenMP 5.1.
759	* omp_lib.f90.in (omp_proc_bind_primary): Add.
760	(omp_proc_bind_master): Deprecate for OpenMP 5.1.
761	* omp_lib.h.in (omp_proc_bind_primary): Add.
762	* testsuite/libgomp.c/affinity-1.c: Check that
763	'primary' works and is identical to 'master'.
764
7652021-08-09  Julian Brown  <julian@codesourcery.com>
766	    Kwok Cheung Yeung  <kcy@codesourcery.com>
767	    Thomas Schwinge  <thomas@codesourcery.com>
768
769	* plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
770	16.
771	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
772	[acc_device_radeon]: Update.
773	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
774	[ACC_DEVICE_TYPE_radeon]: Likewise.
775	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
776	[acc_device_radeon]: Likewise.
777	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
778	[ACC_DEVICE_TYPE_radeon]: Likewise.
779	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
780	'openacc_radeon_accel_selected' and '-O0'.
781	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
782
7832021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
784
785	* icv-device.c (omp_get_device_num): New API function, host side.
786	* fortran.c (omp_get_device_num_): New interface function.
787	* libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
788	* libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
789	omp_get_device_num_.
790	* libgomp.texi (omp_get_device_num): Add documentation for new API
791	function.
792	* omp.h.in (omp_get_device_num): Add declaration.
793	* omp_lib.f90.in (omp_get_device_num): Likewise.
794	* omp_lib.h.in (omp_get_device_num): Likewise.
795	* target.c (gomp_load_image_to_device): If additional entry for device
796	number exists at end of returned entries from 'load_image_func' hook,
797	copy the assigned device number over to the device variable.
798	* config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
799	(omp_get_device_num): New API function, device side.
800	* plugin/plugin-gcn.c ("symcat.h"): Add include.
801	(GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
802	at end of returned 'target_table' entries.
803	* config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
804	(omp_get_device_num): New API function, device side.
805	* plugin/plugin-nvptx.c ("symcat.h"): Add include.
806	(GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
807	at end of returned 'target_table' entries.
808	* testsuite/lib/libgomp.exp
809	(check_effective_target_offload_target_intelmic): New function for
810	testing for intelmic offloading.
811	* testsuite/libgomp.c-c++-common/target-45.c: New test.
812	* testsuite/libgomp.fortran/target10.f90: New test.
813
8142021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
815	    Ulrich Drepper  <drepper@redhat.com>
816
817	* fortran.c (omp_display_env_, omp_display_env_8_): Only
818	'#ifndef LIBGOMP_OFFLOADED_ONLY'.
819
8202021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
821	    Julian Brown  <julian@codesourcery.com>
822	    Kwok Cheung Yeung  <kcy@codesourcery.com>
823
824	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
825	's%oaccdevlow%oaccloops%g'.
826	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
827	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
828	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
829	Likewise.
830	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
831	Likewise.
832	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
833	Likewise.
834	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
835	Likewise.
836	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
837	Likewise.
838	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
839	Likewise.
840	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
841	Likewise.
842	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
843	Likewise.
844	* testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
845
8462021-07-29  Aldy Hernandez  <aldyh@redhat.com>
847
848	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
849	threader.
850	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
851
8522021-07-27  Ulrich Drepper  <drepper@gmail.com>
853
854	* env.c (wait_policy, stacksize): New static variables,
855	move out of handle_omp_display_env.
856	(omp_display_env): New function.  The meat of the old
857	handle_omp_display_env function.
858	(handle_omp_display_env): Change to not take parameters
859	and instead use the global variables.  Only perform
860	parsing, defer to omp_display_env for the implementation.
861	(initialize_env): Remove local variables wait_policy and
862	stacksize.  Don't pass parameters to handle_omp_display_env.
863	* fortran.c: Add ialias_redirect for omp_display_env.
864	(omp_display_env_, omp_display_env_8_): New functions.
865	* libgomp.map (OMP_5.1): New version.  Add omp_display_env,
866	omp_display_env_, and omp_display_env_8_.
867	* omp.h.in: Declare omp_display_env.
868	* omp_lib.f90.in: Likewise.
869	* omp_lib.h.in: Likewise.
870
8712021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
872	    Julian Brown  <julian@codesourcery.com>
873
874	* target.c (gomp_coalesce_buf_add): Update comment.
875	(gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
876	'aq && cbuf'.
877	(gomp_map_vars_internal): Only 'if (!aq)', do
878	'gomp_coalesce_buf_add'.
879	* testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
880	XFAIL.
881
8822021-07-27  Julian Brown  <julian@codesourcery.com>
883	    Thomas Schwinge  <thomas@codesourcery.com>
884
885	* libgomp.h (gomp_copy_host2dev): Update prototype.
886	* oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
887	argument to gomp_copy_host2dev (false).
888	* plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
889	(copy_data): Don't free src.
890	(queue_push_copy): Remove free_src handling.
891	(GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
892	(GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
893	snapshotting.
894	(GOMP_OFFLOAD_openacc_async_dev2host): Update call to
895	queue_push_copy.
896	* target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
897	(gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
898	data when true, and set up deferred freeing of temporary buffer.
899	(gomp_copy_dev2host): Update call to goacc_device_copy_async.
900	(gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
901	(gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
902	calls to gomp_copy_host2dev with appropriate ephemeral argument.
903	* testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
904	XFAIL.
905
9062021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
907	    Tom de Vries  <tom@codesourcery.com>
908
909	* testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
910	* testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
911
9122021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
913
914	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
915	sequencing of 'async' data copying vs. profiling events.
916	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
917	Likewise.
918
9192021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
920	    Julian Brown  <julian@codesourcery.com>
921
922	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
923	'async'/'wait' issue.
924	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
925	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
926	* testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
927
9282021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
929	    Joseph Myers  <joseph@codesourcery.com>
930	    Cesar Philippidis  <cesar@codesourcery.com>
931
932	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
933	file.
934	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
935	Likewise.
936	* testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
937	Likewise.
938	* testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
939
9402021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
941
942	PR target/101484
943	* configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
944	'-Wno-error=array-bounds'.
945	* config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
946	* libgomp.h [__AMDGCN__]: Likewise.
947
9482021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
949
950	PR target/101484
951	* config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
952	* libgomp.h [__AMDGCN__]: Likewise.
953
9542021-07-13  Jakub Jelinek  <jakub@redhat.com>
955	    Florian Weimer  <fweimer@redhat.com>
956
957	* config/linux/sem.h: Don't include limits.h.
958	(SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
959	* config/linux/affinity.c: Include limits.h.
960
9612021-07-01  Jakub Jelinek  <jakub@redhat.com>
962
963	PR middle-end/94366
964	* testsuite/libgomp.c-c++-common/pr94366.c: New test.
965
9662021-06-29  Tobias Burnus  <tobias@codesourcery.com>
967
968	PR other/67300
969	* testsuite/libgomp.c-c++-common/reduction-16.c: Replace
970	-foffload=nvptx-none= by -foffload-options=nvptx-none= to
971	avoid disabling other offload targets.
972	* testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
973	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
974	* testsuite/libgomp.c/target-44.c: Likewise.
975
9762021-06-29  Tobias Burnus  <tobias@codesourcery.com>
977
978	* testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
979	target has shared memory and disable some scalar pointer/allocatable
980	checks if not as firstprivate does not work.
981
9822021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
983
984	PR testsuite/101114
985	* testsuite/libgomp.c-c++-common/struct-elem-5.c:
986	Add "target offload_device_nonshared_as" condition for enabling test.
987
9882021-06-24  Jakub Jelinek  <jakub@redhat.com>
989
990	* testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
991	* testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
992	* testsuite/libgomp.c++/target-in-reduction-1.C: New test.
993	* testsuite/libgomp.c++/target-in-reduction-2.C: New test.
994
9952021-06-23  Jakub Jelinek  <jakub@redhat.com>
996
997	PR middle-end/101167
998	* testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
999
10002021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
1001
1002	* hashtab.h (htab_clear): New function with initialization code
1003	factored out from...
1004	(htab_create): ...here, adjust to use htab_clear function.
1005	* libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1006	special refcount values, add comments.
1007	(REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1008	(REFCOUNT_LINK): Likewise.
1009	(REFCOUNT_STRUCTELEM): New special refcount range for structure
1010	element siblings.
1011	(REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1012	sibling maps.
1013	(REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1014	(REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
1015	(REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1016	(REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1017	(struct splay_tree_key_s): Add structelem_refcount and
1018	structelem_refcount_ptr fields into a union with dynamic_refcount.
1019	Add comments.
1020	(gomp_map_vars): Delete declaration.
1021	(gomp_map_vars_async): Likewise.
1022	(gomp_unmap_vars): Likewise.
1023	(gomp_unmap_vars_async): Likewise.
1024	(goacc_map_vars): New declaration.
1025	(goacc_unmap_vars): Likewise.
1026	* oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1027	(goacc_enter_datum): Likewise.
1028	(goacc_enter_data_internal): Likewise.
1029	* oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1030	and goacc_unmap_vars.
1031	(GOACC_data_start): Adjust to use goacc_map_vars.
1032	(GOACC_data_end): Adjust to use goacc_unmap_vars.
1033	* target.c (hash_entry_type): New typedef.
1034	(htab_alloc): New function hook for hashtab.h.
1035	(htab_free): Likewise.
1036	(htab_hash): Likewise.
1037	(htab_eq): Likewise.
1038	(hashtab.h): Add file include.
1039	(gomp_increment_refcount): New function.
1040	(gomp_decrement_refcount): Likewise.
1041	(gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1042	gomp_increment_refcount.
1043	(gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1044	to gomp_map_vars_existing.
1045	(gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1046	variable to guard OpenMP specific paths, adjust calls to
1047	gomp_map_vars_existing, add structure element sibling splay_tree_key
1048	sequence creation code, adjust Fortran map case to avoid increment
1049	under OpenMP.
1050	(gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1051	local refcount_set if caller passed in NULL, adjust call to
1052	gomp_map_vars_internal.
1053	(gomp_map_vars_async): Adjust and rename into...
1054	(goacc_map_vars): ...this new function, adjust call to
1055	gomp_map_vars_internal.
1056	(gomp_remove_splay_tree_key): New function with code factored out from
1057	gomp_remove_var_internal.
1058	(gomp_remove_var_internal): Add code to handle removing multiple
1059	splay_tree_key sequence for structure elements, adjust code to use
1060	gomp_remove_splay_tree_key for splay-tree key removal.
1061	(gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1062	gomp_decrement_refcount.
1063	(gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1064	local refcount_set if caller passed in NULL, adjust call to
1065	gomp_unmap_vars_internal.
1066	(gomp_unmap_vars_async): Adjust and rename into...
1067	(goacc_unmap_vars): ...this new function, adjust call to
1068	gomp_unmap_vars_internal.
1069	(GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
1070	gomp_unmap_vars.
1071	(GOMP_target_ext): Likewise.
1072	(gomp_target_data_fallback): Adjust call to gomp_map_vars.
1073	(GOMP_target_data): Likewise.
1074	(GOMP_target_data_ext): Likewise.
1075	(GOMP_target_end_data): Adjust call to gomp_unmap_vars.
1076	(gomp_exit_data): Add refcount_set parameter, adjust to use
1077	gomp_decrement_refcount, adjust to queue splay-tree keys for removal
1078	after main loop.
1079	(GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
1080	gomp_map_vars and gomp_exit_data.
1081	(gomp_target_task_fn): Likewise.
1082	* testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
1083	* testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
1084	* testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
1085	* testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
1086	* testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
1087	* testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
1088
10892021-06-15  Tobias Burnus  <tobias@codesourcery.com>
1090
1091	PR fortran/92568
1092	* testsuite/libgomp.fortran/defaultmap-8.f90: New test.
1093
10942021-06-10  Andrew Stubbs  <ams@codesourcery.com>
1095	    Thomas Schwinge  <thomas@codesourcery.com>
1096
1097	* libgomp.map (GOACC_2.0.2): New symbol version.
1098	* libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
1099	* oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
1100
11012021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
1102	    Andrew Stubbs  <ams@codesourcery.com>
1103
1104	* oacc-mem.c (goacc_enter_exit_data_internal): New function,
1105	extracted from...
1106	(GOACC_enter_exit_data): ... here.
1107	(GOACC_declare): Use it.
1108
11092021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
1110
1111	* oacc-parallel.c (GOACC_declare): Move...
1112	* oacc-mem.c: ... here.
1113	* libgomp_g.h: Adjust.
1114
11152021-06-10  Andrew Stubbs  <ams@codesourcery.com>
1116	    Thomas Schwinge  <thomas@codesourcery.com>
1117
1118	* oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
1119	handling.
1120
11212021-06-10  Jakub Jelinek  <jakub@redhat.com>
1122
1123	PR tree-optimization/100981
1124	* testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
1125	dsdotr and dsdoti to 0.
1126
11272021-06-09  H.J. Lu  <hjl.tools@gmail.com>
1128
1129	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
1130	if atomic compare-and-swap is supported on 'int'.
1131
11322021-06-09  Richard Biener  <rguenther@suse.de>
1133
1134	PR tree-optimization/100981
1135	* testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
1136
11372021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1138
1139	* plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
1140	unconditionally.
1141	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1142	Update.
1143	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1144	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1145
11462021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1147
1148	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
1149	'-DACC_MEM_SHARED=0'.
1150	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1151	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1152	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1153	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1154	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1155	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1156	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1157	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1158	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1159	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1160	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1161	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1162	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1163	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1164	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
1165	'acc_device_radeon' testing.
1166	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1167	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1168	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1169	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
1170	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1171	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1172	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1173	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1174	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1175	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1176	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
1177	for non-'openacc_nvidia_accel_selected'.
1178	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1179	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
1180	all implement this checking".
1181	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1182	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1183	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1184	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1185	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1186
11872021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1188
1189	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
1190	* testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
1191
11922021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1193
1194	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
1195	for 'acc_device_radeon'.
1196
11972021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1198
1199	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
1200	for non-'acc_device_nvidia'.
1201
12022021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1203
1204	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
1205	'acc_device_radeon' testing.
1206	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1207	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1208	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1209
12102021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1211
1212	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
1213	require 'openacc_nvidia_accel_selected'.  Fix up for
1214	'ACC_DEVICE_TYPE_radeon'.
1215
12162021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1217
1218	* testsuite/libgomp.oacc-c++/declare-1.C: Don't require
1219	'openacc_nvidia_accel_selected'.
1220	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1221
12222021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1223
1224	* testsuite/lib/libgomp.exp
1225	(check_effective_target_openacc_radeon_accel_selected):
1226	Streamline.
1227
12282021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1229
1230	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
1231	PR80547 workaround.
1232
12332021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
1234
1235	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1236	<acc_device_nvidia>: Update comment.
1237
12382021-05-28  Tobias Burnus  <tobias@codesourcery.com>
1239
1240	* testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
1241
12422021-05-27  Jakub Jelinek  <jakub@redhat.com>
1243
1244	* testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
1245	check_effective_target_openacc_cublas,
1246	check_effective_target_openacc_cudart): New.
1247	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
1248	target openacc_cublas.
1249	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1250	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1251	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
1252	target openacc_cuda.
1253	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1254	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1255	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1256	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1257	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1258	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1259	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1260	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1261	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
1262	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1263	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1264	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1265	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1266	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1267	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1268	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1269	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
1270	targets openacc_cublas and openacc_cudart.
1271	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1272	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1273	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1274	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1275	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
1276	Require effective target openacc_cudart.
1277	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
1278	for effective target openacc_cuda and add && defined USE_CUDA_H to
1279	preprocessor conditionals.  Guard -lcuda also on openacc_cuda
1280	effective target.
1281
12822021-05-26  Jakub Jelinek  <jakub@redhat.com>
1283
1284	PR libgomp/100573
1285	* config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
1286	GOMP_target_end_data, GOMP_target_update_ext,
1287	GOMP_target_enter_exit_data): New dummy entrypoints.
1288	* config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
1289	GOMP_target_end_data, GOMP_target_update_ext,
1290	GOMP_target_enter_exit_data): Likewise.
1291	* testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
1292	OMPFROM, OMPTO): Define.
1293	(main): Remove #pragma omp target teams around all the tests.
1294	* testsuite/libgomp.c-c++-common/target-41.c: New test.
1295	* testsuite/libgomp.c-c++-common/target-42.c: New test.
1296
12972021-05-25  Jakub Jelinek  <jakub@redhat.com>
1298
1299	PR middle-end/99928
1300	* testsuite/libgomp.c-c++-common/reduction-17.c: New test.
1301
13022021-05-24  Tobias Burnus  <tobias@codesourcery.com>
1303
1304	PR fortran/86470
1305	* testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
1306	* testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
1307	* testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
1308
13092021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
1310
1311	PR testsuite/90115
1312	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
1313	uninteresting/varying diagnostics.
1314
13152021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
1316
1317	PR middle-end/90115
1318	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
1319	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1320
13212021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
1322
1323	PR middle-end/90115
1324	* testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
1325	file.
1326	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1327	* testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
1328	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1329	Likewise.
1330	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1331	Likewise.
1332	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1333	Likewise.
1334	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1335	Likewise.
1336	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1337	Likewise.
1338	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1339	Likewise.
1340	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1341	Likewise.
1342	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1343	Likewise.
1344	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1345	Likewise.
1346	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1347	Likewise.
1348	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1349	Likewise.
1350	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1351	Likewise.
1352	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1353	Likewise.
1354	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1355	Likewise.
1356	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1357	Likewise.
1358	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1359	Likewise.
1360	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1361	Likewise.
1362	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1363	Likewise.
1364	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1365	Likewise.
1366	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1367	Likewise.
1368	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1369	Likewise.
1370	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1371	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1372	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1373	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1374	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1375	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1376	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1377	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1378	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1379	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1380	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1381	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1382	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1383	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1384	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1385	Likewise.
1386	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
1387	Likewise.
1388	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
1389	Likewise.
1390	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1391	Likewise.
1392	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1393	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1394	Likewise.
1395	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1396	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1397	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1398	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1399	* testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1400	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1401	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1402	Likewise.
1403	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1404	Likewise.
1405	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1406	Likewise.
1407	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1408	Likewise.
1409	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1410	Likewise.
1411	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1412	Likewise.
1413	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1414	Likewise.
1415	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1416	Likewise.
1417	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1418	Likewise.
1419	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1420	Likewise.
1421	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1422	Likewise.
1423	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1424	Likewise.
1425	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1426	Likewise.
1427	* testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1428	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1429	* testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1430	Likewise.
1431	* testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1432	Likewise.
1433	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1434	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1435	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1436
14372021-05-21  Julian Brown  <julian@codesourcery.com>
1438	    Chung-Lin Tang  <cltang@codesourcery.com>
1439	    Thomas Schwinge  <thomas@codesourcery.com>
1440
1441	PR middle-end/90115
1442	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
1443	test.
1444	* testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1445	Likewise.
1446	* testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1447	Likewise.
1448
14492021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
1450
1451	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
1452	for nvptx offloading.
1453
14542021-05-21  Tobias Burnus  <tobias@codesourcery.com>
1455
1456	* testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
1457
14582021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
1459
1460	PR target/83812
1461	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
1462
14632021-05-19  Julian Brown  <julian@codesourcery.com>
1464
1465	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
1466
14672021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
1468
1469	* testsuite/lib/libgomp.exp
1470	(check_effective_target_offload_target_nvptx): Don't shadow global
1471	'offload_targets' variable.
1472
14732021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
1474
1475	* testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
1476	'-latomic' to nvptx offloading compilation.
1477	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1478
14792021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
1480
1481	* testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
1482	offloading compilation.
1483
14842021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
1485
1486	* task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
1487	if new tasks generated.
1488	* testsuite/libgomp.c-c++-common/task-detach-13.c: New.
1489
14902021-05-14  Tobias Burnus  <tobias@codesourcery.com>
1491
1492	* testsuite/libgomp.fortran/parallel-master.f90: New test.
1493
14942021-05-13  Martin Liska  <mliska@suse.cz>
1495
1496	PR testsuite/100569
1497	* testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
1498	* testsuite/libgomp.c/pr46032-2.c: Likewise.
1499	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
1500	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
1501
15022021-05-12  Tobias Burnus  <tobias@codesourcery.com>
1503
1504	* testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
1505	* testsuite/libgomp.fortran/task-detach-12.f90: New test.
1506
15072021-05-11  Jakub Jelinek  <jakub@redhat.com>
1508
1509	PR middle-end/100471
1510	* taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
1511	GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
1512	reduction pointer.
1513	* testsuite/libgomp.c/task-reduction-4.c: New test.
1514
15152021-05-07  Tobias Burnus  <tobias@codesourcery.com>
1516	    Tom de Vries  <tdevries@suse.de>
1517
1518	* testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
1519	complex/floating-point || + && reduction with 'omp target'.
1520	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1521
15222021-05-04  Tobias Burnus  <tobias@codesourcery.com>
1523
1524	* testsuite/libgomp.c-c++-common/reduction-1.c: New test.
1525	* testsuite/libgomp.c-c++-common/reduction-2.c: New test.
1526	* testsuite/libgomp.c-c++-common/reduction-3.c: New test.
1527	* testsuite/libgomp.c-c++-common/reduction-4.c: New file.
1528
15292021-05-04  Tobias Burnus  <tobias@codesourcery.com>
1530
1531	PR testsuite/100397
1532	* testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
1533	declaration to scope of non-'depend'-guarded assignment to avoid races.
1534
15352021-05-03  Tom de Vries  <tdevries@suse.de>
1536
1537	PR target/100321
1538	* testsuite/libgomp.c/target-44.c: New test.
1539
15402021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
1541
1542	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
1543
15442021-04-29  Tom de Vries  <tdevries@suse.de>
1545
1546	* testsuite/libgomp.c/pr81778.c: New test.
1547
15482021-04-29  Tom de Vries  <tdevries@suse.de>
1549
1550	PR target/100232
1551	* testsuite/libgomp.c/target-43.c: New file.
1552
15532021-04-28  Jakub Jelinek  <jakub@redhat.com>
1554	    Tobias Burnus  <tobias@codesourcery.com>
1555
1556	* configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
1557	* target.c (gomp_load_plugin_for_device): If set and if a plugin
1558	can't be dlopened, silently assume it has no devices.
1559	* Makefile.in: Regenerate.
1560	* config.h.in: Regenerate.
1561	* configure: Regenerate.
1562
15632021-04-26  Tobias Burnus  <tobias@codesourcery.com>
1564
1565	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1566	Use [Ww]arning in dg-bogus as FE diagnostic and default
1567	diagnostic differ and the result depends on ENABLE_OFFLOAD.
1568	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1569	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1570	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1571
15722021-04-26  Tobias Burnus  <tobias@codesourcery.com>
1573
1574	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1575	Correct spelling in dg-bogus to match -Wopenacc-parallelism.
1576	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1577	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1578	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1579
15802021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
1581	    Nathan Sidwell  <nathan@codesourcery.com>
1582	    Tom de Vries  <vries@codesourcery.com>
1583	    Julian Brown  <julian@codesourcery.com>
1584	    Kwok Cheung Yeung  <kcy@codesourcery.com>
1585
1586	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
1587	'-Wopenacc-parallelism', and match diagnostics, as appropriate.
1588	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1589	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1590	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1591	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1592	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
1593	Likewise.
1594	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1595	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1596	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1597	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1598	Likewise.
1599	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1600	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1601	Likewise.
1602	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1603	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1604	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1605	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1606	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1607	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1608	Likewise.
1609	* testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1610	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1611	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1612	* testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1613	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1614	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1615	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1616	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1617	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1618	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1619	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1620
16212021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
1622
1623	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
1624	compile with '-w'.
1625	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1626	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1627	Likewise.
1628	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1629	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
1630	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1631	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1632	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1633	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1634	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1635
16362021-04-22  Richard Biener  <rguenther@suse.de>
1637
1638	* testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
1639	only on nvptx-none.
1640
16412021-04-21  Tobias Burnus  <tobias@codesourcery.com>
1642
1643	* testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
1644	omp_depend_kind instead of defining it as 16.
1645
16462021-04-21  Tobias Burnus  <tobias@codesourcery.com>
1647
1648	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1649	New, based on check_effective_target_offload_target_nvptx.
1650	(check_effective_target_offload_target_nvptx): Call it.
1651	(check_effective_target_offload_target_amdgcn): New.
1652	* testsuite/libgomp.c-c++-common/function-not-offloaded.c:
1653	Require target offload_target_nvptx || offload_target_amdgcn.
1654	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
1655	* testsuite/libgomp.c/pr86416-1.c: Likewise.
1656	* testsuite/libgomp.c/pr86416-2.c: Likewise.
1657
16582021-04-21  Tobias Burnus  <tobias@codesourcery.com>
1659
1660	* testsuite/libgomp.fortran/depobj-1.f90: New test.
1661
16622021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
1663
1664	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1665	'-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
1666	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1667	Likewise.
1668	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1669	Likewise.
1670	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1671
16722021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
1673
1674	PR target/99555
1675	* testsuite/lib/libgomp.exp
1676	(check_effective_target_offload_device_nvptx): New.
1677	* testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
1678	resolved, make sure that we exit quickly, with error status,
1679	XFAILed.
1680	* testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
1681	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1682
16832021-04-14  Jakub Jelinek  <jakub@redhat.com>
1684
1685	PR testsuite/100071
1686	* testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
1687	cp = omp_alloc with cp, p arguments instead of cq, q and call
1688	c_f_pointer after last cq = omp_alloc with cq, q.
1689
16902021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
1691
1692	PR middle-end/98088
1693	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
1694	for loop with GT/GE condition.
1695	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1696
16972021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
1698
1699	PR middle-end/84991
1700	PR middle-end/84992
1701	PR middle-end/90779
1702	* testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
1703
17042021-04-09  Jakub Jelinek  <jakub@redhat.com>
1705
1706	PR libgomp/99984
1707	* team.c (gomp_thread_start): Call pthread_setspecific for
1708	!(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
1709	has been initialized to avoid false positive warning.
1710
17112021-03-29  Tobias Burnus  <tobias@codesourcery.com>
1712
1713	PR target/99555
1714	* testsuite/lib/on_device_arch.c: Move to ...
1715	* testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
1716	* testsuite/libgomp.fortran/on_device_arch.c: New file;
1717	#include on_device_arch.h.
1718	* testsuite/libgomp.c-c++-common/task-detach-6.c: #include
1719	on_device_arch.h instead of using dg-additional-source.
1720	* testsuite/libgomp.c/pr99555-1.c: Likewise.
1721	* testsuite/libgomp.fortran/task-detach-6.f90: Update to use
1722	on_device_arch.c without relative paths.
1723
17242021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
1725
1726	* plugin/plugin-gcn.c (init_environment_variables): Don't prepend
1727	the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
1728	* plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
1729	* config.h.in: Regenerate.
1730	* configure: Likewise.
1731
17322021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
1733
1734	PR target/99555
1735	* testsuite/lib/on_device_arch.c: New file.
1736	* testsuite/libgomp.c/pr99555-1.c: Likewise.
1737	* testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
1738	skip for nvptx offloading, with error status.
1739	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1740
17412021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
1742
1743	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1744	OpenACC 'serial' construct diagnostic for nvptx offloading.
1745
17462021-03-15  Tobias Burnus  <tobias@codesourcery.com>
1747
1748	PR c++/99509
1749	* testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
1750
17512021-03-12  Tobias Burnus  <tobias@codesourcery.com>
1752
1753	PR fortran/98858
1754	* testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
1755
17562021-03-04  Jakub Jelinek  <jakub@redhat.com>
1757
1758	* configure.ac: Add AC_CHECK_SIZEOF([void *]).
1759	* plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
1760	checking of -m32 or -mx32 options on the command line.
1761	* config.h.in: Regenerated.
1762	* configure: Regenerated.
1763
17642021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
1765
1766	* testsuite/libgomp.c-c++-common/pr96390.c: Require alias
1767	support from the target.
1768
17692021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
1770	    Jakub Jelinek  <jakub@redhat.com>
1771
1772	PR libgomp/98738
1773	* libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
1774	(struct gomp_task): Replace detach and completion_sem fields with
1775	union containing completion_sem and detach_team.  Add deferred_p
1776	field.
1777	(struct gomp_team): Remove task_detach_queue.
1778	* task.c: Include assert.h.
1779	(gomp_init_task): Initialize deferred_p and completion_sem fields.
1780	Rearrange initialization order of fields.
1781	(task_fulfilled_p): Delete.
1782	(GOMP_task): Use address of task as the event handle.  Remove
1783	initialization of detach field.  Initialize deferred_p field.
1784	Use automatic local for completion_sem.  Initialize detach_team field
1785	for deferred tasks.
1786	(gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
1787	Set kind of suspended detach task to GOMP_TASK_DETACHED and
1788	decrement task_running_count.  Move finish_cancelled block out of
1789	else branch.  Relocate call to gomp_team_barrier_done.
1790	(GOMP_taskwait): Handle tasks with completion events that have not
1791	been fulfilled.
1792	(GOMP_taskgroup_end): Likewise.
1793	(omp_fulfill_event): Use address of task as event handle.  Post to
1794	completion_sem for undeferred tasks.  Clear detach_team if task
1795	has not finished.  For finished tasks, handle post-execution tasks,
1796	call gomp_team_barrier_wake if necessary, and free task.
1797	* team.c (gomp_new_team): Remove initialization of task_detach_queue.
1798	(free_team): Remove free of task_detach_queue.
1799	* testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
1800	* testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
1801	* testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
1802	* testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
1803	* testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
1804	Change data-sharing of detach events on enclosing parallel to private.
1805	* testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
1806	taskwait directive.
1807	* testsuite/libgomp.c-c++-common/task-detach-7.c: New.
1808	* testsuite/libgomp.c-c++-common/task-detach-8.c: New.
1809	* testsuite/libgomp.c-c++-common/task-detach-9.c: New.
1810	* testsuite/libgomp.c-c++-common/task-detach-10.c: New.
1811	* testsuite/libgomp.c-c++-common/task-detach-11.c: New.
1812	* testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
1813	* testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
1814	* testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
1815	* testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
1816	* testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
1817	Change data-sharing of detach events on enclosing parallel to private.
1818	* testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
1819	taskwait directive.
1820	* testsuite/libgomp.fortran/task-detach-7.f90: New.
1821	* testsuite/libgomp.fortran/task-detach-8.f90: New.
1822	* testsuite/libgomp.fortran/task-detach-9.f90: New.
1823	* testsuite/libgomp.fortran/task-detach-10.f90: New.
1824	* testsuite/libgomp.fortran/task-detach-11.f90: New.
1825
18262021-02-22  Tobias Burnus  <tobias@codesourcery.com>
1827
1828	PR fortran/99171
1829	* testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
1830
18312021-02-17  Julian Brown  <julian@codesourcery.com>
1832
1833	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
1834	expected errors.
1835
18362021-02-17  Julian Brown  <julian@codesourcery.com>
1837
1838	* testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
1839	* testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
1840
18412021-02-11  Uroš Bizjak  <ubizjak@gmail.com>
1842
1843	* config/linux/x86/futex.h (__futex_wait):
1844	Revert output type back to long.
1845	(__futex_wake): Ditto.
1846	(futex_wait): Update for revert.
1847	(futex_wake): Ditto.
1848
18492021-02-11  Uroš Bizjak  <ubizjak@gmail.com>
1850
1851	* config/linux/x86/futex.h (__futex_wait): New static inline
1852	wrapper function.  Correct output type to int and
1853	timeout type to void *.
1854	(__futex_wake): New static inline wrapper function.
1855	Correct output type to int.
1856	(futex_wait): Use __futex_wait.
1857	(futex_wake): Use __futex_wake.
1858
18592021-02-10  Julian Brown  <julian@codesourcery.com>
1860
1861	PR fortran/98979
1862	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
1863	errors.
1864
18652021-02-04  Julian Brown  <julian@codesourcery.com>
1866
1867	* testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
1868
18692021-02-03  Andrew Stubbs  <ams@codesourcery.com>
1870
1871	* plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
1872	EF_AMDGPU_MACH_AMDGCN_GFX908.
1873	(gcn_gfx908_s): New constant string.
1874	(isa_hsa_name): Add gfx908.
1875	(isa_code): Add gfx908.
1876
18772021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
1878
1879	* libgomp.texi (omp_fulfill_event): New entry.
1880
18812021-01-20  Jakub Jelinek  <jakub@redhat.com>
1882
1883	* task.c (GOMP_task): Rename priority argument to priority_arg,
1884	add priority automatic variable and modify that variable.  Instead of
1885	clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
1886	check flags for that bit.
1887
18882021-01-19  Tobias Burnus  <tobias@codesourcery.com>
1889
1890	PR fortran/98476
1891	* testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
1892
18932021-01-18  Andreas Schwab  <schwab@suse.de>
1894
1895	* configure.tgt (riscv64*-*-linux*): Add linux to config_path.
1896
18972021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1898
1899	* config/rtems/sem.h (gomp_sem_getcount): New function.
1900
19012021-01-18  Jakub Jelinek  <jakub@redhat.com>
1902
1903	* config/linux/sem.h (gomp_sem_getcount): New function.
1904	* config/posix/sem.h (gomp_sem_getcount): New function.
1905	* config/posix/sem.c (gomp_sem_getcount): New function.
1906	* config/accel/sem.h (gomp_sem_getcount): New function.
1907	* task.c (task_fulfilled_p): Use gomp_sem_getcount.
1908	(omp_fulfill_event): Likewise.
1909
19102021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
1911
1912	* fortran.c (omp_fulfill_event_): New.
1913	* libgomp.h (struct gomp_task): Add detach and completion_sem fields.
1914	(struct gomp_team): Add task_detach_queue and task_detach_count
1915	fields.
1916	* libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
1917	* libgomp_g.h (GOMP_task): Add extra argument.
1918	* omp.h.in (enum omp_event_handle_t): New.
1919	(omp_fulfill_event): New.
1920	* omp_lib.f90.in (omp_event_handle_kind): New.
1921	(omp_fulfill_event): New.
1922	* omp_lib.h.in (omp_event_handle_kind): New.
1923	(omp_fulfill_event): Declare.
1924	* priority_queue.c (priority_tree_find): New.
1925	(priority_list_find): New.
1926	(priority_queue_find): New.
1927	* priority_queue.h (priority_queue_predicate): New.
1928	(priority_queue_find): New.
1929	* task.c (gomp_init_task): Initialize detach field.
1930	(task_fulfilled_p): New.
1931	(GOMP_task): Add detach argument.  Ignore detach argument if
1932	GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
1933	field.	Copy address of completion_sem into detach argument and
1934	into the start of the data record.  Wait for detach event if task
1935	not deferred.
1936	(gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
1937	Remove completed tasks and requeue dependent tasks.
1938	(omp_fulfill_event): New.
1939	* team.c (gomp_new_team): Initialize task_detach_queue and
1940	task_detach_count fields.
1941	(free_team): Free task_detach_queue field.
1942	* testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
1943	* testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
1944	* testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
1945	* testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
1946	* testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
1947	* testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
1948	* testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
1949	* testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
1950	* testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
1951	* testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
1952	* testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
1953	* testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
1954
19552021-01-15  Jakub Jelinek  <jakub@redhat.com>
1956
1957	PR target/70454
1958	* configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
1959	be added through preprocessor check on
1960	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
1961
19622021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
1963
1964	PR libgomp/65099
1965	* plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
1966	configurations.
1967	* configure: Regenerate.
1968	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
1969	check.
1970
19712021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1972
1973	* configure: Re-generate.
1974
19752021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1976
1977	* configure: Re-generate.
1978
19792021-01-05  Julian Brown  <julian@codesourcery.com>
1980
1981	* plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
1982	(struct ptx_device): Add omp_stacks struct.
1983	(nvptx_open_device): Initialise cached-stacks housekeeping info.
1984	(nvptx_close_device): Free cached stacks block and mutex.
1985	(nvptx_stacks_free): New function.
1986	(nvptx_alloc): Add SUPPRESS_ERRORS parameter.
1987	(GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
1988	(nvptx_stacks_alloc): Rename to...
1989	(nvptx_stacks_acquire): This.  Cache stacks block between runs if same
1990	size or smaller is required.
1991	(nvptx_stacks_free): Remove.
1992	(GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
1993	during kernel execution.
1994
19952021-01-01  Jakub Jelinek  <jakub@redhat.com>
1996
1997	* libgomp.texi: Bump @copying's copyright year.
1998
19992020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
2000
2001	* libgomp.texi (Top): Avoid bad "up" link.
2002
20032020-12-18  Jakub Jelinek  <jakub@redhat.com>
2004
2005	* testsuite/libgomp.c/task-6.c: New test.
2006
20072020-12-09  Andrew Stubbs  <ams@codesourcery.com>
2008
2009	* plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2010	(HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2011
20122020-12-08  Tobias Burnus  <tobias@codesourcery.com>
2013
2014	* testsuite/libgomp.fortran/scan-1.f90: New test.
2015
20162020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
2017
2018	PR target/97865
2019	* configure: Regenerate.
2020
20212020-11-29  John David Anglin  <danglin@gcc.gnu.org>
2022
2023	* configure: Regenerate.
2024
20252020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
2026
2027	* testsuite/libgomp.oacc-c++/cache-1.C: New.
2028	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2029
20302020-11-25  Andrew Stubbs  <ams@codesourcery.com>
2031
2032	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2033	expected results.
2034
20352020-11-24  Andrew Stubbs  <ams@codesourcery.com>
2036
2037	* plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2038	(reserved): Delete unused define.
2039
20402020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
2041
2042	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2043	Tcl 8.5-specific behavior.
2044	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2045
20462020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
2047
2048	* env.c (gomp_global_icv): Remove nest_var field.  Add
2049	max_active_levels_var field.
2050	(gomp_max_active_levels_var): Remove.
2051	(parse_boolean): Return true on success.
2052	(handle_omp_display_env): Express OMP_NESTED in terms of
2053	max_active_levels_var.  Change format specifier for
2054	max_active_levels_var.
2055	(initialize_env): Set max_active_levels_var from
2056	OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2057	OMP_PROC_BIND.
2058	* icv.c (omp_set_nested): Express in terms of
2059	max_active_levels_var.
2060	(omp_get_nested): Likewise.
2061	(omp_set_max_active_levels): Use max_active_levels_var field instead
2062	of gomp_max_active_levels_var.
2063	(omp_get_max_active_levels): Likewise.
2064	* libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
2065	max_active_levels_var field.
2066	(gomp_supported_active_levels): Set to UCHAR_MAX.
2067	(gomp_max_active_levels_var): Delete.
2068	* libgomp.texi (omp_get_nested): Update documentation.
2069	(omp_set_nested): Likewise.
2070	(OMP_MAX_ACTIVE_LEVELS): Likewise.
2071	(OMP_NESTED): Likewise.
2072	(OMP_NUM_THREADS): Likewise.
2073	(OMP_PROC_BIND): Likewise.
2074	* parallel.c (gomp_resolve_num_threads): Replace reference
2075	to nest_var with max_active_levels_var.  Use max_active_levels_var
2076	field instead of gomp_max_active_levels_var.
2077
20782020-11-18  Tobias Burnus  <tobias@codesourcery.com>
2079
2080	* testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
2081	nvptx_usleep; use also for device={arch(gcn)}.
2082
20832020-11-14  Jakub Jelinek  <jakub@redhat.com>
2084
2085	* testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
2086	(foo): Add tests for non-VLA private and firstprivate clauses on
2087	omp task.
2088	(bar): Likewise.  Remove taking of address from private/firstprivate
2089	variables.
2090	* testsuite/libgomp.c++/allocate-1.C (struct S): New type.
2091	(foo): Add p, q, px and s arguments.  Add tests for array reductions
2092	and for non-VLA private and firstprivate clauses on omp task.
2093	(bar): Removed.
2094	(main): Adjust foo caller.  Don't call bar.
2095
20962020-11-13  Gergö Barany  <gergo@codesourcery.com>
2097	    Thomas Schwinge  <thomas@codesourcery.com>
2098
2099	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2100	New.
2101	* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2102	Likewise.
2103	* testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2104	Likewise.
2105	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2106	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2107
21082020-11-13  Gergö Barany  <gergo@codesourcery.com>
2109	    Thomas Schwinge  <thomas@codesourcery.com>
2110
2111	PR fortran/94358
2112	* testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
2113
21142020-11-13  Jakub Jelinek  <jakub@redhat.com>
2115
2116	* testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
2117	for array reductions.
2118	(main): Adjust foo callers.
2119
21202020-11-12  Jakub Jelinek  <jakub@redhat.com>
2121
2122	* libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
2123	* omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
2124	* libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
2125	* allocator.c (omp_aligned_alloc): New for now static function,
2126	add alignment argument and handle it.
2127	(omp_alloc): Reimplement using omp_aligned_alloc.
2128	(GOMP_alloc, GOMP_free): New functions.
2129	(omp_free): Add ialias.
2130	* testsuite/libgomp.c-c++-common/allocate-1.c: New test.
2131	* testsuite/libgomp.c++/allocate-1.C: New test.
2132
21332020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
2134
2135	PR fortran/97782
2136	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
2137
21382020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
2139
2140	* libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
2141	usable.
2142	* oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
2143	'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
2144	(goacc_enter_datum): Likewise for call to gomp_map_vars_async.
2145	(goacc_enter_data_internal): Likewise.
2146	* target.c (gomp_map_vars_internal):
2147	Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
2148	of gomp_attach_pointer for OpenMP cases.
2149	(gomp_exit_data): Add handling of GOMP_MAP_DETACH.
2150	(GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
2151	* testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
2152
21532020-11-05  Ulrich Drepper  <drepper@redhat.com>
2154	    Kwok Cheung Yeung  <kcy@codesourcery.com>
2155
2156	* Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
2157	* Makefile.in: Regenerate.
2158	* fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
2159	pragmas to ignore -Wdeprecated-declarations warnings.
2160	* icv.c: Likewise.
2161	* omp.h.in (__GOMP_DEPRECATED_5_0): Define.
2162	Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
2163	and omp_get_nested with __GOMP_DEPRECATED_5_0.
2164	* omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
2165	deprecated.
2166	* testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
2167	to test options.
2168	* testsuite/libgomp.c/affinity-1.c: Likewise.
2169	* testsuite/libgomp.c/affinity-2.c: Likewise.
2170	* testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
2171	* testsuite/libgomp.c/lib-1.c: Likewise.
2172	* testsuite/libgomp.c/nested-1.c: Likewise.
2173	* testsuite/libgomp.c/nested-2.c: Likewise.
2174	* testsuite/libgomp.c/nested-3.c: Likewise.
2175	* testsuite/libgomp.c/pr32362-1.c: Likewise.
2176	* testsuite/libgomp.c/pr32362-2.c: Likewise.
2177	* testsuite/libgomp.c/pr32362-3.c: Likewise.
2178	* testsuite/libgomp.c/pr35549.c: Likewise.
2179	* testsuite/libgomp.c/pr42942.c: Likewise.
2180	* testsuite/libgomp.c/pr61200.c: Likewise.
2181	* testsuite/libgomp.c/sort-1.c: Likewise.
2182	* testsuite/libgomp.c/target-5.c: Likewise.
2183	* testsuite/libgomp.c/target-6.c: Likewise.
2184	* testsuite/libgomp.c/teams-1.c: Likewise.
2185	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
2186	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
2187	* testsuite/libgomp.c/thread-limit-4.c: Likewise.
2188	* testsuite/libgomp.fortran/affinity1.f90: Likewise.
2189	* testsuite/libgomp.fortran/lib1.f90: Likewise.
2190	* testsuite/libgomp.fortran/lib2.f: Likewise.
2191	* testsuite/libgomp.fortran/nested1.f90: Likewise.
2192	* testsuite/libgomp.fortran/teams1.f90: Likewise.
2193
21942020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2195
2196	PR target/85486
2197	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
2198	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2199	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2200
22012020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2202
2203	PR testsuite/80219
2204	PR testsuite/85303
2205	* testsuite/lib/libgomp.exp (libgomp_init): Set
2206	'gcc_warning_prefix', 'gcc_error_prefix'.
2207
22082020-10-30  Jakub Jelinek  <jakub@redhat.com>
2209
2210	* target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
2211	even in field_tgt_clear initializer.
2212
22132020-10-28  Jakub Jelinek  <jakub@redhat.com>
2214
2215	* testsuite/libgomp.c/target-42.c: New test.
2216
22172020-10-28  Jakub Jelinek  <jakub@redhat.com>
2218	    Tom de Vries  <tdevries@suse.de>
2219
2220	PR testsuite/81690
2221	* testsuite/libgomp.c/usleep.h: New file.
2222	* testsuite/libgomp.c/target-32.c: Include usleep.h.
2223	(main): Use tgt_usleep instead of usleep.
2224	* testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
2225	(main): Use tgt_usleep instead of usleep.
2226
22272020-10-28  Jakub Jelinek  <jakub@redhat.com>
2228
2229	PR lto/96680
2230	* testsuite/libgomp.c/declare-variant-1.c: New test.
2231
22322020-10-22  Jakub Jelinek  <jakub@redhat.com>
2233
2234	* testsuite/libgomp.c/target-41.c: New test.
2235
22362020-10-22  Jakub Jelinek  <jakub@redhat.com>
2237
2238	* icv.c (omp_get_initial_device): Remove including corresponding
2239	ialias.
2240	* icv-device.c (omp_get_initial_device): New function.  Return
2241	gomp_get_num_devices ().  Add ialias.
2242	* target.c (resolve_device): Don't fail with
2243	OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
2244	gomp_get_num_devices ().
2245	(omp_target_alloc, omp_target_free, omp_target_is_present,
2246	omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
2247	omp_target_disassociate_ptr, omp_pause_resource): Use
2248	gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
2249	first use in the functions, in uses dominated by the
2250	gomp_get_num_devices call use num_devices_openmp instead.
2251	* libgomp.texi (omp_get_initial_device): Document.
2252	* config/gcn/icv-device.c (omp_get_initial_device): New function.
2253	Add ialias.
2254	* config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
2255	* testsuite/libgomp.c/target-40.c: New test.
2256
22572020-10-21  Jakub Jelinek  <jakub@redhat.com>
2258
2259	* env.c (parse_target_offload): Change new_offload var type to int,
2260	preinitialize to -1, remove found var and test new_offload != -1
2261	instead of found.
2262
22632020-10-20  Jakub Jelinek  <jakub@redhat.com>
2264
2265	* target.c (gomp_target_init): Inside of the function, use automatic
2266	variables corresponding to num_devices, num_devices_openmp and devices
2267	global variables and update the globals only at the end of the
2268	function.
2269
22702020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
2271
2272	* env.c (gomp_target_offload_var): New.
2273	(parse_target_offload): New.
2274	(handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
2275	(initialize_env): Parse OMP_TARGET_OFFLOAD.
2276	* libgomp.h (gomp_target_offload_t): New.
2277	(gomp_target_offload_var): New.
2278	* libgomp.texi (OMP_TARGET_OFFLOAD): New section.
2279	* target.c (resolve_device): Generate error if device not found and
2280	offloading is mandatory.
2281	(gomp_target_fallback): Generate error if offloading is mandatory.
2282	(GOMP_target): Add argument in call to gomp_target_fallback.
2283	(GOMP_target_ext): Likewise.
2284	(gomp_target_data_fallback): Generate error if offloading is mandatory.
2285	(GOMP_target_data): Add argument in call to gomp_target_data_fallback.
2286	(GOMP_target_data_ext): Likewise.
2287	(gomp_target_task_fn): Add argument in call to gomp_target_fallback.
2288	(gomp_target_init): Return early if offloading is disabled.
2289
22902020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
2291
2292	* libgomp.texi (omp_get_max_active_levels): Modify description.
2293	(omp_get_supported_active_levels): Make descriptions consistent.
2294
22952020-10-14  Jakub Jelinek  <jakub@redhat.com>
2296
2297	* libgomp.texi (omp_get_supported_active_levels): Fix a typo.
2298
22992020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
2300
2301	* env.c (gomp_max_active_levels_var): Initialize to
2302	gomp_supported_active_levels.
2303	(initialize_env): Limit gomp_max_active_levels_var to be at most
2304	equal to gomp_supported_active_levels.
2305	* fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
2306	(omp_get_supported_active_levels_): New.
2307	* icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
2308	to at most equal to gomp_supported_active_levels.
2309	(omp_get_supported_active_levels): New.
2310	* libgomp.h (gomp_supported_active_levels): New.
2311	* libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
2312	omp_get_supported_active_levels_.
2313	* libgomp.texi (omp_get_supported_active_levels): New.
2314	(omp_set_max_active_levels): Update.  Add reference to
2315	omp_get_supported_active_levels.
2316	* omp.h.in (omp_get_supported_active_levels): New.
2317	* omp_lib.f90.in (omp_get_supported_active_levels): New.
2318	* omp_lib.h.in (omp_get_supported_active_levels): New.
2319	* testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
2320	against omp_get_supported_active_levels.
2321	* testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
2322
23232020-10-11  Clement Chigot  <clement.chigot@atos.net>
2324
2325	* config/t-aix: Delete and recreate libgomp before creating
2326	FAT library.
2327
23282020-10-08  Tom de Vries  <tdevries@suse.de>
2329
2330	PR libgomp/81802
2331	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
2332	dimensions.
2333
23342020-10-06  Tom de Vries  <tdevries@suse.de>
2335
2336	* testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
2337
23382020-10-06  Tom de Vries  <tdevries@suse.de>
2339
2340	PR middle-end/90861
2341	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
2342
23432020-10-05  Tom de Vries  <tdevries@suse.de>
2344
2345	PR fortran/95654
2346	* testsuite/libgomp.fortran/pr95654.f90: New test.
2347
23482020-10-02  Tobias Burnus  <tobias@codesourcery.com>
2349
2350	* Makefile.in: Regenerate with automake 1.15.1.
2351	* aclocal.m4: Likewise.
2352	* configure: Likewise.
2353	* testsuite/Makefile.in: Likewise.
2354
23552020-09-30  Andrew Stubbs  <ams@codesourcery.com>
2356
2357	* parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
2358	and amdgcn targets.
2359
23602020-09-30  Tobias Burnus  <tobias@codesourcery.com>
2361
2362	* testsuite/libgomp.fortran/declare-target-3.f90: New test.
2363
23642020-09-29  Andrew Stubbs  <ams@codesourcery.com>
2365
2366	* config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
2367	total number of threads is one.
2368	(gomp_team_barrier_wake): Likewise.
2369	(gomp_team_barrier_wait_end): Likewise.
2370	(gomp_team_barrier_wait_cancel_end): Likewise.
2371	* config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
2372	(gomp_team_barrier_wake): Likewise.
2373	(gomp_team_barrier_wait_end): Likewise.
2374	(gomp_team_barrier_wait_cancel_end): Likewise.
2375	* testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2376
23772020-09-28  Tobias Burnus  <tobias@codesourcery.com>
2378
2379	PR middle-end/96390
2380	* testsuite/libgomp.c++/pr96390.C: New test.
2381	* testsuite/libgomp.c-c++-common/pr96390.c: New test.
2382
23832020-09-27  Clement Chigot  <clement.chigot@atos.net>
2384
2385	* config/t-aix: Use $(AR) without -X32_64.
2386
23872020-09-25  Jakub Jelinek  <jakub@redhat.com>
2388
2389	* testsuite/libgomp.c/loop-25.c: New test.
2390
23912020-09-22  Tobias Burnus  <tobias@codesourcery.com>
2392
2393	PR fortran/95654
2394	* testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
2395
23962020-09-22  Tom de Vries  <tdevries@suse.de>
2397
2398	* plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
2399	fails.
2400
24012020-09-16  Nathan Sidwell  <nathan@acm.org>
2402
2403	* testsuite/libgomp.c++/udr-3.C: Add missing ctor.
2404
24052020-09-15  Tobias Burnus  <tobias@codesourcery.com>
2406
2407	PR fortran/96668
2408	* target.c (gomp_map_vars_internal): Initialize has_nullptr.
2409
24102020-09-15  Tobias Burnus  <tobias@codesourcery.com>
2411
2412	PR fortran/96668
2413	* libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
2414	* target.c (gomp_map_vars_existing): Add always_to_flag flag.
2415	(gomp_map_vars_existing): Update call to it.
2416	(gomp_map_fields_existing): Likewise
2417	(gomp_map_vars_internal): Update PSET handling such that if a nullptr is
2418	now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
2419	remapped.
2420	(GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
2421	GOMP_MAP_POINTER.
2422	* testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
2423	* testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2424
24252020-09-14  Tom de Vries  <tdevries@suse.de>
2426
2427	* config/nvptx/atomic.c: New file.  Add
2428	__sync_val_compare_and_swap_16.
2429	* testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
2430	target offload_target_nvptx.
2431
24322020-09-08  Julian Brown  <julian@codesourcery.com>
2433
2434	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
2435	iteration-ordering assumptions.
2436
24372020-09-08  Julian Brown  <julian@codesourcery.com>
2438
2439	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
2440	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2441
24422020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
2443
2444	* plugin/plugin-nvptx.c (nvptx_free):
2445	Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
2446	CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
2447	comments.
2448
24492020-08-20  Tobias Burnus  <tobias@codesourcery.com>
2450
2451	* testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
2452
24532020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
2454
2455	* testsuite/libgomp.c-c++-common/reduction-16.c: New.
2456
24572020-08-13  Jakub Jelinek  <jakub@redhat.com>
2458
2459	* testsuite/libgomp.c/loop-22.c (main): Add some further tests.
2460	* testsuite/libgomp.c/loop-23.c (main): Likewise.
2461	* testsuite/libgomp.c/loop-24.c: New test.
2462
24632020-08-08  Jakub Jelinek  <jakub@redhat.com>
2464	    Tobias Burnus  <tobias@codesourcery.com>
2465
2466	PR fortran/93553
2467	* testsuite/libgomp.fortran/pr93553.f90: New test.
2468
24692020-08-05  Jakub Jelinek  <jakub@redhat.com>
2470
2471	* testsuite/libgomp.c/loop-22.c: New test.
2472	* testsuite/libgomp.c/loop-23.c: New test.
2473
24742020-08-05  Jakub Jelinek  <jakub@redhat.com>
2475
2476	PR middle-end/96459
2477	* testsuite/libgomp.c/teams-3.c: New test.
2478	* testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
2479	if not defined yet.
2480	(N(test)): Use it before all N(f*) calls.
2481	* testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
2482	(main): Don't call all test_* functions from within
2483	#pragma omp teams reduction(|:err), call them directly.
2484
24852020-08-04  Tom de Vries  <tdevries@suse.de>
2486
2487	PR target/96428
2488	* testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
2489	* testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
2490
24912020-08-03  Julian Brown  <julian@codesourcery.com>
2492	    Thomas Schwinge  <thomas@codesourcery.com>
2493
2494	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
2495	shared-memory devices.  Extend with further checking.
2496
24972020-08-03  Martin Jambor  <mjambor@suse.cz>
2498
2499	* plugin/Makefrag.am: Remove configuration of HSA plugin.
2500	* aclocal.m4: Regenerated.
2501	* Makefile.in: Regenerated.
2502	* config.h.in: Regenerated.
2503	* configure: Regenerated.
2504	* plugin/configfrag.ac: Likewise.
2505	* plugin/hsa_ext_finalize.h: Removed.
2506	* plugin/plugin-hsa.c: Likewise.
2507	* testsuite/Makefile.in: Regenerated.
2508	* testsuite/lib/libgomp.exp
2509	(offload_target_to_openacc_device_type): Remove hsa case.
2510	(check_effective_target_hsa_offloading_selected_nocache): Removed
2511	(check_effective_target_hsa_offloading_selected): Likewise.
2512	(libgomp_init): Do not add -Wno-hsa to additional_flags.
2513	* testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
2514	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2515	* testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
2516	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2517	* testsuite/libgomp.hsa.c/c.exp: Likewise.
2518	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2519	* testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
2520	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2521	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2522	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2523	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2524	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2525	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2526	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2527	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2528	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2529	* testsuite/libgomp.hsa.c/pr82416.c: Likewise.
2530	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2531	* testsuite/libgomp.hsa.c/staticvar.c: Likewise.
2532	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2533	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2534	* testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
2535	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2536	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2537
25382020-07-27  Julian Brown  <julian@codesourcery.com>
2539	    Thomas Schwinge  <thomas@codesourcery.com>
2540
2541	* libgomp.h (struct target_var_desc): Rename do_detach field to
2542	is_attach.
2543	* oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
2544	GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
2545	(goacc_enter_data_internal): Don't affect reference counts
2546	for attach mappings.
2547	(goacc_exit_data_internal): Don't affect reference counts for detach
2548	mappings.
2549	* target.c (gomp_map_vars_existing): Don't affect reference counts for
2550	attach mappings.
2551	(gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
2552	mark attach mappings.
2553	(gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
2554	reference count for attach mappings.
2555	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
2556	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2557	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2558	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
2559	test as shouldfail.
2560	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
2561	gracefully in no-finalize mode.
2562	* testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
2563
25642020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
2565
2566	* testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
2567	use.
2568	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2569	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2570
25712020-07-23  Julian Brown  <julian@codesourcery.com>
2572	    Thomas Schwinge  <thomas@codesourcery.com>
2573
2574	* target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
2575	finalization for detach operation.
2576	* testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
2577	New test.
2578
25792020-07-23  Tobias Burnus  <tobias@codesourcery.com>
2580
2581	* configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
2582	* libgomp_f.h.in (omp_check_defines): Check whether
2583	sizeof of determined Fortran kind and C typedef match.
2584	* omp_lib.f90.in: Add omp_depened_kind.
2585	* omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
2586	* configure: Regenerate.
2587	* Makefile.in: Regenerate.
2588	* testsuite/Makefile.in: Regenerate.
2589
25902020-07-22  Tobias Burnus  <tobias@codesourcery.com>
2591
2592	* testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
2593	gcc/testsuite/c-c++-common/gomp/.
2594	* testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
2595	* testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
2596	from gcc/testsuite/gfortran.dg/gomp/.
2597	* testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
2598
25992020-07-22  Tobias Burnus  <tobias@codesourcery.com>
2600
2601	* omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
2602	* omp_lib.h.in: Likewise.
2603
26042020-07-18  H.J. Lu  <hjl.tools@gmail.com>
2605
2606	PR target/95620
2607	* testsuite/libgomp.c/pr95620.c: New test.
2608
26092020-07-16  Julian Brown  <julian@codesourcery.com>
2610	    Thomas Schwinge  <thomas@codesourcery.com>
2611
2612	* testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
2613	* testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
2614
26152020-07-15  Tobias Burnus  <tobias@codesourcery.com>
2616
2617	* testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
2618	avoid conversion on 32bit systems from 32bit to 64bit due
2619	to -fdefault-integer-8.
2620
26212020-07-15  Tobias Burnus  <tobias@codesourcery.com>
2622
2623	* testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
2624	variables; add character(kind=4) tests; update TODO comment.
2625
26262020-07-15  Tobias Burnus  <tobias@codesourcery.com>
2627
2628	* allocator.c: Add ialias for omp_init_allocator and
2629	omp_destroy_allocator.
2630	* configure.ac: Set INTPTR_T_KIND.
2631	* configure: Regenerate.
2632	* Makefile.in: Regenerate.
2633	* testsuite/Makefile.in: Regenerate.
2634	* fortran.c (omp_init_allocator_, omp_destroy_allocator_,
2635	omp_set_default_allocator_, omp_get_default_allocator_): New
2636	functions and ialias_redirect.
2637	* icv.c: Add ialias for omp_set_default_allocator and
2638	omp_get_default_allocator.
2639	* libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
2640	omp_destroy_allocator_, omp_set_default_allocator_ and
2641	omp_get_default_allocator_.
2642	* omp_lib.f90.in: Add allocator traits parameters, declare
2643	allocator routines and add related kind parameters.
2644	* omp_lib.h.in: Likewise.
2645	* testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
2646	* testsuite/libgomp.fortran/alloc-1.F90: New test.
2647	* testsuite/libgomp.fortran/alloc-2.F90: New test.
2648	* testsuite/libgomp.fortran/alloc-3.F: New test.
2649	* testsuite/libgomp.fortran/alloc-4.f90: New test.
2650	* testsuite/libgomp.fortran/alloc-5.f90: New test.
2651
26522020-07-14  Tom de Vries  <tom@codesourcery.com>
2653	    Cesar Philippidis  <cesar@codesourcery.com>
2654	    Thomas Schwinge  <thomas@codesourcery.com>
2655	    Kwok Cheung Yeung  <kcy@codesourcery.com>
2656
2657	* oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
2658	New variable.
2659	(acc_init_1): Set acc_init_thread to pthread_self ().  Set
2660	acc_init_state to initializing at the start, and to initialized at the
2661	end.
2662	(self_initializing_p): New function.
2663	(acc_get_device_type): Return acc_device_none if called by thread that
2664	is currently executing acc_init_1.
2665	* libgomp.texi (acc_get_device_type): Update documentation.
2666	(Implementation Status and Implementation-Defined Behavior): Likewise.
2667	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
2668
26692020-07-14  David Edelsohn  <dje.gcc@gmail.com>
2670
2671	* config/t-aix: Set BITS from compiler cpp macro.
2672
26732020-07-14  Tobias Burnus  <tobias@codesourcery.com>
2674
2675	* testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
2676
26772020-07-14  Tobias Burnus  <tobias@codesourcery.com>
2678
2679	PR fortran/67311
2680	* testsuite/libgomp.fortran/target-map-1.f90: New test.
2681
26822020-07-14  Jakub Jelinek  <jakub@redhat.com>
2683
2684	* testsuite/libgomp.c/loop-21.c: New test.
2685
26862020-07-13  Julian Brown  <julian@codesourcery.com>
2687	    Thomas Schwinge  <thomas@codesourcery.com>
2688
2689	* testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
2690
26912020-07-10  Julian Brown  <julian@codesourcery.com>
2692	    Thomas Schwinge  <thomas@codesourcery.com>
2693
2694	* libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
2695	dynamic_refcount.
2696	(struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2697	* oacc-mem.c (acc_map_data): Substitute virtual_refcount for
2698	dynamic_refcount.
2699	(acc_unmap_data): Update comment.
2700	(goacc_map_var_existing, goacc_enter_datum): Adjust for
2701	dynamic_refcount semantics.
2702	(goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
2703	Adjust for dynamic_refcount semantics.
2704	(goacc_enter_data_internal): Implement "present" case of dynamic
2705	memory-map handling here.  Update "non-present" case for
2706	dynamic_refcount semantics.
2707	(goacc_exit_data_internal): Use goacc_exit_datum_1.
2708	* target.c (gomp_map_vars_internal): Remove
2709	GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
2710	handling.
2711	(gomp_unmap_vars_internal): Remove virtual_refcount handling.
2712	(gomp_load_image_to_device): Substitute dynamic_refcount for
2713	virtual_refcount.
2714	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
2715	* testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
2716	* testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
2717	* testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
2718	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
2719	trace output.
2720	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
2721	trace output.
2722	* testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
2723	test.
2724	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2725	Remove stale comment.
2726	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
2727	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2728	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2729	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2730	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2731	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
2732
27332020-07-10  Julian Brown  <julian@codesourcery.com>
2734	    Thomas Schwinge  <thomas@codesourcery.com>
2735
2736	* oacc-mem.c (goacc_map_var_existing): New function.
2737	(goacc_enter_datum): Use above function.
2738	(goacc_exit_datum_1): New function.
2739	(goacc_exit_datum): Use above function.
2740
27412020-07-09  Julian Brown  <julian@codesourcery.com>
2742	    Thomas Schwinge  <thomas@codesourcery.com>
2743
2744	PR middle-end/95270
2745	* testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
2746	* testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
2747
27482020-07-09  Julian Brown  <julian@codesourcery.com>
2749
2750	* oacc-mem.c (find_group_last): Group data-movement clauses
2751	(GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
2752	GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
2753
27542020-07-09  Jakub Jelinek  <jakub@redhat.com>
2755
2756	* testsuite/libgomp.c/loop-19.c: New test.
2757	* testsuite/libgomp.c/loop-20.c: New test.
2758
27592020-07-09  Jakub Jelinek  <jakub@redhat.com>
2760
2761	* omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
2762	2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
2763	it.  Remove __omp_alloctrait_value_max__.
2764	* allocator.c (omp_init_allocator): Handle omp_atv_default for
2765	omp_atk_alignment and omp_atk_pool_size.
2766
27672020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
2768
2769	* oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
2770	behavior for 'GOMP_MAP_FORCE_FROM'.
2771	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
2772
27732020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
2774
2775	* oacc-mem.c (goacc_exit_data_internal): Remove
2776	'GOMP_MAP_ALWAYS_FROM' handling.
2777
27782020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
2779
2780	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
2781	'scan-assembler' with 'scan-offload-rtl'.
2782	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2783	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2784	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
2785	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
2786
27872020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
2788
2789	* target.c (gomp_map_vars_existing): Assert 'kind !=
2790	GOMP_MAP_ATTACH'.
2791	(gomp_map_vars_internal): Clean up.
2792
27932020-06-27  Jakub Jelinek  <jakub@redhat.com>
2794
2795	* testsuite/libgomp.c/loop-17.c: New test.
2796	* testsuite/libgomp.c/loop-18.c: New test.
2797
27982020-06-26  Marek Polacek  <polacek@redhat.com>
2799
2800	* testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
2801
28022020-06-23  Alexandre Oliva  <oliva@adacore.com>
2803
2804	* testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
2805	* testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
2806
28072020-06-22  David Edelsohn  <dje.gcc@gmail.com>
2808
2809	* Makefile.am: Use -include.
2810	* Makefile.in: Regenerate.
2811
28122020-06-21  David Edelsohn  <dje.gcc@gmail.com>
2813
2814	* Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
2815	* Makefile.in: Regenerate
2816	* configure.ac (tmake_file): Substitute.
2817	* configure: Regenerate.
2818	* configure.tgt (powerpc-ibm-aix*): Define tmake_file.
2819	* config/t-aix: New file.
2820
28212020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
2822
2823	PR lto/94848
2824	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
2825	'dg-do run'.
2826
28272020-06-17  Andrew Stubbs  <ams@codesourcery.com>
2828
2829	* plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
2830	variant for HSA_RUNTIME_LIB name.
2831	(find_executable_symbol_1): Delete.
2832	(find_executable_symbol): Delete.
2833	(init_kernel_properties): Add ".kd" suffix to symbol names.
2834	(find_load_offset): Delete.
2835	(create_and_finalize_hsa_program): Remove relocation handling.
2836
28372020-06-16  Tobias Burnus  <tobias@codesourcery.com>
2838
2839	* testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
2840
28412020-06-08  Tobias Burnus  <tobias@codesourcery.com>
2842
2843	PR lto/94848
2844	PR middle-end/95551
2845	* testsuite/libgomp.fortran/target-var.f90: New test.
2846
28472020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
2848	    Julian Brown  <julian@codesourcery.com>
2849
2850	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
2851	special handling.
2852
28532020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
2854	    Julian Brown  <julian@codesourcery.com>
2855
2856	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2857	Simplify.
2858
28592020-06-05  Julian Brown  <julian@codesourcery.com>
2860
2861	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
2862	* testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
2863
28642020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2865
2866	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2867	Evaluate 'copyfrom' individually for each entry.
2868	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
2869
28702020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2871
2872	* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2873	Evaluate 'finalize' individually for each entry.
2874	* testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
2875	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
2876	file.
2877
28782020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2879
2880	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
2881	usage.
2882	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
2883
28842020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2885	    Julian Brown  <julian@codesourcery.com>
2886
2887	* oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
2888	checking.
2889	(acc_unmap_data, goacc_exit_data_internal): Restore
2890	'is_tgt_unmapped' checking.
2891	* testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
2892	file.
2893	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
2894	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2895	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2896	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2897	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2898	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2899
29002020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2901	    Julian Brown  <julian@codesourcery.com>
2902
2903	* oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
2904
29052020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2906
2907	PR libgomp/92854
2908	* oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
2909
29102020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2911
2912	PR libgomp/92854
2913	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
2914	more.
2915
29162020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2917	    Julian Brown  <julian@codesourcery.com>
2918
2919	* oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
2920	'gomp_map_vars'.
2921	 (acc_map_data): Clean up accordingly.
2922
29232020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2924
2925	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
2926	of over-eager 'finalize' clause.
2927	* testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
2928	file.
2929	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2930	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2931	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2932	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2933	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2934	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
2935	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2936	* testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
2937
29382020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2939
2940	* oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
2941
29422020-06-04  Julian Brown  <julian@codesourcery.com>
2943
2944	* oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
2945	error path.
2946	(goacc_detach_internal): Likewise.
2947
29482020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
2949
2950	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
2951	the checkpoint.
2952	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2953	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2954	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2955	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2956	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2957
29582020-06-02  Jakub Jelinek  <jakub@redhat.com>
2959
2960	* allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
2961	defined.
2962
29632020-05-30  Jakub Jelinek  <jakub@redhat.com>
2964
2965	* testsuite/libgomp.c-c++-common/alloc-4.c: New test.
2966
29672020-05-30  Jakub Jelinek  <jakub@redhat.com>
2968
2969	* allocator.c (omp_alloc): For size == 0, return NULL early.
2970
29712020-05-29  H.J. Lu  <hjl.tools@gmail.com>
2972
2973	PR bootstrap/95413
2974	* configure: Regenerated.
2975
29762020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
2977
2978	PR libfortran/95191
2979	* testsuite/libgomp.fortran/async_io_9.f90: New test.
2980
29812020-05-19  Jakub Jelinek  <jakub@redhat.com>
2982
2983	* omp.h.in (omp_uintptr_t): New typedef.
2984	(__GOMP_UINTPTR_T_ENUM): Define.
2985	(omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
2986	omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
2987	(__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
2988	(omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
2989	omp_get_default_allocator, omp_alloc, omp_free): Declare.
2990	* libgomp.h (struct gomp_team_state): Add def_allocator field.
2991	(gomp_def_allocator): Declare.
2992	* libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
2993	omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
2994	omp_alloc and omp_free.
2995	* team.c (gomp_team_start): Copy over ts.def_allocator.
2996	* env.c (gomp_def_allocator): New variable.
2997	(parse_wait_policy): Adjust function comment.
2998	(parse_allocator): New function.
2999	(handle_omp_display_env): Print OMP_ALLOCATOR.
3000	(initialize_env): Call parse_allocator.
3001	* Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3002	* allocator.c: New file.
3003	* icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3004	functions.
3005	* testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3006	* testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3007	* testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3008	* Makefile.in: Regenerated.
3009
30102020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
3011
3012	PR bootstrap/95147
3013	* configure: Regenerated.
3014
30152020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
3016
3017	PR libfortran/95119
3018	* testsuite/libgomp.fortran/close_errors_1.f90: New test.
3019
30202020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
3021
3022	* configure: Regenerated.
3023
30242020-05-14  Jakub Jelinek  <jakub@redhat.com>
3025
3026	* testsuite/libgomp.c-c++-common/target-40.c: New test.
3027
30282020-05-13  Tobias Burnus  <tobias@codesourcery.com>
3029
3030	PR fortran/94690
3031	* testsuite/libgomp.fortran/pr66199-3.f90: New.
3032	* testsuite/libgomp.fortran/pr66199-4.f90: New.
3033	* testsuite/libgomp.fortran/pr66199-5.f90: New.
3034	* testsuite/libgomp.fortran/pr66199-6.f90: New.
3035	* testsuite/libgomp.fortran/pr66199-7.f90: New.
3036	* testsuite/libgomp.fortran/pr66199-8.f90: New.
3037	* testsuite/libgomp.fortran/pr66199-9.f90: New.
3038
30392020-05-12  Jakub Jelinek  <jakub@redhat.com>
3040
3041	* testsuite/libgomp.c/target-39.c: New test.
3042
30432020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
3044
3045	* config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3046	* openacc.f90 (acc_device_current): Likewise.
3047	* openacc.h (acc_device_current): Likewise.
3048	* openacc_lib.h (acc_device_current): Likewise.
3049
3050	PR target/94282
3051	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3052	'dg-allow-blank-lines-in-output'.
3053
3054	* oacc-init.c (get_openacc_name): Handle 'gcn'.
3055	* testsuite/lib/libgomp.exp
3056	(offload_target_to_openacc_device_type) [amdgcn*]: Return
3057	'radeon'.  Adjust all users.
3058	(check_effective_target_openacc_amdgcn_accel_present): Rename
3059	to...
3060	(check_effective_target_openacc_radeon_accel_present): ... this.
3061	Adjust all users.
3062	(check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3063	(check_effective_target_openacc_radeon_accel_selected): ... this.
3064	Adjust all users.
3065
3066	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3067	'dg-do run'.
3068
30692020-04-23  Andrew Stubbs  <ams@codesourcery.com>
3070
3071	PR other/94629
3072
3073	* plugin/plugin-gcn.c (init_hsa_context): Check return value from
3074	hsa_iterate_agents.
3075	(GOMP_OFFLOAD_init_device): Check return values from both calls to
3076	hsa_agent_iterate_regions.
3077
30782020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
3079
3080	PR middle-end/94635
3081	* testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
3082	run'.
3083
30842020-04-20  Tobias Burnus  <tobias@codesourcery.com>
3085
3086	PR middle-end/94120
3087	* testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
3088	test case.
3089
30902020-04-17  Tobias Burnus  <tobias@codesourcery.com>
3091
3092	PR middle-end/94635
3093	* testsuite/libgomp.fortran/target-enter-data-2.F90: New.
3094
30952020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
3096
3097	PR libgomp/92843
3098	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3099	Rename to...
3100	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
3101	... this.
3102	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3103	Rename to...
3104	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
3105	... this.
3106	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3107	Rename to...
3108	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
3109	... this.
3110	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3111	Rename to...
3112	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
3113	... this.
3114	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3115	Rename to...
3116	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
3117	... this.
3118	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3119	Rename to...
3120	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
3121	... this.
3122	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3123	Rename to...
3124	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
3125	... this.
3126	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3127	Rename to...
3128	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3129	... this.
3130	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3131	Rename to...
3132	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
3133	... this.
3134	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3135	Rename to...
3136	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
3137	... this.
3138	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3139	Rename to...
3140	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
3141	... this.
3142	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3143	Rename to...
3144	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
3145	... this.
3146	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3147	Rename to...
3148	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
3149	... this.
3150	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3151	Rename to...
3152	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
3153	... this.
3154	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3155	Rename to...
3156	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
3157	... this.
3158	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
3159	Rename to...
3160	* testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
3161	... this.
3162
31632020-04-10  Julian Brown  <julian@codesourcery.com>
3164	    Thomas Schwinge  <thomas@codesourcery.com>
3165
3166	PR libgomp/92843
3167	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3168	New file.
3169	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3170	Likewise.
3171	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3172	Likewise.
3173	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3174	Likewise.
3175	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3176	Likewise.
3177	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3178	Likewise.
3179	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3180	Likewise.
3181	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3182	Likewise.
3183	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3184	Likewise.
3185	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3186	Likewise.
3187	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3188	Likewise.
3189	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3190	Likewise.
3191	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3192	Likewise.
3193	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3194	Likewise.
3195	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3196	Likewise.
3197	* testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
3198	Likewise.
3199
32002020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
3201
3202	* testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
3203	run'.
3204
32052020-04-08  Tobias Burnus  <tobias@codesourcery.com>
3206
3207	PR middle-end/94120
3208	* libgomp.oacc-c++/declare-pr94120.C: New.
3209
32102020-04-06  Maciej W. Rozycki  <macro@wdc.com>
3211
3212	* configure.ac: Add testsuite/libgomp-site-extra.exp to output
3213	files.
3214	* configure: Regenerate.
3215	* testsuite/libgomp-site-extra.exp.in: New file.
3216	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
3217	variable.
3218	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
3219	variable.
3220	* testsuite/Makefile.in: Regenerate.
3221
32222020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
3223
3224	PR tree-optimization/89713
3225	PR c/94392
3226	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
3227	'bar.sync'.
3228	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3229
32302020-03-31  Tobias Burnus  <tobias@codesourcery.com>
3231
3232	* target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
3233	* testsuite/libgomp.fortran/target-enter-data-1.f90: New.
3234
32352020-03-24  Tobias Burnus  <tobias@codesourcery.com>
3236
3237	PR libgomp/81689
3238	* testsuite/libgomp.c/target-link-1.c: Remove xfail.
3239
32402020-03-20  Tobias Burnus  <tobias@codesourcery.com>
3241
3242	PR libgomp/94251
3243	* target.c (gomp_load_image_to_device): Fix link
3244	variable handling.
3245
32462020-03-19  Jakub Jelinek  <jakub@redhat.com>
3247
3248	PR c++/93931
3249	* testsuite/libgomp.c++/pr93931.C: New test.
3250
32512020-03-19  Tobias Burnus  <tobias@codesourcery.com>
3252
3253	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
3254	dg-allow-blank-lines-in-output.
3255
32562020-03-18  Julian Brown <julian@codesourcery.com>
3257	    Tobias Burnus  <tobias@codesourcery.com>
3258
3259	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
3260	it work concurrently.
3261
32622020-03-18  Tobias Burnus  <tobias@codesourcery.com>
3263
3264	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
3265	#define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
3266	* libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
3267
32682020-03-14  Jakub Jelinek  <jakub@redhat.com>
3269
3270	PR middle-end/93566
3271	* testsuite/libgomp.c/pr93566.c: New test.
3272
32732020-02-21  Frederik Harwath  <frederik@codesourcery.com>
3274
3275	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
3276	changes from 2020-02-19, i.e. use integer(c_size_t) instead of
3277	integer(acc_device_property) for the type of the return value of
3278	acc_get_property.
3279
32802020-02-19  Tobias Burnus  <tobias@codesourcery.com>
3281
3282	* .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
3283	* config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
3284	(openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
3285	* libgomp.texi (Enabling OpenACC): No longer mark as experimental.
3286	(acc_set_device_num): Fix Fortran argument name, use same name for C.
3287	(acc_get_property): Update Fortran interface to post-OpenACC 3.0
3288	corrections; add note about the previous interface and named constant.
3289	(OpenACC library and environment variables): Fix two typos.
3290	* openacc.f90: Use for all procedures the argument names from the spec
3291	as for …_h they are user visible.
3292	(openacc_kinds): Rename acc_device_property to
3293	acc_device_property_kinds and change value to int32 ; and update users.
3294	Re-add acc_device_property for for backward compatibility.
3295	(acc_get_property_string_h): Clean up as acc_device_property_kind
3296	changed.
3297	(acc_get_property_h): Likewise and return c_size_t instead of
3298	acc_device_property.
3299	(openacc): Also export acc_device_property_kinds.
3300	(acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
3301	acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
3302	handling; check against /= 0 instead of == 1 to match C.
3303	* openacc_lib.h: Use for all procedures the argument names from the spec
3304	as for …_h they are user visible. Place !GCC$ into the first column to
3305	be active also for fixed-form souce form.
3306	(acc_device_current, acc_device_property_kind, acc_device_property,
3307	acc_property_memory, acc_property_free_memory, acc_property_name,
3308	acc_property_vendor, acc_property_driver): New named constants.
3309	(acc_get_property, acc_get_property_string): New generic interface.
3310
33112020-02-13  Frederik Harwath  <frederik@codesourcery.com>
3312
3313	PR libgomp/93481
3314	* plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
3315	* target.c (gomp_load_plugin_for_device): Make "async_run" loading
3316	optional.
3317	(gomp_target_task_fn): Assert "devicep->async_run_func".
3318	(clear_unsupported_flags): New function to remove unsupported flags
3319	(right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
3320	(GOMP_target_ext): Apply clear_unsupported_flags to flags.
3321	* testsuite/libgomp.c/target-33.c:
3322	Remove xfail for offload_target_nvptx.
3323	* testsuite/libgomp.c/target-34.c: Likewise.
3324
33252020-02-10  Frederik Harwath  <frederik@codesourcery.com>
3326
3327	* testsuite/libgomp.c/target-33.c: Add xfail for execution on
3328	offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
3329	* testsuite/libgomp.c/target-34.c: Likewise.
3330	* testsuite/libgomp.c/target-link-1.c: Add xfail for
3331	offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
3332
33332020-02-09  Jakub Jelinek  <jakub@redhat.com>
3334
3335	* testsuite/libgomp.c/target-38.c: New test.
3336
33372020-02-06  Jakub Jelinek  <jakub@redhat.com>
3338
3339	PR libgomp/93515
3340	* testsuite/libgomp.c-c++-common/pr93515.c: New test.
3341
33422020-02-05  Tobias Burnus  <tobias@codesourcery.com>
3343
3344	* testsuite/lib/libgomp.exp
3345	(check_effective_target_offload_target_nvptx): Pass flags as 'options'
3346	and not as 'source' argument to libgomp_target_compile.
3347
33482020-02-03  Andrew Stubbs  <ams@codesourcery.com>
3349
3350	* plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
3351	(gcn_gfx801_s): Remove.
3352	(isa_hsa_name): Remove gfx801.
3353	(isa_gcc_name): Remove gfx801/carizzo.
3354	(isa_code): Remove gfx801.
3355
33562020-02-03  Julian Brown  <julian@codesourcery.com>
3357	    Tobias Burnus  <tobias@codesourcery.com>
3358
3359	* libgomp.texi (OpenACC Runtime Library Routines): Document *_async
3360	and *_finalize variants; document acc_attach and acc_detach; update
3361	references from OpenACC 2.0 to 2.6.
3362	* openacc.f90 (openacc_version): Update to 201711.
3363	* openacc_lib.h (openacc_version): Update to 201711.
3364	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
3365	openacc_version to 201711.
3366	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3367
33682020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
3369
3370	* plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
3371	and vgpr_count fields.
3372	(struct kernel_info): Add a field for a hsa_kernel_description.
3373	(run_kernel): Reduce the number of threads/workers if the requested
3374	number would require too many VGPRs.
3375	(init_basic_kernel_info): Initialize description field with
3376	the hsa_kernel_description entry for the kernel.
3377
33782020-01-29  Tobias Burnus  <tobias@codesourcery.com>
3379
3380	PR bootstrap/93409
3381	* plugin/configfrag.ac (enable_offload_targets): Skip
3382	HSA and GCN plugin besides -m32 also for -mx32.
3383	* configure: Regenerate.
3384
33852020-01-29  Frederik Harwath  <frederik@codesourcery.com>
3386
3387	* oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
3388
33892020-01-29  Frederik Harwath  <frederik@codesourcery.com>
3390
3391	* plugin-gcn.c (struct agent_info): Add fields "name" and
3392	"vendor_name" ...
3393	(GOMP_OFFLOAD_init_device): ... and init from here.
3394	(struct hsa_context_info): Add field "driver_version_s" ...
3395	(init_hsa_contest): ... and init from here.
3396	(GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
3397	implementation.
3398	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3399	Enable test execution for amdgcn and host offloading targets.
3400	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
3401	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3402	(expect_device_properties): Split function into ...
3403	(expect_device_string_properties): ... this new function ...
3404	(expect_device_memory): ... and this new function.
3405	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
3406	Add test.
3407
34082020-01-28  Julian Brown  <julian@codesourcery.com>
3409
3410	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
3411	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
3412	component/non-component variable refs in a single directive.
3413	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
3414
34152020-01-24  Maciej W. Rozycki  <macro@wdc.com>
3416
3417	* configure.ac: Handle `--with-toolexeclibdir='.
3418	* Makefile.in: Regenerate.
3419	* aclocal.m4: Regenerate.
3420	* configure: Regenerate.
3421	* testsuite/Makefile.in: Regenerate.
3422
34232020-01-24  Frederik Harwath  <frederik@codesourcery.com>
3424
3425	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3426	(expect_device_properties): Remove "expected_free_mem" argument,
3427	change "expected_total_mem" argument type to size_t;
3428	change types of acc_get_property results to size_t,
3429	adapt format strings.
3430	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3431	Use %zu instead of %zd to print size_t values.
3432	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
3433	rename to ...
3434	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
3435	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
3436	rename to ...
3437	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
3438
34392020-01-23  Andrew Stubbs  <ams@codesourcery.com>
3440
3441	* plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
3442	the device id.
3443
34442020-01-20  Andrew Stubbs  <ams@codesourcery.com>
3445
3446	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
3447	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
3448	Adjust test dimensions for amdgcn.
3449	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
3450	gang/worker/vector expectations dynamically.
3451	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
3452	(main): Likewise.
3453	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
3454	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
3455	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
3456	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
3457	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
3458	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
3459	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
3460	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
3461	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
3462	(acc_gang): Recognise acc_device_radeon.
3463	(acc_worker): Likewise.
3464	(acc_vector): Likewise.
3465	(main): Set expectations for amdgcn.
3466	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
3467	(main): Adjust gang/worker/vector expectations dynamically.
3468	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
3469	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
3470	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
3471	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
3472	for amdgcn.
3473
34742020-01-17  Andrew Stubbs  <ams@codesourcery.com>
3475
3476	* config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
3477	acc_device_radeon.
3478	(openacc): Likewise.
3479	* openacc.f90 (openacc_kinds): Likewise.
3480	(openacc): Likewise.
3481	* openacc.h (acc_device_t): Likewise.
3482	* openacc_lib.h: Likewise.
3483	* testsuite/lib/libgomp.exp
3484	(check_effective_target_openacc_amdgcn_accel_present): Likewise.
3485	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
3486	(cb_compute_construct_end): Likewise.
3487	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
3488	(cb_enqueue_launch_start): Likewise.
3489	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
3490	(cb_enter_data_end): Likewise.
3491	(cb_exit_data_start): Likewise.
3492	(cb_exit_data_end): Likewise.
3493	(cb_compute_construct_end): Likewise.
3494	(cb_enqueue_launch_start): Likewise.
3495	(cb_enqueue_launch_end): Likewise.
3496	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
3497	(main): Likewise.
3498
34992020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
3500
3501	* libgomp-plugin.h (enum goacc_property): New.  Adjust all users
3502	to use this instead of 'enum gomp_device_property'.
3503	(GOMP_OFFLOAD_get_property): Rename to...
3504	(GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
3505	* libgomp.h (struct gomp_device_descr): Move
3506	'GOMP_OFFLOAD_openacc_get_property'...
3507	(struct acc_dispatch_t): ... here.  Adjust all users.
3508	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
3509
3510	* target.c (gomp_map_vars_internal)
3511	<GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
3512	paths.
3513
35142020-01-10  Jakub Jelinek  <jakub@redhat.com>
3515
3516	PR libgomp/93219
3517	* libgomp.h (gomp_print_string): Change return type from void to int.
3518	* affinity-fmt.c (gomp_print_string): Likewise.  Return true if
3519	not all characters have been written.
3520
35212020-01-08  Tobias Burnus  <tobias@codesourcery.com>
3522
3523	* libgomp.texi: Fix typos, use https.
3524
35252020-01-03  Tobias Burnus  <tobias@codesourcery.com>
3526
3527	* testsuite/libgomp.fortran/optional-map.f90: Add test for
3528	unallocated/disassociated actual arguments to nonallocatable/nonpointer
3529	dummy arguments; those are/shall be regarded as absent arguments.
3530	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3531	* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
3532
35332020-01-01  Jakub Jelinek  <jakub@redhat.com>
3534
3535	Update copyright years.
3536
3537	* libgomp.texi: Bump @copying's copyright year.
3538
35392019-12-31  Ayush Mittal  <ayush.m@samsung.com>
3540
3541	PR libgomp/93065
3542	* oacc-init.c (goacc_runtime_deinitialize): New function.
3543
35442019-12-28  Jakub Jelinek  <jakub@redhat.com>
3545
3546	PR bootstrap/93074
3547	* plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
3548	(cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
3549
35502019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
3551	    Frederik Harwath  <frederik@codesourcery.com>
3552	    Thomas Schwinge  <tschwinge@codesourcery.com>
3553
3554	* libgomp.h (gomp_device_descr): Add `get_property_func' member.
3555	* libgomp-plugin.h (gomp_device_property_value): New union.
3556	(gomp_device_property_value): New prototype.
3557	* openacc.h (acc_device_t): Add `acc_device_current' enumeration
3558	constant.
3559	(acc_device_property_t): New enum.
3560	(acc_get_property, acc_get_property_string): New prototypes.
3561	* oacc-init.c (acc_get_device_type): Also assert that result
3562	is not `acc_device_current'.
3563	(get_property_any, acc_get_property, acc_get_property_string):
3564	New functions.
3565	* openacc.f90 (openacc_kinds): Add `acc_device_current' and
3566	`acc_property_memory', `acc_property_free_memory',
3567	`acc_property_name', `acc_property_vendor' and
3568	`acc_property_driver' constants.  Add `acc_device_property' data
3569	type.
3570	(openacc_internal): Add `acc_get_property' and
3571	`acc_get_property_string' interfaces.  Add `acc_get_property_h',
3572	`acc_get_property_string_h', `acc_get_property_l' and
3573	`acc_get_property_string_l'.
3574	* oacc-host.c (host_get_property): New function.
3575	(host_dispatch): Wire it.
3576	* target.c (gomp_load_plugin_for_device): Handle `get_property'.
3577	* libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
3578	`acc_get_property_string' and `acc_get_property_string_h_' symbols.
3579	* libgomp.texi (OpenACC Runtime Library Routines): Add
3580	`acc_get_property'.
3581	(acc_get_property): New node.
3582	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
3583	function (stub).
3584	* plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
3585	* plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
3586	`cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
3587	calls.
3588	(GOMP_OFFLOAD_get_property): New function.
3589	(struct ptx_device): Add new field "name".
3590	(cuda_driver_version_s): Add new static variable ...
3591	(nvptx_init): ... and init from here.
3592
3593	* testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
3594	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
3595	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
3596	* testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
3597	with test helper functions.
3598
3599	* testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
3600
36012019-12-22  Maciej W. Rozycki  <macro@wdc.com>
3602
3603	* testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
3604	variable.
3605
36062019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
3607
3608	* target.c (gomp_map_vars_internal): Restore 'omp declare target
3609	link' handling.
3610
36112019-12-19  Julian Brown  <julian@codesourcery.com>
3612
3613	* testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
3614	* testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
3615	* testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
3616
36172019-12-19  Julian Brown  <julian@codesourcery.com>
3618	    Cesar Philippidis  <cesar@codesourcery.com>
3619
3620	* testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
3621	* testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
3622	* testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
3623	* testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
3624	* testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
3625	* testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
3626	* testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
3627	* testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
3628	* testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
3629	* testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
3630	* testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
3631	* testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
3632	* testsuite/libgomp.oacc-fortran/update-2.f90: New test.
3633
36342019-12-19  Julian Brown  <julian@codesourcery.com>
3635
3636	* testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
3637	* testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
3638	* testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
3639	* testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
3640	* testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
3641	* testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
3642	* testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
3643	* testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
3644	* testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
3645	* testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
3646	* testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
3647	* testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
3648
36492019-12-19  Julian Brown  <julian@codesourcery.com>
3650
3651	* libgomp.h (struct target_var_desc): Add do_detach flag.
3652	* oacc-init.c (acc_shutdown_1): Free aux block if present.
3653	* oacc-mem.c (find_group_last): Add SIZES parameter. Support
3654	struct components.  Tidy up and add some new checks.
3655	(goacc_enter_data_internal): Update call to find_group_last.
3656	(goacc_exit_data_internal): Support detach operations and
3657	GOMP_MAP_STRUCT.
3658	(GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
3659	GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
3660	attach/detach in enter/exit data detection code.
3661	* target.c (gomp_map_vars_existing): Initialise do_detach field of
3662	tgt_var_desc.
3663	(gomp_map_vars_internal): Support attach.
3664	(gomp_unmap_vars_internal): Support detach.
3665
36662019-12-19  Julian Brown  <julian@codesourcery.com>
3667	    Thomas Schwinge  <thomas@codesourcery.com>
3668
3669	* libgomp.h (struct splay_tree_aux): Add attach_count field.
3670	(gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
3671	* libgomp.map (OACC_2.6): New section. Add acc_attach,
3672	acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
3673	acc_detach_finalize_async.
3674	* oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
3675	acc_detach, acc_detach_async, acc_detach_finalize,
3676	acc_detach_finalize_async): New functions.
3677	* openacc.h (acc_attach, acc_attach_async, acc_detach,
3678	(acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
3679	prototypes.
3680	* target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
3681	(gomp_remove_var_internal): Free attachment counts if present.
3682	* testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
3683	* testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
3684
36852019-12-19  Julian Brown  <julian@codesourcery.com>
3686	    Cesar Philippidis  <cesar@codesourcery.com>
3687
3688	* libgomp.h (gomp_map_val): Add prototype.
3689	* oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
3690	open-coding device-address calculation.
3691	* target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
3692	non-present case.
3693
36942019-12-19  Julian Brown  <julian@codesourcery.com>
3695
3696	* libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
3697	field for virtual_refcount.
3698	(enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3699	(gomp_free_memmap): Remove prototype.
3700	* oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
3701	instead of calling gomp_free_memmap.
3702	* oacc-mem.c (acc_map_data): Use virtual_refcount instead of
3703	dynamic_refcount.
3704	(acc_unmap_data): Open code instead of forcing target_mem_desc's
3705	to_free field to NULL then calling gomp_unmap_vars.  Handle
3706	REFCOUNT_INFINITY on target blocks.
3707	(goacc_enter_data): Rename to...
3708	(goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
3709	handling for mapping groups.  Use virtual_refcount instead of
3710	dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
3711	map_map_vars_async call.  Re-do lookup for target pointer return value.
3712	(acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
3713	renamed goacc_enter_datum function.
3714	(goacc_exit_data): Rename to...
3715	(goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
3716	(acc_delete, acc_delete_async, acc_delete_finalize,
3717	acc_delete_finalize_async, acc_copyout, acc_copyout_async,
3718	acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
3719	goacc_exit_datum function.
3720	(gomp_acc_remove_pointer, find_pointer): Remove functions.
3721	(find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
3722	New functions.
3723	(GOACC_enter_exit_data): Use goacc_enter_data_internal and
3724	goacc_exit_data_internal helper functions.
3725	* target.c (gomp_map_vars_internal): Handle
3726	GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
3727	semantics.
3728	(gomp_unmap_vars_internal): Update for virtual_refcount semantics.
3729	(gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
3730	virtual_refcount field instead of dynamic_refcount.
3731	(gomp_free_memmap): Remove function.
3732	* testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
3733	* testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
3734	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
3735
37362019-12-19  Julian Brown  <julian@codesourcery.com>
3737	    Thomas Schwinge  <thomas@codesourcery.com>
3738
3739	* libgomp.h (struct splay_tree_aux): New.
3740	(struct splay_tree_key_s): Replace link_key field with aux pointer.
3741	* target.c (gomp_map_vars_internal): Adjust for link_key being moved
3742	to aux struct.
3743	(gomp_remove_var_internal): Free aux block if present.
3744	(gomp_load_image_to_device): Zero-initialise aux field instead of
3745	link_key field.
3746	(omp_target_associate_pointer): Zero-initialise aux field.
3747
37482019-12-18  Jakub Jelinek  <jakub@redhat.com>
3749
3750	PR middle-end/86416
3751	* testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
3752	q or none.
3753	* testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
3754	L or none.
3755
37562019-12-19  Julian Brown  <julian@codesourcery.com>
3757	    Maciej W. Rozycki  <macro@codesourcery.com>
3758	    Tobias Burnus  <tobias@codesourcery.com>
3759	    Thomas Schwinge  <thomas@codesourcery.com>
3760
3761	* target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
3762	* testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
3763	* testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
3764	* testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
3765	* testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
3766	* testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
3767	* testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
3768	* testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
3769	* testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
3770
37712019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
3772
3773	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3774	called...
3775	(goacc_insert_pointer): ... from here, "present" case.
3776	(goacc_insert_pointer): Inline function into...
3777	(GOACC_enter_exit_data): ... here, and simplify.
3778
3779	* oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3780	called...
3781	(goacc_insert_pointer): ... from here, "not present" case.
3782
3783	* oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
3784	all users.
3785
3786	* oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
3787	'goacc_enter_data', 'goacc_exit_data'.
3788
3789	* oacc-mem.c (delete_copyout): Refactor into...
3790	(goacc_exit_data): ... this.  Adjust all users.
3791
3792	* oacc-mem.c (present_create_copy): Refactor into...
3793	(goacc_enter_data): ... this.  Adjust all users.
3794
3795	* target.c (gomp_unmap_vars_internal): Add a safeguard to
3796	'gomp_remove_var'.
3797
3798	* target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
3799	like 'GOMP_MAP_FROM'.
3800
3801	PR libgomp/92726
3802	PR libgomp/92970
3803	PR libgomp/92984
3804	* oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
3805	fails.
3806	(GOACC_enter_exit_data): Simplify accordingly.
3807	* testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
3808	subsuming...
3809	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
3810	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
3811	file.
3812	* testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
3813	subsuming...
3814	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
3815	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
3816	file.
3817	* testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
3818	subsuming...
3819	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
3820
3821	* oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
3822	'finalize' handling.
3823
3824	PR libgomp/92848
3825	* oacc-mem.c (acc_map_data, present_create_copy)
3826	(goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
3827	(acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
3828	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
3829	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
3830	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
3831	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
3832	* testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
3833	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3834	Remove "XFAIL"s.
3835
3836	* target.c (gomp_unmap_tgt): Make it 'static'.
3837	* libgomp.h (gomp_unmap_tgt): Remove.
3838
38392019-12-18  Tobias Burnus  <tobias@codesourcery.com>
3840
3841	PR middle-end/86416
3842	* testsuite/libgomp.c/pr86416-1.c: New.
3843	* testsuite/libgomp.c/pr86416-2.c: New.
3844
38452019-12-17  Tobias Burnus  <tobias@codesourcery.com>
3846
3847	* config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
3848	all symbols as public except for the 'use …, only' imported symbol,
3849	which is private.
3850	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3851	all symbols from module openacc_kinds as PUBLIC
3852	* openacc.f90: Add comment with crossref to that file and openmp_lib.h;
3853	fix comment typo.
3854	* openacc_lib.h (acc_device_gcn): Add this PARAMETER.
3855
38562019-12-13  Julian Brown  <julian@codesourcery.com>
3857
3858	PR libgomp/92881
3859
3860	* libgomp.h (gomp_remove_var_async): Add prototype.
3861	* oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
3862	gomp_remove_var.
3863	* target.c (gomp_unref_tgt): Change return type to bool, indicating
3864	whether target_mem_desc was unmapped.
3865	(gomp_unref_tgt_void): New.
3866	(gomp_remove_var): Reimplement in terms of...
3867	(gomp_remove_var_internal): ...this new helper function.
3868	(gomp_remove_var_async): New, implemented using above helper function.
3869	(gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
3870	gomp_unref_tgt.
3871
38722019-12-13  Andrew Stubbs  <ams@codesourcery.com>
3873
3874	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
3875	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3876	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
3877	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
3878	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
3879	Likewise.
3880	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
3881	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
3882
38832019-12-13  Tobias Burnus  <tobias@codesourcery.com>
3884
3885	* openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
3886	as public except for the 'use …, only' imported symbol, which is
3887	private.
3888	(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3889	all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
3890	attributes for acc_copyout_finalize and acc_delete_finalize.
3891
38922019-12-11  Jakub Jelinek  <jakub@redhat.com>
3893
3894	PR fortran/92899
3895	* testsuite/libgomp.fortran/atomic1.f90: New test.
3896
38972019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
3898
3899	PR libgomp/92843
3900	* oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
3901	reference counting for structured 'REFCOUNT_INFINITY'.  Add some
3902	assertions.
3903	(goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
3904	* testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
3905	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
3906	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3907	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3908
3909	* oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
3910	* oacc-mem.c: ... here.
3911	(gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
3912	'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
3913	* libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3914	Remove.
3915	* libgomp_g.h: Update.
3916
3917	* oacc-parallel.c (GOACC_wait, goacc_wait): Move...
3918	* oacc-async.c: ... here.
3919	* oacc-int.h (goacc_wait): Declare.
3920	* libgomp_g.h: Update
3921
3922	PR libgomp/92854
3923	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
3924	New file.
3925	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
3926	Likewise.
3927	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
3928	Likewise.
3929	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
3930	Likewise.
3931	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
3932	Likewise.
3933	* testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
3934	Likewise.
3935
39362019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
3937	    Julian Brown  <julian@codesourcery.com>
3938
3939	* target.c (gomp_load_image_to_device, omp_target_associate_ptr):
3940	Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
3941
39422019-12-11  Tobias Burnus  <tobias@codesourcery.com>
3943
3944	* omp_lib.h.in: Fix spelling of function declaration
3945	omp_get_cancell(l)ation.
3946	* libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
3947	Fix typos.
3948	* env.c: Fix comment typos.
3949	* oacc-host.c: Likewise.
3950	* ordered.c: Likewise.
3951	* task.c: Likewise.
3952	* team.c: Likewise.
3953	* config/gcn/task.c: Likewise.
3954	* config/gcn/team.c: Likewise.
3955	* config/nvptx/task.c: Likewise.
3956	* config/nvptx/team.c: Likewise.
3957	* plugin/plugin-gcn.c: Likewise.
3958	* testsuite/libgomp.fortran/jacobi.f: Likewise.
3959	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3960	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
3961
39622019-12-11  Tobias Burnus  <tobias@codesourcery.com>
3963
3964	* testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
3965	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
3966	unnecessary 'dg-additional-options "-w"'.
3967
39682019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
3969	    Julian Brown  <julian@codesourcery.com>
3970
3971	PR libgomp/92116
3972	PR libgomp/92877
3973
3974	* oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
3975	* libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
3976	Adjust all users.
3977	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3978	Remove XFAIL.
3979	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3980	Likewise.
3981	* testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
3982
39832019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
3984
3985	PR libgomp/92503
3986	* oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
3987	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
3988	file.
3989	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
3990	Likewise.
3991	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
3992	Likewise.
3993	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
3994	Likewise.
3995	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3996	Likewise.
3997	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3998	Likewise.
3999	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4000	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4001	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4002	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4003	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4004	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4005	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4006	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4007	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4008	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4009
4010	PR libgomp/92840
4011	* oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4012	(acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4013	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4014	New file.
4015	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4016	Likewise.
4017	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4018	Likewise.
4019	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4020	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4021
4022	PR libgomp/92511
4023	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4024	this file...
4025	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4026	this file...
4027	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4028	file...
4029	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4030	file...
4031	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4032	... with their content moved into, and extended in this new file.
4033	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4034	New file.
4035	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4036	Likewise.
4037	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4038	Likewise.
4039	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4040	Likewise.
4041
4042	* testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4043
4044	PR libgomp/92854
4045	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4046
4047	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4048
4049	* target.c (gomp_exit_data): Use 'gomp_remove_var'.
4050
40512019-12-09  Tobias Burnus  <tobias@codesourcery.com>
4052
4053	* testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4054	unique.
4055	* testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4056	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4057	* testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4058	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4059	Ditto.
4060	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4061	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4062
40632019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
4064
4065	* config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4066
40672019-12-06  Tobias Burnus  <tobias@codesourcery.com>
4068	    Kwok Cheung Yeung <kcy@codesourcery.com>
4069
4070	* oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
4071	if input it a NULL pointer.
4072	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
4073	diagnostic of NULL pointer.
4074	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
4075	* testsuite/libgomp.fortran/optional-map.f90: New.
4076	* testsuite/libgomp.fortran/use_device_addr-1.f90
4077	(test_dummy_opt_callee_1_absent): New.
4078	(test_dummy_opt_call_1): Call it.
4079	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4080	* testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
4081	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4082	* testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
4083	* testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
4084	* testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
4085	* testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
4086	* testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
4087	* testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
4088	* testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
4089	* testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
4090	* testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
4091	* testsuite/libgomp.oacc-fortran/optional-private.f90: New.
4092	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
4093	* testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
4094	* testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
4095
40962019-12-05  Tobias Burnus  <tobias@codesourcery.com>
4097
4098	* testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
4099	expect dg-output of 'Error termination.' for GCN.
4100	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4101	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4102
41032019-12-04  Jakub Jelinek  <jakub@redhat.com>
4104
4105	PR fortran/92756
4106	* testsuite/libgomp.fortran/teams1.f90: New test.
4107	* testsuite/libgomp.fortran/teams2.f90: New test.
4108
41092019-12-03  Frederik Harwath  <frederik@codesourcery.com>
4110
4111	* oacc-init.c (acc_known_device_type): Add function.
4112	(unknown_device_type_error): Add function.
4113	(name_of_acc_device_t): Change to call unknown_device_type_error
4114	on unknown type.
4115	(resolve_device): Use acc_known_device_type.
4116	(acc_init): Fail if acc_device_t argument is not valid.
4117	(acc_shutdown): Likewise.
4118	(acc_get_num_devices): Likewise.
4119	(acc_set_device_type): Likewise.
4120	(acc_get_device_num): Likewise.
4121	(acc_set_device_num): Likewise.
4122	(acc_on_device): Add comment that argument validity is not checked.
4123
41242019-12-03  Andrew Stubbs  <ams@codesourcery.com>
4125
4126	* testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4127	Recognize amdgcn.
4128	(check_effective_target_openacc_amdgcn_accel_present): New proc.
4129	(check_effective_target_openacc_amdgcn_accel_selected): New proc.
4130	* testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
4131	* testsuite/libgomp.oacc-c/c.exp: Likewise.
4132	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4133
41342019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
4135
4136	PR libgomp/91938
4137	* configure.tgt: Avoid IE tls on *-*-musl*.
4138
41392019-11-29  Tobias Burnus  <tobias@codesourcery.com>
4140
4141	* testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4142	adding a common-block test case.
4143
41442019-11-29  Jakub Jelinek  <jakub@redhat.com>
4145
4146	PR c++/60228
4147	* testsuite/libgomp.c++/udr-20.C: New test.
4148	* testsuite/libgomp.c++/udr-21.C: New test.
4149
41502019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
4151
4152	* testsuite/lib/libgomp.exp
4153	(check_effective_target_offload_target_nvptx): New proc.
4154	* testsuite/libgomp.fortran/target-print-1.f90: Use it with
4155	'dg-skip-if'.
4156	* testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
4157	* testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
4158	* testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
4159
41602019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4161
4162	* testsuite/libgomp.c/pr39591-1.c: Rename err to e.
4163	* testsuite/libgomp.c/pr39591-2.c: Likewise.
4164	* testsuite/libgomp.c/pr39591-3.c: Likewise.
4165	* testsuite/libgomp.c/private-1.c: Likewise.
4166	* testsuite/libgomp.c/task-1.c: Likewise.
4167	* testsuite/libgomp.c/task-5.c: Renamed err to serr.
4168
41692019-11-20  Julian Brown  <julian@codesourcery.com>
4170
4171	* plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
4172	aq->mutex here.
4173	(queue_push_launch): Lock aq->mutex before calling
4174	wait_for_queue_nonfull.
4175	(queue_push_callback): Likewise.
4176	(queue_push_asyncwait): Likewise.
4177	(queue_push_placeholder): Likewise.
4178
41792019-11-20  Julian Brown  <julian@codesourcery.com>
4180
4181	* plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4182	(copy_data, GOMP_OFFLOAD_host2dev): Use above function.
4183	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
4184	return code.
4185
41862019-11-20  Julian Brown  <julian@codesourcery.com>
4187
4188	PR libgomp/92511
4189
4190	* oacc-mem.c (present_create_copy): Fix device pointer return value in
4191	case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
4192	in non-present/create case.
4193	(delete_copyout): Change error condition to fail only on copies outside
4194	of mapped block.  Adjust error message accordingly.
4195	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
4196	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
4197	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
4198	message.
4199	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4200	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
4201	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4202
42032019-11-20  Maciej W. Rozycki  <macro@wdc.com>
4204
4205	* testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4206	libatomic in build-tree testing.
4207
42082019-11-18  Maciej W. Rozycki  <macro@wdc.com>
4209
4210	* testsuite/Makefile.in: Regenerate.
4211
42122019-11-15  Andrew Stubbs  <ams@codesourcery.com>
4213
4214	* testsuite/libgomp.c/target-print-1.c: New file.
4215	* testsuite/libgomp.fortran/target-print-1.f90: New file.
4216	* testsuite/libgomp.oacc-c/print-1.c: New file.
4217	* testsuite/libgomp.oacc-fortran/print-1.f90: New file.
4218
42192019-11-13  Andrew Stubbs  <ams@codesourcery.com>
4220	    Kwok Cheung Yeung  <kcy@codesourcery.com>
4221	    Julian Brown  <julian@codesourcery.com>
4222	    Tom de Vries  <tom@codesourcery.com>
4223
4224	* plugin/Makefrag.am: Add amdgcn plugin support.
4225	* plugin/configfrag.ac: Likewise.
4226	* plugin/plugin-gcn.c: New file.
4227	* configure: Regenerate.
4228	* Makefile.in: Regenerate.
4229	* testsuite/Makefile.in: Regenerate.
4230
42312019-11-13  Andrew Stubbs  <ams@codesourcery.com>
4232
4233	* config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
4234	and use team_malloc variants.
4235	(gomp_gcn_exit_kernel): Use team_free.
4236	* libgomp.h (TEAM_ARENA_SIZE): Define.
4237	(TEAM_ARENA_START): Define.
4238	(TEAM_ARENA_FREE): Define.
4239	(TEAM_ARENA_END): Define.
4240	(team_malloc): New function.
4241	(team_malloc_cleared): New function.
4242	(team_free): New function.
4243	* team.c (gomp_new_team): Initialize and use team_malloc.
4244	(free_team): Use team_free.
4245	(gomp_free_thread): Use team_free.
4246	(gomp_pause_host): Use team_free.
4247	* work.c (gomp_init_work_share): Use team_malloc.
4248	(gomp_fini_work_share): Use team_free.
4249
42502019-11-13  Andrew Stubbs  <ams@codesourcery.com>
4251	    Kwok Cheung Yeung  <kcy@codesourcery.com>
4252	    Julian Brown  <julian@codesourcery.com>
4253	    Tom de Vries  <tom@codesourcery.com>
4254
4255	* Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
4256	* Makefile.in: Regenerate.
4257	* config.h.in (PLUGIN_GCN): Add new undef.
4258	* config/accel/openacc.f90 (acc_device_gcn): New parameter.
4259	* config/gcn/affinity-fmt.c: New file.
4260	* config/gcn/bar.c: New file.
4261	* config/gcn/bar.h: New file.
4262	* config/gcn/doacross.h: New file.
4263	* config/gcn/icv-device.c: New file.
4264	* config/gcn/oacc-target.c: New file.
4265	* config/gcn/simple-bar.h: New file.
4266	* config/gcn/target.c: New file.
4267	* config/gcn/task.c: New file.
4268	* config/gcn/team.c: New file.
4269	* config/gcn/time.c: New file.
4270	* configure.ac: Add amdgcn*-*-*.
4271	* configure: Regenerate.
4272	* configure.tgt: Add amdgcn*-*-*.
4273	* libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
4274	* libgomp.h (gcn_thrs): Add amdgcn variant.
4275	(set_gcn_thrs): Likewise.
4276	(gomp_thread): Likewise.
4277	* oacc-int.h (goacc_thread): Likewise.
4278	* oacc-target.c: New file.
4279	* openacc.f90 (acc_device_gcn): New parameter.
4280	* openacc.h (acc_device_t): Add acc_device_gcn.
4281	* team.c (gomp_free_pool_helper): Add amdgcn support.
4282
42832019-11-13  Andrew Stubbs  <ams@codesourcery.com>
4284	    Julian Brown  <julian@codesourcery.com>
4285
4286	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
4287	parameter.
4288	* oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
4289	queue constructor.
4290	* oacc-host.c (host_openacc_async_construct): Add device parameter.
4291	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
4292	device parameter.
4293
42942019-11-13  Andrew Stubbs  <ams@codesourcery.com>
4295
4296	* configure.tgt (nvptx*-*-*): Add "accel" directory.
4297	* config/nvptx/libgomp-plugin.c: Move ...
4298	* config/accel/libgomp-plugin.c: ... to here.
4299	* config/nvptx/lock.c: Move ...
4300	* config/accel/lock.c: ... to here.
4301	* config/nvptx/mutex.c: Move ...
4302	* config/accel/mutex.c: ... to here.
4303	* config/nvptx/mutex.h: Move ...
4304	* config/accel/mutex.h: ... to here.
4305	* config/nvptx/oacc-async.c: Move ...
4306	* config/accel/oacc-async.c: ... to here.
4307	* config/nvptx/oacc-cuda.c: Move ...
4308	* config/accel/oacc-cuda.c: ... to here.
4309	* config/nvptx/oacc-host.c: Move ...
4310	* config/accel/oacc-host.c: ... to here.
4311	* config/nvptx/oacc-init.c: Move ...
4312	* config/accel/oacc-init.c: ... to here.
4313	* config/nvptx/oacc-mem.c: Move ...
4314	* config/accel/oacc-mem.c: ... to here.
4315	* config/nvptx/oacc-plugin.c: Move ...
4316	* config/accel/oacc-plugin.c: ... to here.
4317	* config/nvptx/omp-lock.h: Move ...
4318	* config/accel/omp-lock.h: ... to here.
4319	* config/nvptx/openacc.f90: Move ...
4320	* config/accel/openacc.f90: ... to here.
4321	* config/nvptx/pool.h: Move ...
4322	* config/accel/pool.h: ... to here.
4323	* config/nvptx/proc.c: Move ...
4324	* config/accel/proc.c: ... to here.
4325	* config/nvptx/ptrlock.c: Move ...
4326	* config/accel/ptrlock.c: ... to here.
4327	* config/nvptx/ptrlock.h: Move ...
4328	* config/accel/ptrlock.h: ... to here.
4329	* config/nvptx/sem.c: Move ...
4330	* config/accel/sem.c: ... to here.
4331	* config/nvptx/sem.h: Move ...
4332	* config/accel/sem.h: ... to here.
4333	* config/nvptx/thread-stacksize.h: Move ...
4334	* config/accel/thread-stacksize.h: ... to here.
4335
43362019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
4337	    Tobias Burnus  <tobias@codesourcery.com>
4338	    Frederik Harwath  <frederik@codesourcery.com>
4339	    Thomas Schwinge  <thomas@codesourcery.com>
4340
4341	libgomp/
4342	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
4343	* testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
4344	* testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
4345
43462019-11-11  Tobias Burnus  <tobias@codesourcery.com>
4347	    Kwok Cheung Yeung  <kcy@codesourcery.com>
4348
4349	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
4350	* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
4351
43522019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
4353
4354	* testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
4355
4356	* testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
4357	run'.
4358	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4359	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
4360
43612019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
4362
4363	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4364	Add expected warnings about missing reduction clauses.
4365	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4366	Likewise.
4367	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
4368	Likewise.
4369	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4370	Likewise.
4371
43722019-11-04  Tobias Burnus  <tobias@codesourcery.com>
4373
4374	* testsuite/libgomp.fortran/pr66199-1.f90: Remove
4375	'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
4376	* testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
4377	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4378	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4379	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4380
43812019-11-04  Tobias Burnus  <tobias@codesourcery.com>
4382
4383	PR fortran/92305
4384	* testsuite/libgomp.fortran/allocatable2.f90: Use
4385	unique numbers with 'stop'.
4386	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4387	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4388	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
4389	* testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
4390	* testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
4391
43922019-11-01  Tobias Burnus  <tobias@codesourcery.com>
4393
4394	* testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
4395	test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
4396	* testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4397	* testsuite/libgomp.fortran/use_device_addr-3.f90: New.
4398	* testsuite/libgomp.fortran/use_device_addr-4.f90: New.
4399	* testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
4400
44012019-10-30  Tobias Burnus  <tobias@codesourcery.com>
4402
4403	* testsuite/libgomp.fortran/target9.f90: New.
4404
44052019-10-30  Tobias Burnus  <tobias@codesourcery.com>
4406
4407	* testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
4408	* testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
4409	* testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
4410	* testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
4411	* testsuite/libgomp.fortran/allocatable1.f90: Ditto.
4412	* testsuite/libgomp.fortran/allocatable10.f90: Ditto.
4413	* testsuite/libgomp.fortran/allocatable11.f90: Ditto.
4414	* testsuite/libgomp.fortran/allocatable12.f90: Ditto.
4415	* testsuite/libgomp.fortran/allocatable2.f90: Ditto.
4416	* testsuite/libgomp.fortran/allocatable3.f90: Ditto.
4417	* testsuite/libgomp.fortran/allocatable4.f90: Ditto.
4418	* testsuite/libgomp.fortran/allocatable5.f90: Ditto.
4419	* testsuite/libgomp.fortran/allocatable6.f90: Ditto.
4420	* testsuite/libgomp.fortran/allocatable7.f90: Ditto.
4421	* testsuite/libgomp.fortran/allocatable8.f90: Ditto.
4422	* testsuite/libgomp.fortran/allocatable9.f90: Ditto.
4423	* testsuite/libgomp.fortran/associate1.f90: Ditto.
4424	* testsuite/libgomp.fortran/associate2.f90: Ditto.
4425	* testsuite/libgomp.fortran/associate3.f90: Ditto.
4426	* testsuite/libgomp.fortran/async_io_4.f90: Ditto.
4427	* testsuite/libgomp.fortran/async_io_5.f90: Ditto.
4428	* testsuite/libgomp.fortran/async_io_6.f90: Ditto.
4429	* testsuite/libgomp.fortran/async_io_7.f90: Ditto.
4430	* testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
4431	* testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
4432	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
4433	* testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
4434	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
4435	* testsuite/libgomp.fortran/character1.f90: Ditto.
4436	* testsuite/libgomp.fortran/character2.f90: Ditto.
4437	* testsuite/libgomp.fortran/collapse1.f90: Ditto.
4438	* testsuite/libgomp.fortran/collapse2.f90: Ditto.
4439	* testsuite/libgomp.fortran/collapse3.f90: Ditto.
4440	* testsuite/libgomp.fortran/collapse4.f90: Ditto.
4441	* testsuite/libgomp.fortran/crayptr1.f90: Ditto.
4442	* testsuite/libgomp.fortran/crayptr2.f90: Ditto.
4443	* testsuite/libgomp.fortran/crayptr3.f90: Ditto.
4444	* testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
4445	* testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
4446	* testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
4447	* testsuite/libgomp.fortran/depend-1.f90: Ditto.
4448	* testsuite/libgomp.fortran/depend-2.f90: Ditto.
4449	* testsuite/libgomp.fortran/depend-3.f90: Ditto.
4450	* testsuite/libgomp.fortran/do1.f90: Ditto.
4451	* testsuite/libgomp.fortran/do2.f90: Ditto.
4452	* testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
4453	* testsuite/libgomp.fortran/doacross1.f90: Ditto.
4454	* testsuite/libgomp.fortran/doacross2.f90: Ditto.
4455	* testsuite/libgomp.fortran/doacross3.f90: Ditto.
4456	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
4457	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
4458	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
4459	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
4460	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
4461	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
4462	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
4463	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
4464	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
4465	* testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
4466	* testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
4467	* testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
4468	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
4469	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
4470	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
4471	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
4472	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
4473	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
4474	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
4475	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
4476	* testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
4477	* testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
4478	* testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
4479	* testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
4480	* testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
4481	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
4482	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
4483	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
4484	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
4485	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
4486	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
4487	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
4488	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
4489	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
4490	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
4491	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
4492	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
4493	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
4494	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
4495	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
4496	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
4497	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
4498	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
4499	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
4500	* testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
4501	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4502	* testsuite/libgomp.fortran/lib1.f90: Ditto.
4503	* testsuite/libgomp.fortran/lib4.f90: Ditto.
4504	* testsuite/libgomp.fortran/lock-1.f90: Ditto.
4505	* testsuite/libgomp.fortran/lock-2.f90: Ditto.
4506	* testsuite/libgomp.fortran/nested1.f90: Ditto.
4507	* testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
4508	* testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
4509	* testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
4510	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4511	* testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
4512	* testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
4513	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4514	* testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
4515	* testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
4516	* testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
4517	* testsuite/libgomp.fortran/omp_cond1.f: Ditto.
4518	* testsuite/libgomp.fortran/omp_cond2.f: Ditto.
4519	* testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
4520	* testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
4521	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4522	* testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
4523	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4524	* testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
4525	* testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
4526	* testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
4527	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
4528	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
4529	* testsuite/libgomp.fortran/pointer1.f90: Ditto.
4530	* testsuite/libgomp.fortran/pointer2.f90: Ditto.
4531	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
4532	* testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
4533	* testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
4534	* testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
4535	* testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
4536	* testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
4537	* testsuite/libgomp.fortran/pr28390.f: Ditto.
4538	* testsuite/libgomp.fortran/pr29629.f90: Ditto.
4539	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
4540	* testsuite/libgomp.fortran/pr33880.f90: Ditto.
4541	* testsuite/libgomp.fortran/pr34020.f90: Ditto.
4542	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
4543	* testsuite/libgomp.fortran/pr42162.f90: Ditto.
4544	* testsuite/libgomp.fortran/pr46753.f90: Ditto.
4545	* testsuite/libgomp.fortran/pr48894.f90: Ditto.
4546	* testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
4547	* testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
4548	* testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
4549	* testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
4550	* testsuite/libgomp.fortran/pr65597.f90: Ditto.
4551	* testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
4552	* testsuite/libgomp.fortran/pr71014.f90: Ditto.
4553	* testsuite/libgomp.fortran/pr81304.f90: Ditto.
4554	* testsuite/libgomp.fortran/pr81841.f90: Ditto.
4555	* testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
4556	* testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
4557	* testsuite/libgomp.fortran/procptr1.f90: Ditto.
4558	* testsuite/libgomp.fortran/recursion1.f90: Ditto.
4559	* testsuite/libgomp.fortran/reduction1.f90: Ditto.
4560	* testsuite/libgomp.fortran/reduction2.f90: Ditto.
4561	* testsuite/libgomp.fortran/reduction3.f90: Ditto.
4562	* testsuite/libgomp.fortran/reduction4.f90: Ditto.
4563	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
4564	* testsuite/libgomp.fortran/reduction6.f90: Ditto.
4565	* testsuite/libgomp.fortran/reference1.f90: Ditto.
4566	* testsuite/libgomp.fortran/reference2.f90: Ditto.
4567	* testsuite/libgomp.fortran/retval1.f90: Ditto.
4568	* testsuite/libgomp.fortran/retval2.f90: Ditto.
4569	* testsuite/libgomp.fortran/sharing1.f90: Ditto.
4570	* testsuite/libgomp.fortran/sharing2.f90: Ditto.
4571	* testsuite/libgomp.fortran/simd1.f90: Ditto.
4572	* testsuite/libgomp.fortran/simd2.f90: Ditto.
4573	* testsuite/libgomp.fortran/simd3.f90: Ditto.
4574	* testsuite/libgomp.fortran/simd4.f90: Ditto.
4575	* testsuite/libgomp.fortran/simd5.f90: Ditto.
4576	* testsuite/libgomp.fortran/simd6.f90: Ditto.
4577	* testsuite/libgomp.fortran/simd7.f90: Ditto.
4578	* testsuite/libgomp.fortran/stack.f90: Ditto.
4579	* testsuite/libgomp.fortran/strassen.f90: Ditto.
4580	* testsuite/libgomp.fortran/tabs1.f90: Ditto.
4581	* testsuite/libgomp.fortran/tabs2.f: Ditto.
4582	* testsuite/libgomp.fortran/target1.f90: Ditto.
4583	* testsuite/libgomp.fortran/target2.f90: Ditto.
4584	* testsuite/libgomp.fortran/target3.f90: Ditto.
4585	* testsuite/libgomp.fortran/target4.f90: Ditto.
4586	* testsuite/libgomp.fortran/target5.f90: Ditto.
4587	* testsuite/libgomp.fortran/target6.f90: Ditto.
4588	* testsuite/libgomp.fortran/target7.f90: Ditto.
4589	* testsuite/libgomp.fortran/target8.f90: Ditto.
4590	* testsuite/libgomp.fortran/task1.f90: Ditto.
4591	* testsuite/libgomp.fortran/task2.f90: Ditto.
4592	* testsuite/libgomp.fortran/task3.f90: Ditto.
4593	* testsuite/libgomp.fortran/task4.f90: Ditto.
4594	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4595	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4596	* testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4597	* testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4598	* testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4599	* testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
4600	* testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
4601	* testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
4602	* testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
4603	* testsuite/libgomp.fortran/udr1.f90: Ditto.
4604	* testsuite/libgomp.fortran/udr10.f90: Ditto.
4605	* testsuite/libgomp.fortran/udr11.f90: Ditto.
4606	* testsuite/libgomp.fortran/udr12.f90: Ditto.
4607	* testsuite/libgomp.fortran/udr13.f90: Ditto.
4608	* testsuite/libgomp.fortran/udr14.f90: Ditto.
4609	* testsuite/libgomp.fortran/udr15.f90: Ditto.
4610	* testsuite/libgomp.fortran/udr2.f90: Ditto.
4611	* testsuite/libgomp.fortran/udr3.f90: Ditto.
4612	* testsuite/libgomp.fortran/udr4.f90: Ditto.
4613	* testsuite/libgomp.fortran/udr5.f90: Ditto.
4614	* testsuite/libgomp.fortran/udr6.f90: Ditto.
4615	* testsuite/libgomp.fortran/udr7.f90: Ditto.
4616	* testsuite/libgomp.fortran/udr8.f90: Ditto.
4617	* testsuite/libgomp.fortran/udr9.f90: Ditto.
4618	* testsuite/libgomp.fortran/vla1.f90: Ditto.
4619	* testsuite/libgomp.fortran/vla2.f90: Ditto.
4620	* testsuite/libgomp.fortran/vla3.f90: Ditto.
4621	* testsuite/libgomp.fortran/vla4.f90: Ditto.
4622	* testsuite/libgomp.fortran/vla5.f90: Ditto.
4623	* testsuite/libgomp.fortran/vla6.f90: Ditto.
4624	* testsuite/libgomp.fortran/vla7.f90: Ditto.
4625	* testsuite/libgomp.fortran/vla8.f90: Ditto.
4626	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
4627	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
4628
46292019-10-30  Tobias Burnus  <tobias@codesourcery.com>
4630
4631	* testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
4632	* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
4633	Ditto; add 'dg-do run' for torture testing.
4634	* testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
4635	* testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4636	* testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4637	* testsuite/libgomp.fortran/pr25219.f90: Ditto.
4638	* testsuite/libgomp.fortran/pr28390.f: Ditto.
4639	* testsuite/libgomp.fortran/pr35130.f90: Ditto.
4640	* testsuite/libgomp.fortran/pr90779.f90: Ditto.
4641	* testsuite/libgomp.fortran/task2.f90: Ditto.
4642	* testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4643	* testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4644	* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4645	* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4646	* testsuite/libgomp.fortran/workshare1.f90: Ditto.
4647	* testsuite/libgomp.fortran/workshare2.f90: Ditto.
4648
46492019-10-28  Tobias Burnus  <tobias@codesourcery.com>
4650
4651	* testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
4652	* testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
4653	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
4654	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
4655	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
4656	* testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
4657	* testsuite/libgomp.oacc-fortran/common-block-1.f90:
4658	Use 'stop' not abort().
4659	* testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
4660	* testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
4661	* testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
4662	* testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
4663	* testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
4664	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
4665	* testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
4666	* testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
4667	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
4668	* testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
4669	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
4670	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
4671	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
4672	* testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
4673	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
4674	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
4675	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4676	Ditto.
4677	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4678	Ditto.
4679	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4680	Ditto.
4681	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4682	Ditto.
4683	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4684	Ditto.
4685	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
4686	Ditto.
4687	* testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
4688	Ditto.
4689	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
4690	Ditto.
4691	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
4692	Ditto.
4693	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
4694	Ditto.
4695	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
4696	Ditto.
4697	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
4698	Ditto.
4699	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
4700	Ditto.
4701	* testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
4702	Ditto.
4703	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
4704	* testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
4705	* testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
4706	* testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
4707	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4708	Likewise and also add 'dg-do run'.
4709	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4710	Ditto.
4711
47122019-10-25  Cesar Philippidis <cesar@codesourcery.com>
4713	    Tobias Burnus  <tobias@codesourcery.com>
4714
4715	* testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
4716	* testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
4717	* testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
4718
47192019-10-14  Jakub Jelinek  <jakub@redhat.com>
4720
4721	PR libgomp/92081
4722	* testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
4723	than 0.
4724
47252019-10-11  Tobias Burnus  <tobias@codesourcery.com>
4726
4727	* testsuite/libgomp.fortran/use_device_addr-1.f90: New.
4728	* testsuite/libgomp.fortran/use_device_addr-2.f90: New.
4729
47302019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
4731
4732	PR middle-end/92036
4733	* testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
4734	file.
4735
47362019-10-09  Tobias Burnus  <tobias@codesourcery.com>
4737
4738	PR testsuite/91884
4739	* testsuite/libgomp.fortran/fortran.exp: Conditionally
4740	add -lquadmath.
4741	* testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
4742
47432019-10-09  Jakub Jelinek  <jakub@redhat.com>
4744
4745	PR libgomp/92028
4746	* target.c (gomp_map_vars_internal): Readd the previous
4747	GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
4748	though do that just in the !not_found_cnt case.
4749
47502019-10-08  Tobias Burnus  <tobias@codesourcery.com>
4751
4752	* gfortran.dg/gomp/target-simd.f90: New.
4753
47542019-10-02  Julian Brown  <julian@codesourcery.com>
4755	    Cesar Philippidis  <cesar@codesourcery.com>
4756
4757	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
4758	* target.c (FIELD_TGT_EMPTY): Define.
4759	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
4760	as switch instead of list of ifs.
4761	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
4762
47632019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
4764
4765	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
4766	include. Replace alloca () with __builtin_alloca ().
4767	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
4768
47692019-10-01  Jakub Jelinek  <jakub@redhat.com>
4770
4771	* configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
4772	* libgomp.h: Include <stdint.h> instead of "gstdint.h".
4773	* oacc-parallel.c: Don't include "libgomp_g.h".
4774	* plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
4775	* plugin/plugin-nvptx.c: Don't include "gstdint.h".
4776	* aclocal.m4: Regenerated.
4777	* config.h.in: Regenerated.
4778	* configure: Regenerated.
4779	* Makefile.in: Regenerated.
4780
47812019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
4782
4783	* libgomp_g.h: Include stdint.h instead of gstdint.h.
4784
47852019-09-27  Maciej W. Rozycki  <macro@wdc.com>
4786
4787	* configure: Regenerate.
4788
47892019-09-13  Tobias Burnus  <tobias@codesourcery.com>
4790
4791	* plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
4792	string is initialized.
4793
47942019-09-06  Florian Weimer  <fweimer@redhat.com>
4795
4796	* configure: Regenerate.
4797
47982019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
4799
4800	PR other/79543
4801	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
4802	scanning to conform to the GNU Coding Standards.
4803	* configure: Regenerate.
4804
48052019-08-28  Jakub Jelinek  <jakub@redhat.com>
4806
4807	PR libgomp/91530
4808	* testsuite/libgomp.c/scan-21.c: New test.
4809	* testsuite/libgomp.c/scan-22.c: New test.
4810
48112019-08-27  Jakub Jelinek  <jakub@redhat.com>
4812
4813	PR libgomp/91530
4814	* testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
4815	targets.
4816	* testsuite/libgomp.c/scan-12.c: Likewise.
4817	* testsuite/libgomp.c/scan-13.c: Likewise.
4818	* testsuite/libgomp.c/scan-14.c: Likewise.
4819	* testsuite/libgomp.c/scan-15.c: Likewise.
4820	* testsuite/libgomp.c/scan-16.c: Likewise.
4821	* testsuite/libgomp.c/scan-17.c: Likewise.
4822	* testsuite/libgomp.c/scan-18.c: Likewise.
4823	* testsuite/libgomp.c/scan-19.c: Likewise.
4824	* testsuite/libgomp.c/scan-20.c: Likewise.
4825	* testsuite/libgomp.c++/scan-9.C: Likewise.
4826	* testsuite/libgomp.c++/scan-10.C: Likewise.
4827	* testsuite/libgomp.c++/scan-11.C: Likewise.
4828	* testsuite/libgomp.c++/scan-12.C: Likewise.
4829	* testsuite/libgomp.c++/scan-14.C: Likewise.
4830	* testsuite/libgomp.c++/scan-15.C: Likewise.
4831	* testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
4832	instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
4833	* testsuite/libgomp.c++/scan-16.C: Likewise.
4834
48352019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
4836
4837	PR fortran/91473
4838	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
4839	-std=legacy so invalid code in the test case is accepted.
4840
48412019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
4842
4843	PR fortran/91422
4844	* testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
4845	dimension.
4846
48472019-08-08  Jakub Jelinek  <jakub@redhat.com>
4848
4849	* target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
4850	perform the lookup in the first loop only if !not_found_cnt, otherwise
4851	perform lookups for it in the second loop guarded with
4852	if (not_found_cnt || has_firstprivate).
4853	* testsuite/libgomp.c/target-37.c: New test.
4854	* testsuite/libgomp.c++/target-22.C: New test.
4855
48562019-08-07  Jakub Jelinek  <jakub@redhat.com>
4857
4858	* testsuite/libgomp.c/target-18.c (struct S): New type.
4859	(foo): Use use_device_addr clause instead of use_device_ptr clause
4860	where required by OpenMP 5.0, add further tests for both use_device_ptr
4861	and use_device_addr clauses.
4862	* testsuite/libgomp.c++/target-9.C (struct S): New type.
4863	(foo): Use use_device_addr clause instead of use_device_ptr clause
4864	where required by OpenMP 5.0, add further tests for both use_device_ptr
4865	and use_device_addr clauses.  Add t and u arguments.
4866	(main): Adjust caller.
4867
48682019-08-06  Jakub Jelinek  <jakub@redhat.com>
4869
4870	* testsuite/libgomp.c++/loop-13.C: New test.
4871	* testsuite/libgomp.c++/loop-14.C: New test.
4872	* testsuite/libgomp.c++/loop-15.C: New test.
4873
48742019-07-31  Jakub Jelinek  <jakub@redhat.com>
4875
4876	PR middle-end/91301
4877	* testsuite/libgomp.c++/for-27.C: New test.
4878
48792019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
4880
4881	* testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
4882	* testsuite/libgomp.fortran/reduction5.f90: Ditto.
4883
48842019-07-20  Jakub Jelinek  <jakub@redhat.com>
4885
4886	* testsuite/libgomp.c-c++-common/loop-1.c: New test.
4887
48882019-07-08  Jakub Jelinek  <jakub@redhat.com>
4889
4890	* testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
4891	* testsuite/libgomp.c++/scan-16.C: Likewise.
4892
48932019-07-06  Jakub Jelinek  <jakub@redhat.com>
4894
4895	* testsuite/libgomp.c/scan-19.c: New test.
4896	* testsuite/libgomp.c/scan-20.c: New test.
4897
4898	* testsuite/libgomp.c/scan-11.c: New test.
4899	* testsuite/libgomp.c/scan-12.c: New test.
4900	* testsuite/libgomp.c/scan-13.c: New test.
4901	* testsuite/libgomp.c/scan-14.c: New test.
4902	* testsuite/libgomp.c/scan-15.c: New test.
4903	* testsuite/libgomp.c/scan-16.c: New test.
4904	* testsuite/libgomp.c/scan-17.c: New test.
4905	* testsuite/libgomp.c/scan-18.c: New test.
4906	* testsuite/libgomp.c++/scan-9.C: New test.
4907	* testsuite/libgomp.c++/scan-10.C: New test.
4908	* testsuite/libgomp.c++/scan-11.C: New test.
4909	* testsuite/libgomp.c++/scan-12.C: New test.
4910	* testsuite/libgomp.c++/scan-13.C: New test.
4911	* testsuite/libgomp.c++/scan-14.C: New test.
4912	* testsuite/libgomp.c++/scan-15.C: New test.
4913	* testsuite/libgomp.c++/scan-16.C: New test.
4914
49152019-07-04  Jakub Jelinek  <jakub@redhat.com>
4916
4917	* testsuite/libgomp.c/scan-9.c: New test.
4918	* testsuite/libgomp.c/scan-10.c: New test.
4919
49202019-07-03  Jakub Jelinek  <jakub@redhat.com>
4921
4922	* testsuite/libgomp.c++/scan-1.C: New test.
4923	* testsuite/libgomp.c++/scan-2.C: New test.
4924	* testsuite/libgomp.c++/scan-3.C: New test.
4925	* testsuite/libgomp.c++/scan-4.C: New test.
4926	* testsuite/libgomp.c++/scan-5.C: New test.
4927	* testsuite/libgomp.c++/scan-6.C: New test.
4928	* testsuite/libgomp.c++/scan-7.C: New test.
4929	* testsuite/libgomp.c++/scan-8.C: New test.
4930	* testsuite/libgomp.c/scan-1.c: New test.
4931	* testsuite/libgomp.c/scan-2.c: New test.
4932	* testsuite/libgomp.c/scan-3.c: New test.
4933	* testsuite/libgomp.c/scan-4.c: New test.
4934	* testsuite/libgomp.c/scan-5.c: New test.
4935	* testsuite/libgomp.c/scan-6.c: New test.
4936	* testsuite/libgomp.c/scan-7.c: New test.
4937	* testsuite/libgomp.c/scan-8.c: New test.
4938
49392019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
4940
4941	* testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
4942	* testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
4943	Likewise.
4944
4945	* testsuite/libgomp.fortran/allocatable3.f90: Add missing results
4946	check.
4947
49482019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
4949
4950	* testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
4951	file.
4952
49532019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
4954
4955	PR fortran/90743
4956	* oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
4957	case.
4958	* testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
4959	* testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
4960	* testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
4961	* testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
4962
4963	PR testsuite/90861
4964	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
4965
4966	PR middle-end/90862
4967	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
4968
49692019-06-16  Tom de Vries  <tdevries@suse.de>
4970
4971	PR tree-optimization/89376
4972	* testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
4973
49742019-06-15  Tom de Vries  <tdevries@suse.de>
4975
4976	PR tree-optimization/89713
4977	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
4978	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
4979
49802019-06-15  Jakub Jelinek  <jakub@redhat.com>
4981
4982	PR middle-end/90779
4983	* testsuite/libgomp.c/pr90779.c: New test.
4984	* testsuite/libgomp.fortran/pr90779.f90: New test.
4985
49862019-06-15  Tom de Vries  <tdevries@suse.de>
4987
4988	PR tree-optimization/90009
4989	* testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
4990
49912019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
4992
4993	PR tree-optimization/89713
4994	* testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
4995
49962019-06-11  Jakub Jelinek  <jakub@redhat.com>
4997
4998	PR target/90811
4999	* testsuite/libgomp.c/pr90811.c: New test.
5000
50012019-06-05  Jakub Jelinek  <jakub@redhat.com>
5002
5003	* testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5004	* testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5005
50062019-06-04  Jakub Jelinek  <jakub@redhat.com>
5007
5008	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5009	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5010	* testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5011	* testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5012
50132019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5014
5015	* configure.ac: Call AX_COUNT_CPUS.
5016	Substitute CPU_COUNT.
5017	* testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5018	count fallback.
5019	* aclocal.m4: Regenerate.
5020	* configure: Regenerate.
5021	* Makefile.in, testsuite/Makefile.in: Regenerate.
5022
50232019-05-29  Jakub Jelinek  <jakub@redhat.com>
5024
5025	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5026	to ...
5027	* testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5028	* testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5029	* testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5030
50312019-05-27  Jakub Jelinek  <jakub@redhat.com>
5032
5033	* testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5034
5035	* testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5036
5037	PR libgomp/90641
5038	* work.c (gomp_init_work_share): Instead of aligning final ordered
5039	value to multiples of long long alignment, align to that the
5040	first part (ordered team ids) and if inline_ordered_team_ids
5041	is not on a long long alignment boundary within the structure,
5042	use __alignof__ (long long) - 1 pad size always.
5043	* loop.c (GOMP_loop_start): Fix *mem computation if
5044	inline_ordered_team_ids is not aligned on long long alignment boundary
5045	within the structure.
5046	* loop-ull.c (GOMP_loop_ull_start): Likewise.
5047	* sections.c (GOMP_sections2_start): Likewise.
5048
50492019-05-24  Jakub Jelinek  <jakub@redhat.com>
5050
5051	* testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5052	* testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5053
5054	PR libgomp/90585
5055	* plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
5056	HAVE_INTTYPES_H is defined.
5057	(print_uint64_t): New typedef.
5058	(PRIu64): Define if HAVE_INTTYPES_H is not defined.
5059	(print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5060	"lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5061	(release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
5062	before casting to void *.
5063	* plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5064	* oacc-mem.c: Don't include config.h nor stdint.h.
5065	* target.c: Don't include config.h.
5066	* oacc-cuda.c: Likewise.
5067	* oacc-host.c: Don't include stdint.h.
5068
50692019-05-20  Jakub Jelinek  <jakub@redhat.com>
5070
5071	PR libgomp/90527
5072	* alloc.c (_GNU_SOURCE): Define.
5073
50742019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
5075
5076	* acc_prof.h: New file.
5077	* oacc-profiling.c: Likewise.
5078	* Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
5079	Add these, respectively.
5080	* Makefile.in: Regenerate.
5081	* env.c (initialize_env): Call goacc_profiling_initialize.
5082	* oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
5083	(GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
5084	* oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
5085	(GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
5086	* libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
5087	acc_prof_register, acc_prof_unregister, and acc_register_library.
5088	(GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
5089	GOMP_PLUGIN_goacc_thread.
5090	* oacc-int.h (struct goacc_thread): Add prof_info, api_info,
5091	prof_callbacks_enabled members.
5092	(goacc_prof_enabled, goacc_profiling_initialize)
5093	(_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
5094	(goacc_profiling_dispatch): Declare.
5095	(GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
5096	(GOACC_PROFILING_SETUP_P): Define.
5097	* oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
5098	(acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
5099	OpenACC Profiling Interface.
5100	* oacc-cuda.c (acc_get_current_cuda_device)
5101	(acc_get_current_cuda_context, acc_get_cuda_stream)
5102	(acc_set_cuda_stream): Likewise.
5103	* oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
5104	(acc_init, acc_set_device_type, acc_get_device_type)
5105	(acc_get_device_num, goacc_lazy_initialize): Likewise.
5106	* oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
5107	(acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
5108	(acc_unmap_data, present_create_copy, delete_copyout)
5109	(update_dev_host): Likewise.
5110	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
5111	(GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
5112	Likewise.
5113	* plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
5114	(GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
5115	Likewise.
5116	* libgomp.texi: Update.
5117	* testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
5118	file.
5119	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
5120	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5121	Likewise.
5122	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5123	Likewise.
5124	* testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
5125	Likewise.
5126	* testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
5127	Likewise.
5128
51292019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
5130
5131	* libgomp-plugin.h (struct goacc_asyncqueue): Declare.
5132	(struct goacc_asyncqueue_list): Likewise.
5133	(goacc_aq): Likewise.
5134	(goacc_aq_list): Likewise.
5135	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5136	(GOMP_OFFLOAD_openacc_async_test): Remove.
5137	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
5138	(GOMP_OFFLOAD_openacc_async_wait): Remove.
5139	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5140	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5141	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5142	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
5143	(GOMP_OFFLOAD_openacc_exec): Adjust declaration.
5144	(GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
5145	(GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
5146	(GOMP_OFFLOAD_openacc_async_exec): Declare.
5147	(GOMP_OFFLOAD_openacc_async_construct): Declare.
5148	(GOMP_OFFLOAD_openacc_async_destruct): Declare.
5149	(GOMP_OFFLOAD_openacc_async_test): Declare.
5150	(GOMP_OFFLOAD_openacc_async_synchronize): Declare.
5151	(GOMP_OFFLOAD_openacc_async_serialize): Declare.
5152	(GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
5153	(GOMP_OFFLOAD_openacc_async_host2dev): Declare.
5154	(GOMP_OFFLOAD_openacc_async_dev2host): Declare.
5155
5156	* libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
5157	(gomp_acc_insert_pointer): Adjust declaration.
5158	(gomp_copy_host2dev): New declaration.
5159	(gomp_copy_dev2host): Likewise.
5160	(gomp_map_vars_async): Likewise.
5161	(gomp_unmap_tgt): Likewise.
5162	(gomp_unmap_vars_async): Likewise.
5163	(gomp_fini_device): Likewise.
5164
5165	* oacc-async.c (get_goacc_thread): New function.
5166	(get_goacc_thread_device): New function.
5167	(lookup_goacc_asyncqueue): New function.
5168	(get_goacc_asyncqueue): New function.
5169	(acc_async_test): Adjust code to use new async design.
5170	(acc_async_test_all): Likewise.
5171	(acc_wait): Likewise.
5172	(acc_wait_async): Likewise.
5173	(acc_wait_all): Likewise.
5174	(acc_wait_all_async): Likewise.
5175	(goacc_async_free): New function.
5176	(goacc_init_asyncqueues): Likewise.
5177	(goacc_fini_asyncqueues): Likewise.
5178	* oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
5179	design.
5180	(acc_set_cuda_stream): Likewise.
5181	* oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
5182	(host_openacc_register_async_cleanup): Remove.
5183	(host_openacc_async_exec): New function.
5184	(host_openacc_async_test): Adjust parameters.
5185	(host_openacc_async_test_all): Remove.
5186	(host_openacc_async_wait): Remove.
5187	(host_openacc_async_wait_async): Remove.
5188	(host_openacc_async_wait_all): Remove.
5189	(host_openacc_async_wait_all_async): Remove.
5190	(host_openacc_async_set_async): Remove.
5191	(host_openacc_async_synchronize): New function.
5192	(host_openacc_async_serialize): New function.
5193	(host_openacc_async_host2dev): New function.
5194	(host_openacc_async_dev2host): New function.
5195	(host_openacc_async_queue_callback): New function.
5196	(host_openacc_async_construct): New function.
5197	(host_openacc_async_destruct): New function.
5198	(struct gomp_device_descr host_dispatch): Remove initialization of old
5199	interface, add initialization of new async sub-struct.
5200	* oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
5201	(goacc_attach_host_thread_to_device): Remove old async code usage.
5202	* oacc-int.h (goacc_init_asyncqueues): New declaration.
5203	(goacc_fini_asyncqueues): Likewise.
5204	(goacc_async_copyout_unmap_vars): Likewise.
5205	(goacc_async_free): Likewise.
5206	(get_goacc_asyncqueue): Likewise.
5207	(lookup_goacc_asyncqueue): Likewise.
5208	* oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
5209	design.
5210	(present_create_copy): Adjust code to use new async design.
5211	(delete_copyout): Likewise.
5212	(update_dev_host): Likewise.
5213	(gomp_acc_insert_pointer): Add async parameter, adjust code to use new
5214	async design.
5215	(gomp_acc_remove_pointer): Adjust code to use new async design.
5216	* oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
5217	design.
5218	(GOACC_enter_exit_data): Likewise.
5219	(goacc_wait): Likewise.
5220	(GOACC_update): Likewise.
5221	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
5222	when called, warn as obsolete in comment.
5223	* target.c (goacc_device_copy_async): New function.
5224	(gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
5225	add goacc_device_copy_async case.
5226	(gomp_copy_dev2host): Likewise.
5227	(gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
5228	(gomp_map_pointer): Likewise.
5229	(gomp_map_fields_existing): Likewise.
5230	(gomp_map_vars_internal): New always_inline function, renamed from
5231	gomp_map_vars.
5232	(gomp_map_vars): Implement by calling gomp_map_vars_internal.
5233	(gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
5234	passing goacc_asyncqueue argument.
5235	(gomp_unmap_tgt): Remove static, add attribute_hidden.
5236	(gomp_unref_tgt): New function.
5237	(gomp_unmap_vars_internal): New always_inline function, renamed from
5238	gomp_unmap_vars.
5239	(gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
5240	(gomp_unmap_vars_async): Implement by calling
5241	gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
5242	(gomp_fini_device): New function.
5243	(gomp_exit_data): Adjust gomp_copy_dev2host call.
5244	(gomp_load_plugin_for_device): Remove old interface, adjust to load
5245	new async interface.
5246	(gomp_target_fini): Adjust code to call gomp_fini_device.
5247
5248	* plugin/plugin-nvptx.c (struct cuda_map): Remove.
5249	(struct ptx_stream): Remove.
5250	(struct nvptx_thread): Remove current_stream field.
5251	(cuda_map_create): Remove.
5252	(cuda_map_destroy): Remove.
5253	(map_init): Remove.
5254	(map_fini): Remove.
5255	(map_pop): Remove.
5256	(map_push): Remove.
5257	(struct goacc_asyncqueue): Define.
5258	(struct nvptx_callback): Define.
5259	(struct ptx_free_block): Define.
5260	(struct ptx_device): Remove null_stream, active_streams, async_streams,
5261	stream_lock, and next fields.
5262	(enum ptx_event_type): Remove.
5263	(struct ptx_event): Remove.
5264	(ptx_event_lock): Remove.
5265	(ptx_events): Remove.
5266	(init_streams_for_device): Remove.
5267	(fini_streams_for_device): Remove.
5268	(select_stream_for_async): Remove.
5269	(nvptx_init): Remove ptx_events and ptx_event_lock references.
5270	(nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
5271	case.
5272	(nvptx_open_device): Add free_blocks initialization, remove
5273	init_streams_for_device call.
5274	(nvptx_close_device): Remove fini_streams_for_device call, add
5275	free_blocks destruct code.
5276	(event_gc): Remove.
5277	(event_add): Remove.
5278	(nvptx_exec): Adjust parameters and code.
5279	(nvptx_free): Likewise.
5280	(nvptx_host2dev): Remove.
5281	(nvptx_dev2host): Remove.
5282	(nvptx_set_async): Remove.
5283	(nvptx_async_test): Remove.
5284	(nvptx_async_test_all): Remove.
5285	(nvptx_wait): Remove.
5286	(nvptx_wait_async): Remove.
5287	(nvptx_wait_all): Remove.
5288	(nvptx_wait_all_async): Remove.
5289	(nvptx_get_cuda_stream): Remove.
5290	(nvptx_set_cuda_stream): Remove.
5291	(GOMP_OFFLOAD_alloc): Adjust code.
5292	(GOMP_OFFLOAD_free): Likewise.
5293	(GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5294	(GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
5295	(GOMP_OFFLOAD_openacc_async_test_all): Remove.
5296	(GOMP_OFFLOAD_openacc_async_wait): Remove.
5297	(GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5298	(GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5299	(GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5300	(GOMP_OFFLOAD_openacc_async_set_async): Remove.
5301	(cuda_free_argmem): New function.
5302	(GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
5303	(GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
5304	(GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
5305	(GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
5306	(GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
5307	(GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
5308	(GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
5309	(GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
5310	(GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
5311	(GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
5312	(cuda_callback_wrapper): New function.
5313	(cuda_memcpy_sanity_check): New function.
5314	(GOMP_OFFLOAD_host2dev): Remove and re-implement.
5315	(GOMP_OFFLOAD_dev2host): Remove and re-implement.
5316	(GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
5317	(GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
5318
53192019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
5320
5321	PR target/87835
5322	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
5323
53242019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
5325
5326	* oacc-parallel.c: Add comments to legacy entry points (GCC 5).
5327
53282019-03-27  Kevin Buettner  <kevinb@redhat.com>
5329
5330	* team.c (gomp_team_start): Initialize pool->threads[0].
5331
53322019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
5333
5334	* testsuite/libgomp.oacc-c++/c++.exp: Specify
5335	"-foffload=$offload_target".
5336	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5337	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5338	* testsuite/lib/libgomp.exp
5339	(check_effective_target_openacc_nvidia_accel_configured): Remove,
5340	as (conceptually) merged into
5341	check_effective_target_openacc_nvidia_accel_selected.  Adjust all
5342	users.
5343
5344	* plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
5345	* testsuite/libgomp-test-support.exp.in: Adjust.
5346	* testsuite/lib/libgomp.exp: Likewise.  Don't populate
5347	openacc_device_types_s.
5348	(offload_target_to_openacc_device_type): New proc.
5349	* testsuite/libgomp.oacc-c++/c++.exp: Adjust.
5350	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5351	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5352	* Makefile.in: Regenerate.
5353	* configure: Likewise.
5354	* testsuite/Makefile.in: Likewise.
5355
5356	* plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
5357	instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5358	instead of OFFLOAD_TARGETS.
5359	* target.c (gomp_target_init): Adjust.
5360	* testsuite/libgomp-test-support.exp.in: Likewise.
5361	* testsuite/lib/libgomp.exp: Likewise.  Populate
5362	openacc_device_types_s instead of offload_targets_s_openacc.
5363	(check_effective_target_openacc_nvidia_accel_selected)
5364	(check_effective_target_openacc_host_selected): Adjust.
5365	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
5366	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5367	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5368	* Makefile.in: Regenerate.
5369	* config.h.in: Likewise.
5370	* configure: Likewise.
5371	* testsuite/Makefile.in: Likewise.
5372
5373	* testsuite/lib/libgomp.exp: Error out for unknown offload target.
5374	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
5375	"offloading: supported, but hardware not accessible".
5376	* testsuite/libgomp.oacc-c/c.exp: Likewise.
5377	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5378
53792019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
5380
5381	PR c/87924
5382	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
5383	goacc_wait().
5384	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
5385	and related adjustment.
5386
53872019-01-30  Jakub Jelinek  <jakub@redhat.com>
5388
5389	PR c++/88988
5390	* testsuite/libgomp.c++/pr88988.C: New test.
5391
53922019-01-28  Jakub Jelinek  <jakub@redhat.com>
5393
5394	PR middle-end/89002
5395	* testsuite/libgomp.c/pr89002.c: New test.
5396
53972019-01-28  Richard Biener  <rguenther@suse.de>
5398
5399	PR testsuite/89064
5400	PR tree-optimization/86865
5401	* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
5402
54032019-01-24  Tom de Vries  <tdevries@suse.de>
5404
5405	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
5406	once instantiated_devices drops to 0.
5407
54082019-01-23  Tom de Vries  <tdevries@suse.de>
5409
5410	PR target/PR88946
5411	* plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
5412	cuMemFree.
5413	(nvptx_exec): Don't call map_push if mapnum == 0.
5414	* testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
5415
54162019-01-23  Tom de Vries  <tdevries@suse.de>
5417
5418	PR target/88941
5419	PR target/88939
5420	* plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
5421	(map_fini): Remove "assert (!s->map->active)".
5422	* testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
5423
54242019-01-23  Tom de Vries  <tdevries@suse.de>
5425
5426	PR target/87835
5427	* plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
5428	* testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
5429
54302019-01-15  Tom de Vries  <tdevries@suse.de>
5431
5432	PR target/80547
5433	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
5434	New test.
5435
54362019-01-12  Tom de Vries  <tdevries@suse.de>
5437
5438	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
5439	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
5440	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
5441	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
5442
54432019-01-12  Tom de Vries  <tdevries@suse.de>
5444
5445	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
5446
54472019-01-12  Tom de Vries  <tdevries@suse.de>
5448
5449	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
5450	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
5451	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
5452
54532019-01-12  Tom de Vries  <tdevries@suse.de>
5454
5455	PR target/85486
5456	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
5457	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
5458
54592019-01-12  Tom de Vries  <tdevries@suse.de>
5460
5461	PR target/85381
5462	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
5463	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
5464
54652019-01-12  Tom de Vries  <tdevries@suse.de>
5466
5467	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
5468	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
5469	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
5470
54712019-01-12  Tom de Vries  <tdevries@suse.de>
5472
5473	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
5474	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
5475	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
5476
54772019-01-12  Tom de Vries  <tdevries@suse.de>
5478
5479	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
5480	resources diagnostic.
5481
54822019-01-12  Tom de Vries  <tdevries@suse.de>
5483
5484	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
5485	vector length to be 128.
5486	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
5487	length 2097152 to be reduced to 1024 instead of 32.
5488
54892019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
5490            James Norris  <jnorris@codesourcery.com>
5491
5492	* libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
5493	Library Routines", and "Environment Variables".
5494
54952019-01-11  Tom de Vries  <tdevries@suse.de>
5496
5497	* plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
5498	num_workers 16.
5499
55002019-01-11  Tom de Vries  <tdevries@suse.de>
5501
5502	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
5503	-foffload=-w.
5504	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
5505	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
5506	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
5507	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
5508
55092019-01-11  Tom de Vries  <tdevries@suse.de>
5510
5511	* testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
5512	test.
5513
55142019-01-10  Nathan Sidwell  <nathan@acm.org>
5515	    Julian Brown  <julian@codesourcery.com>
5516
5517	PR lto/71959
5518	* testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
5519	* testsuite/libgomp.oacc-c++/pr71959.C: New.
5520
55212019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5522
5523	* config/rtems/bar.c: Include "../linux/bar.c" and delete copy
5524	and paste code.
5525
55262019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5527
5528	* config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
5529	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5530	write.
5531
55322019-01-09  Tom de Vries  <tdevries@suse.de>
5533
5534	PR target/88756
5535	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
5536	#define instead of "const int".
5537	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
5538	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
5539	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
5540	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
5541
55422019-01-09  Tom de Vries  <tdevries@suse.de>
5543
5544	* plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
5545	one worker.
5546
55472019-01-07  Tom de Vries  <tdevries@suse.de>
5548
5549	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
5550	GOMP_OPENACC_DIM argument.
5551
55522019-01-03  Tom de Vries  <tdevries@suse.de>
5553
5554	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
5555	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
5556
55572019-01-01  Jakub Jelinek  <jakub@redhat.com>
5558
5559	Update copyright years.
5560
55612019-01-01  Jakub Jelinek  <jakub@redhat.com>
5562
5563	* libgomp.texi: Bump @copying's copyright year.
5564
55652018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
5566
5567	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
5568	(GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
5569	(GOACC_declare): Redefine the "device" argument to "flags".
5570
55712018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
5572	    Cesar Philippidis  <cesar@codesourcery.com>
5573
5574	* target.c (struct gomp_coalesce_chunk): New structure.
5575	(struct gomp_coalesce_buf): Update the chunks member to use that
5576	type.  Adjust all users.
5577
55782018-12-19  Tom de Vries  <tdevries@suse.de>
5579
5580	* testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
5581	* testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
5582	* testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
5583
55842018-12-19  Tom de Vries  <tdevries@suse.de>
5585
5586	* testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
5587	* testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
5588	gcc/testsuite/gcc.dg/goacc.
5589	* testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
5590
55912018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
5592	    Chung-Lin Tang  <cltang@codesourcery.com>
5593
5594	* oacc-mem.c (acc_present_or_create): Remove definition and change
5595	to alias of acc_create.
5596	(acc_present_or_copyin): Remove definition and change to alias of
5597	acc_copyin.
5598	* oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
5599	of acc_present_or_create.
5600	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
5601	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5602	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5603	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5604	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5605	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5606	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5607	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5608	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5609	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5610	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5611	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5612	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5613	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5614	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5615	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5616
56172018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
5618
5619	PR libgomp/88495
5620	* plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
5621	"identical parameters".
5622	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
5623	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
5624
5625	PR libgomp/88484
5626	* oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
5627	* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
5628
5629	PR libgomp/88407
5630	* plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5631	(nvptx_wait_async): Unseen async-argument is a no-op.
5632	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
5633	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
5634	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5635	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5636	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5637	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
5638	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
5639	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
5640	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
5641
5642	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
5643	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5644
56452018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
5646
5647	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
5648	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5649	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5650
56512018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
5652
5653	PR libgomp/88370
5654	* libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
5655	(acc_set_cuda_stream): Clarify.
5656	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5657	"async_valid_p".
5658	* plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
5659	acc_async_sync".
5660	* testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
5661	* testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
5662	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
5663	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5664
56652018-12-14  Tom de Vries  <tdevries@suse.de>
5666
5667	* testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
5668	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
5669	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
5670	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
5671	* testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
5672
56732018-12-13  Tom de Vries  <tdevries@suse.de>
5674
5675	* affinity-fmt.c (gomp_print_string): New function, factored out of ...
5676	(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
5677	* fortran.c (omp_display_affinity_): ... here.
5678	* libgomp.h (gomp_print_string): Declare.
5679	* config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
5680	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5681	write.
5682
56832018-12-13  Jakub Jelinek  <jakub@redhat.com>
5684
5685	PR libgomp/88460
5686	* testsuite/libgomp.c++/for-24.C (results): Include it in
5687	omp declare target region.
5688	(main): Use map (always, tofrom: results) instead of
5689	map (tofrom: results).
5690
56912018-12-12  Jakub Jelinek  <jakub@redhat.com>
5692
5693	PR fortran/88463
5694	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
5695	* testsuite/libgomp.fortran/pr88463-2.f90: New test.
5696
5697	* testsuite/libgomp.c-c++-common/for-16.c: New test.
5698
56992018-12-12  Andreas Schwab  <schwab@suse.de>
5700
5701	* config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
5702	clobbered.
5703
57042018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
5705
5706	PR fortran/88411
5707	* testsuite/libgomp.fortran/async_io_8.f90: New test.
5708
57092018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
5710	    Jakub Jelinek  <jakub@redhat.com>
5711
5712	* target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5713	devicep->host2dev_func.
5714
57152018-12-08  Jakub Jelinek  <jakub@redhat.com>
5716
5717	PR libgomp/87995
5718	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
5719	tls_runtime effective target.
5720	(t): New threadprivate variable.
5721	(main): Set t in threads which execute iterations of the worksharing
5722	loop.  Propagate that to the task after the loop and don't abort
5723	if the current taskgroup hasn't been cancelled.
5724
57252018-12-02  Jakub Jelinek  <jakub@redhat.com>
5726
5727	* testsuite/libgomp.c/task-reduction-3.c: New test.
5728
5729	* testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
5730
57312018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
5732
5733	PR libgomp/88288
5734	* oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
5735	* testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
5736
57372018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
5738
5739	* testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
5740
57412018-10-19  Richard Biener  <rguenther@suse.de>
5742
5743	PR tree-optimization/88182
5744	* testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
5745
57462018-11-26  Jakub Jelinek  <jakub@redhat.com>
5747
5748	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
5749	(RUNTEST): Don't define.
5750	(RUNTESTDEFAULTFLAGS): Add.
5751	(check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
5752	(distclean-am): Depend on distclean-DEJAGNU.
5753	(check-am): If -j% option is present in MFLAGS and if
5754	`getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
5755	(.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
5756	* testsuite/Makefile.in: Regenerated.
5757
57582018-11-26  Richard Biener  <rguenther@suse.de>
5759
5760	PR tree-optimization/88182
5761	* testsuite/libgomp.c++/pr88182.C: New testcase.
5762
57632018-11-20  Jakub Jelinek  <jakub@redhat.com>
5764
5765	PR bootstrap/88106
5766	* config/mingw32/affinity-fmt.c: New file.
5767
57682018-11-09  Jakub Jelinek  <jakub@redhat.com>
5769
5770	* affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
5771	(gomp_display_affinity): Use __builtin_choose_expr to handle
5772	properly handle argument having integral, or pointer or some other
5773	type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
5774	with uint64_t type instead of %llx and unsigned long long.
5775
5776	* testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
5777	* testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
5778
57792018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5780
5781	* affinity.c: Include <string.h>, <stdio.h>.
5782	(gomp_display_affinity_place): Remove cpusetp.
5783	* teams.c: Include <limits.h>.
5784
57852018-11-08  Jakub Jelinek  <jakub@redhat.com>
5786
5787	* testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
5788	in_reduction clause for s[0].
5789
5790	* affinity.c (gomp_display_affinity_place): New function.
5791	* affinity-fmt.c: New file.
5792	* alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
5793	* config/linux/affinity.c (gomp_display_affinity_place): New function.
5794	* config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
5795	Move these functions to ...
5796	* config/nvptx/teams.c: ... here.  New file.
5797	* config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
5798	New functions.
5799	* config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
5800	functions.
5801	* configure.ac: Check for aligned_alloc, posix_memalign, memalign
5802	and _aligned_malloc.
5803	(HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
5804	* configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
5805	* env.c (gomp_display_affinity_var, gomp_affinity_format_var,
5806	gomp_affinity_format_len): New variables.
5807	(parse_schedule): Parse monotonic and nonmonotonic modifiers in
5808	OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
5809	(handle_omp_display_env): Display monotonic/nonmonotonic schedule
5810	modifiers.  Display (non-default) chunk sizes.  Print
5811	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
5812	(initialize_env): Don't call pthread_attr_setdetachstate.  Handle
5813	OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
5814	* fortran.c: Include stdio.h and string.h.
5815	(omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
5816	(omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
5817	(omp_set_affinity_format_, omp_get_affinity_format_,
5818	omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
5819	omp_pause_resource_all_): New functions.
5820	* icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
5821	switch.
5822	* icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
5823	functions to ...
5824	* teams.c: ... here.  New file.
5825	* libgomp_g.h: Include gstdint.h.
5826	(GOMP_loop_nonmonotonic_runtime_start,
5827	GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
5828	GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
5829	GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
5830	GOMP_parallel_loop_nonmonotonic_runtime,
5831	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5832	GOMP_loop_ull_nonmonotonic_runtime_start,
5833	GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
5834	GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
5835	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5836	GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
5837	GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
5838	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5839	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5840	GOMP_teams_reg): Declare.
5841	* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
5842	gomp_aligned_alloc uses fallback implementation.
5843	(gomp_aligned_alloc, gomp_aligned_free): Declare.
5844	(enum gomp_schedule_type): Add GFS_MONOTONIC.
5845	(struct gomp_doacross_work_share): Add extra field.
5846	(struct gomp_work_share): Add task_reductions field.
5847	(struct gomp_taskgroup): Add workshare and reductions fields.
5848	(GOMP_NEEDS_THREAD_HANDLE): Define if needed.
5849	(gomp_thread_handle): New typedef.
5850	(gomp_display_affinity_place, gomp_set_affinity_format,
5851	gomp_display_string, gomp_display_affinity,
5852	gomp_display_affinity_thread): Declare.
5853	(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
5854	(gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
5855	gomp_workshare_task_reduction_register): Declare.
5856	(gomp_team_start): Add taskgroup argument.
5857	(gomp_pause_host): Declare.
5858	(gomp_init_work_share, gomp_work_share_start): Change bool argument
5859	to size_t.
5860	(gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
5861	* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
5862	GOMP_loop_ordered_start, GOMP_loop_doacross_start,
5863	GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5864	GOMP_loop_ull_doacross_start,
5865	GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5866	GOMP_loop_maybe_nonmonotonic_runtime_next,
5867	GOMP_loop_maybe_nonmonotonic_runtime_start,
5868	GOMP_loop_nonmonotonic_runtime_next,
5869	GOMP_loop_nonmonotonic_runtime_start,
5870	GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5871	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5872	GOMP_loop_ull_nonmonotonic_runtime_next,
5873	GOMP_loop_ull_nonmonotonic_runtime_start,
5874	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5875	GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
5876	GOMP_taskgroup_reduction_register,
5877	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5878	GOMP_teams_reg and GOMP_taskwait_depend.
5879	(OMP_5.0): Export omp_pause_resource{,_all}{,_},
5880	omp_{capture,display}_affinity{,_}, and
5881	omp_[gs]et_affinity_format{,_}.
5882	* loop.c: Include string.h.
5883	(GOMP_loop_runtime_next): Add ialias.
5884	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
5885	(gomp_loop_static_start, gomp_loop_dynamic_start,
5886	gomp_loop_guided_start, gomp_loop_ordered_static_start,
5887	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5888	gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5889	gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
5890	or gomp_doacross_init callers.
5891	(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
5892	GOMP_loop_doacross_start): New functions.
5893	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5894	GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
5895	Mask off GFS_MONOTONIC bit.
5896	(GOMP_loop_maybe_nonmonotonic_runtime_next,
5897	GOMP_loop_maybe_nonmonotonic_runtime_start,
5898	GOMP_loop_nonmonotonic_runtime_next,
5899	GOMP_loop_nonmonotonic_runtime_start,
5900	GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5901	GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
5902	functions.
5903	(gomp_parallel_loop_start): Pass NULL as taskgroup to
5904	gomp_team_start.
5905	* loop_ull.c: Include string.h.
5906	(GOMP_loop_ull_runtime_next): Add ialias.
5907	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
5908	(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
5909	gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
5910	gomp_loop_ull_ordered_dynamic_start,
5911	gomp_loop_ull_ordered_guided_start,
5912	gomp_loop_ull_doacross_static_start,
5913	gomp_loop_ull_doacross_dynamic_start,
5914	gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
5915	and gomp_doacross_ull_init callers.
5916	(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5917	GOMP_loop_ull_doacross_start): New functions.
5918	(GOMP_loop_ull_runtime_start,
5919	GOMP_loop_ull_ordered_runtime_start,
5920	GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
5921	(GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5922	GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5923	GOMP_loop_ull_nonmonotonic_runtime_next,
5924	GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
5925	* Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
5926	* omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
5927	(omp_pause_resource_t, omp_depend_t): New typedefs.
5928	(enum omp_lock_hint_t): Renamed to ...
5929	(enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
5930	enumerators using numbers and omp_lock_hint_* as their aliases.
5931	(omp_lock_hint_t): New typedef.  Rename to ...
5932	(omp_sync_hint_t): ... this.
5933	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
5934	omp_sync_hint_t instead of omp_lock_hint_t.
5935	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5936	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5937	Declare.
5938	(omp_target_is_present, omp_target_disassociate_ptr):
5939	Change first argument from void * to const void *.
5940	(omp_target_memcpy, omp_target_memcpy_rect): Change second argument
5941	from void * to const void *.
5942	(omp_target_associate_ptr): Change first and second arguments from
5943	void * to const void *.
5944	* omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
5945	omp_pause_hard): New parameters.
5946	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5947	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5948	New interfaces.
5949	* omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
5950	omp_pause_hard): New parameters.
5951	(omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5952	omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5953	New externals.
5954	* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
5955	EXTRA argument.  If not needed to prepare array, if extra is 0,
5956	clear ws->doacross, otherwise allocate just doacross structure and
5957	extra payload.  If array is needed, allocate also extra payload.
5958	(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
5959	GOMP_doacross_ull_wait): Handle doacross->array == NULL like
5960	doacross == NULL.
5961	* parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
5962	gomp_team_start.
5963	(GOMP_parallel): Likewise.  Formatting fix.
5964	(GOMP_parallel_reductions): New function.
5965	(GOMP_cancellation_point): If taskgroup has workshare
5966	flag set, check cancelled of prev taskgroup if any.
5967	(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
5968	on prev taskgroup if any.
5969	* sections.c: Include string.h.
5970	(GOMP_taskgroup_reduction_register): Add ialias_redirect.
5971	(GOMP_sections_start): Adjust gomp_work_share_start caller.
5972	(GOMP_sections2_start): New function.
5973	(GOMP_parallel_sections_start, GOMP_parallel_sections):
5974	Pass NULL as taskgroup to gomp_team_start.
5975	* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
5976	gomp_work_share_start callers.
5977	* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
5978	If taskgroup has workshare flag set, check cancelled on prev
5979	taskgroup if any.  Guard all cancellation tests with
5980	gomp_cancel_var test.
5981	(omp_target_is_present, omp_target_disassociate_ptr):
5982	Change ptr argument from void * to const void *.
5983	(omp_target_memcpy): Change src argument from void * to const void *.
5984	(omp_target_memcpy_rect): Likewise.
5985	(omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
5986	instead of char * where needed.
5987	(omp_target_associate_ptr): Change host_ptr and device_ptr arguments
5988	from void * to const void *.
5989	(omp_pause_resource, omp_pause_resource_all): New functions.
5990	* task.c (gomp_task_handle_depend): Handle new depend array format
5991	in addition to the old.  Handle mutexinoutset kinds the same as
5992	inout for now, handle unspecified kinds.
5993	(gomp_create_target_task): If taskgroup has workshare flag set, check
5994	cancelled on prev taskgroup if any.  Guard all cancellation tests with
5995	gomp_cancel_var test.  Handle new depend array format count in
5996	addition to the old.
5997	(GOMP_task): Likewise.  Adjust function comment.
5998	(gomp_task_run_pre): If taskgroup has workshare flag set, check
5999	cancelled on prev taskgroup if any.  Guard all cancellation tests with
6000	gomp_cancel_var test.
6001	(GOMP_taskwait_depend): New function.
6002	(gomp_task_maybe_wait_for_dependencies): Handle new depend array
6003	format in addition to the old.  Handle mutexinoutset kinds the same as
6004	inout for now, handle unspecified kinds.  Fix a function comment typo.
6005	(gomp_taskgroup_init): New function.
6006	(GOMP_taskgroup_start): Use it.
6007	(gomp_reduction_register, gomp_create_artificial_team,
6008	GOMP_taskgroup_reduction_register,
6009	GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6010	gomp_parallel_reduction_register,
6011	gomp_workshare_task_reduction_register,
6012	gomp_workshare_taskgroup_start,
6013	GOMP_workshare_task_reduction_unregister): New functions.
6014	* taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6015	check cancelled on prev taskgroup if any.  Guard all cancellation
6016	tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
6017	by calling GOMP_taskgroup_reduction_register.
6018	* team.c (gomp_thread_attr): Remove comment.
6019	(struct gomp_thread_start_data): Add handle field.
6020	(gomp_thread_start): Call pthread_detach.
6021	(gomp_new_team): Adjust gomp_init_work_share caller.
6022	(gomp_free_pool_helper): Call pthread_detach.
6023	(gomp_team_start): Add taskgroup argument, initialize implicit
6024	tasks' taskgroup field to that.  Don't call
6025	pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
6026	(gomp_team_end): Determine nesting by thr->ts.level != 0
6027	rather than thr->ts.team != NULL.
6028	(gomp_pause_pool_helper, gomp_pause_host): New functions.
6029	* work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6030	gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6031	(gomp_init_work_share): Change ORDERED argument from bool to size_t,
6032	if more than 1 allocate also extra payload at the end of array.  Never
6033	keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6034	(gomp_work_share_start): Change ORDERED argument from bool to size_t,
6035	return true instead of ws.
6036	* Makefile.in: Regenerated.
6037	* configure: Regenerated.
6038	* config.h.in: Regenerated.
6039	* testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6040	in some cases.
6041	* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6042	* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6043	* testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6044	* testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6045	* testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6046	* testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6047	* testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6048	* testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6049	* testsuite/libgomp.c-c++-common/for-10.c: New test.
6050	* testsuite/libgomp.c-c++-common/for-11.c: New test.
6051	* testsuite/libgomp.c-c++-common/for-12.c: New test.
6052	* testsuite/libgomp.c-c++-common/for-13.c: New test.
6053	* testsuite/libgomp.c-c++-common/for-14.c: New test.
6054	* testsuite/libgomp.c-c++-common/for-15.c: New test.
6055	* testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6056	define a different N(test), don't define N(f0) to N(f14), but instead
6057	define N(f20) to N(f34) using != comparisons.
6058	* testsuite/libgomp.c-c++-common/for-7.c: New test.
6059	* testsuite/libgomp.c-c++-common/for-8.c: New test.
6060	* testsuite/libgomp.c-c++-common/for-9.c: New test.
6061	* testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6062	* testsuite/libgomp.c-c++-common/pause-1.c: New test.
6063	* testsuite/libgomp.c-c++-common/pause-2.c: New test.
6064	* testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6065	* testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6066	* testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6067	* testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
6068	* testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
6069	* testsuite/libgomp.c-c++-common/simd-1.c: New test.
6070	* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
6071	* testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
6072	* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
6073	* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
6074	* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
6075	* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
6076	* testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
6077	* testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
6078	* testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
6079	* testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
6080	* testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
6081	* testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
6082	* testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
6083	* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
6084	* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
6085	* testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
6086	* testsuite/libgomp.c++/depend-1.C: New test.
6087	* testsuite/libgomp.c++/depend-iterator-1.C: New test.
6088	* testsuite/libgomp.c++/depobj-1.C: New test.
6089	* testsuite/libgomp.c++/for-16.C: New test.
6090	* testsuite/libgomp.c++/for-21.C: New test.
6091	* testsuite/libgomp.c++/for-22.C: New test.
6092	* testsuite/libgomp.c++/for-23.C: New test.
6093	* testsuite/libgomp.c++/for-24.C: New test.
6094	* testsuite/libgomp.c++/for-25.C: New test.
6095	* testsuite/libgomp.c++/for-26.C: New test.
6096	* testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
6097	* testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
6098	* testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
6099	* testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
6100	* testsuite/libgomp.c++/task-reduction-10.C: New test.
6101	* testsuite/libgomp.c++/task-reduction-11.C: New test.
6102	* testsuite/libgomp.c++/task-reduction-12.C: New test.
6103	* testsuite/libgomp.c++/task-reduction-13.C: New test.
6104	* testsuite/libgomp.c++/task-reduction-14.C: New test.
6105	* testsuite/libgomp.c++/task-reduction-15.C: New test.
6106	* testsuite/libgomp.c++/task-reduction-16.C: New test.
6107	* testsuite/libgomp.c++/task-reduction-17.C: New test.
6108	* testsuite/libgomp.c++/task-reduction-18.C: New test.
6109	* testsuite/libgomp.c++/task-reduction-19.C: New test.
6110	* testsuite/libgomp.c/task-reduction-1.c: New test.
6111	* testsuite/libgomp.c++/task-reduction-1.C: New test.
6112	* testsuite/libgomp.c/task-reduction-2.c: New test.
6113	* testsuite/libgomp.c++/task-reduction-2.C: New test.
6114	* testsuite/libgomp.c++/task-reduction-3.C: New test.
6115	* testsuite/libgomp.c++/task-reduction-4.C: New test.
6116	* testsuite/libgomp.c++/task-reduction-5.C: New test.
6117	* testsuite/libgomp.c++/task-reduction-6.C: New test.
6118	* testsuite/libgomp.c++/task-reduction-7.C: New test.
6119	* testsuite/libgomp.c++/task-reduction-8.C: New test.
6120	* testsuite/libgomp.c++/task-reduction-9.C: New test.
6121	* testsuite/libgomp.c/teams-1.c: New test.
6122	* testsuite/libgomp.c/teams-2.c: New test.
6123	* testsuite/libgomp.c/thread-limit-4.c: New test.
6124	* testsuite/libgomp.c/thread-limit-5.c: New test.
6125	* testsuite/libgomp.fortran/display-affinity-1.f90: New test.
6126
61272018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
6128
6129	* oacc-mem.c (memcpy_tofrom_device): New function, combined from
6130	acc_memcpy_to/from_device functions, now with async parameter.
6131	(acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
6132	(acc_memcpy_from_device): Likewise.
6133	(acc_memcpy_to_device_async): New API function.
6134	(acc_memcpy_from_device_async): Likewise.
6135	(present_create_copy): Add async parameter and async setting/unsetting.
6136	(acc_create): Adjust present_create_copy call.
6137	(acc_copyin): Likewise.
6138	(acc_present_or_create): Likewise.
6139	(acc_present_or_copyin): Likewise.
6140	(acc_create_async): New API function.
6141	(acc_copyin_async): New API function.
6142	(delete_copyout): Add async parameter and async setting/unsetting.
6143	(acc_delete): Adjust delete_copyout call.
6144	(acc_copyout): Likewise.
6145	(acc_delete_async): New API function.
6146	(acc_copyout_async): Likewise.
6147	(update_dev_host): Add async parameter and async setting/unsetting.
6148	(acc_update_device): Adjust update_dev_host call.
6149	(acc_update_self): Likewise.
6150	(acc_update_device_async): New API function.
6151	(acc_update_self_async): Likewise.
6152	* openacc.h (acc_copyin_async): Declare new API function.
6153	(acc_create_async): Likewise.
6154	(acc_copyout_async): Likewise.
6155	(acc_delete_async): Likewise.
6156	(acc_update_device_async): Likewise.
6157	(acc_update_self_async): Likewise.
6158	(acc_memcpy_to_device_async): Likewise.
6159	(acc_memcpy_from_device_async): Likewise.
6160	* openacc_lib.h (acc_copyin_async_32_h): New subroutine.
6161	(acc_copyin_async_64_h): New subroutine.
6162	(acc_copyin_async_array_h): New subroutine.
6163	(acc_create_async_32_h): New subroutine.
6164	(acc_create_async_64_h): New subroutine.
6165	(acc_create_async_array_h): New subroutine.
6166	(acc_copyout_async_32_h): New subroutine.
6167	(acc_copyout_async_64_h): New subroutine.
6168	(acc_copyout_async_array_h): New subroutine.
6169	(acc_delete_async_32_h): New subroutine.
6170	(acc_delete_async_64_h): New subroutine.
6171	(acc_delete_async_array_h): New subroutine.
6172	(acc_update_device_async_32_h): New subroutine.
6173	(acc_update_device_async_64_h): New subroutine.
6174	(acc_update_device_async_array_h): New subroutine.
6175	(acc_update_self_async_32_h): New subroutine.
6176	(acc_update_self_async_64_h): New subroutine.
6177	(acc_update_self_async_array_h): New subroutine.
6178	* openacc.f90 (acc_copyin_async_32_h): New subroutine.
6179	(acc_copyin_async_64_h): New subroutine.
6180	(acc_copyin_async_array_h): New subroutine.
6181	(acc_create_async_32_h): New subroutine.
6182	(acc_create_async_64_h): New subroutine.
6183	(acc_create_async_array_h): New subroutine.
6184	(acc_copyout_async_32_h): New subroutine.
6185	(acc_copyout_async_64_h): New subroutine.
6186	(acc_copyout_async_array_h): New subroutine.
6187	(acc_delete_async_32_h): New subroutine.
6188	(acc_delete_async_64_h): New subroutine.
6189	(acc_delete_async_array_h): New subroutine.
6190	(acc_update_device_async_32_h): New subroutine.
6191	(acc_update_device_async_64_h): New subroutine.
6192	(acc_update_device_async_array_h): New subroutine.
6193	(acc_update_self_async_32_h): New subroutine.
6194	(acc_update_self_async_64_h): New subroutine.
6195	(acc_update_self_async_array_h): New subroutine.
6196	* libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
6197	acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
6198	acc_delete_finalize_async*, acc_memcpy_from_device_async*,
6199	acc_memcpy_to_device_async*, acc_update_device_async*, and
6200	acc_update_self_async* entries.
6201	* testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
6202	* testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
6203	* testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
6204
62052018-10-31  Joseph Myers  <joseph@codesourcery.com>
6206
6207	PR bootstrap/82856
6208	* Makefile.am: Include multilib.am
6209	(AUTOMAKE_OPTIONS): Add info-in-builddir.
6210	(CLEANFILES): Remove libgomp.info.
6211	* configure.ac: Remove AC_PREREQ.
6212	* testsuite/Makefile.am (RUNTEST): Remove quotes.
6213	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
6214	Regenerate.
6215
62162018-10-29  Joseph Myers  <joseph@codesourcery.com>
6217	    Julian Brown  <julian@codesourcery.com>
6218
6219	* testsuite/libgomp.oacc-c++/this.C: New.
6220
62212018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
6222
6223	* plugin/plugin-nvptx.c (struct cuda_map): New.
6224	(struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
6225	h_tail with (cuda_map *) map.
6226	(cuda_map_create): New function.
6227	(cuda_map_destroy): New function.
6228	(map_init): Update to use a linked list of cuda_map objects.
6229	(map_fini): Likewise.
6230	(map_pop): Likewise.
6231	(map_push): Likewise.  Return CUdeviceptr instead of void.
6232	(init_streams_for_device): Remove stales references to ptx_stream
6233	members.
6234	(select_stream_for_async): Likewise.
6235	(nvptx_exec): Update call to map_init.
6236
62372018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
6238            Julian Brown  <julian@codesourcery.com>
6239
6240	PR middle-end/86336
6241	* testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
6242
62432018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
6244	Thomas Koenig <tkoenig@gcc.gnu.org>
6245
6246	PR fortran/25829
6247	* testsuite/libgomp.fortran/async_io_1.f90: New test.
6248	* testsuite/libgomp.fortran/async_io_2.f90: New test.
6249	* testsuite/libgomp.fortran/async_io_3.f90: New test.
6250	* testsuite/libgomp.fortran/async_io_4.f90: New test.
6251	* testsuite/libgomp.fortran/async_io_5.f90: New test.
6252	* testsuite/libgomp.fortran/async_io_6.f90: New test.
6253	* testsuite/libgomp.fortran/async_io_7.f90: New test.
6254
62552018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
6256	    Tom de Vries  <tdevries@suse.de>
6257
6258	PR target/85590
6259	* plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
6260	(cuOccupancyMaxPotentialBlockSize): Declare.
6261	* plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
6262	CUDA_ONE_CALL_MAYBE_NULL.
6263	* plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
6264	CUoccupancyB2DSize and declare
6265	cuOccupancyMaxPotentialBlockSize.
6266	(nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
6267	default num_gangs and num_workers when the driver supports it.
6268
62692018-08-08  Tom de Vries  <tdevries@suse.de>
6270
6271	* plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
6272	CUDA_ONE_CALL_MAYBE_NULL.
6273	* plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
6274	(cuLinkAddData_v2, cuLinkCreate_v2): Declare.
6275	(link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
6276	are not found.
6277
62782018-08-08  Tom de Vries  <tdevries@suse.de>
6279
6280	* plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
6281	* plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
6282	present.
6283
62842018-08-08  Tom de Vries  <tdevries@suse.de>
6285
6286	* plugin/plugin-nvptx.c
6287	(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
6288	(nvptx_open_device): Use
6289	CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
6290
62912018-08-08  Tom de Vries  <tdevries@suse.de>
6292
6293	* plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
6294	(cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
6295
62962018-08-07  Tom de Vries  <tdevries@suse.de>
6297
6298	* plugin/plugin-nvptx.c (DO_PRAGMA): Define.
6299	(struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
6300	(init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
6301	corresponding call in CUDA_ONE_CALL.  Add def/undef of
6302	CUDA_ONE_CALL_MAYBE_NULL.
6303	(CUDA_CALL_EXISTS): Define.
6304
63052018-08-07  Tom de Vries  <tdevries@suse.de>
6306
6307	* plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
6308	CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
6309	corresponding undefs right after.
6310
63112018-08-04  Tom de Vries  <tdevries@suse.de>
6312
6313	* plugin/configfrag.ac: For --without-cuda-driver, set
6314	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
6315	CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
6316	* configure: Regenerate.
6317
63182018-08-02  Tom de Vries  <tdevries@suse.de>
6319
6320	PR target/86660
6321	* testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
6322	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
6323	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6324	Same.
6325	* testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
6326	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
6327	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
6328
63292018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
6330	    Thomas Schwinge <thomas@codesourcery.com>
6331
6332	* config/nvptx/oacc-parallel.c: Truncate.
6333
63342018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
6335	    James Norris <jnorris@codesourcery.com>
6336
6337	* plugin/plugin-nvptx.c (struct map): Removed.
6338	(map_init, map_pop): Remove use of struct map.
6339	(map_push): Likewise and change argument list.
6340	* testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
6341
63422018-08-01  Tom de Vries  <tdevries@suse.de>
6343
6344	* plugin/cuda-lib.def: New file.  Factor out of ...
6345	* plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
6346	(struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
6347	using CUDA_CALLS.
6348
63492018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
6350
6351	Revert 'AsyncI/O patch committed'.
6352	2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
6353		Thomas Koenig <tkoenig@gcc.gnu.org>
6354
6355	PR fortran/25829
6356	* testsuite/libgomp.fortran/async_io_1.f90: New test.
6357	* testsuite/libgomp.fortran/async_io_2.f90: New test.
6358	* testsuite/libgomp.fortran/async_io_3.f90: New test.
6359	* testsuite/libgomp.fortran/async_io_4.f90: New test.
6360	* testsuite/libgomp.fortran/async_io_5.f90: New test.
6361	* testsuite/libgomp.fortran/async_io_6.f90: New test.
6362	* testsuite/libgomp.fortran/async_io_7.f90: New test.
6363
63642018-07-30  Tom de Vries  <tdevries@suse.de>
6365
6366	* plugin/plugin-nvptx.c (MIN, MAX): Redefine.
6367	(nvptx_exec): Ensure worker and vector default dims don't exceed
6368	targ_fn->max_threads_per_block.
6369
63702018-07-30  Tom de Vries  <tdevries@suse.de>
6371
6372	* plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
6373	(nvptx_open_device): Init default_dims for device.
6374	(nvptx_exec): Use default_dims from device.
6375
63762018-07-26  Jakub Jelinek  <jakub@redhat.com>
6377
6378	PR testsuite/86660
6379	* testsuite/libgomp.c++/for-15.C (results): Include it in
6380	omp declare target region.
6381	(main): Use map (always, tofrom: results) instead of
6382	map (tofrom: results).
6383
6384	PR middle-end/86660
6385	* testsuite/libgomp.c/pr86660.c: New test.
6386
63872018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
6388	    Tom de Vries  <tdevries@suse.de>
6389
6390	* plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
6391	sufficient resources to launch a kernel, and give a hint on how to fix
6392	it.
6393
63942018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
6395	    Tom de Vries  <tdevries@suse.de>
6396
6397	* plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
6398	max_threads_per_block and max_threads_per_multiprocessor fields.
6399	(nvptx_open_device): Initialize new fields.
6400	(nvptx_exec): Use num_sms, and new fields.
6401
64022018-07-26  Tom de Vries  <tdevries@suse.de>
6403
6404	* testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
6405	to correct locations.  Remove xfail.
6406
64072018-07-26  Tom de Vries  <tdevries@suse.de>
6408
6409	* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
6410	acc_wait.  Move acc_async_test calls to correct locations.  Remove
6411	xfail.
6412
64132018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
6414	Thomas Koenig <tkoenig@gcc.gnu.org>
6415
6416	PR fortran/25829
6417	* testsuite/libgomp.fortran/async_io_1.f90: New test.
6418	* testsuite/libgomp.fortran/async_io_2.f90: New test.
6419	* testsuite/libgomp.fortran/async_io_3.f90: New test.
6420	* testsuite/libgomp.fortran/async_io_4.f90: New test.
6421	* testsuite/libgomp.fortran/async_io_5.f90: New test.
6422	* testsuite/libgomp.fortran/async_io_6.f90: New test.
6423	* testsuite/libgomp.fortran/async_io_7.f90: New test.
6424
64252018-07-17  Jakub Jelinek  <jakub@redhat.com>
6426
6427	PR middle-end/86542
6428	* testsuite/libgomp.c++/pr86542.C: New test.
6429
6430	PR middle-end/86539
6431	* testsuite/libgomp.c++/pr86539.C: New test.
6432
64332018-07-11  Jakub Jelinek  <jakub@redhat.com>
6434
6435	PR c++/86443
6436	* testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
6437	(results): Make sure the variable is not inside declare target region.
6438	(qux): Remove unused function.
6439
64402018-07-10  Jakub Jelinek  <jakub@redhat.com>
6441
6442	PR c++/86443
6443	* testsuite/libgomp.c++/for-15.C: New test.
6444
64452018-06-26  Jakub Jelinek  <jakub@redhat.com>
6446
6447	PR c++/86291
6448	* testsuite/libgomp.c++/pr86291.C: New test.
6449
64502018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
6451
6452	* libgomp.texi (Top): Move www.openmp.org to https.
6453	(Enabling OpenMP): Ditto.
6454	(omp_get_active_level): Ditto.
6455	(omp_get_ancestor_thread_num): Ditto.
6456	(omp_get_cancellation): Ditto.
6457	(omp_get_default_device): Ditto.
6458	(omp_get_dynamic): Ditto.
6459	(omp_get_level): Ditto.
6460	(omp_get_max_active_levels): Ditto.
6461	(omp_get_max_task_priority): Ditto.
6462	(omp_get_max_threads): Ditto.
6463	(omp_get_nested): Ditto.
6464	(omp_get_num_devices): Ditto.
6465	(omp_get_num_procs): Ditto.
6466	(omp_get_num_teams): Ditto.
6467	(omp_get_num_threads): Ditto.
6468	(omp_get_proc_bind): Ditto.
6469	(omp_get_schedule): Ditto.
6470	(omp_get_team_num): Ditto.
6471	(omp_get_team_size): Ditto.
6472	(omp_get_thread_limit): Ditto.
6473	(omp_get_thread_num): Ditto.
6474	(omp_in_parallel): Ditto.
6475	(omp_in_final): Ditto.
6476	(omp_is_initial_device): Ditto.
6477	(omp_set_default_device): Ditto.
6478	(omp_set_dynamic): Ditto.
6479	(omp_set_max_active_levels): Ditto.
6480	(omp_set_nested): Ditto.
6481	(omp_set_num_threads): Ditto.
6482	(omp_set_schedule): Ditto.
6483	(omp_init_lock): Ditto.
6484	(omp_set_lock): Ditto.
6485	(omp_test_lock): Ditto.
6486	(omp_unset_lock): Ditto.
6487	(omp_destroy_lock): Ditto.
6488	(omp_init_nest_lock): Ditto.
6489	(omp_set_nest_lock): Ditto.
6490	(omp_test_nest_lock): Ditto.
6491	(omp_unset_nest_lock): Ditto.
6492	(omp_destroy_nest_lock): Ditto.
6493	(omp_get_wtick): Ditto.
6494	(omp_get_wtime): Ditto.
6495	(OMP_CANCELLATION): Ditto.
6496	(OMP_DISPLAY_ENV): Ditto.
6497	(OMP_DEFAULT_DEVICE): Ditto.
6498	(OMP_DYNAMIC): Ditto.
6499	(OMP_MAX_ACTIVE_LEVELS): Ditto.
6500	(OMP_MAX_TASK_PRIORITY): Ditto.
6501	(OMP_NESTED): Ditto.
6502	(OMP_NUM_THREADS): Ditto.
6503	(OMP_PROC_BIND): Ditto.
6504	(OMP_PLACES): Ditto.
6505	(OMP_STACKSIZE): Ditto.
6506	(OMP_SCHEDULE): Ditto.
6507	(OMP_THREAD_LIMIT): Ditto.
6508	(OMP_WAIT_POLICY): Ditto.
6509
65102018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
6511	    James Norris  <jnorris@codesourcery.com>
6512	    Julian Brown  <julian@codesourcery.com>
6513	    Thomas Schwinge  <thomas@codesourcery.com>
6514	    Tom de Vries  <tom@codesourcery.com>
6515
6516	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
6517	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
6518	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
6519	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
6520	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6521	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6522	* testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
6523	* testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6524	* testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
6525	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
6526	Likewise.
6527	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6528	Likewise.
6529	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6530	Likewise.
6531	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
6532	Likewise.
6533	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
6534	Likewise.
6535	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6536	Likewise.
6537	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6538	Likewise.
6539	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6540	Likewise.
6541	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6542	Likewise.
6543	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6544	Likewise.
6545	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6546	Likewise.
6547	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6548	Likewise.
6549	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6550	Likewise.
6551	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6552	Likewise.
6553	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6554	Likewise.
6555	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6556	Likewise.
6557	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6558	Likewise.
6559	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6560	Likewise.
6561	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6562	Likewise.
6563	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6564	Likewise.
6565	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6566	Likewise.
6567	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6568	Likewise.
6569	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6570	Likewise.
6571	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6572	Likewise.
6573	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6574	Likewise.
6575	* testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6576	Likewise.
6577	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
6578	Likewise.
6579	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
6580	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
6581	* testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
6582	* testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
6583	* testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
6584	* testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6585	* testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6586	* testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
6587	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6588	Likewise.
6589	* testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6590	Likewise.
6591	* testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
6592	* testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
6593	* testsuite/libgomp.oacc-fortran/kernels-independent.f90:
6594	Likewise.
6595	* testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
6596	* testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
6597	* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6598	Likewise.
6599	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6600	Likewise.
6601	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6602	Likewise.
6603	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6604	Likewise.
6605	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6606	Likewise.
6607	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6608	Likewise.
6609	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6610	Likewise.
6611	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6612	Likewise.
6613	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6614	Likewise.
6615	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6616	Likewise.
6617	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6618	Likewise.
6619	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6620	Likewise.
6621	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6622	Likewise.
6623	* testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6624	Likewise.
6625	* testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
6626	Likewise.
6627	* testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6628	* testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
6629	* testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6630	* testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
6631	* testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
6632	* testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
6633	* testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
6634
66352018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
6636	    Thomas Schwinge <thomas@codesourcery.com>
6637	    Cesar Philippidis  <cesar@codesourcery.com>
6638
6639	* libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
6640	(gomp_acc_remove_pointer): Update declaration.
6641	(gomp_acc_declare_allocate): Declare.
6642	(gomp_remove_var): Declare.
6643	* libgomp.map (OACC_2.5): Define.
6644	* oacc-mem.c (acc_map_data): Update refcount.
6645	(acc_unmap_data): Likewise.
6646	(present_create_copy): Likewise.
6647	(acc_create): Add FLAG_PRESENT when calling present_create_copy.
6648	(acc_copyin): Likewise.
6649	(FLAG_FINALIZE): Define.
6650	(delete_copyout): Update dynamic refcounts, add support for FINALIZE.
6651	(acc_delete_finalize): New function.
6652	(acc_delete_finalize_async): New function.
6653	(acc_copyout_finalize): New function.
6654	(acc_copyout_finalize_async): New function.
6655	(gomp_acc_insert_pointer): Update refcounts.
6656	(gomp_acc_remove_pointer): Return if data is not present on the
6657	accelerator.
6658	* oacc-parallel.c (find_pset): Rename to find_pointer.
6659	(find_pointer): Add support for GOMP_MAP_POINTER.
6660	(handle_ftn_pointers): New function.
6661	(GOACC_parallel_keyed): Update refcounts of variables.
6662	(GOACC_enter_exit_data): Add support for finalized data mappings.
6663	Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
6664	of fortran arrays.
6665	(GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
6666	(GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
6667	for GOMP_MAP_FORCE_FROM.
6668	* openacc.f90 (module openacc_internal): Add
6669	acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
6670	acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
6671	acc_copyout_finalize and acc_delete_finalize.
6672	(acc_copyout_finalize_32_h): New subroutine.
6673	(acc_copyout_finalize_64_h): New subroutine.
6674	(acc_copyout_finalize_array_h): New subroutine.
6675	(acc_delete_finalize_32_h): New subroutine.
6676	(acc_delete_finalize_64_h): New subroutine.
6677	(acc_delete_finalize_array_h): New subroutine.
6678	* openacc.h (acc_copyout_finalize): Declare.
6679	(acc_copyout_finalize_async): Declare.
6680	(acc_delete_finalize): Declare.
6681	(acc_delete_finalize_async): Declare.
6682	* openacc_lib.h (acc_copyout_finalize): New interface.
6683	(acc_delete_finalize): New interface.
6684	* target.c (gomp_map_vars): Update dynamic_refcount.
6685	(gomp_remove_var): New function.
6686	(gomp_unmap_vars): Use it.
6687	(gomp_unload_image_from_device): Likewise.
6688	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
6689	case to utilize OpenACC 2.5 data clause semantics.
6690	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6691	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6692	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6693	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6694	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6695	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6696	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6697	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6698	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6699	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6700	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6701	* testsuite/libgomp.oacc-fortran/data-5.f90: New test.
6702	* testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
6703	utilize OpenACC 2.5 data clause semantics.
6704	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6705	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6706	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6707	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6708	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6709	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6710	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6711	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6712	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6713
67142018-05-21  Janus Weil  <janus@gcc.gnu.org>
6715
6716	PR fortran/85841
6717	PR testsuite/85865
6718	* testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
6719	* testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6720	* testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6721	* testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6722	* testsuite/libgomp.fortran/task2.f90: Ditto.
6723	* testsuite/libgomp.fortran/vla1.f90: Ditto.
6724	* testsuite/libgomp.fortran/vla2.f90: Ditto.
6725	* testsuite/libgomp.fortran/vla3.f90: Ditto.
6726	* testsuite/libgomp.fortran/vla4.f90: Ditto.
6727	* testsuite/libgomp.fortran/vla5.f90: Ditto.
6728	* testsuite/libgomp.fortran/vla6.f90: Ditto.
6729	* testsuite/libgomp.fortran/vla8.f90: Ditto.
6730	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
6731	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
6732
67332018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
6734
6735	PR c++/85782
6736	* testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
6737
67382018-05-09  Tom de Vries  <tom@codesourcery.com>
6739
6740	PR libgomp/82901
6741	* oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
6742	to GOACC_enter_exit_data.
6743
67442018-05-09  Tom de Vries  <tom@codesourcery.com>
6745
6746	PR libgomp/83792
6747	* oacc-int.h (async_valid_stream_id_p, async_valid_p)
6748	(async_synchronous_p): New function.
6749	* oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
6750	async_valid_p.
6751	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6752	async_valid_stream_id_p.
6753	* oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
6754	* oacc-parallel.c (GOACC_parallel_keyed): Same.
6755
67562018-05-07  Tom de Vries  <tom@codesourcery.com>
6757
6758	PR testsuite/85677
6759	* testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
6760	include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
6761
67622018-05-03  Tom de Vries  <tom@codesourcery.com>
6763
6764	PR testsuite/85106
6765	* testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
6766	extra_tool_flags if it contains an -foffload=-fdump-* flag.
6767	* testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
6768	* testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
6769
67702018-05-02  Tom de Vries  <tom@codesourcery.com>
6771
6772	PR libgomp/85411
6773	* plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
6774	GOMP_OPENACC_DIM ...
6775	* env.c (parse_gomp_openacc_dim): ... here.  New function.
6776	(initialize_env): Call parse_gomp_openacc_dim.
6777	(goacc_default_dims): Define.
6778	* libgomp.h (goacc_default_dims): Declare.
6779	* oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
6780	* oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
6781	* libgomp.map: New version "GOMP_PLUGIN_1.2". Add
6782	GOMP_PLUGIN_acc_default_dim.
6783	* testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
6784	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
6785
67862018-05-02  Tom de Vries  <tom@codesourcery.com>
6787
6788	PR testsuite/83791
6789	* testsuite/libgomp.c++/udr-9.C: Update.
6790	* testsuite/libgomp.c++/atomic-16.C: Remove.
6791	* testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
6792	* testsuite/libgomp.c++/loop-13.C: Remove.
6793	* testsuite/libgomp.c++/loop-14.C: Remove.
6794	* testsuite/libgomp.c++/loop-15.C: Remove.
6795	* testsuite/libgomp.c++/monotonic-1.C: Remove.
6796	* testsuite/libgomp.c++/monotonic-2.C: Remove.
6797	* testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
6798	* testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
6799	* testsuite/libgomp.c++/ordered-1.C: Remove.
6800	* testsuite/libgomp.c++/pr45784.C: Remove.
6801	* testsuite/libgomp.c++/pr64824.C: Remove.
6802	* testsuite/libgomp.c++/pr64868.C: Remove.
6803	* testsuite/libgomp.c++/pr66199-1.C: Remove.
6804	* testsuite/libgomp.c++/pr66199-2.C: Remove.
6805	* testsuite/libgomp.c++/pr66199-3.C: Remove.
6806	* testsuite/libgomp.c++/pr66199-4.C: Remove.
6807	* testsuite/libgomp.c++/pr66199-5.C: Remove.
6808	* testsuite/libgomp.c++/pr66199-6.C: Remove.
6809	* testsuite/libgomp.c++/pr66199-7.C: Remove.
6810	* testsuite/libgomp.c++/pr66199-8.C: Remove.
6811	* testsuite/libgomp.c++/pr66199-9.C: Remove.
6812	* testsuite/libgomp.c++/pr69389.C: Remove.
6813	* testsuite/libgomp.c++/simd10.C: Remove.
6814	* testsuite/libgomp.c++/simd11.C: Remove.
6815	* testsuite/libgomp.c++/simd12.C: Remove.
6816	* testsuite/libgomp.c++/simd13.C: Remove.
6817	* testsuite/libgomp.c++/target-1.C: Remove.
6818	* testsuite/libgomp.c++/target-3.C: Remove.
6819	* testsuite/libgomp.c++/target-4.C: Remove.
6820	* testsuite/libgomp.c++/target-5.C: Remove.
6821	* testsuite/libgomp.c++/taskgroup-1.C: Remove.
6822	* testsuite/libgomp.c++/taskloop-1.C: Remove.
6823	* testsuite/libgomp.c++/taskloop-2.C: Remove.
6824	* testsuite/libgomp.c++/taskloop-3.C: Remove.
6825	* testsuite/libgomp.c++/taskloop-4.C: Remove.
6826	* testsuite/libgomp.c++/udr-9.C: Remove.
6827	* testsuite/libgomp.c++/for-10.C: Remove.
6828	* testsuite/libgomp.c++/for-11.C: Remove.
6829	* testsuite/libgomp.c++/for-12.C: Remove.
6830	* testsuite/libgomp.c++/for-13.C: Remove.
6831	* testsuite/libgomp.c++/for-14.C: Remove.
6832	* testsuite/libgomp.c++/for-9.C: Remove.
6833	* testsuite/libgomp.c/atomic-18.c: Move ...
6834	* testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
6835	* testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
6836	* testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
6837	* testsuite/libgomp.c/loop-13.c: Move ...
6838	* testsuite/libgomp.c-c++-common/loop-13.c: ... here.
6839	* testsuite/libgomp.c/loop-14.c: Move ...
6840	* testsuite/libgomp.c-c++-common/loop-14.c: ... here.
6841	* testsuite/libgomp.c/loop-15.c: Remove.
6842	* testsuite/libgomp.c-c++-common/loop-15.c: New test.
6843	* testsuite/libgomp.c/monotonic-1.c: Move ...
6844	* testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
6845	* testsuite/libgomp.c/monotonic-2.c: Move ...
6846	* testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
6847	* testsuite/libgomp.c/nonmonotonic-1.c: Move ...
6848	* testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
6849	* testsuite/libgomp.c/nonmonotonic-2.c: Move ...
6850	* testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
6851	* testsuite/libgomp.c/ordered-4.c: Move ...
6852	* testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
6853	* testsuite/libgomp.c/pr45784.c: Move ...
6854	* testsuite/libgomp.c-c++-common/pr45784.c: ... here.
6855	* testsuite/libgomp.c/pr64824.c: Move ...
6856	* testsuite/libgomp.c-c++-common/pr64824.c: ... here.
6857	* testsuite/libgomp.c/pr64868.c: Move ...
6858	* testsuite/libgomp.c-c++-common/pr64868.c: ... here.
6859	* testsuite/libgomp.c/pr66199-1.c: Move ...
6860	* testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
6861	* testsuite/libgomp.c/pr66199-2.c: Move ...
6862	* testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
6863	* testsuite/libgomp.c/pr66199-3.c: Move ...
6864	* testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
6865	* testsuite/libgomp.c/pr66199-4.c: Move ...
6866	* testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
6867	* testsuite/libgomp.c/pr66199-5.c: Move ...
6868	* testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
6869	* testsuite/libgomp.c/pr66199-6.c: Move ...
6870	* testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
6871	* testsuite/libgomp.c/pr66199-7.c: Move ...
6872	* testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
6873	* testsuite/libgomp.c/pr66199-8.c: Move ...
6874	* testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
6875	* testsuite/libgomp.c/pr66199-9.c: Move ...
6876	* testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
6877	* testsuite/libgomp.c/pr69389.c: Move ...
6878	* testsuite/libgomp.c-c++-common/pr69389.c: ... here.
6879	* testsuite/libgomp.c/simd-14.c: Move ...
6880	* testsuite/libgomp.c-c++-common/simd-14.c: ... here.
6881	* testsuite/libgomp.c/simd-15.c: Move ...
6882	* testsuite/libgomp.c-c++-common/simd-15.c: ... here.
6883	* testsuite/libgomp.c/simd-16.c: Move ...
6884	* testsuite/libgomp.c-c++-common/simd-16.c: ... here.
6885	* testsuite/libgomp.c/simd-17.c: Move ...
6886	* testsuite/libgomp.c-c++-common/simd-17.c: ... here.
6887	* testsuite/libgomp.c/target-1.c: Move ...
6888	* testsuite/libgomp.c-c++-common/target-1.c: ... here.
6889	* testsuite/libgomp.c/target-10.c: Move ...
6890	* testsuite/libgomp.c-c++-common/target-10.c: ... here.
6891	* testsuite/libgomp.c/target-13.c: Move ...
6892	* testsuite/libgomp.c-c++-common/target-13.c: ... here.
6893	* testsuite/libgomp.c/target-2.c: Move ...
6894	* testsuite/libgomp.c-c++-common/target-2.c: ... here.
6895	* testsuite/libgomp.c/taskgroup-1.c: Move ...
6896	* testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
6897	* testsuite/libgomp.c/taskloop-1.c: Move ...
6898	* testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
6899	* testsuite/libgomp.c/taskloop-2.c: Move ...
6900	* testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
6901	* testsuite/libgomp.c/taskloop-3.c: Move ...
6902	* testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
6903	* testsuite/libgomp.c/taskloop-4.c: Move ...
6904	* testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
6905	* testsuite/libgomp.c/udr-1.c: Move ...
6906	* testsuite/libgomp.c-c++-common/udr-1.c: ... here.
6907	* testsuite/libgomp.c/for-1.c: Move ...
6908	* testsuite/libgomp.c-c++-common/for-1.c: ... here.
6909	* testsuite/libgomp.c/for-1.h: Move ...
6910	* testsuite/libgomp.c-c++-common/for-1.h: ... here.
6911	* testsuite/libgomp.c/for-2.c: Move ...
6912	* testsuite/libgomp.c-c++-common/for-2.c: ... here.
6913	* testsuite/libgomp.c/for-2.h: Move ...
6914	* testsuite/libgomp.c-c++-common/for-2.h: ... here.
6915	* testsuite/libgomp.c/for-3.c: Move ...
6916	* testsuite/libgomp.c-c++-common/for-3.c: ... here.
6917	* testsuite/libgomp.c/for-4.c: Move ...
6918	* testsuite/libgomp.c-c++-common/for-4.c: ... here.
6919	* testsuite/libgomp.c/for-5.c: Move ...
6920	* testsuite/libgomp.c-c++-common/for-5.c: ... here.
6921	* testsuite/libgomp.c/for-6.c: Move ...
6922	* testsuite/libgomp.c-c++-common/for-6.c: ... here.
6923
69242018-05-02  Tom de Vries  <tom@codesourcery.com>
6925
6926	PR libgomp/82428
6927	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
6928	__builtin_goacc_parlevel_{id,size}.
6929	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
6930	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
6931	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
6932	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
6933	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
6934	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
6935	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
6936	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
6937	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
6938	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
6939	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
6940	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
6941	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
6942	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
6943	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
6944	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
6945	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
6946	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
6947	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
6948	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
6949	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
6950	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
6951	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
6952
69532018-05-02  Tom de Vries  <tom@codesourcery.com>
6954
6955	PR testsuite/85106
6956	* testsuite/lib/libgomp.exp: Include scanltranstree.exp.
6957
69582018-05-02  Tom de Vries  <tom@codesourcery.com>
6959
6960	PR testsuite/85106
6961	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
6962
69632018-04-29  Julian Brown  <julian@codesourcery.com>
6964	    Tom de Vries  <tom@codesourcery.com>
6965
6966	PR testsuite/85527
6967	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
6968	arbitrary order for iterations of atomic subtract check.
6969
69702018-04-28  Tom de Vries  <tom@codesourcery.com>
6971
6972	PR testsuite/85527
6973	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
6974	atomic capture results obtained in parallel loop to an array, instead of
6975	to a scalar.
6976
69772018-04-26  Tom de Vries  <tom@codesourcery.com>
6978
6979	PR libgomp/84020
6980	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
6981	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
6982	(process_GOMP_NVPTX_JIT): New function.
6983	(link_ptx): Use process_GOMP_NVPTX_JIT.
6984
69852018-04-26  Richard Biener <rguenther@suse.de>
6986	    Tom de Vries  <tom@codesourcery.com>
6987
6988	PR lto/85422
6989	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
6990
69912018-04-26  Tom de Vries  <tom@codesourcery.com>
6992
6993	PR target/85519
6994	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
6995	recursion depth from 25 to 23.
6996	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
6997
69982018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
6999
7000	* configure: Regenerated.
7001
70022018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
7003	    Tom de Vries  <tom@codesourcery.com>
7004
7005	PR target/85445
7006	* testsuite/libgomp.oacc-c++/ref-1.C: New.
7007
70082018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
7009
7010	PR libgomp/85463
7011	* testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7012	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7013	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7014	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7015	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7016	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7017
7018	PR libfortran/85166
7019	* testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7020	abort".
7021	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7022
70232018-04-19  Jakub Jelinek  <jakub@redhat.com>
7024
7025	* configure: Regenerated.
7026
70272018-04-18  David Malcolm  <dmalcolm@redhat.com>
7028
7029	PR jit/85384
7030	* configure: Regenerate.
7031
70322018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
7033	    Tom de Vries  <tom@codesourcery.com>
7034
7035	PR middle-end/84955
7036	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7037	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7038
70392018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
7040
7041	PR fortran/83064
7042	PR testsuite/85346
7043	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7044	test from gfortran.dg to here.
7045
70462018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
7047
7048	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7049	* testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7050
70512018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
7052
7053	PR middle-end/84955
7054	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7055	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7056
70572018-04-05  Tom de Vries  <tom@codesourcery.com>
7058
7059	PR target/85204
7060	* testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7061
70622018-03-26  Tom de Vries  <tom@codesourcery.com>
7063
7064	PR tree-optimization/85063
7065	* testsuite/libgomp.c/switch-conversion-2.c: New test.
7066	* testsuite/libgomp.c/switch-conversion.c: New test.
7067	* testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
7068	* testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
7069
70702018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
7071
7072	PR fortran/84381
7073	* testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
7074	call abort by STOP n.
7075	* testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
7076	* testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
7077	* testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
7078	* testsuite/libgomp.fortran/allocatable1.f90: Likewise.
7079	* testsuite/libgomp.fortran/allocatable10.f90: Likewise.
7080	* testsuite/libgomp.fortran/allocatable11.f90: Likewise.
7081	* testsuite/libgomp.fortran/allocatable12.f90: Likewise.
7082	* testsuite/libgomp.fortran/allocatable2.f90: Likewise.
7083	* testsuite/libgomp.fortran/allocatable3.f90: Likewise.
7084	* testsuite/libgomp.fortran/allocatable4.f90: Likewise.
7085	* testsuite/libgomp.fortran/allocatable5.f90: Likewise.
7086	* testsuite/libgomp.fortran/allocatable6.f90: Likewise.
7087	* testsuite/libgomp.fortran/allocatable7.f90: Likewise.
7088	* testsuite/libgomp.fortran/allocatable8.f90: Likewise.
7089	* testsuite/libgomp.fortran/allocatable9.f90: Likewise.
7090	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
7091	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
7092	* testsuite/libgomp.fortran/associate1.f90: Likewise.
7093	* testsuite/libgomp.fortran/associate2.f90: Likewise.
7094	* testsuite/libgomp.fortran/associate3.f90: Likewise.
7095	* testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
7096	* testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
7097	* testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
7098	* testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
7099	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
7100	* testsuite/libgomp.fortran/character1.f90: Likewise.
7101	* testsuite/libgomp.fortran/character2.f90: Likewise.
7102	* testsuite/libgomp.fortran/collapse1.f90: Likewise.
7103	* testsuite/libgomp.fortran/collapse2.f90: Likewise.
7104	* testsuite/libgomp.fortran/collapse3.f90: Likewise.
7105	* testsuite/libgomp.fortran/collapse4.f90: Likewise.
7106	* testsuite/libgomp.fortran/crayptr1.f90: Likewise.
7107	* testsuite/libgomp.fortran/crayptr2.f90: Likewise.
7108	* testsuite/libgomp.fortran/crayptr3.f90: Likewise.
7109	* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
7110	* testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
7111	* testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
7112	* testsuite/libgomp.fortran/depend-1.f90: Likewise.
7113	* testsuite/libgomp.fortran/depend-2.f90: Likewise.
7114	* testsuite/libgomp.fortran/depend-3.f90: Likewise.
7115	* testsuite/libgomp.fortran/do1.f90: Likewise.
7116	* testsuite/libgomp.fortran/do2.f90: Likewise.
7117	* testsuite/libgomp.fortran/doacross1.f90: Likewise.
7118	* testsuite/libgomp.fortran/doacross2.f90: Likewise.
7119	* testsuite/libgomp.fortran/doacross3.f90: Likewise.
7120	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
7121	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
7122	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
7123	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7124	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
7125	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
7126	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
7127	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
7128	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
7129	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7130	* testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
7131	* testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
7132	* testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
7133	* testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
7134	* testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
7135	* testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
7136	* testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
7137	* testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
7138	* testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
7139	* testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
7140	* testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
7141	* testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
7142	* testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
7143	* testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
7144	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7145	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
7146	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
7147	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
7148	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
7149	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
7150	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7151	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7152	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
7153	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
7154	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
7155	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
7156	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
7157	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
7158	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
7159	* testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
7160	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
7161	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7162	* testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
7163	* testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
7164	* testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
7165	* testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
7166	* testsuite/libgomp.fortran/lib1.f90: Likewise.
7167	* testsuite/libgomp.fortran/lib2.f: Likewise.
7168	* testsuite/libgomp.fortran/lib3.f: Likewise.
7169	* testsuite/libgomp.fortran/lib4.f90: Likewise.
7170	* testsuite/libgomp.fortran/lock-1.f90: Likewise.
7171	* testsuite/libgomp.fortran/lock-2.f90: Likewise.
7172	* testsuite/libgomp.fortran/nested1.f90: Likewise.
7173	* testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
7174	* testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
7175	* testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
7176	* testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
7177	* testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
7178	* testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
7179	* testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
7180	* testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
7181	* testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
7182	* testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
7183	* testsuite/libgomp.fortran/omp_cond1.f: Likewise.
7184	* testsuite/libgomp.fortran/omp_cond2.f: Likewise.
7185	* testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
7186	* testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
7187	* testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
7188	* testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
7189	* testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
7190	* testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
7191	* testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
7192	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7193	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
7194	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
7195	* testsuite/libgomp.fortran/pointer1.f90: Likewise.
7196	* testsuite/libgomp.fortran/pointer2.f90: Likewise.
7197	* testsuite/libgomp.fortran/pr25162.f: Likewise.
7198	* testsuite/libgomp.fortran/pr25219.f90: Likewise.
7199	* testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
7200	* testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
7201	* testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
7202	* testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
7203	* testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
7204	* testsuite/libgomp.fortran/pr28390.f: Likewise.
7205	* testsuite/libgomp.fortran/pr29629.f90: Likewise.
7206	* testsuite/libgomp.fortran/pr32550.f90: Likewise.
7207	* testsuite/libgomp.fortran/pr33880.f90: Likewise.
7208	* testsuite/libgomp.fortran/pr34020.f90: Likewise.
7209	* testsuite/libgomp.fortran/pr35130.f90: Likewise.
7210	* testsuite/libgomp.fortran/pr42162.f90: Likewise.
7211	* testsuite/libgomp.fortran/pr46753.f90: Likewise.
7212	* testsuite/libgomp.fortran/pr48894.f90: Likewise.
7213	* testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
7214	* testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
7215	* testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
7216	* testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
7217	* testsuite/libgomp.fortran/pr65597.f90: Likewise.
7218	* testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
7219	* testsuite/libgomp.fortran/pr71014.f90: Likewise.
7220	* testsuite/libgomp.fortran/pr81304.f90: Likewise.
7221	* testsuite/libgomp.fortran/pr81841.f90: Likewise.
7222	* testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
7223	* testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
7224	* testsuite/libgomp.fortran/procptr1.f90: Likewise.
7225	* testsuite/libgomp.fortran/recursion1.f90: Likewise.
7226	* testsuite/libgomp.fortran/reduction1.f90: Likewise.
7227	* testsuite/libgomp.fortran/reduction2.f90: Likewise.
7228	* testsuite/libgomp.fortran/reduction3.f90: Likewise.
7229	* testsuite/libgomp.fortran/reduction4.f90: Likewise.
7230	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
7231	* testsuite/libgomp.fortran/reduction6.f90: Likewise.
7232	* testsuite/libgomp.fortran/reference1.f90: Likewise.
7233	* testsuite/libgomp.fortran/reference2.f90: Likewise.
7234	* testsuite/libgomp.fortran/retval1.f90: Likewise.
7235	* testsuite/libgomp.fortran/retval2.f90: Likewise.
7236	* testsuite/libgomp.fortran/sharing1.f90: Likewise.
7237	* testsuite/libgomp.fortran/sharing2.f90: Likewise.
7238	* testsuite/libgomp.fortran/simd1.f90: Likewise.
7239	* testsuite/libgomp.fortran/simd2.f90: Likewise.
7240	* testsuite/libgomp.fortran/simd3.f90: Likewise.
7241	* testsuite/libgomp.fortran/simd4.f90: Likewise.
7242	* testsuite/libgomp.fortran/simd5.f90: Likewise.
7243	* testsuite/libgomp.fortran/simd6.f90: Likewise.
7244	* testsuite/libgomp.fortran/simd7.f90: Likewise.
7245	* testsuite/libgomp.fortran/stack.f90: Likewise.
7246	* testsuite/libgomp.fortran/strassen.f90: Likewise.
7247	* testsuite/libgomp.fortran/tabs1.f90: Likewise.
7248	* testsuite/libgomp.fortran/tabs2.f: Likewise.
7249	* testsuite/libgomp.fortran/target1.f90: Likewise.
7250	* testsuite/libgomp.fortran/target2.f90: Likewise.
7251	* testsuite/libgomp.fortran/target3.f90: Likewise.
7252	* testsuite/libgomp.fortran/target4.f90: Likewise.
7253	* testsuite/libgomp.fortran/target5.f90: Likewise.
7254	* testsuite/libgomp.fortran/target6.f90: Likewise.
7255	* testsuite/libgomp.fortran/target7.f90: Likewise.
7256	* testsuite/libgomp.fortran/target8.f90: Likewise.
7257	* testsuite/libgomp.fortran/task1.f90: Likewise.
7258	* testsuite/libgomp.fortran/task2.f90: Likewise.
7259	* testsuite/libgomp.fortran/task3.f90: Likewise.
7260	* testsuite/libgomp.fortran/task4.f90: Likewise.
7261	* testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
7262	* testsuite/libgomp.fortran/taskloop1.f90: Likewise.
7263	* testsuite/libgomp.fortran/taskloop2.f90: Likewise.
7264	* testsuite/libgomp.fortran/taskloop3.f90: Likewise.
7265	* testsuite/libgomp.fortran/taskloop4.f90: Likewise.
7266	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7267	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7268	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7269	* testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
7270	* testsuite/libgomp.fortran/udr1.f90: Likewise.
7271	* testsuite/libgomp.fortran/udr10.f90: Likewise.
7272	* testsuite/libgomp.fortran/udr11.f90: Likewise.
7273	* testsuite/libgomp.fortran/udr12.f90: Likewise.
7274	* testsuite/libgomp.fortran/udr13.f90: Likewise.
7275	* testsuite/libgomp.fortran/udr14.f90: Likewise.
7276	* testsuite/libgomp.fortran/udr15.f90: Likewise.
7277	* testsuite/libgomp.fortran/udr2.f90: Likewise.
7278	* testsuite/libgomp.fortran/udr3.f90: Likewise.
7279	* testsuite/libgomp.fortran/udr4.f90: Likewise.
7280	* testsuite/libgomp.fortran/udr5.f90: Likewise.
7281	* testsuite/libgomp.fortran/udr6.f90: Likewise.
7282	* testsuite/libgomp.fortran/udr7.f90: Likewise.
7283	* testsuite/libgomp.fortran/udr8.f90: Likewise.
7284	* testsuite/libgomp.fortran/udr9.f90: Likewise.
7285	* testsuite/libgomp.fortran/vla1.f90: Likewise.
7286	* testsuite/libgomp.fortran/vla2.f90: Likewise.
7287	* testsuite/libgomp.fortran/vla3.f90: Likewise.
7288	* testsuite/libgomp.fortran/vla4.f90: Likewise.
7289	* testsuite/libgomp.fortran/vla5.f90: Likewise.
7290	* testsuite/libgomp.fortran/vla6.f90: Likewise.
7291	* testsuite/libgomp.fortran/vla7.f90: Likewise.
7292	* testsuite/libgomp.fortran/vla8.f90: Likewise.
7293	* testsuite/libgomp.fortran/workshare1.f90: Likewise.
7294	* testsuite/libgomp.fortran/workshare2.f90: Likewise.
7295	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7296	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7297	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7298	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7299	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7300	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7301	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7302	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7303	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7304	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
7305	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7306	* testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
7307	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7308	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7309	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7310	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7311	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7312	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7313	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7314	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7315	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7316	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
7317	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
7318	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7319	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7320	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7321	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7322	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7323	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7324	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7325	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7326	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7327	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7328	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7329	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7330	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7331	* testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
7332	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7333	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
7334	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7335	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
7336	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
7337	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
7338	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
7339	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7340	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7341	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7342	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7343	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7344	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7345	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7346	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7347	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7348	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7349	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7350	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7351	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7352	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7353	* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7354	* testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7355	* testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7356	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7357	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7358	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7359	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
7360	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7361	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
7362	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7363	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
7364	* testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
7365	* testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
7366	* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
7367	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7368	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7369	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7370	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7371	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7372	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7373	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7374	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7375	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
7376	* testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
7377	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7378	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7379	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7380	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7381	* testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
7382	* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
7383	* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
7384	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7385	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7386	* testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
7387
73882018-03-20  Richard Biener  <rguenther@suse.de>
7389
7390	* testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
7391	parallelizable loop.
7392
73932018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
7394
7395	PR target/84148
7396	* configure: Regenerate.
7397
73982018-02-16  Jakub Jelinek  <jakub@redhat.com>
7399
7400	PR fortran/84418
7401	* libgomp.fortran/pr84418-1.f90: New test.
7402	* libgomp.fortran/pr84418-2.f90: New test.
7403
74042018-02-14  Jakub Jelinek  <jakub@redhat.com>
7405
7406	PR fortran/84313
7407	* testsuite/libgomp.fortran/threadprivate4.f90: Add
7408	-std=f2003 -fall-intrinsics into dg-additional-options.
7409
74102018-02-08  Martin Jambor  <mjambor@suse.cz>
7411
7412	* testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
7413	clonable.
7414
74152018-02-08  Martin Jambor  <mjambor@suse.cz>
7416
7417	* testsuite/libgomp.hsa.c/staticvar.c: New test.
7418
74192018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7420
7421	* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
7422	[__cplusplus]: Declare extern "C".
7423
74242018-02-07  Tom de Vries  <tom@codesourcery.com>
7425
7426	PR libgomp/84217
7427	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
7428
74292018-01-29  Christoph Spiel  <cspiel@freenet.de>
7430	    Jakub Jelinek  <jakub@redhat.com>
7431
7432	PR libgomp/84096
7433	* omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
7434	instead of omp_lock_t.
7435
74362018-01-25  Tom de Vries  <tom@codesourcery.com>
7437
7438	PR target/84028
7439	* testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
7440
74412018-01-24  Tom de Vries  <tom@codesourcery.com>
7442
7443	PR target/83589
7444	* testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
7445
74462018-01-24  Tom de Vries  <tom@codesourcery.com>
7447
7448	PR target/81352
7449	* testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
7450
74512018-01-19  Tom de Vries  <tom@codesourcery.com>
7452	    Cesar Philippidis  <cesar@codesourcery.com>
7453
7454	PR target/83920
7455	* testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
7456	* testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
7457
74582018-01-03  Jakub Jelinek  <jakub@redhat.com>
7459
7460	Update copyright years.
7461
7462	* libgomp.texi: Bump @copying's copyright year.
7463
74642017-12-30  Tom de Vries  <tom@codesourcery.com>
7465
7466	PR libgomp/83046
7467	* testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
7468	* testsuite/libgomp.c-c++-common/pr83046.c: New test.
7469
74702017-12-27  Tom de Vries  <tom@codesourcery.com>
7471
7472	PR c++/83046
7473	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
7474	(test_nonstatic): Fix return type to workaround PR83046.
7475
74762017-12-05  Jakub Jelinek  <jakub@redhat.com>
7477
7478	PR testsuite/83281
7479	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
7480	j suffix instead of i.
7481	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
7482	Likewise.
7483
74842017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
7485
7486	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
7487	call to acc_wait (1).
7488
74892017-11-24  Jakub Jelinek  <jakub@redhat.com>
7490
7491	PR fortran/81304
7492	* testsuite/libgomp.fortran/pr81304.f90: New test.
7493
74942017-11-23  Jakub Jelinek  <jakub@redhat.com>
7495
7496	PR fortran/81841
7497	* libgomp.fortran/pr81841.f90: New test.
7498
74992017-11-22  Jakub Jelinek  <jakub@redhat.com>
7500
7501	PR libgomp/83106
7502	* target.c (gomp_target_init): Compute lengths just once and
7503	use them in both malloc size and subsequent copying.
7504
75052017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
7506
7507	* configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
7508	* acinclude.m4: Add cet.m4.
7509	* configure: Regenerate.
7510	* Makefile.in: Likewise.
7511	* testsuite/Makefile.in: Likewise.
7512
75132017-11-15  Tom de Vries  <tom@codesourcery.com>
7514
7515	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
7516	from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
7517	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
7518	from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
7519	* testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
7520	from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
7521
75222017-11-14  Tom de Vries  <tom@codesourcery.com>
7523
7524	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
7525	non-nvidia devices.
7526
75272017-11-07  Jakub Jelinek  <jakub@redhat.com>
7528
7529	PR c++/82835
7530	* testsuite/libgomp.c++/pr82835.C: New test.
7531
75322017-11-06  Martin Liska  <mliska@suse.cz>
7533
7534	* testsuite/libgomp.c++/loop-2.C: Return a value
7535	for functions with non-void return type, or change type to void,
7536	or add -Wno-return-type for test.
7537	* testsuite/libgomp.c++/loop-4.C: Likewise.
7538	* testsuite/libgomp.c++/parallel-1.C: Likewise.
7539	* testsuite/libgomp.c++/shared-1.C: Likewise.
7540	* testsuite/libgomp.c++/single-1.C: Likewise.
7541	* testsuite/libgomp.c++/single-2.C: Likewise.
7542
75432017-10-31  Tom de Vries  <tom@codesourcery.com>
7544
7545	* plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
7546	"do {} while (false)".
7547	(init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
7548	after HSA_DEBUG call.
7549
75502017-10-28  Jakub Jelinek  <jakub@redhat.com>
7551
7552	* target.c (struct gomp_coalesce_buf): New type.
7553	(MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
7554	(gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
7555	(gomp_copy_host2dev): Add CBUF argument, if copying into
7556	the cached ranges, memcpy into buffer instead of copying
7557	into device.
7558	(gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
7559	Add CBUF argument, pass it through to other calls.
7560	(gomp_map_vars): Aggregate copies from host to device if small enough
7561	and with small enough gaps in between into memcpy into a buffer and
7562	fewer host to device copies from the buffer.
7563	(gomp_update): Adjust gomp_copy_host2dev caller.
7564
75652017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
7566
7567	* testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
7568	run" directive.
7569	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7570	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7571	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7572	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7573
75742017-10-16  Tom de Vries  <tom@codesourcery.com>
7575
7576	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
7577	openacc_nvidia_accel_selected.
7578	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
7579	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
7580	* testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
7581	* testsuite/libgomp.oacc-fortran/declare-4.f90: Same
7582	* testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
7583	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
7584	openacc_nvidia_accel_selected. Skip for shared memory device.
7585	* testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
7586	* testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
7587
75882017-10-09  Martin Jambor  <mjambor@suse.cz>
7589
7590	PR hsa/82416
7591	* testsuite/libgomp.hsa.c/pr82416.c: New test.
7592
75932017-10-07  Tom de Vries  <tom@codesourcery.com>
7594
7595	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
7596	Remove acc_device_nvidia references.
7597	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
7598	Same.
7599
76002017-10-05  Tom de Vries  <tom@codesourcery.com>
7601
7602	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
7603	vector_length(32) clause from acc parallel directive.
7604	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
7605
76062017-10-04  Tom de Vries  <tom@codesourcery.com>
7607
7608	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
7609	(main): Reduce sum of arr elements.  Assert that hres is exactly
7610	representable in 32-bit floating point.
7611	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
7612	(main): Reduce sum of arr elements.  Assert that hres and hmres are
7613	exactly representable in 32-bit floating point.
7614	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
7615
76162017-09-28  Tom de Vries  <tom@codesourcery.com>
7617
7618	* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
7619	setting.
7620	* testsuite/libgomp.c++/pr69393.C: Same.
7621	* testsuite/libgomp.c++/taskloop-1.C: Same.
7622	* testsuite/libgomp.c++/taskloop-3.C: Same.
7623	* testsuite/libgomp.c++/taskloop-4.C: Same.
7624	* testsuite/libgomp.c/for-4.c: Same.
7625	* testsuite/libgomp.c/pr66199-3.c: Same.
7626	* testsuite/libgomp.c/pr66199-4.c: Same.
7627	* testsuite/libgomp.c/pr66199-6.c: Same.
7628	* testsuite/libgomp.c/taskloop-1.c: Same.
7629	* testsuite/libgomp.c/taskloop-3.c: Same.
7630	* testsuite/libgomp.c/taskloop-4.c: Same.
7631	* testsuite/libgomp.fortran/aligned1.f03: Same.
7632	* testsuite/libgomp.fortran/condinc1.f: Same.
7633	* testsuite/libgomp.fortran/condinc3.f90: Same.
7634	* testsuite/libgomp.fortran/crayptr1.f90: Same.
7635	* testsuite/libgomp.fortran/crayptr2.f90: Same.
7636	* testsuite/libgomp.fortran/crayptr3.f90: Same.
7637	* testsuite/libgomp.fortran/omp_cond1.f: Same.
7638	* testsuite/libgomp.fortran/omp_cond3.F90: Same.
7639	* testsuite/libgomp.fortran/pr66199-1.f90: Same.
7640	* testsuite/libgomp.fortran/pr66199-2.f90: Same.
7641	* testsuite/libgomp.fortran/recursion1.f90: Same.
7642	* testsuite/libgomp.fortran/target2.f90: Same.
7643	* testsuite/libgomp.fortran/target5.f90: Same.
7644	* testsuite/libgomp.fortran/task3.f90: Same.
7645
76462017-09-28  Tom de Vries  <tom@codesourcery.com>
7647
7648	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
7649	vector_length(32) clause from acc parallel directive.
7650	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
7651
76522017-09-27  Tom de Vries  <tom@codesourcery.com>
7653
7654	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
7655	Remove acc_device_nvidia references.
7656
76572017-09-16  Tom de Vries  <tom@codesourcery.com>
7658
7659	PR c/81875
7660	* testsuite/libgomp.c-c++-common/pr81875.c: New test.
7661
76622017-09-14  Tom de Vries  <tom@codesourcery.com>
7663
7664	* testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
7665	* testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
7666	* testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
7667	* testsuite/libgomp.c/c.exp: Include test-cases from
7668	libgomp.c-c++-common.
7669	* testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
7670	files.
7671
76722017-09-14  Jakub Jelinek  <jakub@redhat.com>
7673
7674	PR c++/81314
7675	* testsuite/libgomp.c++/pr81314.C: New test.
7676
76772017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
7678
7679	* libgomp.texi (Top): www.openacc.org now uses https.
7680	(Enabling OpenACC): Ditto.
7681	(acc_get_num_devices): Ditto.
7682	(acc_set_device_type): Ditto.
7683	(acc_get_device_type): Ditto.
7684	(acc_set_device_num): Ditto.
7685	(acc_get_device_num): Ditto.
7686	(acc_async_test): Ditto.
7687	(acc_async_test_all): Ditto.
7688	(acc_wait): Ditto.
7689	(acc_wait_all): Ditto.
7690	(acc_wait_all_async): Ditto.
7691	(acc_wait_async): Ditto.
7692	(acc_init): Ditto.
7693	(acc_shutdown): Ditto.
7694	(acc_on_device): Ditto.
7695	(acc_malloc): Ditto.
7696	(acc_free): Ditto.
7697	(acc_copyin): Ditto.
7698	(acc_present_or_copyin): Ditto.
7699	(acc_create): Ditto.
7700	(acc_present_or_create): Ditto.
7701	(acc_copyout): Ditto.
7702	(acc_delete): Ditto.
7703	(acc_update_device): Ditto.
7704	(acc_update_self): Ditto.
7705	(acc_map_data): Ditto.
7706	(acc_unmap_data): Ditto.
7707	(acc_deviceptr): Ditto.
7708	(acc_hostptr): Ditto.
7709	(acc_is_present): Ditto.
7710	(acc_memcpy_to_device): Ditto.
7711	(acc_memcpy_from_device): Ditto.
7712	(acc_get_current_cuda_device): Ditto.
7713	(acc_get_current_cuda_context): Ditto.
7714	(acc_get_cuda_stream): Ditto.
7715	(acc_set_cuda_stream): Ditto.
7716	(ACC_DEVICE_TYPE): Ditto.
7717	(ACC_DEVICE_NUM): Ditto.
7718	(OpenACC Library Interoperability): Ditto.
7719
77202017-08-09  Jakub Jelinek  <jakub@redhat.com>
7721
7722	PR c/81687
7723	* testsuite/libgomp.c/pr81687-1.c: New test.
7724	* testsuite/libgomp.c/pr81687-2.c: New test.
7725
77262017-08-07  Jakub Jelinek  <jakub@redhat.com>
7727
7728	PR c/69389
7729	* testsuite/libgomp.c/pr69389.c: New test.
7730	* testsuite/libgomp.c++/pr69389.C: New test.
7731
77322017-08-07  Tom de Vries  <tom@codesourcery.com>
7733
7734	PR middle-end/78266
7735	* testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
7736	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
7737
77382017-07-27  Jakub Jelinek  <jakub@redhat.com>
7739
7740	PR c/45784
7741	* testsuite/libgomp.c/pr45784.c: New test.
7742	* testsuite/libgomp.c++/pr45784.C: New test.
7743
77442017-07-19  Tom de Vries  <tom@codesourcery.com>
7745
7746	* testsuite/libgomp.oacc-c/vec.c: New test.
7747
77482017-07-03  Tom de Vries  <tom@codesourcery.com>
7749
7750	* plugin/plugin-hsa.c: Fix secure_getenv.h include.
7751
77522017-06-27  Tom de Vries  <tom@codesourcery.com>
7753
7754	* plugin/plugin-nvptx.c (notify_var): New function.
7755	(nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
7756
77572017-06-27  Tom de Vries  <tom@codesourcery.com>
7758
7759	* env.c (parse_unsigned_long_1): Factor out of ...
7760	(parse_unsigned_long): ... here.
7761	(parse_int_1): Factor out of ...
7762	(parse_int): ... here.
7763	(parse_int_secure): New function.
7764	(initialize_env): Use parse_int_secure for GOMP_DEBUG.
7765	* secure_getenv.h: Factor out of ...
7766	* plugin/plugin-hsa.c: ... here.
7767	* testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
7768
77692017-06-21  Jakub Jelinek  <jakub@redhat.com>
7770
7771	PR c++/81130
7772	* testsuite/libgomp.c++/pr81130.C: New test.
7773
77742017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7775
7776	* testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
7777	default args.
7778	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
7779	dg-xfail-run-if default args.
7780
77812017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7782
7783	* testsuite/libgomp.c/pr39591-2.c: Fix test case.
7784	* testsuite/libgomp.c/pr39591-3.c: Likewise.
7785
77862017-05-30  Jakub Jelinek  <jakub@redhat.com>
7787
7788	PR libgomp/80822
7789	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
7790	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
7791	sibling lists, depending on level just pick up what CPUs to put
7792	together into a place vs. whether add multiple ordered places.
7793
77942017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
7795
7796	* openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
7797	* libgomp.map (OACC_2.0.1): Add these.
7798	* oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
7799	for "acc_wait", and "acc_wait_all", respectively.
7800	* openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
7801	for "acc_wait", and "acc_wait_all", respectively.
7802	* openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
7803	* libgomp.texi (acc_wait, acc_wait_all): Update.
7804	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
7805	* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
7806	* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7807
7808	* openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
7809	acc_present_or_copyin and acc_present_or_create procedures,
7810	respectively.
7811	* testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
7812	generally different variants of OpenACC Runtime Library functions.
7813	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7814
7815	* testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
7816	* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7817
7818	* openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
7819	of preprocessor definitions.
7820	* libgomp.h (strong_alias): Guard by "#ifdef
7821	HAVE_ATTRIBUTE_ALIAS".
7822	* oacc-mem.c: Provide "acc_pcreate" as alias for
7823	"acc_present_or_create", and "acc_pcopyin" as alias for
7824	"acc_present_or_copyin".
7825	* libgomp.map: New version "OACC_2.0.1".
7826	(OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
7827	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
7828	its content into...
7829	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
7830	Extend testing.
7831
7832	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
7833	when disabling nvptx offloading.
7834
78352017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
7836
7837	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
7838	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7839	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7840
7841	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
7842	* testsuite/lib/libgomp.exp
7843	(check_effective_target_openacc_nvidia_accel_configured): New
7844	proc.
7845	* testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
7846	(check_effective_target_c++): New procs.
7847	* testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
7848	(check_effective_target_c++): Likewise.
7849
78502017-05-22  Jakub Jelinek  <jakub@redhat.com>
7851
7852	PR middle-end/80809
7853	* testsuite/libgomp.c/pr80809-2.c: New test.
7854	* testsuite/libgomp.c/pr80809-3.c: New test.
7855
7856	PR middle-end/80809
7857	* testsuite/libgomp.c/pr80809-1.c: New test.
7858
7859	PR middle-end/80853
7860	* testsuite/libgomp.c/pr80853.c: New test.
7861
78622017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
7863
7864	* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
7865	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
7866	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7867	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7868	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7869
7870	* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
7871	Debug output for failure.
7872
78732017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7874
7875	* testsuite/lib/libgomp.exp: Load scanlang.exp.
7876
78772017-04-27  Jakub Jelinek  <jakub@redhat.com>
7878
7879	PR bootstrap/80531
7880	* configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
7881	bootstrap compare failures.
7882
78832017-04-20  Alexander Monakov  <amonakov@ispras.ru>
7884
7885	* testsuite/libgomp.c/target-36.c: New testcase.
7886
78872017-04-13  Jakub Jelinek  <jakub@redhat.com>
7888
7889	* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
7890	instead of char.
7891
78922017-04-11  Jakub Jelinek  <jakub@redhat.com>
7893
7894	PR libgomp/80394
7895	* testsuite/libgomp.c/pr80394.c: New test.
7896
78972017-04-04  Jakub Jelinek  <jakub@redhat.com>
7898
7899	PR libgomp/79876
7900	* config/posix/thread-stacksize.h: New file.
7901	* config/darwin/thread-stacksize.h: New file.
7902	* config/nvptx/thread-stacksize.h: New file.
7903	* env.c: Include thread-stacksize.h.
7904	(initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
7905	instead of 0.  Call pthread_attr_setstacksize even if
7906	GOMP_DEFAULT_STACKSIZE is non-zero.
7907
79082017-03-30  Jakub Jelinek  <jakub@redhat.com>
7909
7910	* env.c (initialize_env): Initialize stacksize to 0.
7911
79122017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
7913
7914	PR c++/80029
7915	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
7916
79172017-03-08  Jakub Jelinek  <jakub@redhat.com>
7918
7919	PR c/79940
7920	* testsuite/libgomp.c/pr79940.c: New test.
7921
79222017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7923
7924	* testsuite/libgomp.c/pr48591.c: Enable on all __float128
7925	targets.
7926	Add __float128 options.
7927
79282017-02-11  John David Anglin  <danglin@gcc.gnu.org>
7929
7930	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
7931	hppa*-*-* dg-skip-if directive.
7932
79332017-02-09  Jakub Jelinek  <jakub@redhat.com>
7934
7935	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
7936	dg-skip-if directive into a comment.
7937
79382017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
7939	    Chung-Lin Tang  <cltang@codesourcery.com>
7940
7941	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
7942	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
7943	add additional case.
7944	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
7945	"openacc_nvidia_accel_selected".
7946	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
7947	Add num_workers(8) clause.
7948
79492017-02-08  John David Anglin  <danglin@gcc.gnu.org>
7950
7951	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
7952	hppa*-*-*.
7953	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
7954	include complex.h on hppa*-*-hpux*.
7955	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
7956
79572017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
7958
7959	* plugin/plugin-nvptx.c (nvptx_exec): Make it static.
7960
7961	* libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
7962	GOMP_OFFLOAD_openacc_exec.  Adjust all users.
7963	(GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
7964	GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
7965	(GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
7966	GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
7967	(GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
7968	GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
7969	(GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
7970	GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
7971
79722017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
7973
7974	* libgomp-plugin.h: #include <stdbool.h>.
7975	(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
7976	(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
7977	(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
7978	(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
7979	(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
7980	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
7981	(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
7982	(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
7983	(GOMP_OFFLOAD_openacc_register_async_cleanup)
7984	(GOMP_OFFLOAD_openacc_async_test)
7985	(GOMP_OFFLOAD_openacc_async_test_all)
7986	(GOMP_OFFLOAD_openacc_async_wait)
7987	(GOMP_OFFLOAD_openacc_async_wait_async)
7988	(GOMP_OFFLOAD_openacc_async_wait_all)
7989	(GOMP_OFFLOAD_openacc_async_wait_all_async)
7990	(GOMP_OFFLOAD_openacc_async_set_async)
7991	(GOMP_OFFLOAD_openacc_create_thread_data)
7992	(GOMP_OFFLOAD_openacc_destroy_thread_data)
7993	(GOMP_OFFLOAD_openacc_get_current_cuda_device)
7994	(GOMP_OFFLOAD_openacc_get_current_cuda_context)
7995	(GOMP_OFFLOAD_openacc_get_cuda_stream)
7996	(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
7997	* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
7998	these.
7999	* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8000	(GOMP_OFFLOAD_unload_image): Fix argument types.
8001
80022017-01-26  Jakub Jelinek  <jakub@redhat.com>
8003
8004	* testsuite/lib/libgomp.exp
8005	(check_effective_target_hsa_offloading_selected_nocache): Fix up
8006	check_compile invocation.  Fix up removal of executable.  Drop
8007	bogus "2>&1" argument.
8008
8009	* testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8010	directive.
8011
80122017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
8013	    Martin Jambor  <mjambor@suse.cz>
8014
8015	* plugin/hsa.h: Moved to top level include.
8016	* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8017
80182017-01-21  Jakub Jelinek  <jakub@redhat.com>
8019
8020	PR other/79046
8021	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8022	of cat to get version from BASE-VER file.
8023	* testsuite/Makefile.in: Regenerated.
8024
80252017-01-19  Jakub Jelinek  <jakub@redhat.com>
8026
8027	* plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8028	for _WIN64.
8029
80302017-01-17  Jakub Jelinek  <jakub@redhat.com>
8031
8032	* plugin/hsa.h: Add GCC runtime library exception.
8033	* plugin/hsa_ext_finalize.h: Likewise.
8034
8035	* plugin/configfrag.ac: For --without-cuda-driver don't initialize
8036	CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
8037	CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8038	cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8039	plugin/include/cuda as include dir and -ldl instead of -lcuda as
8040	library to link ptx plugin against.
8041	* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8042	(CUDA_CALLS): Define.
8043	(cuda_lib, cuda_lib_inited): New variables.
8044	(init_cuda_lib): New function.
8045	(CUDA_CALL_PREFIX): Define.
8046	(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8047	(CUDA_CALL): Use FN instead of (FN).
8048	(CUDA_CALL_NOCHECK): Define.
8049	(cuda_error, fini_streams_for_device, select_stream_for_async,
8050	nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8051	event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8052	nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8053	nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8054	CUDA_CALL_NOCHECK.
8055	(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
8056	CUDA_CALL_NOCHECK.
8057	(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8058	Use CUDA_CALL_NOCHECK.
8059	* plugin/cuda/cuda.h: New file.
8060	* config.h.in: Regenerated.
8061	* configure: Regenerated.
8062
8063	PR other/79046
8064	* configure.ac: Add GCC_BASE_VER.
8065	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8066	get version from BASE-VER file.
8067	* testsuite/Makefile.in: Regenerated.
8068	* configure: Regenerated.
8069	* Makefile.in: Regenerated.
8070
80712017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
8072
8073	PR libgomp/60670
8074	* Makefile.am: Make fincludedir multilib-aware.
8075	* Makefile.in: Regenerate.
8076
80772017-01-01  Jakub Jelinek  <jakub@redhat.com>
8078
8079	Update copyright years.
8080
8081	* libgomp.texi: Bump @copying's copyright year.
8082
80832016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8084
8085	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
8086	pthread_spinlock_t instead of gomp_mutex_t lock.
8087	(gomp_get_thread_pool): Likewise.
8088	(gomp_release_thread_pool): Likewise.
8089	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
8090	Likewise.
8091
80922016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8093
8094	* config/rtems/pool.h (gomp_get_thread_pool): Return proper
8095	thread pool in case nthreads == 1.
8096
80972016-11-30  Alexander Monakov  <amonakov@ispras.ru>
8098
8099	* config/nvptx/env.c: Delete.
8100	* icv.c: Move definitions of ICV variables back ...
8101	* env.c: ...here.  Do not compile environment-related functionality if
8102	LIBGOMP_OFFLOADED_ONLY is set.
8103
81042016-11-30  Alexander Monakov  <amonakov@ispras.ru>
8105
8106	* configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
8107	(LIBGOMP_OFFLOADED_ONLY): ...here; new define.
8108	* configure: Regenerate.
8109	* config.h.in: Likewise.
8110
81112016-11-30  Alexander Monakov  <amonakov@ispras.ru>
8112
8113	* Makefile.in: Regenerate with automake-1.11.6.
8114	* aclocal.m4: Likewise.
8115	* configure: Likewise.
8116	* testsuite/Makefile.in: Likewise.
8117
81182016-11-28  Alexander Monakov  <amonakov@ispras.ru>
8119
8120	* config/nvptx/critical.c: Delete to use generic implementation.
8121
81222016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
8123
8124	* config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
8125	../../affinity.c as fallback.
8126	* config/nvptx/affinity.c: Delete to use fallback implementation.
8127
81282016-11-23  Alexander Monakov  <amonakov@ispras.ru>
8129	    Jakub Jelinek  <jakub@redhat.com>
8130	    Dmitry Melnik  <dm@ispras.ru>
8131
8132	* Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
8133	* Makefile.in. Regenerate.
8134	* configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
8135	(LIBGOMP_USE_PTHREADS): ...here; new define.
8136	* configure: Regenerate.
8137	* config.h.in: Likewise.
8138	* config/posix/affinity.c: Move to...
8139	* affinity.c: ...here (new file).  Guard use of Pthreads-specific
8140	interface by LIBGOMP_USE_PTHREADS.
8141	* critical.c: Split out GOMP_atomic_{start,end} into...
8142	* atomic.c: ...here (new file).
8143	* env.c: Split out ICV definitions into...
8144	* icv.c: ...here (new file) and...
8145	* icv-device.c: ...here. New file.
8146	* config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
8147	(gomp_destroy_lock_30): Ditto.
8148	(gomp_set_lock_30): Ditto.
8149	(gomp_unset_lock_30): Ditto.
8150	(gomp_test_lock_30): Ditto.
8151	(gomp_init_nest_lock_30): Ditto.
8152	(gomp_destroy_nest_lock_30): Ditto.
8153	(gomp_set_nest_lock_30): Ditto.
8154	(gomp_unset_nest_lock_30): Ditto.
8155	(gomp_test_nest_lock_30): Ditto.
8156	* lock.c: New.
8157	* config/nvptx/lock.c: New.
8158	* config/nvptx/bar.c: New.
8159	* config/nvptx/bar.h: New.
8160	* config/nvptx/doacross.h: New.
8161	* config/nvptx/error.c: New.
8162	* config/nvptx/icv-device.c: New.
8163	* config/nvptx/mutex.h: New.
8164	* config/nvptx/pool.h: New.
8165	* config/nvptx/proc.c: New.
8166	* config/nvptx/ptrlock.h: New.
8167	* config/nvptx/sem.h: New.
8168	* config/nvptx/simple-bar.h: New.
8169	* config/nvptx/target.c: New.
8170	* config/nvptx/task.c: New.
8171	* config/nvptx/team.c: New.
8172	* config/nvptx/time.c: New.
8173	* config/posix/simple-bar.h: New.
8174	* libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
8175	(gomp_num_teams_var): Declare.
8176	(struct gomp_thread_pool): Change threads_dock member to
8177	gomp_simple_barrier_t.
8178	[__nvptx__] (gomp_thread): New implementation.
8179	(gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
8180	(gomp_thread_destructor): Ditto.
8181	(gomp_init_thread_affinity): Ditto.
8182	* team.c: Guard uses of Pthreads-specific interfaces by
8183	LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
8184	(gomp_free_thread) [__nvptx__]: Do not call 'free'.
8185	* config/nvptx/alloc.c: Delete.
8186	* config/nvptx/barrier.c: Ditto.
8187	* config/nvptx/fortran.c: Ditto.
8188	* config/nvptx/iter.c: Ditto.
8189	* config/nvptx/iter_ull.c: Ditto.
8190	* config/nvptx/loop.c: Ditto.
8191	* config/nvptx/loop_ull.c: Ditto.
8192	* config/nvptx/ordered.c: Ditto.
8193	* config/nvptx/parallel.c: Ditto.
8194	* config/nvptx/priority_queue.c: Ditto.
8195	* config/nvptx/sections.c: Ditto.
8196	* config/nvptx/single.c: Ditto.
8197	* config/nvptx/splay-tree.c: Ditto.
8198	* config/nvptx/work.c: Ditto.
8199	* testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
8200	-foffload=-lgfortran in addition to -lgfortran.
8201	* testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
8202	* plugin/plugin-nvptx.c: Include <limits.h>.
8203	(struct targ_fn_descriptor): Add new fields.
8204	(struct ptx_device): Ditto.  Set them...
8205	(nvptx_open_device): ...here.
8206	(nvptx_adjust_launch_bounds): New.
8207	(nvptx_host2dev): Allow NULL 'nvthd'.
8208	(nvptx_dev2host): Ditto.
8209	(GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
8210	(link_ptx): Adjust log sizes.
8211	(nvptx_host2dev): Allow NULL 'nvthd'.
8212	(nvptx_dev2host): Ditto.
8213	(nvptx_set_clocktick): New.  Use it...
8214	(GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
8215	fields.
8216	(GOMP_OFFLOAD_dev2dev): New.
8217	(nvptx_adjust_launch_bounds): New.
8218	(nvptx_stacks_size): New.
8219	(nvptx_stacks_alloc): New.
8220	(nvptx_stacks_free): New.
8221	(GOMP_OFFLOAD_run): New.
8222	(GOMP_OFFLOAD_async_run): New (stub).
8223
82242016-11-23  Martin Jambor  <mjambor@suse.cz>
8225
8226	* testsuite/libgomp.hsa.c/bits-insns.c: New test.
8227	* testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
8228	* testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8229
82302016-11-23  Martin Liska  <mliska@suse.cz>
8231	    Martin Jambor  <mjambor@suse.cz>
8232
8233	* plugin/hsa.h: New file.
8234	* plugin/hsa_ext_finalize.h: New file.
8235	* plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
8236	header file unistd.h, and functions secure_getenv, __secure_getenv,
8237	getuid, geteuid, getgid and getegid.
8238	* plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
8239	-D_GNU_SOURCE.
8240	* plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
8241	Handle various cases of secure_getenv presence, add an implementation
8242	when we can test effective UID and GID.
8243	(struct hsa_runtime_fn_info): New structure.
8244	(hsa_runtime_fn_info hsa_fns): New variable.
8245	(hsa_runtime_lib): Likewise.
8246	(support_cpu_devices): Likewise.
8247	(init_enviroment_variables): Load newly introduced ENV
8248	variables.
8249	(hsa_warn): Call hsa run-time functions via hsa_fns structure.
8250	(hsa_fatal): Likewise.
8251	(DLSYM_FN): New macro.
8252	(init_hsa_runtime_functions): New function.
8253	(suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
8254	structure.  Depending on environment, also allow CPU devices.
8255	(init_hsa_context): Call hsa run-time functions via hsa_fns structure.
8256	(get_kernarg_memory_region): Likewise.
8257	(GOMP_OFFLOAD_init_device): Likewise.
8258	(destroy_hsa_program): Likewise.
8259	(init_basic_kernel_info): New function.
8260	(GOMP_OFFLOAD_load_image): Use it.
8261	(create_and_finalize_hsa_program): Call hsa run-time functions via
8262	hsa_fns structure.
8263	(create_single_kernel_dispatch): Likewise.
8264	(release_kernel_dispatch): Likewise.
8265	(init_single_kernel): Likewise.
8266	(parse_target_attributes): Allow up multiple HSA grid dimensions.
8267	(get_group_size): New function.
8268	(run_kernel): Likewise.
8269	(GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
8270	(GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
8271	structure.
8272	* testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
8273	* testsuite/libgomp-test-support.exp.in: Likewise.
8274	* Makefile.in: Regenerated.
8275	* aclocal.m4: Likewise.
8276	* config.h.in: Likewise.
8277	* configure: Likewise.
8278	* testsuite/Makefile.in: Likewise.
8279
82802016-11-15  Martin Jambor  <mjambor@suse.cz>
8281	    Alexander Monakov  <amonakov@ispras.ru>
8282
8283	* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
8284	mapping clauses to target constructs.
8285	* testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
8286
82872016-11-15  Matthias Klose  <doko@ubuntu.com>
8288
8289	* configure: Regenerate.
8290
82912016-11-10  Jakub Jelinek  <jakub@redhat.com>
8292
8293	* omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
8294	* omp_lib.h.in (openmp_version): Likewise.
8295	* testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
8296	of 201307.
8297	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8298
8299	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90
8300	(fib_wrapper): Add map(from: x) clause.
8301	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90
8302	(e_53_2): Likewise.
8303	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90
8304	(accum): Add map(tmp) clause.
8305	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90
8306	(accum): Add map(tofrom: tmp) clause.
8307	* testsuite/libgomp.fortran/examples-4/target_data-3.f90
8308	(gramSchmidt): Likewise.
8309	* testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
8310	map(tofrom: sum) clause.
8311	* testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
8312	map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
8313	* testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
8314	only allowed on the loop iterator.
8315	* testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
8316	* testsuite/libgomp.fortran/taskloop2.f90: New test.
8317	* testsuite/libgomp.fortran/taskloop4.f90: New test.
8318	* testsuite/libgomp.fortran/doacross1.f90: New test.
8319	* testsuite/libgomp.fortran/doacross3.f90: New test.
8320	* testsuite/libgomp.fortran/taskloop1.f90: New test.
8321	* testsuite/libgomp.fortran/taskloop3.f90: New test.
8322	* testsuite/libgomp.fortran/doacross2.f90: New test.
8323	* testsuite/libgomp.c/doacross-1.c (main): Add missing
8324	#pragma omp atomic read.
8325	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
8326	* testsuite/libgomp.c/doacross-3.c (main): Likewise.
8327
83282016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
8329	    Nathan Sidwell  <nathan@acm.org>
8330
8331	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
8332	to determine default geometry.
8333	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
8334	dimension.
8335
83362016-11-01  Jakub Jelinek  <jakub@redhat.com>
8337
8338	* hashtab.h: Use standard GPLv3 with runtime exception
8339	boilerplate.
8340
83412016-10-27  Aldy Hernandez  <aldyh@redhat.com>
8342
8343	* oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
8344	size when allocating new thread.
8345
83462016-09-14  Marek Polacek  <polacek@redhat.com>
8347
8348	* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
8349
83502016-08-19  Jakub Jelinek  <jakub@redhat.com>
8351
8352	PR fortran/71014
8353	* testsuite/libgomp.fortran/pr71014.f90: New test.
8354
83552016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
8356
8357	PR middle-end/70895
8358	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
8359	firstprivate clauses.
8360	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
8361	copy clauses.
8362	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8363	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8364	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
8365	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8366	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8367	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8368	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8369	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8370	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8371	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8372	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8373	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
8374
83752016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
8376
8377	PR fortran/70598
8378	* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
8379
83802016-08-08  Jakub Jelinek  <jakub@redhat.com>
8381
8382	PR c++/58706
8383	* testsuite/libgomp.c++/pr58706.C: New test.
8384
83852016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
8386
8387	* testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
8388	* testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
8389	* testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8390	Likewise.
8391	* testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
8392	* testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
8393	Likewise.
8394	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
8395
8396	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
8397	test, and don't hardcode -O0.
8398
83992016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
8400
8401	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
8402
84032016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
8404
8405	* testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
8406	test.
8407
84082016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
8409
8410	PR middle-end/71734
8411	* testsuite/libgomp.fortran/pr71734-1.f90: New test.
8412	* testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
8413
84142016-07-01  Jakub Jelinek  <jakub@redhat.com>
8415
8416	PR fortran/71717
8417	* testsuite/libgomp.fortran/associate3.f90: New test.
8418
84192016-06-17  Jakub Jelinek  <jakub@redhat.com>
8420
8421	* testsuite/libgomp.c++/target-21.C: New test.
8422
84232016-06-16  Jakub Jelinek  <jakub@redhat.com>
8424
8425	* testsuite/libgomp.c++/target-20.C: New test.
8426
84272016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
8428	    Cesar Philippidis  <cesar@codesourcery.com>
8429
8430	PR middle-end/71373
8431	* libgomp.oacc-c/nested-function-1.c: New file.
8432	* libgomp.oacc-c/nested-function-2.c: Likewise.
8433	* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8434	* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8435	* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8436
84372016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
8438
8439	PR c/71381
8440	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
8441	"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
8442	* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
8443
84442016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
8445
8446	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
8447	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
8448
84492016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
8450
8451	PR c/70688
8452	* testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
8453
84542016-05-26  Jakub Jelinek  <jakub@redhat.com>
8455
8456	* testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
8457	instead of invalid schedule(static, 0).
8458	* testsuite/libgomp.c/doacross-2.c (main): Likewise.
8459
84602016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
8461
8462	* oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
8463	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
8464	parameter, use to set async stream around call to gomp_unmap_vars,
8465	call gomp_unmap_vars() with 'do_copyfrom' set to true.
8466	* plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
8467	(event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
8468	events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
8469	(event_add): Add int parameter, initialize 'val' field when
8470	adding new ptx_event struct.
8471	(nvptx_evec): Adjust event_add() call arguments.
8472	(nvptx_host2dev): Likewise.
8473	(nvptx_dev2host): Likewise.
8474	(nvptx_wait_async): Likewise.
8475	(nvptx_wait_all_async): Likewise.
8476	(GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
8477	pass to event_add() call.
8478	* oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
8479	parameter.
8480	* oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
8481	call openacc.register_async_cleanup_func() hook.
8482	* oacc-parallel.c (GOACC_parallel_keyed): Likewise.
8483	* target.c (gomp_copy_from_async): Delete function.
8484	(gomp_map_vars): Remove async_refcount.
8485	(gomp_unmap_vars): Likewise.
8486	(gomp_load_image_to_device): Likewise.
8487	(omp_target_associate_ptr): Likewise.
8488	* libgomp.h (struct splay_tree_key_s): Remove async_refcount.
8489	(acc_dispatch_t.register_async_cleanup_func): Add int parameter.
8490	(gomp_copy_from_async): Remove.
8491
84922016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
8493
8494	* target.c (gomp_device_copy): New function.
8495	(gomp_copy_host2dev): Likewise.
8496	(gomp_copy_dev2host): Likewise.
8497	(gomp_free_device_memory): Likewise.
8498	(gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
8499	(gomp_map_pointer): Likewise.
8500	(gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
8501	NULL value from alloc_func plugin hook.
8502	(gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
8503	(gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
8504	(gomp_unmap_vars): Likewise.
8505	(gomp_update): Adjust to call gomp_copy_dev2host and
8506	gomp_copy_host2dev functions.
8507	(gomp_unload_image_from_device): Handle false value from
8508	unload_image_func plugin hook.
8509	(gomp_init_device): Handle false value from init_device_func
8510	plugin hook.
8511	(gomp_exit_data): Adjust to call gomp_copy_dev2host.
8512	(omp_target_free): Adjust to call gomp_free_device_memory.
8513	(omp_target_memcpy): Handle return values from host2dev_func,
8514	dev2host_func, and dev2dev_func plugin hooks.
8515	(omp_target_memcpy_rect_worker): Likewise.
8516	(gomp_target_fini): Handle false value from fini_device_func
8517	plugin hook.
8518	* libgomp.h (struct gomp_device_descr): Adjust return type of
8519	init_device_func, fini_device_func, unload_image_func, free_func,
8520	dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
8521	* oacc-init.c (acc_shutdown_1): Handle false value from
8522	fini_device_func plugin hook.
8523	* oacc-host.c (host_init_device): Change return type to bool.
8524	(host_fini_device): Likewise.
8525	(host_unload_image): Likewise.
8526	(host_free): Likewise.
8527	(host_dev2host): Likewise.
8528	(host_host2dev): Likewise.
8529	* oacc-mem.c (acc_free): Handle plugin hook fatal error case.
8530	(acc_memcpy_to_device): Likewise.
8531	(acc_memcpy_from_device): Likewise.
8532	(delete_copyout): Add libfnname parameter, handle free_func
8533	hook fatal error case.
8534	(acc_delete): Adjust delete_copyout call.
8535	(acc_copyout): Likewise.
8536	(update_dev_host): Move gomp_mutex_unlock to after
8537	host2dev/dev2host hook calls.
8538
8539	* plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
8540	to 'hsa_error_msg', for clarity.
8541	(hsa_fatal): Likewise.
8542	(hsa_error): New function.
8543	(init_hsa_context): Change return type to bool, adjust to return
8544	false on error.
8545	(GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
8546	return value.
8547	(GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
8548	return false on error.
8549	(get_agent_info): Adjust to return NULL on error.
8550	(destroy_hsa_program): Change return type to bool, adjust to
8551	return false on error.
8552	(GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
8553	(destroy_module): Change return type to bool, adjust to
8554	return false on error.
8555	(GOMP_OFFLOAD_unload_image): Likewise.
8556	(GOMP_OFFLOAD_fini_device): Likewise.
8557	(GOMP_OFFLOAD_alloc): Change to return NULL when called.
8558	(GOMP_OFFLOAD_free): Change to return false when called.
8559	(GOMP_OFFLOAD_dev2host): Likewise.
8560	(GOMP_OFFLOAD_host2dev): Likewise.
8561	(GOMP_OFFLOAD_dev2dev): Likewise.
8562
8563	* plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
8564	(CUDA_CALL): Likewise.
8565	(CUDA_CALL_ASSERT): Likewise.
8566	(map_init): Change return type to bool, use CUDA_CALL* macros.
8567	(map_fini): Likewise.
8568	(init_streams_for_device): Change return type to bool, adjust
8569	call to map_init.
8570	(fini_streams_for_device): Change return type to bool, adjust
8571	call to map_fini.
8572	(select_stream_for_async): Release stream_lock before calls to
8573	GOMP_PLUGIN_fatal, adjust call to map_init.
8574	(nvptx_init): Use CUDA_CALL* macros.
8575	(nvptx_attach_host_thread_to_device): Change return type to bool,
8576	use CUDA_CALL* macros.
8577	(nvptx_open_device): Use CUDA_CALL* macros.
8578	(nvptx_close_device): Change return type to bool, use CUDA_CALL*
8579	macros.
8580	(nvptx_get_num_devices): Use CUDA_CALL* macros.
8581	(link_ptx): Change return type to bool, use CUDA_CALL* macros.
8582	(nvptx_exec): Use CUDA_CALL* macros.
8583	(nvptx_alloc): Use CUDA_CALL* macros.
8584	(nvptx_free): Change return type to bool, use CUDA_CALL* macros.
8585	(nvptx_host2dev): Likewise.
8586	(nvptx_dev2host): Likewise.
8587	(nvptx_wait): Use CUDA_CALL* macros.
8588	(nvptx_wait_async): Likewise.
8589	(nvptx_wait_all): Likewise.
8590	(nvptx_wait_all_async): Likewise.
8591	(nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
8592	use CUDA_CALL* macros, adjust call to map_fini.
8593	(GOMP_OFFLOAD_init_device): Change return type to bool,
8594	adjust code accordingly.
8595	(GOMP_OFFLOAD_fini_device): Likewise.
8596	(GOMP_OFFLOAD_load_image): Adjust calls to
8597	nvptx_attach_host_thread_to_device/link_ptx to handle errors,
8598	use CUDA_CALL* macros.
8599	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
8600	return code.
8601	(GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
8602	(GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
8603	handle error return.
8604	(GOMP_OFFLOAD_dev2host): Likewise.
8605	(GOMP_OFFLOAD_host2dev): Likewise.
8606	(GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
8607	(GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
8608
86092016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
8610
8611	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
8612	(acc_free): Likewise.
8613	(acc_memcpy_to_device): Likewise.
8614	(acc_memcpy_from_device): Likewise.
8615	(acc_deviceptr): Likewise.
8616	(acc_hostptr): Likewise.
8617	(acc_is_present): Likewise.
8618	(acc_map_data): Likewise.
8619	(acc_unmap_data): Likewise.
8620	(present_create_copy): Likewise.
8621	(delete_copyout): Likewise.
8622	(update_dev_host): Likewise.
8623	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
8624	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
8625	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
8626	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8627	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
8628	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
8629	it only runs on nvptx targets.
8630	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8631	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8632	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8633	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8634	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8635	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8636	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8637	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8638	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8639	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8640	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8641	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8642	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8643	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8644	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8645	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8646	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8647	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8648	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8649	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8650	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8651	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8652	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8653
86542016-05-23  Martin Jambor  <mjambor@suse.cz>
8655
8656	* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
8657
86582016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
8659
8660	* oacc-init.c (acc_init): Remove !cached_base_dev condition on call
8661	to gomp_init_targets_once.
8662	(acc_set_device_type): Remove !cached_base_dev condition on call to
8663	gomp_init_targets_once, move call to before acc_device_lock acquire,
8664	to avoid deadlock.
8665	(acc_get_device_num): Remove !cached_base_dev condition on call to
8666	gomp_init_targets_once.
8667	(acc_set_device_num): Likewise.
8668
86692016-05-16  Martin Jambor  <mjambor@suse.cz>
8670
8671	* testsuite/libgomp.hsa.c/complex-align-2.c: New test.
8672
86732016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
8674
8675	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
8676	expected partitioning.
8677
86782016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
8679
8680	PR middle-end/70626
8681	* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
8682	* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
8683	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
8684
86852016-04-21  Alexander Monakov  <amonakov@ispras.ru>
8686
8687	* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
8688	non-fatal.
8689
86902016-04-19  Jakub Jelinek  <jakub@redhat.com>
8691
8692	PR middle-end/70680
8693	* testsuite/libgomp.c/pr70680-1.c: New test.
8694	* testsuite/libgomp.c/pr70680-2.c: New test.
8695
86962016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
8697
8698	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
8699	pass parameter variables to subroutines.
8700
87012016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
8702
8703	PR middle-end/70643
8704	* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
8705
87062016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
8707
8708	PR testsuite/68242
8709	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
8710	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8711
87122016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
8713
8714	* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
8715	GOACC_parallel_keyed, restore GOACC_parallel prototype, new
8716	GOACC_declare prototype.
8717
8718	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
8719	Merge this file, and...
8720	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
8721	... this file, and...
8722	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
8723	... this file, and...
8724	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
8725	... this file, and...
8726	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
8727	... this file, and...
8728	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
8729	... this file, and...
8730	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
8731	... this file, and...
8732	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
8733	... this file, and...
8734	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
8735	... this file, and...
8736	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
8737	... this file, and...
8738	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
8739	... this file, and...
8740	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
8741	... this file, and...
8742	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
8743	... this file into...
8744	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
8745	file.
8746
8747	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8748	Make failure observable.
8749
87502016-04-12  Jakub Jelinek  <jakub@redhat.com>
8751
8752	* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
8753	field.
8754	* target.c (gomp_target_fallback_firstprivate,
8755	gomp_target_unshare_firstprivate): Removed.
8756	(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
8757	before waiting for dependencies.
8758	(gomp_target_task_fn): Don't copy firstprivate vars here.
8759	* task.c (GOMP_PLUGIN_target_task_completion): Don't free
8760	firstprivate_copies here.
8761	(gomp_create_target_task): Don't initialize firstprivate_copies field.
8762	* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
8763	explicit/implicit firstprivate.
8764
87652016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
8766
8767	PR lto/70289
8768	PR ipa/70348
8769	PR tree-optimization/70373
8770	PR middle-end/70533
8771	PR middle-end/70534
8772	PR middle-end/70535
8773	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
8774	test.
8775	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
8776	test.
8777	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
8778	test.
8779	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
8780	test.
8781	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
8782	test.
8783	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
8784	test.
8785	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
8786	test.
8787	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
8788	test.
8789	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
8790	test.
8791	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
8792	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
8793	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
8794	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
8795	test.
8796	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
8797	test.
8798	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
8799	test.
8800	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
8801	test.
8802	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
8803	coverage.
8804	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8805	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8806	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
8807	* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
8808	* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
8809	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
8810	coverage.
8811	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8812	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8813	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8814	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8815	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
8816	* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
8817	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
8818	* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
8819	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
8820	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8821	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8822	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8823	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8824	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8825	* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
8826
88272016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
8828	    James Norris  <jnorris@codesourcery.com>
8829	    Nathan Sidwell  <nathan@codesourcery.com>
8830	    Julian Brown  <julian@codesourcery.com>
8831	    Cesar Philippidis  <cesar@codesourcery.com>
8832	    Chung-Lin Tang  <cltang@codesourcery.com>
8833	    Tom de Vries  <tom@codesourcery.com>
8834
8835	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
8836	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8837	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8838	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
8839	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8840	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8841	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8842	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8843	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8844	XFAIL.
8845	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
8846	Incorporate...
8847	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
8848	file.
8849	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
8850	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
8851	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
8852	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
8853	Likewise.
8854	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
8855	Likewise.
8856	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8857	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
8858	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
8859	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
8860	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8861	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8862	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8863	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8864	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8865	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
8866	Likewise.
8867	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
8868	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8869	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
8870	file...
8871	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
8872	file into...
8873	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
8874	file.  Update.
8875	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
8876	file.
8877	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
8878	Likewise.
8879	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
8880	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
8881	... this new file.  Update.
8882	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
8883	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
8884	... this new file.  Update.
8885	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
8886	file.  Incorporate...
8887	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
8888	file, and...
8889	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
8890	file, and...
8891	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
8892	file.
8893	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
8894
88952016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
8896
8897	* testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
8898	set-torture-options.
8899
89002016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
8901
8902	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
8903	gcc-dg-runtest.
8904	* testsuite/libgomp.oacc-c/c.exp: Likewise.
8905	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
8906	-fno-builtin-acc_on_device instead of -O0.
8907	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
8908	-O0.
8909	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
8910	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
8911	Likewise.
8912	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
8913	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
8914	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
8915	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8916	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8917	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8918	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
8919	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8920	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8921	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
8922	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
8923	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
8924	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
8925	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
8926	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8927	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8928	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8929	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
8930	Don't specify -O2.
8931	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
8932	Likewise.
8933	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
8934	Likewise.
8935
89362016-03-24  Martin Liska  <mliska@suse.cz>
8937
8938	* plugin/plugin-hsa.c (packet_store_release): New function
8939	that is taken from the HSA runtime manual.
8940	(GOMP_OFFLOAD_run): Use the function.
8941
89422016-03-23  Jakub Jelinek  <jakub@redhat.com>
8943
8944	PR c++/70376
8945	* testsuite/libgomp.c++/pr70376.C: New test.
8946
89472016-03-23  Tom de Vries  <tom@codesourcery.com>
8948
8949	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
8950	initialization of lresult and lvresult.
8951	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
8952
89532016-03-23  James Norris  <jnorris@codesourcery.com>
8954	    Daichi Fukuoka <dc-fukuoka@sgi.com>
8955
8956	PR libgomp/69414
8957	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
8958	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
8959	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8960	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
8961
89622016-03-23  Martin Liska  <mliska@suse.cz>
8963
8964	PR hsa/70337
8965	* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
8966	argument just in case a dispatched kernel uses that argument.
8967
89682016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
8969
8970	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
8971	-ftree-parallelize-loops/-fopenacc changes.
8972	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
8973	Likewise.
8974	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8975	Likewise.
8976	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
8977	Likewise.
8978	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
8979	Likewise.
8980	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8981	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8982
89832016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
8984
8985	* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
8986	always_ld_library_path the path to libgcc_s.
8987
89882016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
8989
8990	PR testsuite/70009
8991	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
8992
89932016-03-09  Tom de Vries  <tom@codesourcery.com>
8994
8995	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
8996	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
8997	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8998	Same.
8999	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9000	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9001	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9002	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9003
90042016-03-07  Martin Jambor  <mjambor@suse.cz>
9005
9006	* testsuite/lib/libgomp.exp
9007	(check_effective_target_hsa_offloading_selected_nocache): New.
9008	(check_effective_target_hsa_offloading_selected): Likewise.
9009	* testsuite/libgomp.hsa.c/c.exp: Likewise.
9010	* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9011	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9012	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9013	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9014	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9015	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9016	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9017	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9018	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9019	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9020	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9021	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9022	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9023	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9024	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9025	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9026
90272016-03-07  Martin Jambor  <mjambor@suse.cz>
9028
9029	* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9030	non-shared memory accelerators.
9031	* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9032	* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9033	* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9034	* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9035	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9036	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9037	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9038	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9039	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9040
90412016-03-07  Martin Jambor  <mjambor@suse.cz>
9042
9043	* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9044	ALWAYS_CFLAGS.
9045
90462016-03-02  Jakub Jelinek  <jakub@redhat.com>
9047
9048	PR libgomp/69555
9049	* testsuite/libgomp.c++/pr69555-1.C: New test.
9050	* testsuite/libgomp.c++/pr69555-2.C: New test.
9051
90522016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
9053	    Martin Jambor  <mjambor@suse.cz>
9054
9055	* testsuite/lib/libgomp.exp
9056	(check_effective_target_offload_device_shared_as): New proc.
9057	* testsuite/libgomp.c++/declare_target-1.C: New test.
9058
90592016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
9060
9061	PR driver/68463
9062	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9063
90642016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
9065
9066	* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9067	* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
9068	dims.
9069	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
9070	-ftree-parallelize-loops/-fopenacc changes.
9071	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
9072	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
9073	Likewise.
9074	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
9075	Likewise.
9076	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
9077	Likewise.
9078	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
9079	Likewise.
9080	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
9081	Likewise.
9082	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
9083	Likewise.
9084	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
9085	Likewise.
9086	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
9087	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
9088	Likewise.
9089	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
9090	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
9091	Likewise.
9092	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
9093	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
9094	Likewise.
9095
90962016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
9097
9098	* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
9099
91002016-02-19  Jakub Jelinek  <jakub@redhat.com>
9101
9102	PR driver/69805
9103	* testsuite/libgomp.c/pr69805.c: New test.
9104
91052016-02-16  Tom de Vries  <tom@codesourcery.com>
9106
9107	PR lto/67709
9108	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
9109
91102016-02-09  Tom de Vries  <tom@codesourcery.com>
9111
9112	PR tree-optimization/69599
9113	* testsuite/libgomp.c/omp-nested-3.c: New test.
9114	* testsuite/libgomp.c/pr46032-2.c: New test.
9115	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
9116	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
9117
91182016-02-09  Tom de Vries  <tom@codesourcery.com>
9119
9120	PR lto/69707
9121	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
9122
91232016-02-02  Alexander Monakov  <amonakov@ispras.ru>
9124
9125	* testsuite/libgomp.c/target-31.c: Fix testcase.
9126
91272016-02-02  Alexander Monakov  <amonakov@ispras.ru>
9128
9129	* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
9130	clause.
9131	* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
9132	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
9133	reduction and map clauses.
9134	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
9135
91362016-02-02  James Norris  <jnorris@codesourcery.com>
9137
9138	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
9139
91402016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
9141
9142	* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
9143	* oacc-parallel.c (GOACC_host_data): Remove function definition.
9144
9145	* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
9146	cases.
9147
9148	* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
9149	variables.
9150	* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
9151	(hsa_kmt_lib): Set variables.
9152	* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
9153	always_ld_library_path.
9154	* Makefile.in: Regenerate.
9155	* configure: Likewise.
9156	* testsuite/Makefile.in: Likewise.
9157
9158	* plugin/configfrag.ac (offload_additional_options)
9159	(offload_additional_lib_paths): Don't amend for hsa offloading.
9160	* configure: Regenerate.
9161
9162	* plugin/configfrag.ac: Don't configure for offloading target if
9163	we don't build the corresponding plugin.
9164	* configure: Regenerate.
9165
91662016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
9167
9168	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
9169	* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
9170
91712016-01-26  Tom de Vries  <tom@codesourcery.com>
9172
9173	PR tree-optimization/69110
9174	* testsuite/libgomp.c/pr69110.c: New test.
9175
91762016-01-25  Richard Biener  <rguenther@suse.de>
9177
9178	PR lto/69393
9179	* testsuite/libgomp.c++/pr69393.C: New testcase.
9180
91812016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
9182
9183	* target.c (gomp_get_target_fn_addr): Allow host fallback if target
9184	function wasn't mapped to the device with non-shared memory.
9185
91862016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
9187
9188	* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
9189
91902016-01-19  Martin Jambor  <mjambor@suse.cz>
9191	    Martin Liska  <mliska@suse.cz>
9192
9193	* plugin/Makefrag.am: Add HSA plugin requirements.
9194	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
9195	(HSA_RUNTIME_LIB): Likewise.
9196	(HSA_RUNTIME_CPPFLAGS): Likewise.
9197	(HSA_RUNTIME_INCLUDE): New substitution.
9198	(HSA_RUNTIME_LIB): Likewise.
9199	(HSA_RUNTIME_LDFLAGS): Likewise.
9200	(hsa-runtime): New configure option.
9201	(hsa-runtime-include): Likewise.
9202	(hsa-runtime-lib): Likewise.
9203	(PLUGIN_HSA): New substitution variable.
9204	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
9205	configure options.
9206	(PLUGIN_HSA_CPPFLAGS): Likewise.
9207	(PLUGIN_HSA_LDFLAGS): Likewise.
9208	(PLUGIN_HSA_LIBS): Likewise.
9209	Check that we have access to HSA run-time.
9210	* libgomp-plugin.h (offload_target_type): New element
9211	OFFLOAD_TARGET_TYPE_HSA.
9212	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
9213	args.
9214	(bool gomp_create_target_task): Updated.
9215	(gomp_device_descr): Extra parameter of run_func and async_run_func,
9216	new field can_run_func.
9217	* libgomp_g.h (GOMP_target_ext): Update prototype.
9218	* oacc-host.c (host_run): Added a new parameter args.
9219	* target.c (calculate_firstprivate_requirements): New function.
9220	(copy_firstprivate_data): Likewise.
9221	(gomp_target_fallback_firstprivate): Use them.
9222	(gomp_target_unshare_firstprivate): New function.
9223	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
9224	devices.
9225	(GOMP_target): Do host fallback for all shared memory devices.  Do not
9226	pass any args to plugins.
9227	(GOMP_target_ext): Introduce device-specific argument parameter args.
9228	Allow host fallback if device shares memory.  Do not remap data if
9229	device has shared memory.
9230	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
9231	like host fallback for mappings.
9232	(GOMP_target_data): Treat shared memory devices like host fallback.
9233	(GOMP_target_data_ext): Likewise.
9234	(GOMP_target_update): Likewise.
9235	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
9236	gomp_create_target_task.
9237	(GOMP_target_enter_exit_data): Likewise.
9238	(omp_target_alloc): Treat shared memory devices like host fallback.
9239	(omp_target_free): Likewise.
9240	(omp_target_is_present): Likewise.
9241	(omp_target_memcpy): Likewise.
9242	(omp_target_memcpy_rect): Likewise.
9243	(omp_target_associate_ptr): Likewise.
9244	(gomp_load_plugin_for_device): Also load can_run.
9245	* task.c (GOMP_PLUGIN_target_task_completion): Free
9246	firstprivate_copies.
9247	(gomp_create_target_task): Accept new argument args and store it to
9248	ttask.
9249	* plugin/plugin-hsa.c: New file.
9250
92512016-01-18  Tom de Vries  <tom@codesourcery.com>
9252
9253	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
9254	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
9255	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
9256	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
9257	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
9258	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
9259	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
9260	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
9261	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
9262	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
9263	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9264	Same.
9265	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9266	Same.
9267	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
9268	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
9269	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
9270	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
9271	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
9272	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
9273	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
9274	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9275	Same.
9276	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
9277
92782016-01-15  Jakub Jelinek  <jakub@redhat.com>
9279
9280	* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
9281
92822016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
9283
9284	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
9285
92862016-01-12  James Norris  <jnorris@codesourcery.com>
9287
9288	* libgomp.texi: Updates for OpenACC.
9289
92902016-01-11  Alexander Monakov  <amonakov@ispras.ru>
9291
9292	* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
9293
92942016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
9295
9296	PR fortran/66680
9297	* testsuite/libgomp.fortran/pr66680.f90: New test.
9298
92992016-01-07  Jakub Jelinek  <jakub@redhat.com>
9300
9301	PR middle-end/68960
9302	* testsuite/libgomp.c/pr68960.c: New test.
9303
93042016-01-06  Nathan Sidwell  <nathan@acm.org>
9305
9306	* openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
9307	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
9308
93092016-01-04  Jakub Jelinek  <jakub@redhat.com>
9310
9311	Update copyright years.
9312
9313	* libgomp.texi: Bump @copying's copyright year.
9314
93152015-12-31  Nathan Sidwell  <nathan@acm.org>
9316
9317	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
9318	dg-additional-options syntax.
9319	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9320	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9321	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9322	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9323	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9324	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9325	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9326	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9327	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9328	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9329	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9330	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9331	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9332	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9333	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9334	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9335	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9336	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9337
93382015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
9339
9340	* libgomp.h (REFCOUNT_LINK): Define.
9341	(struct splay_tree_key_s): Add link_key.
9342	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
9343	Replace target address of the pointer with target address of newly
9344	mapped object in the splay tree.  Set link pointer on target to the
9345	device address of the mapped object.
9346	(gomp_unmap_vars): Restore target address of the pointer in the splay
9347	tree for REFCOUNT_LINK objects after unmapping.
9348	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
9349	declare target link" objects.
9350	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
9351	"omp declare target link" objects, which were mapped for the image.
9352	(gomp_exit_data): Restore target address of the pointer in the splay
9353	tree for REFCOUNT_LINK objects after unmapping.
9354	* testsuite/libgomp.c/target-link-1.c: New file.
9355
93562015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
9357
9358	* libgomp.h (gomp_device_state): New enum.
9359	(struct gomp_device_descr): Replace is_initialized with state.
9360	(gomp_fini_device): Remove declaration.
9361	* oacc-host.c (host_dispatch): Use state instead of is_initialized.
9362	* oacc-init.c (acc_init_1): Use state instead of is_initialized.
9363	(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
9364	(acc_set_device_type): Use state instead of is_initialized.
9365	(acc_set_device_num): Likewise.
9366	* target.c (resolve_device): Use state instead of is_initialized.
9367	Do not initialize finalized device.
9368	(gomp_map_vars): Do nothing if device is finalized.
9369	(gomp_unmap_vars): Likewise.
9370	(gomp_update): Likewise.
9371	(GOMP_offload_register_ver): Use state instead of is_initialized.
9372	(GOMP_offload_unregister_ver): Likewise.
9373	(gomp_init_device): Likewise.
9374	(gomp_unload_device): Likewise.
9375	(gomp_fini_device): Remove.
9376	(gomp_get_target_fn_addr): Do nothing if device is finalized.
9377	(GOMP_target): Go to host fallback if device is finalized.
9378	(GOMP_target_ext): Likewise.
9379	(gomp_exit_data): Do nothing if device is finalized.
9380	(gomp_target_task_fn): Go to host fallback if device is finalized.
9381	(gomp_target_fini): New static function.
9382	(gomp_target_init): Use state instead of is_initialized.
9383	Call gomp_target_fini at exit.
9384
93852015-12-09  Tom de Vries  <tom@codesourcery.com>
9386
9387	PR tree-optimization/68716
9388	* testsuite/libgomp.c/omp-nested-2.c: New test.
9389
93902015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
9391
9392	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
9393	target openacc_nvidia_accel_selected.
9394	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
9395	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
9396	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
9397	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
9398
93992015-12-01  Julian Brown  <julian@codesourcery.com>
9400	    James Norris  <James_Norris@mentor.com>
9401
9402	* oacc-parallel.c (GOACC_host_data): New function.
9403	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
9404	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
9405	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
9406	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
9407	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
9408	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
9409	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
9410
94112015-11-30  James Norris  <jnorris@codesourcery.com>
9412	    Cesar Philippidis  <cesar@codesourcery.com>
9413
9414	libgomp/
9415	* libgomp.oacc-fortran/routine-5.f90: New test.
9416	* libgomp.oacc-fortran/routine-7.f90: New test.
9417	* libgomp.oacc-fortran/routine-9.f90: New test.
9418
94192015-11-30  Tom de Vries  <tom@codesourcery.com>
9420
9421	PR tree-optimization/46032
9422	* testsuite/libgomp.c/pr46032.c: New test.
9423
94242015-11-27  Jakub Jelinek  <jakub@redhat.com>
9425
9426	PR libgomp/68579
9427	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
9428	(gomp_create_target_task): Call it before freeing
9429	GOMP_TARGET_TASK_DATA tasks.
9430
9431	PR c/63326
9432	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
9433	in between case label and OpenMP standalone directives.
9434	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
9435
94362015-11-26  David Edelsohn  <dje.gcc@gmail.com>
9437
9438	* configure: Regenerate.
9439
94402015-11-26  Jakub Jelinek  <jakub@redhat.com>
9441
9442	* testsuite/libgomp.c/target-35.c: New test.
9443
94442015-11-22  James Norris  <jnorris@codesourcery.com>
9445	    Cesar Philippidis  <cesar@codesourcery.com>
9446
9447	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
9448	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9449	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9450	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9451	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9452
94532015-11-20  Jakub Jelinek  <jakub@redhat.com>
9454
9455	PR middle-end/68221
9456	* testsuite/libgomp.c/reduction-11.c: Remove xfail.
9457	* testsuite/libgomp.c/reduction-12.c: Likewise.
9458	* testsuite/libgomp.c++/reduction-11.C: Likewise.
9459	* testsuite/libgomp.c++/reduction-12.C: Likewise.
9460
94612015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
9462
9463	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
9464	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
9465	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
9466	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
9467	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
9468	and fix.
9469	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9470	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9471
94722015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
9473
9474	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
9475	worker & gang cases.
9476	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9477
94782015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
9479
9480	* config/nvptx/priority_queue.c: New file.
9481
94822015-11-14  Jakub Jelinek  <jakub@redhat.com>
9483
9484	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
9485	sections.
9486
94872015-11-14  Jakub Jelinek  <jakub@redhat.com>
9488	    Aldy Hernandez  <aldyh@redhat.com>
9489	    Ilya Verbin  <ilya.verbin@intel.com>
9490
9491	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
9492	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
9493	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
9494	iterators or IV by chunk size.
9495	* parallel.c (gomp_resolve_num_threads): Don't assume that
9496	if thr->ts.team is non-NULL, then pool must be non-NULL.
9497	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
9498	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
9499	GOMP_PLUGIN_target_task_completion.
9500	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
9501	* Makefile.in: Regenerate.
9502	* libgomp.h: Shuffle prototypes and forward definitions around so
9503	priority queues can be defined.
9504	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
9505	(enum gomp_target_task_state): New enum.
9506	(struct gomp_target_task): Add state, tgt, task and team fields.
9507	(gomp_create_target_task): Change return type to bool, add
9508	state argument.
9509	(gomp_target_task_fn): Change return type to bool.
9510	(struct gomp_device_descr): Add async_run_func.
9511	(struct gomp_task): Remove children, next_child, prev_child,
9512	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
9513	Add pnode field.
9514	(struct gomp_taskgroup): Remove children.
9515	Add taskgroup_queue.
9516	(struct gomp_team): Change task_queue type to a priority queue.
9517	(splay_compare): Define inline.
9518	(priority_queue_offset): New.
9519	(priority_node_to_task): New.
9520	(task_to_priority_node): New.
9521	* oacc-mem.c: Do not include splay-tree.h.
9522	* priority_queue.c: New file.
9523	* priority_queue.h: New file.
9524	* splay-tree.c: Do not include splay-tree.h.
9525	(splay_tree_foreach_internal): New.
9526	(splay_tree_foreach): New.
9527	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
9528	(splay_tree_callback): Define typedef.
9529	* target.c (splay_compare): Move to libgomp.h.
9530	(GOMP_target): Don't adjust *thr in any way around running offloaded
9531	task.
9532	(GOMP_target_ext): Likewise.  Handle target nowait.
9533	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
9534	return value from gomp_create_target_task, if false, fallthrough
9535	as if no dependencies exist.
9536	(gomp_target_task_fn): Change return type to bool, return true
9537	if the task should have another part scheduled later.  Handle
9538	target nowait.
9539	(gomp_load_plugin_for_device): Initialize async_run.
9540	* task.c (gomp_init_task): Initialize children_queue.
9541	(gomp_clear_parent_in_list): New.
9542	(gomp_clear_parent_in_tree): New.
9543	(gomp_clear_parent): Handle priorities.
9544	(GOMP_task): Likewise.
9545	(priority_queue_move_task_first,
9546	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
9547	New functions.
9548	(gomp_create_target_task): Use priority queues.  Change return type
9549	to bool, add state argument, return false if for async
9550	{{enter,exit} data,update} constructs no dependencies need to be
9551	waited for, handle target nowait.  Set task->fn to NULL instead of
9552	gomp_target_task_fn.
9553	(verify_children_queue): Remove.
9554	(priority_list_upgrade_task): New.
9555	(priority_queue_upgrade_task): New.
9556	(verify_task_queue): Remove.
9557	(priority_list_downgrade_task): New.
9558	(priority_queue_downgrade_task): New.
9559	(gomp_task_run_pre): Use priority queues.
9560	Abstract code out to priority_queue_downgrade_task.
9561	(gomp_task_run_post_handle_dependers): Use priority queues.
9562	(gomp_task_run_post_remove_parent): Likewise.
9563	(gomp_task_run_post_remove_taskgroup): Likewise.
9564	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
9565	tasks specially.
9566	(GOMP_taskwait): Likewise.
9567	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
9568	priority-queue_upgrade_task.
9569	(GOMP_taskgroup_start): Use priority queues.
9570	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
9571	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
9572	barrier.
9573	* taskloop.c (GOMP_taskloop): Handle priorities.
9574	* team.c (gomp_new_team): Call priority_queue_init.
9575	(free_team): Call priority_queue_free.
9576	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
9577	team created for target nowait in implicit parallel region.
9578	(gomp_team_start): For nested check, test thr->ts.level instead of
9579	thr->ts.team != NULL.
9580	* testsuite/libgomp.c/doacross-3.c: New test.
9581	* testsuite/libgomp.c/ordered-5.c: New test.
9582	* testsuite/libgomp.c/priority.c: New test.
9583	* testsuite/libgomp.c/target-31.c: New test.
9584	* testsuite/libgomp.c/target-32.c: New test.
9585	* testsuite/libgomp.c/target-33.c: New test.
9586	* testsuite/libgomp.c/target-34.c: New test.
9587
95882015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
9589
9590	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
9591
9592	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
9593	loop is sequential.
9594
95952015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
9596
9597	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
9598	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
9599
96002015-11-12  James Norris  <jnorris@codesourcery.com>
9601	    Joseph Myers  <joseph@codesourcery.com>
9602
9603	* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
9604	* oacc-parallel.c (GOACC_declare): New function.
9605	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
9606	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
9607	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
9608	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
9609	* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
9610
96112015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
9612
9613	* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
9614
96152015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
9616
9617	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
9618	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
9619
96202015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
9621
9622	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
9623	inadvertent commit.
9624
96252015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
9626
9627	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
9628	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
9629	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
9630	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
9631	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
9632
96332015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
9634
9635	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
9636	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9637
96382015-11-05  Jakub Jelinek  <jakub@redhat.com>
9639	    Ilya Verbin  <ilya.verbin@intel.com>
9640
9641	* libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
9642	GOMP_loop_nonmonotonic_dynamic_start,
9643	GOMP_loop_nonmonotonic_guided_next,
9644	GOMP_loop_nonmonotonic_guided_start,
9645	GOMP_loop_ull_nonmonotonic_dynamic_next,
9646	GOMP_loop_ull_nonmonotonic_dynamic_start,
9647	GOMP_loop_ull_nonmonotonic_guided_next,
9648	GOMP_loop_ull_nonmonotonic_guided_start,
9649	GOMP_parallel_loop_nonmonotonic_dynamic,
9650	GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
9651	(GOMP_target_41): Renamed to ...
9652	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
9653	arguments.
9654	(GOMP_target_data_41): Renamed to ...
9655	(GOMP_target_data_ext): ... this.
9656	(GOMP_target_update_41): Renamed to ...
9657	(GOMP_target_update_ext): ... this.
9658	* libgomp.map (GOMP_4.5): Export GOMP_target_ext,
9659	GOMP_target_data_ext and GOMP_target_update_ext instead of
9660	GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
9661	Export GOMP_loop_nonmonotonic_dynamic_next,
9662	GOMP_loop_nonmonotonic_dynamic_start,
9663	GOMP_loop_nonmonotonic_guided_next,
9664	GOMP_loop_nonmonotonic_guided_start,
9665	GOMP_loop_ull_nonmonotonic_dynamic_next,
9666	GOMP_loop_ull_nonmonotonic_dynamic_start,
9667	GOMP_loop_ull_nonmonotonic_guided_next,
9668	GOMP_loop_ull_nonmonotonic_guided_start,
9669	GOMP_parallel_loop_nonmonotonic_dynamic and
9670	GOMP_parallel_loop_nonmonotonic_guided.
9671	* loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
9672	GOMP_parallel_loop_nonmonotonic_guided,
9673	GOMP_loop_nonmonotonic_dynamic_start,
9674	GOMP_loop_nonmonotonic_guided_start,
9675	GOMP_loop_nonmonotonic_dynamic_next,
9676	GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
9677	* loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
9678	GOMP_loop_ull_nonmonotonic_guided_start,
9679	GOMP_loop_ull_nonmonotonic_dynamic_next,
9680	GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
9681	* target.c (gomp_map_0len_lookup, gomp_map_val): New inline
9682	functions.
9683	(gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
9684	GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
9685	Use gomp_map_val function.
9686	(gomp_target_fallback_firstprivate): New static function.
9687	(GOMP_target_41): Renamed to ...
9688	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
9689	arguments.  Move firstprivate fallback handling into a new
9690	function.
9691	(GOMP_target_data_41): Renamed to ...
9692	(GOMP_target_data_ext): ... this.
9693	(GOMP_target_update_41): Renamed to ...
9694	(GOMP_target_update_ext): ... this.
9695	(gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
9696	gomp_map_0len_lookup instead of gomp_map_lookup.
9697	(omp_target_is_present): Use gomp_map_0len_lookup instead of
9698	gomp_map_lookup.
9699	* testsuite/libgomp.c/target-28.c: Likewise.
9700	* testsuite/libgomp.c/monotonic-1.c: New test.
9701	* testsuite/libgomp.c/monotonic-2.c: New test.
9702	* testsuite/libgomp.c/nonmonotonic-1.c: New test.
9703	* testsuite/libgomp.c/nonmonotonic-2.c: New test.
9704	* testsuite/libgomp.c/pr66199-5.c: New test.
9705	* testsuite/libgomp.c/pr66199-6.c: New test.
9706	* testsuite/libgomp.c/pr66199-7.c: New test.
9707	* testsuite/libgomp.c/pr66199-8.c: New test.
9708	* testsuite/libgomp.c/pr66199-9.c: New test.
9709	* testsuite/libgomp.c/reduction-11.c: New test.
9710	* testsuite/libgomp.c/reduction-12.c: New test.
9711	* testsuite/libgomp.c/reduction-13.c: New test.
9712	* testsuite/libgomp.c/reduction-14.c: New test.
9713	* testsuite/libgomp.c/reduction-15.c: New test.
9714	* testsuite/libgomp.c/target-12.c (main): Adjust for
9715	omp_target_is_present change for one-past-last element.
9716	* testsuite/libgomp.c/target-17.c (foo): Drop tests where
9717	the same var is both mapped and privatized.
9718	* testsuite/libgomp.c/target-19.c (foo): Adjust for different
9719	handling of zero-length array sections.
9720	* testsuite/libgomp.c/target-28.c: New test.
9721	* testsuite/libgomp.c/target-29.c: New test.
9722	* testsuite/libgomp.c/target-30.c: New test.
9723	* testsuite/libgomp.c/target-teams-1.c: New test.
9724	* testsuite/libgomp.c++/member-6.C: New test.
9725	* testsuite/libgomp.c++/member-7.C: New test.
9726	* testsuite/libgomp.c++/monotonic-1.C: New test.
9727	* testsuite/libgomp.c++/monotonic-2.C: New test.
9728	* testsuite/libgomp.c++/nonmonotonic-1.C: New test.
9729	* testsuite/libgomp.c++/nonmonotonic-2.C: New test.
9730	* testsuite/libgomp.c++/pr66199-3.C: New test.
9731	* testsuite/libgomp.c++/pr66199-4.C: New test.
9732	* testsuite/libgomp.c++/pr66199-5.C: New test.
9733	* testsuite/libgomp.c++/pr66199-6.C: New test.
9734	* testsuite/libgomp.c++/pr66199-7.C: New test.
9735	* testsuite/libgomp.c++/pr66199-8.C: New test.
9736	* testsuite/libgomp.c++/pr66199-9.C: New test.
9737	* testsuite/libgomp.c++/reduction-11.C: New test.
9738	* testsuite/libgomp.c++/reduction-12.C: New test.
9739	* testsuite/libgomp.c++/target-13.C: New test.
9740	* testsuite/libgomp.c++/target-14.C: New test.
9741	* testsuite/libgomp.c++/target-15.C: New test.
9742	* testsuite/libgomp.c++/target-16.C: New test.
9743	* testsuite/libgomp.c++/target-17.C: New test.
9744	* testsuite/libgomp.c++/target-18.C: New test.
9745	* testsuite/libgomp.c++/target-19.C: New test.
9746
97472015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
9748
9749	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
9750	and reduction copy.
9751	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9752	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9753	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9754	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9755	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
9756	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9757	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9758	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9759	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9760	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
9761	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9762	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9763	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9764	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
9765
97662015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
9767
9768	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
9769	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
9770	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
9771	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
9772	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
9773	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
9774	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
9775	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
9776
97772015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
9778
9779	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
9780	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
9781	(GOMP_OFFLOAD_openacc_parallel): Likewise.
9782	* oacc-host.c (host_openacc_exec): Likewise.
9783	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
9784
97852015-11-03  Julian Brown  <julian@codesourcery.com>
9786	    Thomas Schwinge  <thomas@codesourcery.com>
9787
9788	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
9789	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9790	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
9791	Likewise.
9792	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
9793	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
9794
97952015-11-03  James Norris  <jnorris@codesourcery.com>
9796
9797	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
9798	file.
9799	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
9800	Likewise.
9801	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
9802	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
9803	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
9804	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
9805	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
9806
98072015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
9808
9809	* openacc.h (enum acc_device_t): Reformat. Ensure layout
9810	compatibility.
9811	(enum acc_async_t): Reformat.
9812	(acc_on_device): Declare compatible with builtin and provide C++
9813	wrapper.
9814	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
9815
98162015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
9817	    Cesar Philippidis  <cesar@codesourcery.com>
9818
9819	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
9820	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
9821	... this.  Add a description of the test at the top of the file.
9822	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
9823	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9824	... this.  Add a description of the test at the top of the file.
9825
98262015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
9827
9828	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
9829	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
9830	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
9831	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
9832	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
9833	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
9834
98352015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
9836
9837	* plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
9838	dimensions.
9839
98402015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
9841
9842	PR testsuite/68063
9843	* testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
9844
98452015-10-27  James Norris  <jnorris@codesourcery.com>
9846
9847	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
9848	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
9849
98502015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
9851
9852	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
9853	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9854
9855	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
9856	acc_device_nvidia usage.
9857	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9858	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9859	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9860
9861	* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
9862	* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
9863
9864	PR libgomp/66518
9865	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
9866
9867	PR libgomp/65437
9868	PR libgomp/66518
9869	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
9870	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
9871
98722015-10-23  Tom de Vries  <tom@codesourcery.com>
9873
9874	PR testsuite/68063
9875	* testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
9876
98772015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
9878
9879	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
9880	vector_length.
9881	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9882
98832015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
9884	    Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
9885
9886	* target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
9887	to 0 when mapnum is 0.
9888
98892015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9890
9891	* fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
9892	Cast to int from int32_t.
9893
98942015-10-13  Jakub Jelinek  <jakub@redhat.com>
9895	    Aldy Hernandez  <aldyh@redhat.com>
9896	    Ilya Verbin  <ilya.verbin@intel.com>
9897
9898	* config/linux/affinity.c (omp_get_place_num_procs,
9899	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9900	* config/linux/doacross.h: New file.
9901	* config/posix/affinity.c (omp_get_place_num_procs,
9902	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9903	* config/posix/doacross.h: New file.
9904	* env.c: Include gomp-constants.h.
9905	(struct gomp_task_icv): Rename run_sched_modifier to
9906	run_sched_chunk_size.
9907	(gomp_max_task_priority_var): New variable.
9908	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
9909	(handle_omp_display_env): Change _OPENMP value from 201307 to
9910	201511.  Print OMP_MAX_TASK_PRIORITY.
9911	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
9912	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
9913	chunk_size and run_sched_modifier to run_sched_chunk_size.
9914	(omp_get_max_task_priority, omp_get_initial_device,
9915	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
9916	omp_get_partition_place_nums): New functions.
9917	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
9918	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
9919	to chunk_size.
9920	(omp_get_num_places_, omp_get_place_num_procs_,
9921	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
9922	omp_get_place_proc_ids_8_, omp_get_place_num_,
9923	omp_get_partition_num_places_, omp_get_partition_place_nums_,
9924	omp_get_partition_place_nums_8_, omp_get_initial_device_,
9925	omp_get_max_task_priority_): New functions.
9926	* libgomp_g.h (GOMP_loop_doacross_static_start,
9927	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
9928	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
9929	GOMP_loop_ull_doacross_dynamic_start,
9930	GOMP_loop_ull_doacross_guided_start,
9931	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
9932	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
9933	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
9934	GOMP_target_data_41, GOMP_target_update_41,
9935	GOMP_target_enter_exit_data): New prototypes.
9936	(GOMP_task): Add prototype argument.
9937	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
9938	(struct gomp_doacross_work_share): New type.
9939	(struct gomp_work_share): Add doacross field.
9940	(struct gomp_task_icv): Rename run_sched_modifier to
9941	run_sched_chunk_size.
9942	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
9943	GOMP_TASK_UNDEFERRED.  Add comments.
9944	(struct gomp_task_depend_entry): Add comments.
9945	(struct gomp_task): Likewise.
9946	(struct gomp_taskgroup): Likewise.
9947	(struct gomp_target_task): New type.
9948	(struct gomp_team): Add comment.
9949	(gomp_get_place_proc_ids_8, gomp_doacross_init,
9950	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
9951	gomp_create_target_task, gomp_target_task_fn): New prototypes.
9952	(struct target_var_desc): New type.
9953	(struct target_mem_desc): Adjust comment.  Use struct
9954	target_var_desc instead of splay_tree_key for list.
9955	(REFCOUNT_INFINITY): Define.
9956	(struct splay_tree_key_s): Remove copy_from field.
9957	(struct gomp_device_descr): Add dev2dev_func field.
9958	(enum gomp_map_vars_kind): New enum.
9959	(gomp_map_vars): Add one argument.
9960	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
9961	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
9962	omp_get_place_num_procs, omp_get_place_num_procs_,
9963	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
9964	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
9965	omp_get_place_num_, omp_get_partition_num_places,
9966	omp_get_partition_num_places_, omp_get_partition_place_nums,
9967	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
9968	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
9969	omp_target_free, omp_target_is_present, omp_target_memcpy,
9970	omp_target_memcpy_rect, omp_target_associate_ptr and
9971	omp_target_disassociate_ptr.
9972	(GOMP_4.0.2): Renamed to ...
9973	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
9974	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
9975	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
9976	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9977	GOMP_loop_doacross_static_start, GOMP_doacross_post,
9978	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
9979	GOMP_loop_ull_doacross_guided_start,
9980	GOMP_loop_ull_doacross_runtime_start,
9981	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
9982	GOMP_doacross_ull_wait.
9983	* libgomp.texi: Document omp_get_max_task_priority.
9984	Rename modifier argument to chunk_size for omp_set_schedule and
9985	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
9986	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
9987	to run_sched_chunk_size renaming.
9988	(GOMP_loop_ordered_runtime_start): Likewise.
9989	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9990	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9991	GOMP_parallel_loop_runtime_start): New functions.
9992	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
9993	to run_sched_chunk_size renaming.
9994	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
9995	GOMP_loop_doacross_guided_start): New functions or aliases.
9996	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
9997	run_sched_modifier to run_sched_chunk_size renaming.
9998	(GOMP_loop_ull_ordered_runtime_start): Likewise.
9999	(gomp_loop_ull_doacross_static_start,
10000	gomp_loop_ull_doacross_dynamic_start,
10001	gomp_loop_ull_doacross_guided_start,
10002	GOMP_loop_ull_doacross_runtime_start): New functions.
10003	(GOMP_loop_ull_doacross_static_start,
10004	GOMP_loop_ull_doacross_dynamic_start,
10005	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10006	* oacc-mem.c (acc_map_data, present_create_copy,
10007	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10008	to gomp_map_vars.
10009	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10010	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10011	instead of false to gomp_map_vars.
10012	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
10013	* omp.h.in (omp_lock_hint_t): New type.
10014	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10015	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10016	omp_get_place_num, omp_get_partition_num_places,
10017	omp_get_partition_place_nums, omp_get_initial_device,
10018	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10019	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10020	omp_target_associate_ptr, omp_target_disassociate_ptr): New
10021	prototypes.
10022	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10023	(omp_lock_hint_none, omp_lock_hint_uncontended,
10024	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10025	omp_lock_hint_speculative): New parameters.
10026	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10027	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10028	omp_get_place_num, omp_get_partition_num_places,
10029	omp_get_partition_place_nums, omp_get_initial_device,
10030	omp_get_max_task_priority): New interfaces.
10031	(omp_set_schedule, omp_get_schedule): Rename modifier argument
10032	to chunk_size.
10033	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
10034	(omp_lock_hint_none, omp_lock_hint_uncontended,
10035	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10036	omp_lock_hint_speculative): New parameters.
10037	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10038	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10039	omp_get_place_num, omp_get_partition_num_places,
10040	omp_get_partition_place_nums, omp_get_initial_device,
10041	omp_get_max_task_priority): New functions and subroutines.
10042	* ordered.c: Include stdarg.h and string.h.
10043	(MAX_COLLAPSED_BITS): Define.
10044	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10045	gomp_doacross_ull_init, GOMP_doacross_ull_post,
10046	GOMP_doacross_ull_wait): New functions.
10047	* target.c: Include errno.h.
10048	(resolve_device): If device is not initialized, call
10049	gomp_init_device on it.
10050	(gomp_map_lookup): New function.
10051	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
10052	Don't bump refcount if REFCOUNT_INFINITY.  Handle
10053	GOMP_MAP_ALWAYS_TO_P.
10054	(get_kind): Rename is_openacc argument to short_mapkind.
10055	(gomp_map_pointer): Use gomp_map_lookup.
10056	(gomp_map_fields_existing): New function.
10057	(gomp_map_vars): Rename is_openacc argument to short_mapkind
10058	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
10059	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10060	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10061	Adjust for tgt->list changed type and copy_from living in there.
10062	(gomp_copy_from_async): Adjust for tgt->list changed type and
10063	copy_from living in there.
10064	(gomp_unmap_vars): Likewise.
10065	(gomp_update): Likewise.  Rename is_openacc argument to
10066	short_mapkind.  Don't fail if object is not mapped.
10067	(gomp_load_image_to_device): Initialize refcount to
10068	REFCOUNT_INFINITY.
10069	(gomp_target_fallback): New function.
10070	(gomp_get_target_fn_addr): Likewise.
10071	(GOMP_target): Adjust gomp_map_vars caller, use
10072	gomp_get_target_fn_addr and gomp_target_fallback.
10073	(GOMP_target_41): New function.
10074	(gomp_target_data_fallback): New function.
10075	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
10076	(GOMP_target_data_41): New function.
10077	(GOMP_target_update): Adjust gomp_update caller.
10078	(GOMP_target_update_41): New function.
10079	(gomp_exit_data, GOMP_target_enter_exit_data,
10080	gomp_target_task_fn, omp_target_alloc, omp_target_free,
10081	omp_target_is_present, omp_target_memcpy,
10082	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
10083	omp_target_associate_ptr, omp_target_disassociate_ptr,
10084	gomp_load_plugin_for_device): New functions.
10085	* task.c: Include gomp-constants.h.  Include taskloop.c
10086	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
10087	(gomp_task_handle_depend): New function.
10088	(GOMP_task): Use it.  Add priority argument.  Use
10089	gomp-constant.h constants instead of hardcoded numbers.
10090	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
10091	(gomp_create_target_task): New function.
10092	(verify_children_queue, verify_taskgroup_queue,
10093	verify_task_queue): New functions.
10094	(gomp_task_run_pre): Call verify_*_queue functions.
10095	If an upcoming tied task is about to leave the sibling or
10096	taskgroup queues in an invalid state, adjust appropriately.
10097	Remove taskgroup argument.  Add comments.
10098	(gomp_task_run_post_handle_dependers): Add comments.
10099	(gomp_task_run_post_remove_parent): Likewise.
10100	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
10101	(GOMP_taskwait): Likewise.  Add comments.
10102	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
10103	problem such that the first non parent_depends_on task does not
10104	end up at the end of the children queue.
10105	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
10106	GOMP_TASK_UNDEFERRED.
10107	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
10108	* taskloop.c: New file.
10109	* testsuite/lib/libgomp.exp
10110	(check_effective_target_offload_device_nonshared_as): New proc.
10111	* testsuite/libgomp.c/affinity-2.c: New test.
10112	* testsuite/libgomp.c/doacross-1.c: New test.
10113	* testsuite/libgomp.c/doacross-2.c: New test.
10114	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
10115	Add map clause to target.
10116	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
10117	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
10118	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
10119	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
10120	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
10121	Likewise.
10122	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
10123	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
10124	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
10125	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
10126	not defined.  Use those where needed.
10127	* testsuite/libgomp.c/for-4.c: New test.
10128	* testsuite/libgomp.c/for-5.c: New test.
10129	* testsuite/libgomp.c/for-6.c: New test.
10130	* testsuite/libgomp.c/linear-1.c: New test.
10131	* testsuite/libgomp.c/ordered-4.c: New test.
10132	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
10133	only allowed on the loop iterator.
10134	* testsuite/libgomp.c/pr66199-3.c: New test.
10135	* testsuite/libgomp.c/pr66199-4.c: New test.
10136	* testsuite/libgomp.c/reduction-7.c: New test.
10137	* testsuite/libgomp.c/reduction-8.c: New test.
10138	* testsuite/libgomp.c/reduction-9.c: New test.
10139	* testsuite/libgomp.c/reduction-10.c: New test.
10140	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
10141	map(tofrom:s).
10142	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
10143	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
10144	* testsuite/libgomp.c/target-11.c: New test.
10145	* testsuite/libgomp.c/target-12.c: New test.
10146	* testsuite/libgomp.c/target-13.c: New test.
10147	* testsuite/libgomp.c/target-14.c: New test.
10148	* testsuite/libgomp.c/target-15.c: New test.
10149	* testsuite/libgomp.c/target-16.c: New test.
10150	* testsuite/libgomp.c/target-17.c: New test.
10151	* testsuite/libgomp.c/target-18.c: New test.
10152	* testsuite/libgomp.c/target-19.c: New test.
10153	* testsuite/libgomp.c/target-20.c: New test.
10154	* testsuite/libgomp.c/target-21.c: New test.
10155	* testsuite/libgomp.c/target-22.c: New test.
10156	* testsuite/libgomp.c/target-23.c: New test.
10157	* testsuite/libgomp.c/target-24.c: New test.
10158	* testsuite/libgomp.c/target-25.c: New test.
10159	* testsuite/libgomp.c/target-26.c: New test.
10160	* testsuite/libgomp.c/target-27.c: New test.
10161	* testsuite/libgomp.c/taskloop-1.c: New test.
10162	* testsuite/libgomp.c/taskloop-2.c: New test.
10163	* testsuite/libgomp.c/taskloop-3.c: New test.
10164	* testsuite/libgomp.c/taskloop-4.c: New test.
10165	* testsuite/libgomp.c++/ctor-13.C: New test.
10166	* testsuite/libgomp.c++/doacross-1.C: New test.
10167	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
10168	Replace offload_device with offload_device_nonshared_as.
10169	* testsuite/libgomp.c++/for-12.C: New test.
10170	* testsuite/libgomp.c++/for-13.C: New test.
10171	* testsuite/libgomp.c++/for-14.C: New test.
10172	* testsuite/libgomp.c++/linear-1.C: New test.
10173	* testsuite/libgomp.c++/member-1.C: New test.
10174	* testsuite/libgomp.c++/member-2.C: New test.
10175	* testsuite/libgomp.c++/member-3.C: New test.
10176	* testsuite/libgomp.c++/member-4.C: New test.
10177	* testsuite/libgomp.c++/member-5.C: New test.
10178	* testsuite/libgomp.c++/ordered-1.C: New test.
10179	* testsuite/libgomp.c++/reduction-5.C: New test.
10180	* testsuite/libgomp.c++/reduction-6.C: New test.
10181	* testsuite/libgomp.c++/reduction-7.C: New test.
10182	* testsuite/libgomp.c++/reduction-8.C: New test.
10183	* testsuite/libgomp.c++/reduction-9.C: New test.
10184	* testsuite/libgomp.c++/reduction-10.C: New test.
10185	* testsuite/libgomp.c++/reference-1.C: New test.
10186	* testsuite/libgomp.c++/simd14.C: New test.
10187	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
10188	* testsuite/libgomp.c++/target-5.C: New test.
10189	* testsuite/libgomp.c++/target-6.C: New test.
10190	* testsuite/libgomp.c++/target-7.C: New test.
10191	* testsuite/libgomp.c++/target-8.C: New test.
10192	* testsuite/libgomp.c++/target-9.C: New test.
10193	* testsuite/libgomp.c++/target-10.C: New test.
10194	* testsuite/libgomp.c++/target-11.C: New test.
10195	* testsuite/libgomp.c++/target-12.C: New test.
10196	* testsuite/libgomp.c++/taskloop-1.C: New test.
10197	* testsuite/libgomp.c++/taskloop-2.C: New test.
10198	* testsuite/libgomp.c++/taskloop-3.C: New test.
10199	* testsuite/libgomp.c++/taskloop-4.C: New test.
10200	* testsuite/libgomp.c++/taskloop-5.C: New test.
10201	* testsuite/libgomp.c++/taskloop-6.C: New test.
10202	* testsuite/libgomp.c++/taskloop-7.C: New test.
10203	* testsuite/libgomp.c++/taskloop-8.C: New test.
10204	* testsuite/libgomp.c++/taskloop-9.C: New test.
10205	* testsuite/libgomp.fortran/affinity1.f90: New test.
10206	* testsuite/libgomp.fortran/affinity2.f90: New test.
10207
102082015-10-13  Tom de Vries  <tom@codesourcery.com>
10209
10210	PR tree-optimization/67476
10211	* testsuite/libgomp.c/autopar-3.c: New test.
10212	* testsuite/libgomp.c/autopar-4.c: New test.
10213	* testsuite/libgomp.c/autopar-5.c: New test.
10214	* testsuite/libgomp.c/autopar-6.c: New test.
10215	* testsuite/libgomp.c/autopar-7.c: New test.
10216	* testsuite/libgomp.c/autopar-8.c: New test.
10217
102182015-10-12  James Norris  <jnorris@codesourcery.com>
10219
10220	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
10221	initializer.
10222
102232015-10-09  David Malcolm  <dmalcolm@redhat.com>
10224
10225	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
10226	using load_gcc_lib.
10227
102282015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
10229
10230	* oacc-ptx.h: Remove file, moving its content into...
10231	* config/nvptx/fortran.c: ... here...
10232	* config/nvptx/oacc-init.c: ..., here...
10233	* config/nvptx/oacc-parallel.c: ..., and here.
10234	* config/nvptx/openacc.f90: New file.
10235	* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
10236	(link_ptx): Don't link in predefined bits of PTX code.
10237
102382015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
10239	    Bernd Schmidt <bernds@codesourcery.com>
10240
10241	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
10242	(struct targ_ptx_obj): New.
10243	(nvptx_tdata): Move earlier, change data format.
10244	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
10245	objects.
10246	(GOMP_OFFLOAD_load_image): Adjust.
10247
102482015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
10249
10250	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
10251	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10252	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10253	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10254	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10255	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10256	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10257	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10258	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10259	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10260	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10261	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10262	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10263	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10264	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10265	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10266	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10267	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10268	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10269	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10270	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10271	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10272	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10273	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10274	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10275	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10276	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10277	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10278	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10279	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10280	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10281	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10282	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10283	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10284	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10285	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10286	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10287	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10288	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10289	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10290	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10291	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10292	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10293	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10294	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10295	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10296	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10297	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10298	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10299	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10300	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10301	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10302	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10303	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10304	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10305	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10306	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10307	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10308	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10309	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10310	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10311	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10312	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10313
103142015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
10315
10316	* oacc-init.c (acc_on_device): Force optimization level.
10317
103182015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
10319
10320	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
10321	(cuda_errlist): Delete.
10322	(cuda_error): Reimplement.
10323
103242015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
10325
10326	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
10327	array.
10328	* libgomp.map (GOACC_parallel_keyed): New.
10329	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
10330	all callers.
10331	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
10332	and take keyed varargs list.  Adjust call to exec_func.
10333	(GOACC_parallel): Force host fallback.
10334	* libgomp_g.h (GOACC_parallel): Remove.
10335	(GOACC_parallel_keyed): Declare.
10336	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
10337	(struct targ_gn_descriptor): Replace name field with launch field.
10338	(nvptx_exec): Lose separate geometry args, take array.  Process
10339	dynamic dimensions and adjust.
10340	(struct nvptx_tdata): Replace fn_names field with fn_descs.
10341	(GOMP_OFFLOAD_load_image): Adjust for change in function table
10342	data.
10343	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
10344	passing.
10345	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
10346	passing.
10347
103482015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
10349
10350	PR libgomp/67141
10351	* oacc-int.h (goacc_host_init): Add declaration.
10352	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
10353	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
10354
103552015-09-08  Aditya Kumar  <hiraditya@msn.com>
10356	    Sebastian Pop  <s.pop@samsung.com>
10357
10358	* testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
10359	match o/p.
10360	* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
10361	* testsuite/libgomp.graphite/force-parallel-4.c: Same.
10362	* testsuite/libgomp.graphite/force-parallel-5.c: Same.
10363	* testsuite/libgomp.graphite/force-parallel-7.c: Same.
10364	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
10365
103662015-09-03  Jakub Jelinek  <jakub@redhat.com>
10367
10368	* configure.tgt: Add missing ;; in between nvptx and rtems
10369	snippets.
10370
103712015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10372
10373	* config/posix/pool.h (gomp_adjust_thread_attr): New.
10374	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
10375	(gomp_thread_pool_reservoir): Add priority member.
10376	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
10377	priority.
10378	(parse_thread_pools): Likewise.
10379	* team.c (gomp_team_start): Call configuration provided
10380	gomp_adjust_thread_attr(). Destroy thread attributes if
10381	necessary.
10382	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
10383
103842015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10385
10386	* config/posix/pool.h: New.
10387	* config/rtems/pool.h: Likewise.
10388	* config/rtems/proc.c: Likewise.
10389	* libgomp.h (gomp_thread_destructor): Declare.
10390	* team.c: Include configuration provided "pool.h".
10391	(gomp_get_thread_pool): Define in configuration.
10392	(gomp_team_end): Call configuration defined
10393	gomp_release_thread_pool().
10394
103952015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10396
10397	* config/rtems/bar.c: New.
10398	* config/rtems/bar.h: Likewise.
10399	* config/rtems/mutex.c: Likewise.
10400	* config/rtems/mutex.h: Likewise.
10401	* config/rtems/sem.c: Likewise.
10402	* config/rtems/sem.h: Likewise.
10403	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
10404	<sys/lock.h> header file.
10405	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
10406	supported by Newlib.
10407	* configure: Regenerate.
10408
104092015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10410
10411	* team.c (gomp_new_thread_pool): Delete and move content to ...
10412	(gomp_get_thread_pool): ... new function.  Allocate and
10413	initialize thread pool on demand.
10414	(get_last_team): Use gomp_get_thread_pool().
10415	(gomp_team_start): Delete thread pool initialization.
10416
104172015-09-03  Tom de Vries  <tom@codesourcery.com>
10418
10419	PR tree-optimization/65637
10420	* testsuite/libgomp.c/autopar-2.c: New test.
10421
104222015-08-29  Tom de Vries  <tom@codesourcery.com>
10423
10424	PR tree-optimization/46193
10425	* testsuite/libgomp.c/pr46193.c: New test.
10426
104272015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
10428
10429	libgomp/
10430	* libgomp.map: Add 4.0.2 version.
10431	* target.c (offload_image_descr): Add version field.
10432	(gomp_load_image_to_device): Add version argument.  Adjust plugin
10433	call.  Improve load mismatch diagnostic.
10434	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
10435	call.
10436	(GOMP_offload_regster): Make stub function, move bulk to ...
10437	(GOMP_offload_register_ver): ... here.  Process version argument.
10438	(GOMP_offload_unregister): Make stub function, move bulk to ...
10439	(GOMP_offload_unregister_ver): ... here.  Process version argument.
10440	(gomp_init_device): Process version field.
10441	(gomp_unload_device): Process version field.
10442	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
10443	macros.  Check plugin version.
10444	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
10445	loader and unloader types.
10446	* oacc-host.c: Include gomp-constants.h.
10447	(host_version): New.
10448	(host_load_image, host_unload_image): Adjust.
10449	(host_dispatch): Add host_version.
10450	* plugin/plugin-nvptx.c: Include gomp-constants.h.
10451	(GOMP_OFFLOAD_version): New.
10452	(GOMP_OFFLOAD_load_image): Add version arg and check it.
10453	(GOMP_OFFLOAD_unload_image): Likewise.
10454	* plugin/plugin-host.c: Include gomp-constants.h.
10455	(GOMP_OFFLOAD_version): New.
10456	(GOMP_OFFLOAD_load_image): Add version arg.
10457	(GOMP_OFFLOAD_unload_image): Likewise.
10458
104592015-08-24  Tom de Vries  <tom@codesourcery.com>
10460
10461	PR tree-optimization/65468
10462	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
10463
104642015-08-24  Tom de Vries  <tom@codesourcery.com>
10465
10466	PR tree-optimization/65468
10467	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
10468
104692015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
10470
10471	PR libgomp/66761
10472	PR libgomp/67303
10473	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
10474	(gomp_iter_guided_next): Idem.
10475	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
10476	(gomp_iter_ull_guided_next): Idem.
10477	* config/linux/wait.h (do_spin): Idem.
10478
104792015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
10480
10481	* libgomp-plugin.h (enum offload_target_type): Remove
10482	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
10483	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
10484	* openacc.h (enum acc_device_t): Likewise.
10485	* openacc_lib.h: Likewise.
10486	* oacc-init.c (name_of_acc_device_t): Don't handle it.
10487	(acc_on_device): Just use __builtin_acc_on_device.
10488	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
10489	of acc_on_device builtin.
10490	* plugin/plugin-host.h: Remove file.
10491	* plugin/plugin-host.c: Likewise, but salvage some content into...
10492	* oacc-host.c: ... this file.
10493	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
10494	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
10495	* Makefile.in: Regenerate.
10496	* configure: Likewise.
10497	* testsuite/lib/libgomp.exp
10498	(check_effective_target_openacc_host_nonshm_selected): Remove.
10499	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
10500	ACC_DEVICE_TYPE=host_nonshm.
10501	* testsuite/libgomp.oacc-c/c.exp: Likewise.
10502	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10503	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10504	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10505	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10506	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10507
105082015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
10509	    Jakub Jelinek  <jakub@redhat.com>
10510
10511	* config/nvptx/affinity.c: New file.
10512	* config/nvptx/alloc.c: Likewise.
10513	* config/nvptx/bar.c: Likewise.
10514	* config/nvptx/barrier.c: Likewise.
10515	* config/nvptx/critical.c: Likewise.
10516	* config/nvptx/env.c: Likewise.
10517	* config/nvptx/error.c: Likewise.
10518	* config/nvptx/fortran.c: Likewise.
10519	* config/nvptx/iter.c: Likewise.
10520	* config/nvptx/iter_ull.c: Likewise.
10521	* config/nvptx/libgomp-plugin.c: Likewise.
10522	* config/nvptx/lock.c: Likewise.
10523	* config/nvptx/loop.c: Likewise.
10524	* config/nvptx/loop_ull.c: Likewise.
10525	* config/nvptx/mutex.c: Likewise.
10526	* config/nvptx/oacc-async.c: Likewise.
10527	* config/nvptx/oacc-cuda.c: Likewise.
10528	* config/nvptx/oacc-host.c: Likewise.
10529	* config/nvptx/oacc-init.c: Likewise.
10530	* config/nvptx/oacc-mem.c: Likewise.
10531	* config/nvptx/oacc-parallel.c: Likewise.
10532	* config/nvptx/oacc-plugin.c: Likewise.
10533	* config/nvptx/omp-lock.h: Likewise.
10534	* config/nvptx/ordered.c: Likewise.
10535	* config/nvptx/parallel.c: Likewise.
10536	* config/nvptx/proc.c: Likewise.
10537	* config/nvptx/ptrlock.c: Likewise.
10538	* config/nvptx/sections.c: Likewise.
10539	* config/nvptx/sem.c: Likewise.
10540	* config/nvptx/single.c: Likewise.
10541	* config/nvptx/splay-tree.c: Likewise.
10542	* config/nvptx/target.c: Likewise.
10543	* config/nvptx/task.c: Likewise.
10544	* config/nvptx/team.c: Likewise.
10545	* config/nvptx/time.c: Likewise.
10546	* config/nvptx/work.c: Likewise.
10547	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
10548	* configure: Regenerate.
10549	* configure.tgt (config_path): Set to "nvptx" for target
10550	nvptx*-*-*.
10551
105522015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
10553
10554	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
10555
105562015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
10557
10558	* plugin/plugin-nvptx.c: Don't include dlfcn.h.
10559	(cuda_errlist): Constify.
10560	(errmsg):  Move into ...
10561	(cuda_error): ... here.  Make smaller.
10562	(_XSTR, _STR): Delete.
10563	(cuda_synames): Delete.
10564	(verify_device_library): Delete.
10565	(nvptx_init): Don't call it.
10566
105672015-07-28  Tom de Vries  <tom@codesourcery.com>
10568
10569	* testsuite/libgomp.c/uns-outer-4.c: New test.
10570
105712015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
10572
10573	* testsuite/libgomp.c/pr66714.c: New test.
10574
105752015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
10576
10577	PR libgomp/66950
10578	* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
10579	(fib_ref): New function.
10580	(fib): Correct corner cases in the recursion.
10581	(main): Replace the non-simd loop with fib_ref call.
10582	* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
10583	subroutine.
10584	(fibonacci): Lower the parameter N to 30.  Correct accordingly check
10585	for the last array element value.  Replace the non-simd loop with
10586	fib_ref call.  Remove redundant b_ref array.  Remove the comparison
10587	of the last array element with according Fibonacci sequence element.
10588	(fib): Correct corner cases in the recursion.
10589
105902015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
10591
10592	* target.c (gomp_offload_image_to_device): Rename to ...
10593	(gomp_load_image_to_device): ... here.
10594	(GOMP_offload_register): Adjust call.
10595	(gomp_init_device): Likewise.
10596	(gomp_unload_image_from_device): New.  Broken out of ...
10597	(GOMP_offload_unregister): ... here.  Call it.
10598	(gomp_unload_device): New.
10599	* libgomp.h (gomp_unload_device): Declare.
10600	* oacc-init.c (acc_shutdown_1): Unload from device before deleting
10601	mem maps.
10602
106032015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
10604
10605	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
10606	wait=-specific if.
10607	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
10608	!=0 condition.
10609	(goacc_waits): Move !num_waits handling to ...
10610	(GOACC_wait): ... here, the only caller that might have zero waits.
10611
10612	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
10613	(struct ptx_image_data): Move earlier, add fns field.
10614	(struct ptx_device): Add images and image_lock fields.
10615	(ptx_images, ptx_image_lock): Delete.
10616	(nvptx_open_device): Initialize images and image_lock fields.
10617	(nvptx_close_device): Destroy image_lock.
10618	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
10619	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
10620	fields.
10621
106222015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
10623
10624	* target.c (GOMP_offload_register): Use int for device type arg.
10625	(GOMP_offload_unregister): Likewise.
10626
10627	* target.c (struct_offload_image_descr): Constify host_table.
10628	(gomp_offload_image_to_device): Likewise.
10629	(GOMP_offload_register, GOMP_offload_unregister): Likewise.
10630
10631	* libgomp.h (gomp_device_descr): Constify target data arguments.
10632	* target.c (struct offload_image_descr): Constify target_data.
10633	(gomp_offload_image_to_device): Likewise.
10634	(GOMP_offload_register): Likewise.
10635	(GOMP_offload_unregister): Likewise.
10636	* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
10637	GOMP_OFFLOAD_unload_image): Constify target data.
10638	* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
10639	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
10640
106412015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
10642
10643	* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
10644	Workaround driver library const error.
10645	(struct nvptx_tdata, nvptx_tdata_t): New.
10646	(GOMP_OFFLOAD_load_image): Use struct for target_data's real
10647	type.
10648
106492015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
10650
10651	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
10652	of EPS parameter from integer to real.
10653	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
10654	type of EPS parameter from integer to real.
10655
106562015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10657
10658	* team.c (get_last_team): New.
10659	(gomp_new_team): Recycle last non-nested team if possible.
10660	(gomp_team_end): Move team work share list free lock destruction
10661	to ...
10662	(free_team): ... here.
10663
106642015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
10665
10666	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
10667	and ref from int to double.  Replaced their comparison with
10668	an inequality of their difference and EPS.
10669	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
10670	comparison of pri and a reference number with an inequality of their
10671	difference and EPS.
10672	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
10673	the comparison of sum and sum_ref with an inequality of their
10674	difference and EPS.
10675	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
10676	the comparison of pri and a reference number with an inequality of
10677	their difference and EPS.
10678
106792015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
10680
10681	* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
10682	* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
10683	* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
10684	* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
10685	* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
10686	* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
10687	* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
10688	* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
10689	* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
10690	* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
10691	* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
10692	* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
10693	(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
10694	variables.
10695	(vec_mult): Likewise.  Add #pragma omp taskwait.
10696	(main): Adjust caller.
10697	* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
10698	* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
10699	* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
10700	* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
10701	* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
10702	* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
10703	* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
10704	* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
10705	* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
10706	* testsuite/libgomp.c/examples-4/device-1.c: ...this.
10707	* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
10708	* testsuite/libgomp.c/examples-4/device-2.c: ...this.
10709	* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
10710	* testsuite/libgomp.c/examples-4/device-3.c: ...this.
10711	* testsuite/libgomp.c/examples-4/simd-1.c: New file.
10712	* testsuite/libgomp.c/examples-4/simd-2.c: New file.
10713	* testsuite/libgomp.c/examples-4/simd-3.c: New file.
10714	* testsuite/libgomp.c/examples-4/simd-4.c: New file.
10715	* testsuite/libgomp.c/examples-4/simd-5.c: New file.
10716	* testsuite/libgomp.c/examples-4/simd-6.c: New file.
10717	* testsuite/libgomp.c/examples-4/simd-7.c: New file.
10718	* testsuite/libgomp.c/examples-4/simd-8.c: New file.
10719	* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
10720	* testsuite/libgomp.c/examples-4/target-1.c: ...this.
10721	* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
10722	* testsuite/libgomp.c/examples-4/target-2.c: ...this.
10723	* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
10724	* testsuite/libgomp.c/examples-4/target-3.c: ...this.
10725	* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
10726	* testsuite/libgomp.c/examples-4/target-4.c: ...this.
10727	* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
10728	* testsuite/libgomp.c/examples-4/target-5.c: ...this.
10729	* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
10730	* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
10731	* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
10732	* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
10733	* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
10734	* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
10735	* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
10736	* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
10737	* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
10738	* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
10739	* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
10740	* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
10741	* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
10742	* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
10743	* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
10744	* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
10745	* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
10746	* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
10747	* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
10748	* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
10749	* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
10750	* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
10751	* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
10752	* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
10753	* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
10754	* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
10755	* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
10756	* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
10757	* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
10758	* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
10759	* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
10760	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
10761	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
10762	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
10763	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
10764	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
10765	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
10766	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
10767	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
10768	(vec_mult): Add !$omp taskwait.
10769	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
10770	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
10771	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
10772	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
10773	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
10774	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
10775	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
10776	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
10777	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
10778	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
10779	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
10780	* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
10781	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
10782	* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
10783	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
10784	* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
10785	* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
10786	* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
10787	* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
10788	* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
10789	* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
10790	* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
10791	* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
10792	* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
10793	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
10794	* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
10795	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
10796	* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
10797	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
10798	* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
10799	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
10800	* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
10801	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
10802	* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
10803	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
10804	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
10805	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
10806	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
10807	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
10808	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
10809	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
10810	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
10811	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
10812	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
10813	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
10814	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
10815	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
10816	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
10817	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
10818	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
10819	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
10820	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
10821	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
10822	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
10823	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
10824	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
10825	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
10826	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
10827	* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
10828	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
10829	* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
10830	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
10831	* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
10832	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
10833	* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
10834	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
10835	* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
10836
108372015-07-10  Tom de Vries  <tom@codesourcery.com>
10838
10839	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
10840	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
10841
108422015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
10843
10844	PR libgomp/65099
10845	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
10846	in a 64-bit configuration.
10847	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
10848	offloading testing if no such device is available.
10849	* testsuite/libgomp.oacc-c/c.exp: Likewise.
10850	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10851
108522015-07-08  Tom de Vries  <tom@codesourcery.com>
10853
10854	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
10855	second call to f.
10856	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10857
108582015-07-07  Tom de Vries  <tom@codesourcery.com>
10859
10860	PR tree-optimization/66642
10861	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
10862	iteration count case.
10863	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
10864	function, factor out of ...
10865	(main): ... here.  Test low iteration count case.
10866
108672015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10868
10869	* libgomp.h (gomp_thread_pool): Comment last_team field.
10870
108712015-07-02  Uros Bizjak  <ubizjak@gmail.com>
10872
10873	* testsuite/libgomp.c++/pr66702-1.C: Require
10874	vect_simd_clones effective target.
10875	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
10876
108772015-06-30  Tom de Vries  <tom@codesourcery.com>
10878
10879	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10880	already set.  Use DEFAULT_CFLAGS in dg-runtest.
10881	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
10882	"-O2".
10883
108842015-06-30  Tom de Vries  <tom@codesourcery.com>
10885
10886	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10887	already set.  Use DEFAULT_CFLAGS in dg-runtest.
10888	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
10889	* testsuite/libgomp.c++/pr64824.C: Same.
10890	* testsuite/libgomp.c++/pr64868.C: Same.
10891	* testsuite/libgomp.c++/pr66199-1.C: Same.
10892	* testsuite/libgomp.c++/pr66199-2.C: Same.
10893	* testsuite/libgomp.c++/target-2.C: Same.
10894	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
10895	-std=<standard> option.
10896	* testsuite/libgomp.c++/udr-11.C: Same.
10897	* testsuite/libgomp.c++/udr-12.C: Same.
10898	* testsuite/libgomp.c++/udr-13.C: Same.
10899	* testsuite/libgomp.c++/udr-14.C: Same.
10900	* testsuite/libgomp.c++/udr-15.C: Same.
10901	* testsuite/libgomp.c++/udr-16.C: Same.
10902	* testsuite/libgomp.c++/udr-17.C: Same.
10903	* testsuite/libgomp.c++/udr-18.C: Same.
10904	* testsuite/libgomp.c++/udr-19.C: Same.
10905	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
10906	* testsuite/libgomp.c++/simd-1.C: Same.
10907	* testsuite/libgomp.c++/simd-2.C: Same.
10908	* testsuite/libgomp.c++/simd-3.C: Same.
10909	* testsuite/libgomp.c++/simd-4.C: Same.
10910	* testsuite/libgomp.c++/simd-5.C: Same.
10911	* testsuite/libgomp.c++/simd-6.C: Same.
10912	* testsuite/libgomp.c++/simd-7.C: Same.
10913	* testsuite/libgomp.c++/simd-8.C: Same.
10914	* testsuite/libgomp.c++/simd-9.C: Same.
10915	* testsuite/libgomp.c++/simd10.C: Same.
10916	* testsuite/libgomp.c++/simd11.C: Same.
10917	* testsuite/libgomp.c++/simd12.C: Same.
10918	* testsuite/libgomp.c++/simd13.C: Same.
10919
109202015-06-30  Jakub Jelinek  <jakub@redhat.com>
10921
10922	PR middle-end/66702
10923	* testsuite/libgomp.c++/pr66702-1.C: New test.
10924	* testsuite/libgomp.c++/pr66702-2.C: New test.
10925
109262015-06-30  Tom de Vries  <tom@codesourcery.com>
10927
10928	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
10929	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
10930	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
10931	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
10932
109332015-06-30  Tom de Vries  <tom@codesourcery.com>
10934
10935	PR tree-optimization/66652
10936	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
10937	using restrict pointers.
10938	(main): Add arguments to calls to f.
10939	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10940
109412015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
10942
10943	* configure.ac: Fix check for header <sys/sysctl.h>.
10944	* configure: Regenerate.
10945	* config.h.in: Likewise.
10946
109472015-06-23  Tom de Vries  <tom@codesourcery.com>
10948
10949	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
10950	abort.
10951	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
10952
109532015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
10954
10955	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
10956	acc_device_nvidia.
10957
10958	PR libgomp/66518
10959	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
10960	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10961
109622015-06-15  Tom de Vries  <tom@codesourcery.com>
10963
10964	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
10965	dg-additional-options for any remaining options.
10966	* testsuite/libgomp.c/atomic-2.c: Same.
10967	* testsuite/libgomp.c/atomic-4.c: Same.
10968	* testsuite/libgomp.c/atomic-5.c: Same.
10969	* testsuite/libgomp.c/atomic-6.c: Same.
10970	* testsuite/libgomp.c/autopar-1.c: Same.
10971	* testsuite/libgomp.c/copyin-1.c: Same.
10972	* testsuite/libgomp.c/copyin-2.c: Same.
10973	* testsuite/libgomp.c/copyin-3.c: Same.
10974	* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
10975	* testsuite/libgomp.c/nestedfn-5.c: Same.
10976	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
10977	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
10978	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
10979	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10980	* testsuite/libgomp.c/pr32362-1.c: Same.
10981	* testsuite/libgomp.c/pr32362-2.c: Same.
10982	* testsuite/libgomp.c/pr32362-3.c: Same.
10983	* testsuite/libgomp.c/pr39591-1.c: Same.
10984	* testsuite/libgomp.c/pr39591-2.c: Same.
10985	* testsuite/libgomp.c/pr39591-3.c: Same.
10986	* testsuite/libgomp.c/pr58392.c: Same.
10987	* testsuite/libgomp.c/pr58756.c: Same.
10988	* testsuite/libgomp.c/simd-1.c: Same.
10989	* testsuite/libgomp.c/simd-10.c: Same.
10990	* testsuite/libgomp.c/simd-11.c: Same.
10991	* testsuite/libgomp.c/simd-12.c: Same.
10992	* testsuite/libgomp.c/simd-13.c: Same.
10993	* testsuite/libgomp.c/simd-14.c: Same.
10994	* testsuite/libgomp.c/simd-15.c: Same.
10995	* testsuite/libgomp.c/simd-2.c: Same.
10996	* testsuite/libgomp.c/simd-3.c: Same.
10997	* testsuite/libgomp.c/simd-4.c: Same.
10998	* testsuite/libgomp.c/simd-5.c: Same.
10999	* testsuite/libgomp.c/simd-6.c: Same.
11000	* testsuite/libgomp.c/simd-7.c: Same.
11001	* testsuite/libgomp.c/simd-8.c: Same.
11002	* testsuite/libgomp.c/simd-9.c: Same.
11003
110042015-06-15  Tom de Vries  <tom@codesourcery.com>
11005
11006	* testsuite/libgomp.c/pr35625.c: Fix typo.
11007
110082015-06-15  Tom de Vries  <tom@codesourcery.com>
11009
11010	* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11011	in dg-options.
11012	* testsuite/libgomp.c/atomic-3.c: Same.
11013	* testsuite/libgomp.c/debug-1.c: Same.
11014	* testsuite/libgomp.c/nqueens-1.c: Same.
11015	* testsuite/libgomp.c/pr26171.c: Same.
11016	* testsuite/libgomp.c/pr48591.c: Same.
11017	* testsuite/libgomp.c/pr64824.c: Same.
11018	* testsuite/libgomp.c/pr64868.c: Same.
11019	* testsuite/libgomp.c/pr66133.c: Same.
11020	* testsuite/libgomp.c/pr66199-1.c: Same.
11021	* testsuite/libgomp.c/pr66199-2.c: Same.
11022	* testsuite/libgomp.c/target-8.c: Same.
11023
110242015-06-15  Tom de Vries  <tom@codesourcery.com>
11025
11026	* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11027	-std={gnu99,c99}.
11028	* testsuite/libgomp.c/for-1.c: Same.
11029	* testsuite/libgomp.c/for-2.c: Same.
11030	* testsuite/libgomp.c/for-3.c: Same.
11031	* testsuite/libgomp.c/pr35625.c: Same.
11032	* testsuite/libgomp.c/pr39154.c: Same.
11033	* testsuite/libgomp.c/simd-16.c: Same.
11034	* testsuite/libgomp.c/simd-17.c: Same.
11035
110362015-06-13  Tom de Vries  <tom@codesourcery.com>
11037
11038	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11039
110402015-06-13  Tom de Vries  <tom@codesourcery.com>
11041
11042	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11043	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11044	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11045	(N): Define.
11046	(main): Use N instead of hardcoded constants.
11047
110482015-06-05  Tom de Vries  <tom@codesourcery.com>
11049
11050	merge from gomp4 branch:
11051	2015-05-28  Tom de Vries  <tom@codesourcery.com>
11052
11053	PR tree-optimization/65443
11054	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11055	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11056	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11057
110582015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
11059
11060	* testsuite/libgomp.graphite/bounds.c: Adjust for
11061	cleanup-tree-dump removal.
11062	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11063	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11064	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11065	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11066	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11067	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11068	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11069	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11070	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11071	* testsuite/libgomp.graphite/pr41118.c: Likewise.
11072
110732015-05-28  Uros Bizjak  <ubizjak@gmail.com>
11074
11075	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
11076	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
11077	(futex_wake) [!__x86_64__]: Ditto.
11078
110792015-05-28  Julian Brown  <julian@codesourcery.com>
11080
11081	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
11082	function comment. Only call gomp_fatal if new argument is true.
11083	(acc_dev_num_out_of_range): New function.
11084	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
11085	acc_dev_num_out_of_range as appropriate.
11086	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11087	(acc_get_device_num, acc_set_device_num): Update calls to
11088	resolve_device.
11089	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
11090	output.
11091
110922015-05-28  Julian Brown  <julian@codesourcery.com>
11093
11094	PR libgomp/65742
11095	* oacc-init.c (plugin/plugin-host.h): Include.
11096	(acc_on_device): Check whether we're in an offloaded region for
11097	host_nonshm
11098	plugin. Don't use __builtin_acc_on_device.
11099	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
11100	nonshm_exec flag in thread-local data.
11101	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
11102	data for host_nonshm plugin.
11103	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
11104	for host_nonshm plugin.
11105	* plugin/plugin-host.h: New.
11106
111072015-05-27  Uros Bizjak  <ubizjak@gmail.com>
11108
11109	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
11110
111112015-05-27  Uros Bizjak  <ubizjak@gmail.com>
11112
11113	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
11114	Declare as int.
11115	(FUTEX_PRIVATE_FLAG): Remove L suffix.
11116	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
11117	Declare as int.
11118
111192015-05-27  Uros Bizjak  <ubizjak@gmail.com>
11120
11121	* config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
11122
111232015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
11124
11125	* target.c (gomp_map_pointer): New function abstracting out
11126	GOMP_MAP_POINTER handling.
11127	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
11128	gomp_map_pointer().
11129
111302015-05-19  Jakub Jelinek  <jakub@redhat.com>
11131
11132	PR middle-end/66199
11133	* testsuite/libgomp.c/pr66199-1.c: New test.
11134	* testsuite/libgomp.c/pr66199-2.c: New test.
11135	* testsuite/libgomp.c++/pr66199-1.C: New test.
11136	* testsuite/libgomp.c++/pr66199-2.C: New test.
11137	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
11138	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
11139
111402015-05-19  Julian Brown  <julian@codesourcery.com>
11141
11142	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
11143	on cuInit failure.
11144
111452015-05-13  Jakub Jelinek  <jakub@redhat.com>
11146
11147	PR middle-end/66133
11148	* testsuite/libgomp.c/pr66133.c: New test.
11149
111502015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
11151
11152	* Makefile.in: Regenerated with automake-1.11.6.
11153	* aclocal.m4: Likewise.
11154	* config.h.in: Likewise.
11155	* configure: Likewise.
11156	* testsuite/Makefile.in: Likewise.
11157
111582015-05-08  Jason Merrill  <jason@redhat.com>
11159
11160	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
11161	_Complex.
11162
11163	* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
11164
111652015-05-06  Julian Brown  <julian@codesourcery.com>
11166
11167	* oacc-init.c (acc_device_lock): Add explanatory comment.
11168	(resolve_device): Add comment about locking requirement.
11169	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
11170	gomp_init_device and gomp_fini_device calls.
11171	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11172	(acc_get_device_num, acc_set_device_num): Add locking around
11173	resolve_device and gomp_init_device calls.
11174
111752015-05-06  Julian Brown  <julian@codesourcery.com>
11176
11177	* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
11178	goacc_thread_lock on error paths.
11179	* oacc-mem.c (lookup_host): Remove locking from function. Note
11180	locking requirement for caller in function comment.
11181	(lookup_dev): Likewise.
11182	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
11183	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
11184	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
11185	Add locking.
11186
111872015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
11188
11189	PR testsuite/65205
11190	PR libgomp/65993
11191	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
11192	don't expect "0x" prefix for "%p" format specifier, don't expect
11193	"(nil)" for NULL pointer.
11194	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11195	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11196	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11197	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11198	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11199	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11200	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11201	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11202	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11203	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11204	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11205	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11206	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11207	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11208	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11209	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11210	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11211	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11212	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11213	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11214	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11215	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11216	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11217	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11218	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11219	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11220	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11221	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11222	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
11223	accurately specify what we're looking for.
11224	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11225	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11226	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11227	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11228	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11229
112302015-04-30  James Norris  <jnorris@codesourcery.com>
11231
11232	PR testsuite/65205
11233	* testsuite/lib/libgomp.exp
11234	(check_effective_target_openacc_host_selected)
11235	(check_effective_target_openacc_host_nonshm_selected): New
11236	procedures.
11237	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
11238	dg-shouldfail.
11239	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11240	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11241	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11242	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11243	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11244	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11245	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11246	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11247	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11248	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11249	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11250	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11251	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11252	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11253	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11254	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11255	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11256	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11257	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11258	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11259	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11260	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11261	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11262	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11263	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11264	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11265	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11266	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11267	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11268	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11269	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11270	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11271	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11272	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11273	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11274	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11275	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11276	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11277	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11278	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11279	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11280	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11281	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11282
112832015-04-08  Julian Brown  <julian@codesourcery.com>
11284
11285	* libgomp.h (target_mem_desc: Remove mem_map field.
11286	(acc_dispatch_t): Remove open_device_func, close_device_func,
11287	get_device_num_func, set_device_num_func, target_data members.
11288	Change create_thread_data_func argument to device number instead of
11289	generic pointer.
11290	* oacc-async.c (assert.h): Include.
11291	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
11292	(acc_wait_all, acc_wait_all_async): Use current host thread's
11293	active device, not base_dev.
11294	* oacc-cuda.c (acc_get_current_cuda_device)
11295	(acc_get_current_cuda_context, acc_get_cuda_stream)
11296	(acc_set_cuda_stream): Likewise.
11297	* oacc-host.c (host_dispatch): Don't set open_device_func,
11298	close_device_func, get_device_num_func or set_device_num_func.
11299	* oacc-init.c (base_dev, init_key): Remove.
11300	(cached_base_dev): New.
11301	(name_of_acc_device_t): New.
11302	(acc_init_1): Initialise default-numbered device, not zeroth.
11303	(acc_shutdown_1): Close all devices of a given type.
11304	(goacc_destroy_thread): Don't use base_dev.
11305	(lazy_open, lazy_init, lazy_init_and_open): Remove.
11306	(goacc_attach_host_thread_to_device): New.
11307	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
11308	(acc_get_num_devices): Don't use base_dev.
11309	(acc_set_device_type): Reimplement.
11310	(acc_get_device_type): Don't use base_dev.
11311	(acc_get_device_num): Tweak logic.
11312	(acc_set_device_num): Likewise.
11313	(acc_on_device): Use acc_get_device_type.
11314	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
11315	(goacc_lazy_initialize): Reimplement with acc_init and
11316	goacc_attach_host_thread_to_device.
11317	* oacc-int.h (goacc_thread): Add base_dev field.
11318	(base_dev): Remove extern declaration.
11319	(goacc_attach_host_thread_to_device): Add prototype.
11320	* oacc-mem.c (acc_malloc): Use current thread's device instead of
11321	base_dev.
11322	(acc_free): Likewise.
11323	(acc_memcpy_to_device): Likewise.
11324	(acc_memcpy_from_device): Likewise.
11325	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
11326	goacc_lazy_initialize (throughout).
11327	(GOACC_parallel): Use tgt_offset to locate target functions.
11328	* target.c (gomp_map_vars): Don't set tgt->mem_map.
11329	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
11330	(gomp_load_plugin_for_device): Remove open_device, close_device,
11331	get_device_num, set_device_num openacc hook initialisation. Don't set
11332	openacc.target_data.
11333	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
11334	(GOMP_OFFLOAD_openacc_close_device)
11335	(GOMP_OFFLOAD_openacc_get_device_num)
11336	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
11337	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
11338	to int.
11339	* plugin/plugin-nvptx.c (ptx_inited): Remove.
11340	(instantiated_devices, ptx_dev_lock): New.
11341	(struct ptx_image_data): New.
11342	(ptx_devices, ptx_images, ptx_image_lock): New.
11343	(fini_streams_for_device): Reorder cuStreamDestroy call.
11344	(nvptx_get_num_devices): Remove forward declaration.
11345	(nvptx_init): Change return type to bool.
11346	(nvptx_fini): Remove.
11347	(nvptx_attach_host_thread_to_device): New.
11348	(nvptx_open_device): Return struct ptx_device* instead of void*.
11349	(nvptx_close_device): Change argument type to struct ptx_device*,
11350	return type to void.
11351	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
11352	(kernel_target_data, kernel_host_table): Remove static globals.
11353	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
11354	(GOMP_OFFLOAD_init_device): Reimplement.
11355	(GOMP_OFFLOAD_fini_device): Likewise.
11356	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
11357	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
11358	(GOMP_OFFLOAD_host2dev): Use ORD argument.
11359	(GOMP_OFFLOAD_openacc_open_device)
11360	(GOMP_OFFLOAD_openacc_close_device)
11361	(GOMP_OFFLOAD_openacc_set_device_num)
11362	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
11363	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
11364	(device number).
11365
11366	testsuite/
11367	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
11368
113692015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
11370
11371	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
11372	* libgomp.h (struct gomp_memory_mapping): Remove.
11373	(struct target_mem_desc): Change type of mem_map from
11374	gomp_memory_mapping * to splay_tree_s *.
11375	(struct gomp_device_descr): Remove register_image_func, get_table_func.
11376	Add load_image_func, unload_image_func.
11377	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
11378	Remove offload_regions_registered.
11379	(gomp_init_tables): Remove.
11380	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11381	to splay_tree_s *.
11382	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
11383	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
11384	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
11385	offload_regions_registered.
11386	Initialize load_image_func, unload_image_func, mem_map.root.
11387	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
11388	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
11389	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
11390	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
11391	gomp_memory_mapping *.  Use dev's lock and splay_tree.
11392	(lookup_dev): Use dev's lock.
11393	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
11394	(acc_is_present): Likewise.
11395	(acc_map_data): Likewise.
11396	(acc_unmap_data): Likewise.  Use dev's lock.
11397	(present_create_copy): Likewise.
11398	(delete_copyout): Pass dev to lookup_host instead of mem_map.
11399	(update_dev_host): Likewise.
11400	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
11401	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
11402	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
11403	(GOMP_OFFLOAD_get_table): Remove
11404	(GOMP_OFFLOAD_load_image): New function.
11405	(GOMP_OFFLOAD_unload_image): New function.
11406	* target.c (register_lock): New mutex for offload image registration.
11407	(num_devices): Do not guard with PLUGIN_SUPPORT.
11408	(gomp_realloc_unlock): New static function.
11409	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
11410	before gomp_fatal.
11411	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
11412	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
11413	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
11414	mem_map's.
11415	(gomp_unmap_vars): Likewise.
11416	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
11417	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
11418	(gomp_offload_image_to_device): New static function.
11419	(GOMP_offload_register): Add mutex lock.
11420	Call gomp_offload_image_to_device for all initialized devices.
11421	Replace gomp_realloc with gomp_realloc_unlock.
11422	(GOMP_offload_unregister): New function.
11423	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
11424	get_table_func from the plugin with calls to init_device_func and
11425	gomp_offload_image_to_device.
11426	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11427	to splay_tree_s *.
11428	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
11429	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
11430	(GOMP_target_data): Do not call gomp_init_tables.
11431	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
11432	(gomp_load_plugin_for_device): Replace register_image and get_table
11433	with load_image and unload_image in DLSYM ().
11434	(gomp_register_images_for_device): Remove function.
11435	(gomp_target_init): Do not initialize current_device.mem_map.*,
11436	current_device.offload_regions_registered.
11437	Remove call to gomp_register_images_for_device.
11438	Do not free offload_images and num_offload_images.
11439
114402015-03-30  Jakub Jelinek  <jakub@redhat.com>
11441
11442	PR fortran/65597
11443	* testsuite/libgomp.fortran/pr65597.f90: New test.
11444
114452015-03-27  Tom de Vries  <tom@codesourcery.com>
11446
11447	PR testsuite/65594
11448	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
11449	(init, check): New function.
11450	(foo): Change return type to void.
11451	(main): Call init and check.
11452
114532015-03-27  Tom de Vries  <tom@codesourcery.com>
11454
11455	PR testsuite/65594
11456	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
11457	(foo): Use M for non-inner loops to scale down test-case.
11458
114592015-03-25  Kai Tietz  <ktietz@redhat.com>
11460
11461	PR libgomp/64972
11462	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
11463	(GOACC_data_start): Likewise.
11464	* target.c (gomp_map_vars): Likewise.
11465
114662015-03-21  John David Anglin  <danglin@gcc.gnu.org>
11467
11468	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
11469	hppa*-*-hpux*.
11470
114712015-03-19  Jakub Jelinek  <jakub@redhat.com>
11472
11473	* testsuite/libgomp.c/target-10.c: New test.
11474	* testsuite/libgomp.c++/target-4.C: New test.
11475
114762015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
11477
11478	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
11479	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
11480
114812015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11482
11483	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
11484	* configure.ac (*-*-rtems*): Assume Pthread is supported.
11485	(pthread.h): Check for this header file.
11486	* configure: Regenerate.
11487
114882015-02-25  Tom de Vries  <tom@codesourcery.com>
11489
11490	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
11491	(check_reduction_op, check_reduction_macro, max, min):
11492	Declare.
11493	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
11494	function.
11495	(main): Use new functions.
11496
114972015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
11498
11499	* target.c (gomp_load_plugin_for_device): Use const char * instead of
11500	char * for variables holding dlerror return values.
11501	(DLSYM_OPT): Ditto.
11502
115032015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
11504
11505	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
11506
115072015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
11508	    Cesar Philippidis  <cesar@codesourcery.com>
11509
11510	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
11511	GOACC_ctaid, and GOACC_nctaid routines.
11512
115132015-02-11  Jakub Jelinek  <jakub@redhat.com>
11514
11515	PR c/64824
11516	* testsuite/libgomp.c/atomic-18.c: New test.
11517	* testsuite/libgomp.c++/atomic-16.C: New test.
11518
115192015-02-04  Jakub Jelinek  <jakub@redhat.com>
11520
11521	PR c/64824
11522	PR c/64868
11523	* testsuite/libgomp.c/pr64824.c: New test.
11524	* testsuite/libgomp.c/pr64868.c: New test.
11525	* testsuite/libgomp.c++/pr64824.C: New test.
11526	* testsuite/libgomp.c++/pr64868.C: New test.
11527
115282015-02-01  David Edelsohn  <dje.gcc@gmail.com>
11529
11530	PR libgomp/64635
11531	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
11532	Link with -lpthread.
11533	* config/aix/plugin-suffix.h: Delete.
11534
115352015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
11536
11537	PR libgomp/64635
11538	* configure.tgt (*-*-aix*): Use config_path "aix posix".
11539	(*-*-darwin*): Use config_path "bsd darwin posix".
11540	(*-*-hpux*): Use config_path "hpux posix".
11541	* target.c: Add include of plugin-suffix.h and use
11542	SONAME_SUFFIX macro.
11543	* config/aix/plugin-suffix.h: New file.
11544	* config/darwin/plugin-suffix.h: New file.
11545	* config/hpux/plugin-suffix.h: New file.
11546	* config/posix/plugin-suffix.h: New file.
11547
115482015-01-23  Jakub Jelinek  <jakub@redhat.com>
11549
11550	PR middle-end/64734
11551	* libgomp.c/pr64734.c: New test.
11552
115532015-01-23  Tom de Vries  <tom@codesourcery.com>
11554
11555	PR libgomp/64672
11556	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
11557
115582015-01-23  Tom de Vries  <tom@codesourcery.com>
11559
11560	PR libgomp/64707
11561	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
11562	dg-options.
11563
115642015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
11565
11566	PR libgomp/64625
11567	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
11568	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
11569	formal parameter.  Update all users.
11570	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
11571	Document unused formal parameter.
11572
115732015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
11574
11575	* oacc-parallel.c: Don't include <alloca.h>.
11576	(GOACC_parallel): Use gomp_alloca instead of alloca.
11577
115782015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
11579
11580	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
11581
115822015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
11583	    James Norris  <jnorris@codesourcery.com>
11584	    Tom de Vries  <tom@codesourcery.com>
11585	    Julian Brown  <julian@codesourcery.com>
11586	    Cesar Philippidis  <cesar@codesourcery.com>
11587	    Nathan Sidwell  <nathan@codesourcery.com>
11588	    Tobias Burnus  <burnus@net-b.de>
11589
11590	* Makefile.am (search_path): Add $(top_srcdir)/../include.
11591	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
11592	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
11593	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
11594	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
11595	Include $(top_srcdir)/plugin/Makefrag.am.
11596	(nodist_libsubinclude_HEADERS): Add openacc.h.
11597	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
11598	openacc.f90, openacc.mod, openacc_kinds.mod.
11599	(omp_lib.mod): Generalize into...
11600	(%.mod): ... this new rule.
11601	(openacc_kinds.mod, openacc.mod): New rules.
11602	* plugin/configfrag.ac: New file.
11603	* configure.ac: Move plugin/offloading support into it.  Include
11604	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
11605	* plugin/Makefrag.am: New file.
11606	* testsuite/Makefile.am (OFFLOAD_TARGETS)
11607	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
11608	export.
11609	(libgomp-test-support.exp): New rule.
11610	(all-local): Depend on it.
11611	* Makefile.in: Regenerate.
11612	* testsuite/Makefile.in: Regenerate.
11613	* config.h.in: Likewise.
11614	* configure: Likewise.
11615	* configure.tgt: Harden shell syntax.
11616	* env.c: Include "oacc-int.h".
11617	(parse_acc_device_type): New function.
11618	(gomp_debug_var, goacc_device_type, goacc_device_num): New
11619	variables.
11620	(initialize_env): Initialize those.  Call
11621	goacc_runtime_initialize.
11622	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
11623	(gomp_fatal): Call gomp_vfatal.
11624	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
11625	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
11626	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
11627	(splay_tree_node, splay_tree, splay_tree_key)
11628	(struct target_mem_desc, struct splay_tree_key_s)
11629	(struct gomp_memory_mapping, struct acc_dispatch_t)
11630	(struct gomp_device_descr, gomp_acc_insert_pointer)
11631	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
11632	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
11633	(gomp_free_memmap, gomp_fini_device): New declarations.
11634	(gomp_vdebug, gomp_debug): New macros.
11635	Include "splay-tree.h".
11636	* libgomp.map (OACC_2.0): New symbol version.  Use for
11637	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
11638	acc_set_device_type_h_, acc_get_device_type,
11639	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
11640	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
11641	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
11642	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
11643	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
11644	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
11645	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
11646	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
11647	acc_copyin_array_h_, acc_present_or_copyin,
11648	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
11649	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
11650	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
11651	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
11652	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
11653	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
11654	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
11655	acc_update_device, acc_update_device_32_h_,
11656	acc_update_device_64_h_, acc_update_device_array_h_,
11657	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
11658	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
11659	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
11660	acc_is_present_64_h_, acc_is_present_array_h_,
11661	acc_memcpy_to_device, acc_memcpy_from_device,
11662	acc_get_current_cuda_device, acc_get_current_cuda_context,
11663	acc_get_cuda_stream, acc_set_cuda_stream.
11664	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
11665	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
11666	GOACC_update, GOACC_wait, GOACC_get_thread_num,
11667	GOACC_get_num_threads.
11668	(GOMP_PLUGIN_1.0): New symbol version.  Use for
11669	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
11670	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
11671	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
11672	GOMP_PLUGIN_acc_thread.
11673	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
11674	environment variable.
11675	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
11676	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
11677	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
11678	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
11679	(splay_tree_remove): New declarations.
11680	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
11681	(splay_tree_remove, splay_tree_lookup): Move into...
11682	* splay-tree.c: ... this new file.
11683	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
11684	(splay_tree_node, splay_tree, splay_tree_key)
11685	(struct target_mem_desc, struct splay_tree_key_s)
11686	(struct gomp_device_descr): Don't declare.
11687	(num_devices_openmp): New variable.
11688	(gomp_get_num_devices ): Use it.
11689	(gomp_init_targets_once): New function.
11690	(gomp_get_num_devices ): Use it.
11691	(get_kind, gomp_copy_from_async, gomp_free_memmap)
11692	(gomp_fini_device, gomp_register_image_for_device): New functions.
11693	(gomp_map_vars): Add devaddrs parameter.
11694	(gomp_update): Add mm parameter.
11695	(gomp_init_device): Move most of it into...
11696	(gomp_init_tables): ... this new function.
11697	(gomp_register_images_for_device): Remove function.
11698	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
11699	Make them hidden instead of static.
11700	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
11701	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
11702	(GOMP_target_end_data, GOMP_target_update)
11703	(gomp_load_plugin_for_device, gomp_target_init): Update for
11704	OpenACC changes.
11705	* oacc-async.c: New file.
11706	* oacc-cuda.c: Likewise.
11707	* oacc-host.c: Likewise.
11708	* oacc-init.c: Likewise.
11709	* oacc-int.h: Likewise.
11710	* oacc-mem.c: Likewise.
11711	* oacc-parallel.c: Likewise.
11712	* oacc-plugin.c: Likewise.
11713	* oacc-plugin.h: Likewise.
11714	* oacc-ptx.h: Likewise.
11715	* openacc.f90: Likewise.
11716	* openacc.h: Likewise.
11717	* openacc_lib.h: Likewise.
11718	* plugin/plugin-host.c: Likewise.
11719	* plugin/plugin-nvptx.c: Likewise.
11720	* libgomp-plugin.c: Likewise.
11721	* libgomp-plugin.h: Likewise.
11722	* libgomp_target.h: Remove file after merging content into the
11723	former file.  Update all users.
11724	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
11725	(offload_targets_s, offload_targets_s_openacc): New variables.
11726	(check_effective_target_openacc_nvidia_accel_present)
11727	(check_effective_target_openacc_nvidia_accel_selected): New
11728	procedures.
11729	(libgomp_init): Update for OpenACC changes.
11730	* testsuite/libgomp-test-support.exp.in: New file.
11731	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
11732	* testsuite/libgomp.oacc-c/c.exp: Likewise.
11733	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11734	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
11735	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
11736	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11737	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
11738	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11739	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
11740	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
11741	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
11742	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11743	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
11744	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11745	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
11746	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11747	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
11748	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
11749	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
11750	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
11751	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
11752	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
11753	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11754	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11755	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11756	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11757	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11758	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11759	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11760	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11761	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11762	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
11763	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
11764	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
11765	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
11766	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11767	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11768	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11769	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
11770	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
11771	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11772	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11773	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11774	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11775	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11776	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
11777	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11778	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11779	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11780	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11781	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11782	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11783	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11784	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11785	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11786	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11787	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11788	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11789	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11790	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
11791	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11792	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
11793	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11794	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11795	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11796	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
11797	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
11798	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11799	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11800	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11801	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
11802	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11803	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11804	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11805	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
11806	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
11807	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11808	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11809	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
11810	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
11811	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
11812	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
11813	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11814	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11815	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11816	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
11817	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
11818	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11819	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11820	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
11821	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
11822	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
11823	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
11824	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11825	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11826	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11827	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11828	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
11829	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11830	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11831	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
11832	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
11833	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
11834	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11835	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
11836	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
11837	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
11838	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
11839	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
11840	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11841	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
11842	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
11843	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11844	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
11845	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
11846	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11847	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
11848	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
11849	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
11850	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
11851	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
11852	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
11853	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11854	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
11855	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
11856	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
11857	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
11858	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
11859	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
11860	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
11861	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
11862	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
11863	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11864	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
11865	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11866	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11867	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11868	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11869	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11870	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
11871	Likewise.
11872	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
11873	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
11874	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
11875	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
11876	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
11877	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11878	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11879	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11880	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11881	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11882	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11883	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11884	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11885	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11886	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11887	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11888	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11889	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11890	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11891	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11892	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11893	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11894	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11895	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11896	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11897	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11898	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11899	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11900	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11901	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11902	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11903	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11904	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11905	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11906	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11907	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11908	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11909	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11910	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11911	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11912	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11913	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11914	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11915	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11916	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11917	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11918	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11919	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11920	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11921	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11922	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11923	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11924	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11925	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11926	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11927	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11928	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11929	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11930	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11931	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11932
119332015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
11934	    Julian Brown  <julian@codesourcery.com>
11935	    David Malcolm  <dmalcolm@redhat.com>
11936
11937	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
11938	to "GNU Offloading and Multi Processing Runtime Library".  Change
11939	all users.
11940	* configure: Regenerate.
11941	* libgomp.texi: Update.
11942
119432015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
11944
11945	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
11946	"$tgt_dir/lib32".
11947	* configure: Regenerate.
11948
11949	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
11950	"intelmic" in $offload_targets.
11951
119522015-01-05  Jakub Jelinek  <jakub@redhat.com>
11953
11954	Update copyright years.
11955
11956	* libgomp.texi: Bump @copying's copyright year.
11957
119582014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11959
11960	* testsuite/lib/libgomp.exp: Load target-utils.exp.
11961	Move load of target-supports.exp earlier.
11962
119632014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
11964
11965	* testsuite/libgomp.c/target-9.c: New test.
11966
119672014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
11968
11969	* config.h.in: Regenerate.
11970	* configure: Regenerate.
11971	* configure.ac: Add GCC_CHECK_EMUTLS.
11972	* libgomp.h: Add check for USE_EMUTLS: this case
11973	is equal to HAVE_TLS.
11974	* team.c: Likewise.
11975
119762014-12-03  Uros Bizjak  <ubizjak@gmail.com>
11977
11978	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
11979
119802014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
11981	    Ilya Verbin  <ilya.verbin@intel.com>
11982
11983	* testsuite/libgomp.c/target-critical-1.c: New test.
11984
119852014-11-26  Jakub Jelinek  <jakub@redhat.com>
11986
11987	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
11988	to dg-options unless expensive testing is on.
11989	(TESTITERS): Define to N if not defined.
11990	(main): Use TESTITERS instead of N.
11991	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
11992	dg-additional-options depending on whether expensive testing is on.
11993	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
11994	Decrease N to 100000 and CHUNKSZ to 10000.
11995
119962014-11-24  Jakub Jelinek  <jakub@redhat.com>
11997
11998	PR fortran/63938
11999	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
12000	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
12001
120022014-11-21  Steve Ellcey  <sellcey@imgtec.com>
12003
12004	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
12005
120062014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
12007
12008	PR bootstrap/63784
12009	* configure: Regenerated.
12010
120112014-11-19  Uros Bizjak  <ubizjak@gmail.com>
12012
12013	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
12014	vect_simd_clones effective target.
12015	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12016
120172014-11-14  Jakub Jelinek  <jakub@redhat.com>
12018
12019	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12020	of 32 as block_size.
12021	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12022	instead of 32 as block_size.
12023
120242014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
12025	    Ilya Verbin  <ilya.verbin@intel.com>
12026
12027	* Makefile.in: Regenerate.
12028	* configure: Regenerate.
12029	* configure.ac: Set up offload_additional_options,
12030	offload_additional_lib_paths and offload_targets.
12031	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12032	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12033	* testsuite/Makefile.in: Regenerate.
12034	* testsuite/lib/libgomp.exp (libgomp_init): Append
12035	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
12036	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
12037	build directory to LD_LIBRARY_PATH for intelmic offload targets.
12038
120392014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
12040	    Ilya Verbin  <ilya.verbin@intel.com>
12041	    Kirill Yukhin  <kirill.yukhin@intel.com>
12042	    Ilya Tocar  <ilya.tocar@intel.com>
12043
12044	* testsuite/lib/libgomp.exp
12045	(check_effective_target_offload_device): New.
12046	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12047	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12048	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12049	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12050	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12051	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12052	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12053	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12054	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12055	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12056	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12057	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12058	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12059	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12060	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12061	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12062	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12063	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12064	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12065	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12066	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12067	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
12068	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
12069	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
12070	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
12071	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
12072	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
12073	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
12074	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
12075	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
12076	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
12077	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
12078	* testsuite/libgomp.c/target-7.c: Fix test.
12079	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
12080	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
12081	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
12082	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
12083	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
12084	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
12085	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
12086	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
12087	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
12088	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
12089	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
12090	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
12091	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
12092	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
12093	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
12094	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
12095	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
12096	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
12097	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12098	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
12099	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
12100	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
12101	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
12102	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
12103	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
12104	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
12105	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
12106	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
12107	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
12108	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
12109	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
12110
121112014-11-13  Jakub Jelinek  <jakub@redhat.com>
12112	    Ilya Verbin  <ilya.verbin@intel.com>
12113	    Thomas Schwinge  <thomas@codesourcery.com>
12114	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
12115
12116	* libgomp.map (GOMP_4.0.1): New symbol version.
12117	Add GOMP_offload_register.
12118	* libgomp_target.h: New file.
12119	* splay-tree.h: New file.
12120	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
12121	(gomp_target_init): New forward declaration.
12122	(gomp_is_initialized): New static variable.
12123	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
12124	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
12125	New structures.
12126	(offload_images, num_offload_images, devices, num_devices): New static
12127	variables.
12128	(splay_compare): New static function.
12129	(struct gomp_device_descr): New structure.
12130	(gomp_get_num_devices): Call gomp_target_init.
12131	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
12132	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
12133	(GOMP_offload_register): New function.
12134	(GOMP_target): Arrange for host callback to be performed in a separate
12135	initial thread and contention group, inheriting ICVs from
12136	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
12137	Add device initialization and lookup for target function in splay tree.
12138	(GOMP_target_data): Add device initialization and call gomp_map_vars.
12139	(GOMP_target_end_data): Call gomp_unmap_vars.
12140	(GOMP_target_update): Add device initialization and call gomp_update.
12141	(gomp_load_plugin_for_device, gomp_register_images_for_device)
12142	(gomp_target_init): New static functions.
12143
121442014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
12145	    Thomas Schwinge  <thomas@codesourcery.com>
12146	    Ilya Verbin  <ilya.verbin@intel.com>
12147	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
12148
12149	* config.h.in: Regenerate.
12150	* configure: Regenerate.
12151	* configure.ac: Check for libdl, required for plugin support.
12152	(PLUGIN_SUPPORT): Define if plugins are supported.
12153	(enable_offload_targets): Support Intel MIC targets.
12154	(OFFLOAD_TARGETS): List of target names suitable for offloading.
12155
121562014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12157
12158	PR target/63610
12159	* configure: Regenerate.
12160
121612014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12162
12163	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
12164
121652014-10-06  Marek Polacek  <polacek@redhat.com>
12166
12167	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
12168	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
12169	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
12170	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
12171
121722014-10-06  Marek Polacek  <polacek@redhat.com>
12173
12174	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
12175	* testsuite/libgomp.c/nqueens-1.c: Likewise.
12176	* testsuite/libgomp.c/pr26943-3.c: Likewise.
12177	* testsuite/libgomp.c/pr26943-4.c: Likewise.
12178	* testsuite/libgomp.c/pr36802-2.c: Likewise.
12179	* testsuite/libgomp.c/pr36802-3.c: Likewise.
12180	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
12181	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
12182	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
12183	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
12184	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
12185	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
12186	* testsuite/libgomp.c/omp-single-1.c: Likewise.
12187	* testsuite/libgomp.c/omp-single-2.c: Likewise.
12188	* testsuite/libgomp.c/omp_matvec.c: Likewise.
12189	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
12190	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
12191	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
12192	declarations.
12193
121942014-10-03  Jakub Jelinek  <jakub@redhat.com>
12195
12196	PR libgomp/61200
12197	* testsuite/libgomp.c/pr61200.c: New test.
12198
121992014-09-18  Jakub Jelinek  <jakub@redhat.com>
12200
12201	PR c++/63248
12202	* testsuite/libgomp.c++/pr63248.C: New test.
12203
122042014-08-04  Jakub Jelinek  <jakub@redhat.com>
12205
12206	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
12207	is not zero, but taskgroup->children is NULL and there are
12208	any task->children, schedule those instead of waiting.
12209	* testsuite/libgomp.c/depend-6.c: New test.
12210	* testsuite/libgomp.c/depend-7.c: New test.
12211	* testsuite/libgomp.c/depend-8.c: New test.
12212	* testsuite/libgomp.c/depend-9.c: New test.
12213	* testsuite/libgomp.c/depend-10.c: New test.
12214
122152014-08-01  Jakub Jelinek  <jakub@redhat.com>
12216
12217	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
12218	(struct gomp_taskwait): New type.
12219	(struct gomp_task): Add taskwait and parent_depends_on, remove
12220	in_taskwait and taskwait_sem fields.
12221	(gomp_finish_task): Don't destroy taskwait_sem.
12222	* task.c (gomp_init_task): Don't init in_taskwait, instead init
12223	taskwait and parent_depends_on.
12224	(GOMP_task): For if (0) tasks with depend clause that depend on
12225	earlier tasks don't defer them, instead call
12226	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
12227	Initialize redundant_out field, for redundant out entries just
12228	move them at the end of linked list instead of removing them
12229	completely, and set redundant_out flag instead of redundant.
12230	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
12231	that task.
12232	(gomp_task_run_post_handle_dependers): If parent is in
12233	gomp_task_maybe_wait_for_dependencies and newly runnable task
12234	is not parent_depends_on, queue it in parent->children linked
12235	list after all runnable tasks with parent_depends_on set.
12236	Adjust for addition of taskwait indirection.
12237	(gomp_task_run_post_remove_parent): If parent is in
12238	gomp_task_maybe_wait_for_dependencies and task to be removed
12239	is parent_depends_on, decrement n_depend and if needed awake
12240	parent.  Adjust for addition of taskwait indirection.
12241	(GOMP_taskwait): Adjust for addition of taskwait indirection.
12242	(gomp_task_maybe_wait_for_dependencies): New function.
12243	* testsuite/libgomp.c/depend-5.c: New test.
12244
122452014-07-13  Tobias Burnus  <burnus@net-b.de>
12246
12247	* testsuite/libgomp.fortran/pr34020.f90: Make compile
12248	with TS 18508/Fortran 2015.
12249
122502014-07-06  Marek Polacek  <polacek@redhat.com>
12251
12252	PR c/6940
12253	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
12254
122552014-07-03  Jakub Jelinek  <jakub@redhat.com>
12256
12257	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
12258	matches regex $lang_source_re, add $lang_include_flags to options.
12259	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
12260	* testsuite/libgomp.c++/c++.exp: Likewise.
12261	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
12262	and lang_include_flags instead of adding -fintrinsic-modules-path= to
12263	ALWAYS_CFLAGS.
12264	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
12265
122662014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
12267
12268	* testsuite/libgomp.fortran/fortran.exp: Explain
12269	gfortran-dg-runtest usage.
12270
122712014-06-25  Jakub Jelinek  <jakub@redhat.com>
12272
12273	* testsuite/libgomp.fortran/simd5.f90: New test.
12274	* testsuite/libgomp.fortran/simd6.f90: New test.
12275	* testsuite/libgomp.fortran/simd7.f90: New test.
12276
122772014-06-24  Jakub Jelinek  <jakub@redhat.com>
12278
12279	* testsuite/libgomp.c/for-2.c: Define SC to static for
12280	#pragma omp for simd testing.
12281	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
12282	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
12283	SC macro.
12284	* testsuite/libgomp.c/simd-14.c: New test.
12285	* testsuite/libgomp.c/simd-15.c: New test.
12286	* testsuite/libgomp.c/simd-16.c: New test.
12287	* testsuite/libgomp.c/simd-17.c: New test.
12288	* testsuite/libgomp.c++/for-10.C: Define SC to static for
12289	#pragma omp for simd testing.
12290	* testsuite/libgomp.c++/simd10.C: New test.
12291	* testsuite/libgomp.c++/simd11.C: New test.
12292	* testsuite/libgomp.c++/simd12.C: New test.
12293	* testsuite/libgomp.c++/simd13.C: New test.
12294
12295	* testsuite/libgomp.fortran/aligned1.f03: New test.
12296	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
12297	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
12298	tasks with !$omp parallel !$omp single.
12299	* testsuite/libgomp.fortran/target8.f90: New test.
12300	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
12301	not to use trim in the combiner, instead call elemental function.
12302	(fn): New elemental function.
12303	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
12304	Make elemental.
12305	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
12306	omp_in): Likewise.
12307	* testsuite/libgomp.fortran/udr12.f90: New test.
12308	* testsuite/libgomp.fortran/udr13.f90: New test.
12309	* testsuite/libgomp.fortran/udr14.f90: New test.
12310	* testsuite/libgomp.fortran/udr15.f90: New test.
12311
123122014-06-18  Jakub Jelinek  <jakub@redhat.com>
12313
12314	* omp_lib.f90.in (openmp_version): Set to 201307.
12315	* omp_lib.h.in (openmp_version): Likewise.
12316	* testsuite/libgomp.c/target-8.c: New test.
12317	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
12318	and inbranch clauses.
12319	* testsuite/libgomp.fortran/depend-3.f90: New test.
12320	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
12321	openmp_version.
12322	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12323	* testsuite/libgomp.fortran/target1.f90: New test.
12324	* testsuite/libgomp.fortran/target2.f90: New test.
12325	* testsuite/libgomp.fortran/target3.f90: New test.
12326	* testsuite/libgomp.fortran/target4.f90: New test.
12327	* testsuite/libgomp.fortran/target5.f90: New test.
12328	* testsuite/libgomp.fortran/target6.f90: New test.
12329	* testsuite/libgomp.fortran/target7.f90: New test.
12330
123312014-06-10  Jakub Jelinek  <jakub@redhat.com>
12332
12333	PR fortran/60928
12334	* testsuite/libgomp.fortran/allocatable9.f90: New test.
12335	* testsuite/libgomp.fortran/allocatable10.f90: New test.
12336	* testsuite/libgomp.fortran/allocatable11.f90: New test.
12337	* testsuite/libgomp.fortran/allocatable12.f90: New test.
12338	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
12339	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
12340	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
12341	* testsuite/libgomp.fortran/associate1.f90: New test.
12342	* testsuite/libgomp.fortran/associate2.f90: New test.
12343	* testsuite/libgomp.fortran/procptr1.f90: New test.
12344
123452014-06-06  Jakub Jelinek  <jakub@redhat.com>
12346
12347	* testsuite/libgomp.fortran/simd1.f90: New test.
12348	* testsuite/libgomp.fortran/udr1.f90: New test.
12349	* testsuite/libgomp.fortran/udr2.f90: New test.
12350	* testsuite/libgomp.fortran/udr3.f90: New test.
12351	* testsuite/libgomp.fortran/udr4.f90: New test.
12352	* testsuite/libgomp.fortran/udr5.f90: New test.
12353	* testsuite/libgomp.fortran/udr6.f90: New test.
12354	* testsuite/libgomp.fortran/udr7.f90: New test.
12355	* testsuite/libgomp.fortran/udr8.f90: New test.
12356	* testsuite/libgomp.fortran/udr9.f90: New test.
12357	* testsuite/libgomp.fortran/udr10.f90: New test.
12358	* testsuite/libgomp.fortran/udr11.f90: New test.
12359
123602014-05-27  Uros Bizjak  <ubizjak@gmail.com>
12361
12362	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
12363	vect_simd_clones effective target.
12364	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
12365
123662014-05-21  Jakub Jelinek  <jakub@redhat.com>
12367
12368	PR middle-end/61252
12369	* testsuite/libgomp.c++/simd-9.C: New test.
12370
123712014-05-18  Uros Bizjak  <ubizjak@gmail.com>
12372
12373	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
12374	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
12375	texts according to their @menu entry positions.
12376
123772014-05-11  Jakub Jelinek  <jakub@redhat.com>
12378
12379	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
12380	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
12381	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
12382	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
12383	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
12384	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
12385	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
12386	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
12387	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
12388	* testsuite/libgomp.fortran/depend-1.f90: New test.
12389	* testsuite/libgomp.fortran/depend-2.f90: New test.
12390	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
12391	* testsuite/libgomp.fortran/simd1.f90: New test.
12392	* testsuite/libgomp.fortran/simd2.f90: New test.
12393	* testsuite/libgomp.fortran/simd3.f90: New test.
12394	* testsuite/libgomp.fortran/simd4.f90: New test.
12395	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
12396
123972014-05-02  Jakub Jelinek  <jakub@redhat.com>
12398
12399	* testsuite/libgomp.c/simd-10.c: New test.
12400	* testsuite/libgomp.c/simd-11.c: New test.
12401	* testsuite/libgomp.c/simd-12.c: New test.
12402	* testsuite/libgomp.c/simd-13.c: New test.
12403
124042014-04-24  Jakub Jelinek  <jakub@redhat.com>
12405
12406	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
12407	atomic type clauses in any order and optional comma in between.
12408	* testsuite/libgomp.c++/atomic-15.C: Likewise.
12409	* testsuite/libgomp.c/atomic-17.c: Likewise.
12410
12411	* testsuite/libgomp.c/simd-7.c: New test.
12412	* testsuite/libgomp.c/simd-8.c: New test.
12413	* testsuite/libgomp.c/simd-9.c: New test.
12414	* testsuite/libgomp.c/loop-16.c: New test.
12415
124162014-04-02  Richard Henderson  <rth@redhat.com>
12417
12418	* config/linux/futex.h (futex_wait): Get error value from errno.
12419	(futex_wake): Likewise.
12420
124212014-03-25  Jakub Jelinek  <jakub@redhat.com>
12422
12423	PR c++/60331
12424	* testsuite/libgomp.c++/udr-11.C: New test.
12425	* testsuite/libgomp.c++/udr-12.C: New test.
12426	* testsuite/libgomp.c++/udr-13.C: New test.
12427	* testsuite/libgomp.c++/udr-14.C: New test.
12428	* testsuite/libgomp.c++/udr-15.C: New test.
12429	* testsuite/libgomp.c++/udr-16.C: New test.
12430	* testsuite/libgomp.c++/udr-17.C: New test.
12431	* testsuite/libgomp.c++/udr-18.C: New test.
12432	* testsuite/libgomp.c++/udr-19.C: New test.
12433
124342014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
12435
12436	Update copyright years
12437
124382014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
12439
12440	* hashtab.h: Use the standard form for the copyright notice.
12441
124422014-01-02  Tobias Burnus  <burnus@net-b.de>
12443
12444	* libgomp.texi: Bump @copying's copyright year.
12445
124462013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
12447
12448	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
12449	alloca () with __builtin_alloca ().
12450	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
12451	* testsuite/libgomp.c/lock-3.c: Likewise.
12452	* testsuite/libgomp.c/pr48591.c: Likewise.
12453
124542013-12-17  Jakub Jelinek  <jakub@redhat.com>
12455
12456	PR testsuite/59534
12457	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
12458	comparisons.
12459
124602013-12-16  Jakub Jelinek  <jakub@redhat.com>
12461
12462	PR libgomp/58756
12463	* testsuite/libgomp.c/pr58756.c: New test.
12464
124652013-12-12  Jakub Jelinek  <jakub@redhat.com>
12466
12467	PR libgomp/59467
12468	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
12469	!$omp parallel.
12470
124712013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
12472
12473	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
12474	ALWAYS_CFLAGS.
12475	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
12476	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
12477	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
12478	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
12479	Likewise.
12480
12481	* libgomp_g.h: Include <stddef.h> for size_t.
12482
12483	* libgomp.spec.in: Update comment about libgomp's dependencies.
12484	* configure.ac: Likewise.
12485	* configure: Regenerate.
12486
124872013-10-16  Tobias Burnus  <burnus@net-b.de>
12488
12489	* libgomp.texi: (Runtime Library Routines): Update references for
12490	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
12491	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
12492	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
12493	(Environment Variables): Update references for OpenMP 4.0. Add
12494	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
12495	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
12496	order.
12497
124982013-10-14  Jakub Jelinek  <jakub@redhat.com>
12499
12500	* env.c (parse_bind_var): Initialize value to avoid
12501	(false positive) warning.
12502
125032013-10-12  Jakub Jelinek  <jakub@redhat.com>
12504
12505	PR libgomp/58691
12506	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
12507	to check variable.
12508	(gomp_init_num_threads): Move i variable declaration into
12509	#ifdef CPU_ALLOC_SIZE block.
12510	* config/linux/affinity.c (gomp_affinity_init_level): Test
12511	gomp_places_list_len == 0 rather than gomp_places_list == 0
12512	when checking for topology reading error.
12513	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
12514	* env.c (parse_affinity): Add ignore argument, if true, don't populate
12515	gomp_places_list, only parse env var and always return false.
12516	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
12517	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
12518	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
12519	and either of these variables were parsed correctly into a places
12520	list.
12521
125222013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
12523	    Jakub Jelinek  <jakub@redhat.com>
12524
12525	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
12526	of 5 loopfn matches.
12527	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12528	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12529	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12530	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12531	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12532	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12533	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12534	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12535
125362013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
12537
12538	* Makefile.am (omp_lib.mod): Streamline rule.
12539	* Makefile.in: Regenerate.
12540
12541	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
12542	exceptions.
12543
12544	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
12545	* testsuite/libgomp.fortran/lib1.f90: Likewise.
12546	* testsuite/libgomp.fortran/lib2.f: Likewise.
12547	* testsuite/libgomp.fortran/lib3.f: Likewise.
12548
12549	* configure.ac: Typo fix.
12550	* configure: Regenerate.
12551
12552	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
12553	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12554
12555	* omp.h.in: Don't touch the user's namespace.
12556
125572013-10-11  Jakub Jelinek  <jakub@redhat.com>
12558	    Tobias Burnus  <burnus@net-b.de>
12559	    Richard Henderson  <rth@redhat.com>
12560
12561	* target.c: New file.
12562	* Makefile.am (libgomp_la_SOURCES): Add target.c.
12563	* Makefile.in: Regenerated.
12564	* libgomp_g.h (GOMP_task): Add depend argument.
12565	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
12566	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12567	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
12568	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12569	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12570	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
12571	GOMP_taskgroup_start, GOMP_taskgroup_end,
12572	GOMP_parallel_sections): New prototypes.
12573	* fortran.c (omp_is_initial_device): Add ialias_redirect.
12574	(omp_is_initial_device_): New function.
12575	(ULP, STR1, STR2, ialias_redirect): Removed.
12576	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
12577	omp_set_default_device_8_, omp_get_default_device_,
12578	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
12579	functions.
12580	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12581	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12582	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
12583	@@GOMP_4.0.
12584	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
12585	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
12586	omp_set_default_device, omp_set_default_device_,
12587	omp_set_default_device_8_, omp_get_default_device,
12588	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
12589	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
12590	omp_get_team_num_): Export @@OMP_4.0.
12591	* team.c (struct gomp_thread_start_data): Add place field.
12592	(gomp_thread_start): Clear thr->thread_pool and
12593	thr->task before returning.  Use gomp_team_barrier_wait_final
12594	instead of gomp_team_barrier_wait.  Initialize thr->place.
12595	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
12596	team_cancelled and task_queued_count fields.
12597	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
12598	before calling pthread_exit.
12599	(gomp_free_thread): No longer static.  Use
12600	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
12601	(gomp_team_start): Add flags argument.  Set
12602	thr->thread_pool->threads_busy to nthreads immediately after creating
12603	new pool.  Use gomp_managed_threads_lock instead of
12604	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
12605	(gomp_team_end): Use gomp_managed_threads_lock instead of
12606	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
12607	of gomp_team_barrier_wait.  If team->team_cancelled, call
12608	gomp_fini_workshare on ws chain starting at team->work_shares_to_free
12609	rather than thr->ts.work_share.
12610	(initialize_team): Don't call gomp_sem_init here.
12611	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
12612	caller.
12613	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
12614	* env.c (gomp_global_icv): Add default_device_var, target_data and
12615	bind_var initializers.
12616	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12617	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12618	gomp_places_list_len): New variables.
12619	(parse_bind_var, parse_one_place, parse_places_var): New functions.
12620	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
12621	sized places.
12622	(gomp_cancel_var): New global variable.
12623	(parse_int): New function.
12624	(handle_omp_display_env): New function.
12625	(initialize_env): Use it.  Initialize default_device_var.
12626	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
12627	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
12628	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
12629	been successfully parsed (and call gomp_init_affinity in that case).
12630	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12631	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12632	omp_get_team_num, omp_is_initial_device): New functions.
12633	* libgomp.h: Include stdlib.h.
12634	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
12635	Define.
12636	(struct target_mem_desc): Forward declare.
12637	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
12638	and thread_limit_var fields.
12639	(gomp_get_num_devices): New prototype.
12640	(gomp_cancel_var): New extern decl.
12641	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
12642	team_cancelled and task_queued_count fields.  Add comments about
12643	task_{,queued_,running_}count.
12644	(gomp_cancel_kind): New enum.
12645	(gomp_work_share_end_cancel): New prototype.
12646	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
12647	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
12648	and depend fields.
12649	(struct gomp_taskgroup): New type.
12650	(struct gomp_task_depend_entry,
12651	struct gomp_dependers_vec): New types.
12652	(gomp_finish_task): Free depend_hash if non-NULL.
12653	(struct gomp_team_state): Add place_partition_off
12654	and place_partition_len fields.
12655	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12656	gomp_places_list_len): New extern decls.
12657	(struct gomp_thread): Add place field.
12658	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12659	(gomp_init_thread_affinity): Add place argument.
12660	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12661	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12662	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12663	gomp_affinity_init_level, gomp_affinity_print_place): New
12664	prototypes.
12665	(gomp_team_start): Add flags argument.
12666	(gomp_thread_limit_var, gomp_remaining_threads_count,
12667	gomp_remaining_threads_lock): Remove.
12668	(gomp_managed_threads_lock): New variable.
12669	(struct gomp_thread_pool): Add threads_busy field.
12670	(gomp_free_thread): New prototype.
12671	* task.c: Include hashtab.h.
12672	(hash_entry_type): New typedef.
12673	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
12674	(gomp_init_task): Clear dependers, depend_hash, depend_count,
12675	copy_ctors_done and taskgroup fields.
12676	(GOMP_task): Add depend argument, handle depend clauses.  If
12677	gomp_team_barrier_cancelled or if it's taskgroup has been
12678	cancelled, don't queue or start new tasks.  Set copy_ctors_done
12679	field if needed.  Initialize taskgroup field.  If copy_ctors_done
12680	and already cancelled, don't discard the task.  If taskgroup is
12681	non-NULL, enqueue the task into taskgroup queue.  Increment
12682	num_children field in taskgroup.  Increment task_queued_count.
12683	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
12684	gomp_task_run_post_remove_taskgroup): New inline functions.
12685	(gomp_task_run_post_handle_depend_hash,
12686	gomp_task_run_post_handle_dependers,
12687	gomp_task_run_post_handle_depend): New functions.
12688	(GOMP_taskwait): Use them.  If more than one new tasks
12689	have been queued, wake other threads if needed.
12690	(gomp_barrier_handle_tasks): Likewise.  If
12691	gomp_team_barrier_cancelled, don't start any new tasks, just free
12692	all tasks.
12693	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
12694	* omp_lib.f90.in
12695	(omp_proc_bind_kind, omp_proc_bind_false,
12696	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12697	omp_proc_bind_spread): New params.
12698	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12699	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12700	omp_get_team_num, omp_is_initial_device): New interfaces.
12701	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
12702	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
12703	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
12704	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
12705	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
12706	useless use omp_lib_kinds.
12707	* omp.h.in (omp_proc_bind_t): New typedef.
12708	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12709	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12710	omp_get_team_num, omp_is_initial_device): New prototypes.
12711	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
12712	through to gomp_team_start.
12713	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
12714	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
12715	Adjust gomp_parallel_loop_start callers.
12716	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12717	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12718	GOMP_loop_end_cancel): New functions.
12719	(GOMP_parallel_end): Add ialias_redirect.
12720	* hashtab.h: New file.
12721	* libgomp.texi (Environment Variables): Minor cleanup,
12722	update section refs to OpenMP 4.0rc2.
12723	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
12724	environment variables.
12725	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
12726	team->work_shares_to_free to thr->ts.work_share before calling
12727	free_work_share.
12728	(gomp_work_share_end_cancel): New function.
12729	* config/linux/proc.c: Include errno.h.
12730	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
12731	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
12732	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
12733	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
12734	gomp_cpuset_size is sizeof (cpu_set_t).
12735	(gomp_init_num_threads): Initialize gomp_cpuset_size,
12736	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
12737	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
12738	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
12739	contain any logical CPUs.
12740	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
12741	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
12742	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
12743	pthread_getaffinity_np.  Check gomp_places_list instead of
12744	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
12745	* config/linux/bar.c (gomp_barrier_wait_end,
12746	gomp_barrier_wait_last): Use BAR_* defines.
12747	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
12748	from state where needed.  Set work_share_cancelled to 0 on last
12749	thread.
12750	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
12751	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
12752	functions.
12753	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
12754	Add cpusetsize argument.
12755	(gomp_cpuset_size, gomp_cpusetp): Declare.
12756	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
12757	(affinity_counter): Remove.
12758	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
12759	if CPU_ALLOC_SIZE isn't defined.
12760	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
12761	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
12762	bind current thread to the first place.
12763	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
12764	pthread_setaffinity_np to gomp_places_list[place].
12765	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12766	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12767	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12768	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
12769	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12770	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12771	(gomp_barrier_t): Add awaited_final field.
12772	(gomp_barrier_init): Initialize awaited_final field.
12773	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
12774	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
12775	prototypes.
12776	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
12777	defines.
12778	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
12779	gomp_team_barrier_cancelled): New inline functions.
12780	(gomp_barrier_last_thread,
12781	gomp_team_barrier_set_task_pending,
12782	gomp_team_barrier_clear_task_pending,
12783	gomp_team_barrier_set_waiting_for_tasks,
12784	gomp_team_barrier_waiting_for_tasks,
12785	gomp_team_barrier_done): Use BAR_* defines.
12786	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
12787	(gomp_barrier_wait_end): Use BAR_* defines.
12788	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
12789	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
12790	Use BAR_* defines.
12791	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
12792	gomp_team_barrier_cancel): New functions.
12793	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
12794	argument.
12795	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12796	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12797	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12798	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
12799	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12800	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12801	(gomp_barrier_t): Add cancellable field.
12802	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
12803	gomp_team_barrier_cancel): New prototypes.
12804	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
12805	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
12806	gomp_team_barrier_cancelled): New inline functions.
12807	(gomp_barrier_wait_start, gomp_barrier_last_thread,
12808	gomp_team_barrier_set_task_pending,
12809	gomp_team_barrier_clear_task_pending,
12810	gomp_team_barrier_set_waiting_for_tasks,
12811	gomp_team_barrier_waiting_for_tasks,
12812	gomp_team_barrier_done): Use BAR_* defines.
12813	* barrier.c (GOMP_barrier_cancel): New function.
12814	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
12815	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12816	omp_proc_bind_spread): New params.
12817	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12818	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12819	omp_get_team_num, omp_is_initial_device): New externals.
12820	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
12821	New functions.
12822	(gomp_resolve_num_threads): Adjust for thread_limit now being in
12823	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
12824	infinity.  If not nested, just return minimum of max_num_threads
12825	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
12826	to the returned value.  Otherwise, don't update atomically
12827	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
12828	(GOMP_parallel_end): Adjust for thread_limit now being in
12829	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
12830	infinity.  Adjust threads_busy in the pool rather than
12831	gomp_remaining_threads_count.  Remember team->nthreads and call
12832	gomp_team_end before adjusting threads_busy, if not nested
12833	afterwards, just set it to 1 non-atomically.  Add ialias.
12834	(GOMP_parallel_start): Adjust gomp_team_start caller.
12835	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
12836	* testsuite/libgomp.c/affinity-1.c: New test.
12837	* testsuite/libgomp.c/atomic-15.c: New test.
12838	* testsuite/libgomp.c/atomic-16.c: New test.
12839	* testsuite/libgomp.c/atomic-17.c: New test.
12840	* testsuite/libgomp.c/cancel-for-1.c: New test.
12841	* testsuite/libgomp.c/cancel-for-2.c: New test.
12842	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
12843	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
12844	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
12845	* testsuite/libgomp.c/cancel-sections-1.c: New test.
12846	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
12847	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
12848	* testsuite/libgomp.c/depend-1.c: New test.
12849	* testsuite/libgomp.c/depend-2.c: New test.
12850	* testsuite/libgomp.c/depend-3.c: New test.
12851	* testsuite/libgomp.c/depend-4.c: New test.
12852	* testsuite/libgomp.c/for-1.c: New test.
12853	* testsuite/libgomp.c/for-1.h: New file.
12854	* testsuite/libgomp.c/for-2.c: New test.
12855	* testsuite/libgomp.c/for-2.h: New file.
12856	* testsuite/libgomp.c/for-3.c: New test.
12857	* testsuite/libgomp.c/pr58392.c: New test.
12858	* testsuite/libgomp.c/simd-1.c: New test.
12859	* testsuite/libgomp.c/simd-2.c: New test.
12860	* testsuite/libgomp.c/simd-3.c: New test.
12861	* testsuite/libgomp.c/simd-4.c: New test.
12862	* testsuite/libgomp.c/simd-5.c: New test.
12863	* testsuite/libgomp.c/simd-6.c: New test.
12864	* testsuite/libgomp.c/target-1.c: New test.
12865	* testsuite/libgomp.c/target-2.c: New test.
12866	* testsuite/libgomp.c/target-3.c: New test.
12867	* testsuite/libgomp.c/target-4.c: New test.
12868	* testsuite/libgomp.c/target-5.c: New test.
12869	* testsuite/libgomp.c/target-6.c: New test.
12870	* testsuite/libgomp.c/target-7.c: New test.
12871	* testsuite/libgomp.c/taskgroup-1.c: New test.
12872	* testsuite/libgomp.c/thread-limit-1.c: New test.
12873	* testsuite/libgomp.c/thread-limit-2.c: New test.
12874	* testsuite/libgomp.c/thread-limit-3.c: New test.
12875	* testsuite/libgomp.c/udr-1.c: New test.
12876	* testsuite/libgomp.c/udr-2.c: New test.
12877	* testsuite/libgomp.c/udr-3.c: New test.
12878	* testsuite/libgomp.c++/affinity-1.C: New test.
12879	* testsuite/libgomp.c++/atomic-10.C: New test.
12880	* testsuite/libgomp.c++/atomic-11.C: New test.
12881	* testsuite/libgomp.c++/atomic-12.C: New test.
12882	* testsuite/libgomp.c++/atomic-13.C: New test.
12883	* testsuite/libgomp.c++/atomic-14.C: New test.
12884	* testsuite/libgomp.c++/atomic-15.C: New test.
12885	* testsuite/libgomp.c++/cancel-for-1.C: New test.
12886	* testsuite/libgomp.c++/cancel-for-2.C: New test.
12887	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
12888	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
12889	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
12890	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
12891	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
12892	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
12893	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
12894	* testsuite/libgomp.c++/cancel-test.h: New file.
12895	* testsuite/libgomp.c++/for-9.C: New test.
12896	* testsuite/libgomp.c++/for-10.C: New test.
12897	* testsuite/libgomp.c++/for-11.C: New test.
12898	* testsuite/libgomp.c++/simd-1.C: New test.
12899	* testsuite/libgomp.c++/simd-2.C: New test.
12900	* testsuite/libgomp.c++/simd-3.C: New test.
12901	* testsuite/libgomp.c++/simd-4.C: New test.
12902	* testsuite/libgomp.c++/simd-5.C: New test.
12903	* testsuite/libgomp.c++/simd-6.C: New test.
12904	* testsuite/libgomp.c++/simd-7.C: New test.
12905	* testsuite/libgomp.c++/simd-8.C: New test.
12906	* testsuite/libgomp.c++/target-1.C: New test.
12907	* testsuite/libgomp.c++/target-2.C: New test.
12908	* testsuite/libgomp.c++/target-2-aux.cc: New file.
12909	* testsuite/libgomp.c++/target-3.C: New test.
12910	* testsuite/libgomp.c++/taskgroup-1.C: New test.
12911	* testsuite/libgomp.c++/udr-1.C: New test.
12912	* testsuite/libgomp.c++/udr-2.C: New test.
12913	* testsuite/libgomp.c++/udr-3.C: New test.
12914	* testsuite/libgomp.c++/udr-4.C: New test.
12915	* testsuite/libgomp.c++/udr-5.C: New test.
12916	* testsuite/libgomp.c++/udr-6.C: New test.
12917	* testsuite/libgomp.c++/udr-7.C: New test.
12918	* testsuite/libgomp.c++/udr-8.C: New test.
12919	* testsuite/libgomp.c++/udr-9.C: New test.
12920
129212013-09-20  Jakub Jelinek  <jakub@redhat.com>
12922
12923	PR testsuite/57605
12924	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
12925	ALWAYS_CFLAGS.
12926
129272013-09-20  Alan Modra  <amodra@gmail.com>
12928
12929	* configure: Regenerate.
12930
129312013-09-19  Jakub Jelinek  <jakub@redhat.com>
12932
12933	* testsuite/libgomp.c/sections-2.c: New test.
12934
129352013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
12936
12937	* testsuite/libgomp.fortran/strassen.f90:
12938	Add dg-skip-if aarch64_tiny.
12939
129402013-06-20  Iain Sandoe  <iain@codesourcery.com>
12941	    Cesar Philippidis  <cesar@codesourcery.com>
12942
12943	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
12944	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
12945	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
12946	* testsuite/libgomp.fortran/fortran.exp: Likewise.
12947	* testsuite/libgomp.graphite/graphite.exp: Likewise.
12948	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
12949	Use dg-runtest rather than gfortran-dg-runtest.
12950
129512013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
12952
12953	* testsuite/libgomp.c/icv-2.c: Extend current handling of
12954	Linux-based x86 systems to cover all GNU systems.
12955	* testsuite/libgomp.c/lock-3.c: Likewise.
12956	* testsuite/libgomp.c/pr48591.c: Likewise.
12957
129582013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
12959
12960	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
12961	GNU/Hurd, as done for Linux-based systems.
12962
12963	* config/posix/ptrlock.h: Fix comment.
12964
129652013-05-27  Tobias Burnus  <burnus@net-b.de>
12966
12967	PR fortran/57423
12968	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
12969	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
12970	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
12971	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
12972	omp_destroy_nest_lock): Correct arguments to match the one in
12973	the OpenMP spec.
12974	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
12975	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
12976	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
12977	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
12978
129792013-05-16  Jakub Jelinek  <jakub@redhat.com>
12980
12981	* testsuite/libgomp.c/loop-13.c: New test.
12982	* testsuite/libgomp.c/loop-14.c: New test.
12983	* testsuite/libgomp.c/loop-15.c: New test.
12984	* testsuite/libgomp.c++/loop-13.C: New test.
12985	* testsuite/libgomp.c++/loop-14.C: New test.
12986	* testsuite/libgomp.c++/loop-15.C: New test.
12987
129882013-02-06  Jakub Jelinek  <jakub@redhat.com>
12989
12990	PR middle-end/56217
12991	* testsuite/libgomp.c++/pr56217.C: New test.
12992
129932013-02-01  Alan Modra  <amodra@gmail.com>
12994
12995	* task.c (GOMP_task, GOMP_taskwait): Comment.
12996
129972013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
12998	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
12999
13000	PR libgomp/55561
13001	* config/linux/wait.h (do_spin): Use atomic load for addr.
13002	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13003	for intptr and ptrlock.
13004	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13005	for ptrlock.
13006
130072013-01-22  Alan Modra  <amodra@gmail.com>
13008
13009	PR libgomp/51376
13010	PR libgomp/56073
13011	* task.c (GOMP_task): Revert 2011-12-09 change.
13012	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
13013	barrier to read task->children..
13014	(gomp_barrier_handle_tasks): ..and matching atomic store with
13015	release barrier here when setting parent->children to NULL.
13016
130172013-01-16  Jakub Jelinek  <jakub@redhat.com>
13018	    Tobias Burnus  <burnus@net-b.de>
13019
13020	PR driver/55884
13021	* testsuite/libgomp.fortran/fortran.exp: Use
13022	-fintrinsic-modules-path= instead of
13023	-fintrinsic-modules-path.
13024
130252013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
13026
13027	Update copyright years.
13028
130292012-12-19  Tobias Burnus  <burnus@net-b.de>
13030
13031	* testsuite/libgomp.fortran/fortran.exp: Set
13032	-fintrinsic-modules-path.
13033
130342012-12-19  Tobias Burnus  <burnus@net-b.de>
13035
13036	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13037	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13038
130392012-11-21  Jakub Jelinek  <jakub@redhat.com>
13040
13041	PR libgomp/55411
13042	* team.c (gomp_free_thread): Decrease gomp_managed_threads
13043	if pool had any threads_used.
13044
130452012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
13046
13047	* testsuite/libgomp.c++/pr24455.C: Use
13048	-Wl,-undefined,dynamic_lookup on darwin.
13049
130502012-11-07  David Edelsohn  <dje.gcc@gmail.com>
13051
13052	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13053
130542012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
13055
13056	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13057
130582012-10-23  Ian Bolton  <ian.bolton@arm.com>
13059	    Jim MacArthur  <jim.macarthur@arm.com>
13060	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
13061	    Nigel Stephens  <nigel.stephens@arm.com>
13062	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
13063	    Richard Earnshaw  <rearnsha@arm.com>
13064	    Sofiane Naci  <sofiane.naci@arm.com>
13065	    Stephen Thomas  <stephen.thomas@arm.com>
13066	    Tejas Belagod  <tejas.belagod@arm.com>
13067	    Yufeng Zhang  <yufeng.zhang@arm.com>
13068
13069	* configure.tgt: Add AArch64.
13070
130712012-10-04  Jason Merrill  <jason@redhat.com>
13072
13073	* testsuite/libgomp.c++/tls-init1.C: New.
13074
130752012-09-14  David Edelsohn  <dje.gcc@gmail.com>
13076
13077	* configure: Regenerated.
13078
130792012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
13080
13081	* config/linux/mips/futex.h (sys_futex0): Change to static
13082	function with noinline, nomips16 attributes under MIPS16. Adjust
13083	asm statement to place 'li v0,SYS_futex' immediately before
13084	syscall insn.
13085
130862012-07-04  Sandra Loosemore <sandra@codesourcery.com>
13087
13088	* libgomp.texi (Library Index): Renamed from "Index" to prevent
13089	conflict with index.html on case-insensitive file systems.
13090
130912012-07-03  Uros Bizjak  <ubizjak@gmail.com>
13092
13093	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
13094	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
13095
130962012-07-02  Richard Guenther  <rguenther@suse.de>
13097	    Michael Matz  <matz@suse.de>
13098	    Tobias Grosser <tobias@grosser.es>
13099	    Sebastian Pop <sebpop@gmail.com>
13100
13101	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
13102	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13103	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13104	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13105
131062012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
13107
13108	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
13109
131102012-06-22  Richard Guenther  <rguenther@suse.de>
13111
13112	Merge from graphite branch
13113	2012-01-13  Tobias Grosser  <tobias@grosser.es>
13114
13115	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13116	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13117
131182012-06-07  Jakub Jelinek  <jakub@redhat.com>
13119
13120	PR middle-end/53580
13121	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13122	use GOMP_barrier () call instead.
13123	* testsuite/libgomp.c/pr26943-3.c: Likewise.
13124	* testsuite/libgomp.c/pr26943-4.c: Likewise.
13125	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
13126	call GOMP_barrier instead.
13127	* testsuite/libgomp.fortran/vla5.f90: Likewise.
13128
131292012-06-06  Jakub Jelinek  <jakub@redhat.com>
13130
13131	PR libgomp/52993
13132	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
13133	argument to memset call.
13134
131352012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
13136
13137	* configure: Regenerated.
13138
131392012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
13140
13141	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
13142
131432012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
13144
13145	PR bootstrap/52812
13146	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
13147
131482012-03-22  Jakub Jelinek  <jakub@redhat.com>
13149
13150	PR middle-end/52547
13151	* testsuite/libgomp.c/pr52547.c: New test.
13152
131532012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
13154
13155	* testsuite/lib/libgomp.exp: load fortran-modules.exp
13156
131572012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13158
13159	* configure.tgt (mips-sgi-irix6*): Remove.
13160
131612012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13162
13163	* configure.tgt (alpha*-dec-osf*): Remove.
13164
13165	* config/osf/sem.h: Remove.
13166	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
13167
131682012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
13169
13170	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13171
131722012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13173
13174	PR libstdc++/52188
13175	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
13176	Remove ENABLE_SYMVERS_SOL2.
13177	* configure: Regenerate.
13178	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
13179	(PREPROCESS): New variable.
13180	(libgomp.ver): New target.
13181	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
13182	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
13183	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
13184	Use libgomp.ver.
13185	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
13186	* Makefile.in: Regenerate.
13187
131882012-02-14  Walter Lee  <walt@tilera.com>
13189
13190	* configure.tgt: Handle tilegx and tilepro.
13191	* config/linux/tile/futex.h: New file.
13192
131932012-02-08  Richard Guenther  <rguenther@suse.de>
13194
13195	PR tree-optimization/46886
13196	* testsuite/libgomp.c/pr46886.c: New testcase.
13197
131982012-01-25  Matthias Klose  <doko@ubuntu.com>
13199
13200	* config/linux/arm: Remove empty directory.
13201	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
13202
132032011-12-09  Alan Modra  <amodra@gmail.com>
13204
13205	PR libgomp/51376
13206	* task.c (GOMP_taskwait): Don't access task->children outside of
13207	task_lock mutex region.
13208	(GOMP_task): Likewise.
13209
132102011-12-06  Jakub Jelinek  <jakub@redhat.com>
13211
13212	PR libgomp/51132
13213	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
13214	to file scope.
13215	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13216	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13217	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13218	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13219	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13220
132212011-12-02  Alan Modra  <amodra@gmail.com>
13222
13223	* config/linux/affinity.c: Use atomic rather than sync builtin.
13224	* config/linux/lock.c: Likewise.
13225	* config/linux/ptrlock.h: Likewise.
13226	* config/linux/ptrlock.c: Likewise.
13227	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
13228	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
13229	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
13230	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
13231	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
13232	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
13233	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
13234	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
13235	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
13236	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
13237
132382011-11-30  Alan Modra  <amodra@gmail.com>
13239
13240	PR libgomp/51298
13241	* config/linux/bar.h: Use atomic rather than sync builtins.
13242	* config/linux/bar.c: Likewise.  Add missing acquire
13243	synchronisation on generation field.
13244	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
13245	double unlock.
13246
132472011-11-30  Alan Modra  <amodra@gmail.com>
13248
13249	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
13250	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
13251	* config/linux/mutex.h: Use atomic rather than sync builtins.
13252	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
13253	* config/linux/omp-lock.h: Comment fix.
13254	* config/linux/arm/mutex.h: Delete.
13255	* config/linux/powerpc/mutex.h: Delete.
13256	* config/linux/ia64/mutex.h: Delete.
13257	* config/linux/mips/mutex.h: Delete.
13258
132592011-11-30  Alan Modra  <amodra@gmail.com>
13260
13261	PR libgomp/51249
13262	* config/linux/sem.h: Rewrite.
13263	* config/linux/sem.c: Rewrite.
13264
132652011-11-28  Richard Henderson  <rth@redhat.com>
13266
13267	* libgomp.h (enum memmodel): New.
13268
132692011-11-21  Andreas Tobler  <andreast@fgznet.ch>
13270
13271	* configure: Regenerate.
13272
132732011-10-10  Matthias Klose  <doko@ubuntu.com>
13274
13275	* config/posix95: Remove empty directory.
13276
132772011-08-26  Jakub Jelinek  <jakub@redhat.com>
13278
13279	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
13280
132812011-08-19  Jakub Jelinek  <jakub@redhat.com>
13282
13283	PR fortran/49792
13284	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
13285	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
13286
132872011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13288
13289	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
13290
132912011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13292
13293	PR libgomp/49965
13294	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
13295
132962011-08-03  Uros Bizjak  <ubizjak@gmail.com>
13297
13298	* config/linux/proc.h: New.
13299	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
13300	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
13301	(gomp_init_num_threads): Update call to cpuset_popcount.
13302	(get_num_procs): Ditto.
13303	* config/linux/affinity.c (gomp_init_affinity): Call
13304	gomp_cpuset_popcount.
13305
133062011-08-02  Jakub Jelinek  <jakub@redhat.com>
13307
13308	PR fortran/42041
13309	PR fortran/46752
13310	* omp.h.in (omp_in_final): New prototype.
13311	* omp_lib.f90.in (omp_in_final): New interface.
13312	(omp_integer_kind, omp_logical_kind): Remove
13313	and replace all its uses in the module with 4.
13314	(openmp_version): Change to 201107.
13315	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
13316	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
13317	kind for the parameters.
13318	(omp_in_final): New external.
13319	(openmp_version): Change to 201107.
13320	* task.c (omp_in_final): New function.
13321	(gomp_init_task): Initialize final_task.
13322	(GOMP_task): Remove unused attribute from flags.  Handle final
13323	tasks.
13324	(GOMP_taskyield): New function.
13325	(omp_in_final): Return true if if (false) or final (true) task
13326	or descendant of final (true).
13327	* fortran.c (omp_in_final_): New function.
13328	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
13329	(GOMP_3.0): Export GOMP_taskyield.
13330	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
13331	variables.
13332	(parse_unsigned_long_list): New function.
13333	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
13334	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
13335	even if parse_affinity returned false.
13336	* config/linux/affinity.c (gomp_init_affinity): Handle
13337	gomp_cpu_affinity_len == 0.
13338	* libgomp_g.h (GOMP_taskyield): New prototype.
13339	* libgomp.h (struct gomp_task): Add final_task field.
13340	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
13341	* team.c (gomp_team_start): Override new task's nthreads_var icv
13342	if list form OMP_NUM_THREADS has been used and it has value for
13343	the new nesting level.
13344
13345	* testsuite/libgomp.c/atomic-11.c: New test.
13346	* testsuite/libgomp.c/atomic-12.c: New test.
13347	* testsuite/libgomp.c/atomic-13.c: New test.
13348	* testsuite/libgomp.c/atomic-14.c: New test.
13349	* testsuite/libgomp.c/reduction-6.c: New test.
13350	* testsuite/libgomp.c/task-5.c: New test.
13351	* testsuite/libgomp.c++/atomic-2.C: New test.
13352	* testsuite/libgomp.c++/atomic-3.C: New test.
13353	* testsuite/libgomp.c++/atomic-4.C: New test.
13354	* testsuite/libgomp.c++/atomic-5.C: New test.
13355	* testsuite/libgomp.c++/atomic-6.C: New test.
13356	* testsuite/libgomp.c++/atomic-7.C: New test.
13357	* testsuite/libgomp.c++/atomic-8.C: New test.
13358	* testsuite/libgomp.c++/atomic-9.C: New test.
13359	* testsuite/libgomp.c++/task-8.C: New test.
13360	* testsuite/libgomp.c++/reduction-4.C: New test.
13361	* testsuite/libgomp.fortran/allocatable7.f90: New test.
13362	* testsuite/libgomp.fortran/allocatable8.f90: New test.
13363	* testsuite/libgomp.fortran/crayptr3.f90: New test.
13364	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
13365	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
13366	* testsuite/libgomp.fortran/pointer1.f90: New test.
13367	* testsuite/libgomp.fortran/pointer2.f90: New test.
13368	* testsuite/libgomp.fortran/task4.f90: New test.
13369
133702011-08-02  Tobias Burnus  <burnus@net-b.de>
13371
13372	* libgomp.texi: Update OpenMP spec references to 3.1.
13373	(omp_in_final,OMP_PROC_BIND): New sections.
13374	(OMP_NUM_THREADS): Document that the value can be now a list.
13375	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
13376
133772011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
13378
13379	* config/linux/x86/futex.h: Check __x86_64__ instead of
13380	__LP64__.
13381
133822011-07-29  Jakub Jelinek  <jakub@redhat.com>
13383
13384	PR middle-end/49897
13385	PR middle-end/49898
13386	* testsuite/libgomp.c/pr49897-1.c: New test.
13387	* testsuite/libgomp.c/pr49897-2.c: New test.
13388	* testsuite/libgomp.c/pr49898-1.c: New test.
13389	* testsuite/libgomp.c/pr49898-2.c: New test.
13390
133912011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
13392
13393	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
13394	for ia32 instead of ilp32.
13395
13396	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
13397	* testsuite/libgomp.c/atomic-6.c: Likewise.
13398
133992011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
13400
13401	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
13402	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
13403
134042011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13405
13406	PR libgomp/45351
13407	* config/osf/sem.h: New file.
13408	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
13409
134102011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13411
13412	PR target/49541
13413	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
13414	ldflags.
13415
134162011-07-15  Jakub Jelinek  <jakub@redhat.com>
13417
13418	* config/linux/wait.h (do_spin): New inline, largely copied
13419	from do_wait, just don't do futex_wait here, instead return true if
13420	it should be done.
13421	(do_wait): Implement using do_spin.
13422	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
13423	to prototype.
13424	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13425	__sync_bool_compare_and_swap, pass the oldval to
13426	gomp_mutex_lock_slow.
13427	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
13428	If all mutex contenders are just spinning and not sleeping, don't
13429	change state to 2 unnecessarily.  Optimize the loop when state has
13430	already become 2 to use just one atomic operation per loop instead
13431	of two.
13432	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
13433	to prototype.
13434	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13435	__sync_bool_compare_and_swap, pass the oldval to
13436	gomp_mutex_lock_slow.
13437
134382011-06-22  Jakub Jelinek  <jakub@redhat.com>
13439
13440	PR libgomp/49490
13441	* iter.c (gomp_iter_static_next): For chunk size 0
13442	only use n ceil/ nthreads size for the first
13443	n % nthreads threads in the team instead of
13444	all threads except for the last few ones which
13445	get less work or none at all.
13446	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
13447	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
13448	chunk argument, set run_sched_modifier to 0 for static
13449	resp. 1 for other kinds.  If chunk argument is 0
13450	and not static, set value to 1.
13451
134522011-05-19  Jakub Jelinek  <jakub@redhat.com>
13453
13454	PR c++/49043
13455	* testsuite/libgomp.c++/pr49043.C: New test.
13456
13457	PR c++/48869
13458	* testsuite/libgomp.c++/pr48869.C: New test.
13459
134602011-05-06  Jakub Jelinek  <jakub@redhat.com>
13461
13462	PR fortran/48894
13463	* fortran.c: Include limits.h.
13464	(TO_INT): Define.
13465	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
13466	*set.
13467	(omp_set_num_threads_8_, omp_set_schedule_8_,
13468	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
13469	omp_get_team_size_8_): Use TO_INT macro.
13470	* testsuite/libgomp.fortran/pr48894.f90: New test.
13471
134722011-04-13  Jakub Jelinek  <jakub@redhat.com>
13473
13474	PR middle-end/48591
13475	* testsuite/libgomp.c/pr48591.c: New test.
13476
134772011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13478
13479	PR bootstrap/48135
13480	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
13481	* configure: Regenerate.
13482
134832011-02-27  Jakub Jelinek  <jakub@redhat.com>
13484
13485	PR fortran/47886
13486	* testsuite/libgomp.fortran/task3.f90: New test.
13487
134882011-02-24  Tobias Burnus  <burnus@net-b.de>
13489
13490	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
13491
134922011-02-23  Jakub Jelinek  <jakub@redhat.com>
13493
13494	PR libgomp/47854
13495	* libgomp.texi (omp_get_wtime): Don't say time in the past
13496	must be Unix Epoch.
13497
134982011-02-18  Jakub Jelinek  <jakub@redhat.com>
13499
13500	PR libgomp/47804
13501	* testsuite/libgomp.fortran/fortran.exp: Check for both
13502	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
13503	but $blddir != "", still append ${blddir}/${lang_library_path}
13504	to ld_library_path.
13505
135062011-02-16  Tobias Burnus  <burnus@net-b.de>
13507
13508	PR libgomp/47758
13509	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
13510	of libquadmath.a before adding its libpath to ldflags.
13511
135122011-02-14  Jakub Jelinek  <jakub@redhat.com>
13513
13514	PR libgomp/47731
13515	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
13516	to FUTEX_WAIT futex syscall.
13517	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
13518
135192011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13520
13521	* configure: Regenerate.
13522
135232011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
13524
13525	PR libstdc++/36104
13526	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
13527
135282011-01-16  Gerald Pfeifer
13529
13530	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
13531
135322010-12-14  Jakub Jelinek  <jakub@redhat.com>
13533
13534	PR fortran/46874
13535	* libgomp.fortran/allocatable6.f90: New test.
13536
135372010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13538
13539	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
13540	* configure: Regenerate.
13541
135422010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
13543
13544	PR target/40125
13545	PR lto/46695
13546	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
13547	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
13548	* aclocal.m4: Regenerate.
13549	* configure: Regenerate.
13550	* Makefile.in: Regenerate.
13551	* testsuite/Makefile.in: Regenerate.
13552
135532010-12-02  Jakub Jelinek  <jakub@redhat.com>
13554
13555	PR fortran/46753
13556	* libgomp.fortran/pr46753.f90: New test.
13557
13558	PR libgomp/43706
13559	* env.c (initialize_env): Default to spin count 300000
13560	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
13561	is specified.
13562
13563	PR libgomp/45240
13564	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
13565	at the end if sync builtins aren't supported.
13566
135672010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13568
13569	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
13570
135712010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13572
13573	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
13574
135752010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
13576
13577	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
13578
135792010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13580	    Tobias Burnus  <burnus@net-b.de>
13581
13582	PR fortran/32049
13583	* configure.ac:
13584	* configure: Regenerate.
13585
135862010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
13587
13588	* config/linux/futex.h: New.
13589	* config/linux/arm/mutex.h: New.
13590	* configure.tgt (arm*-*-linux*): Add config path.
13591
135922010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
13593
13594	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13595
135962010-09-23  Tobias Burnus  <burnus@net-b.de>
13597
13598	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
13599	Change Fortran datatype to LOGICAL.
13600	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
13601	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
13602
136032010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13604
13605	* configure: Regenerate.
13606
136072010-07-26  Jakub Jelinek  <jakub@redhat.com>
13608
13609	* libgomp.texi: Add function keyword to a couple of Fortran
13610	interfaces, use integer instead of int for Fortran.
13611
136122010-07-26  Aldy Hernandez  <aldyh@redhat.com>
13613
13614	* libgomp.texi: Fix spelling and pasto problems throughout.
13615	Adjust prototypes to match code.
13616
136172010-07-24  Tobias Burnus  <burnus@net-b.de>
13618
13619	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
13620	silence -fwhole-file warning.
13621
136222010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13623
13624	* configure.tgt (*-*-solaris2.[56]*): Removed.
13625
136262010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13627
13628	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
13629	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
13630	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
13631	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
13632	targetting solaris2*.
13633	* configure: Regenerate.
13634	* config.h.in: Regenerate.
13635
13636	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
13637	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
13638	Add libgomp_version_dep.
13639	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
13640	versioning.
13641	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
13642	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
13643	* Makefile.in: Regenerate.
13644
13645	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
13646	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13647	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
13648	to common block, protected by
13649	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13650
136512010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
13652
13653	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
13654
136552010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
13656
13657	PR bootstrap/43170
13658	* configure: Regenerate.
13659
136602010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13661
13662	PR other/43620
13663	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13664	* configure: Regenerate.
13665	* Makefile.in: Regenerate.
13666	* testsuite/Makefile.in: Regenerate.
13667
136682010-04-26  Jakub Jelinek  <jakub@redhat.com>
13669
13670	PR c/43893
13671	* testsuite/libgomp.c/pr43893.c: New test.
13672	* testsuite/libgomp.c++/pr43893.C: New test.
13673
136742010-04-21  Jakub Jelinek  <jakub@redhat.com>
13675
13676	PR middle-end/43570
13677	* testsuite/libgomp.fortran/vla8.f90: New test.
13678
136792010-04-20  Jakub Jelinek  <jakub@redhat.com>
13680
13681	PR libgomp/43706
13682	* config/linux/affinity.c (gomp_init_affinity): Decrease
13683	gomp_available_cpus if affinity mask confines the process to fewer
13684	CPUs.
13685	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
13686	non-NULL, just return gomp_available_cpus.
13687
13688	PR libgomp/43569
13689	* sections.c (gomp_sections_init): Initialize ws->mode.
13690
136912010-04-14  Uros Bizjak  <ubizjak@gmail.com>
13692
13693	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
13694	not unused bar variable.
13695	* configure: Regenerate.
13696
136972010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13698
13699	* Makefile.in: Regenerate.
13700	* aclocal.m4: Regenerate.
13701	* testsuite/Makefile.in: Regenerate.
13702
137032010-03-22  Jakub Jelinek  <jakub@redhat.com>
13704
13705	PR libgomp/42942
13706	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
13707	(initialize_env): Adjust callers.
13708	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
13709	when the argument is 0.
13710
13711	* testsuite/libgomp.c/pr42942.c: New test.
13712
137132010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
13714
13715	PR middle-end/42644
13716	PR middle-end/42130
13717	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13718	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
13719
137202010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13721
13722	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
13723	* testsuite/libgomp.c++/task-6.C: Likewise.
13724
137252010-01-28  Steve Ellcey  <sje@cup.hp.com>
13726
13727	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
13728
137292010-01-26  Paolo Bonzini  <bonzini@gnu.org>
13730
13731	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
13732	* configure: Regenerate.
13733
137342010-01-26  Jakub Jelinek  <jakub@redhat.com>
13735
13736	PR fortran/42866
13737	* testsuite/libgomp.fortran/allocatable5.f90: New test.
13738
137392010-01-20  Paolo Bonzini  <bonzini@gnu.org>
13740
13741	* configure.ac: Test for executability of GFORTRAN.
13742	* configure: Regenerate.
13743
137442010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13745
13746	* configure: Regenerate.
13747
137482010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
13749
13750	PR libgomp/42602
13751	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
13752
137532010-01-03  Richard Guenther  <rguenther@suse.de>
13754
13755	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
13756
137572009-12-23  Sebastian Pop  <sebpop@gmail.com>
13758
13759	* testsuite/libgomp.graphite/pr4118.c: New.
13760
137612009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
13762
13763	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
13764	for darwin, protect the test with require-effective-target tls_runtime.
13765	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
13766
137672009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
13768
13769	PR target/41605
13770	* testsuite/lib/libgomp.exp: Provide -B options to allow for
13771	link spec %s substitutions for static libraries.
13772
137732009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
13774
13775	PR testsuite/42135
13776	* libgomp.graphite/force-parallel-2.c: Reduce array size.
13777
137782009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13779
13780	* Makefile.in: Regenerate.
13781	* configure: Regenerate.
13782	* testsuite/Makefile.in: Regenerate.
13783
137842009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
13785
13786	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
13787	settings for LC_ALL and LANG.
13788
137892009-11-25  Jakub Jelinek  <jakub@redhat.com>
13790
13791	PR fortran/42162
13792	* testsuite/libgomp.fortran/pr42162.f90: New test.
13793
137942009-11-13  Jakub Jelinek  <jakub@redhat.com>
13795
13796	PR middle-end/42029
13797	* testsuite/libgomp.c/pr42029.c: New test.
13798
137992009-10-26  Jakub Jelinek  <jakub@redhat.com>
13800
13801	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
13802	*s.  Accept ld version without text in ()s.
13803	* configure: Regenerated.
13804
138052009-10-22  Razya Ladelsky  <razya@il.ibm.com>
13806
13807	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
13808
138092009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13810
13811	PR libgomp/41418
13812	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
13813	or a hyphen (happens with fortran language disabled).
13814	* configure: Regenerate.
13815
138162009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13817
13818	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
13819	use sed script portable to Solaris /bin/sed for extracting ld
13820	version.
13821	* configure: Regenerate.
13822
138232009-09-17  Alexander Monakov  <amonakov@ispras.ru>
13824
13825	* testsuite/libgomp.graphite/bounds.c: New test.
13826
138272009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13828
13829	* Makefile.am (libgomp_la_LINK): New.
13830	* Makefile.in: Regenerate.
13831
138322009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13833
13834	* configure.ac (AC_PREREQ): Bump to 2.64.
13835
138362009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13837
13838	* Makefile.am (install-html, install-pdf): Remove.
13839	* Makefile.in: Regenerate.
13840
13841	* Makefile.in: Regenerate.
13842	* aclocal.m4: Regenerate.
13843	* config.h.in: Regenerate.
13844	* configure: Regenerate.
13845	* testsuite/Makefile.in: Regenerate.
13846
138472009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13848
13849	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
13850	* Makefile.in: Regenerate.
13851
138522009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
13853
13854	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
13855	* Makefile.in: Regenerate.
13856
138572009-08-19  Tobias Burnus  <burnus@net-b.de>
13858
13859	PR fortran/41102
13860	omp_lib.h.in: Fix -std=f95 errors.
13861
138622009-08-14  David Edelsohn  <edelsohn@gnu.org>
13863
13864	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
13865	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
13866	* testsuite/libgomp.graphite/graphite.exp: New.
13867
138682009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
13869
13870	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
13871	only build.
13872
138732009-08-04  David Daney  <ddaney@caviumnetworks.com>
13874
13875	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
13876	needed memory barrier semantics.
13877	* config/linux/mips/mutex.h: New file.
13878
138792009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13880
13881	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
13882
138832009-07-16  Joseph Myers  <joseph@codesourcery.com>
13884
13885	* configure: Regenerate.
13886
138872009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
13888
13889	PR testsuite/40699
13890	PR testsuite/40707
13891	PR testsuite/40709
13892	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
13893	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
13894	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
13895
138962009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
13897
13898	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
13899	options when choosing a multilib.
13900
139012009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
13902
13903	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
13904	ld_library_path.  Use add_path.  Add just find_libgcc_s to
13905	ld_library_path, not every libgcc multilib directory.
13906	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
13907	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
13908	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
13909	Use add_path.
13910	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
13911
139122009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
13913
13914	* Makefile.am (LTLDFLAGS): Define.
13915	(LINK): Define.
13916	* Makefile.in: Regenerate.
13917
139182009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
13919
13920	PR fortran/39718
13921	* testsuite/libgomp.fortran/fortran.exp: Don't link with
13922	libgfortranbegin, check existence of libgfortran.a instead of
13923	libgfortranbegin.a.
13924
139252009-05-20  Jakub Jelinek  <jakub@redhat.com>
13926
13927	PR libgomp/40174
13928	* team.c (gomp_thread_start): Destroy thr->release semaphore.
13929	(gomp_free_pool_helper): Likewise.
13930
139312009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
13932	    Jakub Jelinek  <jakub@redhat.com>
13933
13934	PR fortran/35423
13935	* testsuite/libgomp.fortran/workshare2.f90: New test.
13936
139372009-04-09  Nick Clifton  <nickc@redhat.com>
13938
13939	* iter.c: Change copyright header to refer to version 3 of the
13940	GNU General Public License with version 3.1 of the GCC Runtime
13941	Library Exception and to point readers at the COPYING3 and
13942	COPYING3.RUNTIME files and the FSF's license web page.
13943	* alloc.c: Likewise.
13944	* barrier.c: Likewise.
13945	* config/bsd/proc.c: Likewise.
13946	* config/linux/affinity.c: Likewise.
13947	* config/linux/alpha/futex.h: Likewise.
13948	* config/linux/bar.c: Likewise.
13949	* config/linux/bar.h: Likewise.
13950	* config/linux/ia64/futex.h: Likewise.
13951	* config/linux/ia64/mutex.h: Likewise.
13952	* config/linux/lock.c: Likewise.
13953	* config/linux/mips/futex.h: Likewise.
13954	* config/linux/mutex.c: Likewise.
13955	* config/linux/mutex.h: Likewise.
13956	* config/linux/powerpc/futex.h: Likewise.
13957	* config/linux/proc.c: Likewise.
13958	* config/linux/ptrlock.c: Likewise.
13959	* config/linux/ptrlock.h: Likewise.
13960	* config/linux/s390/futex.h: Likewise.
13961	* config/linux/sem.c: Likewise.
13962	* config/linux/sem.h: Likewise.
13963	* config/linux/sparc/futex.h: Likewise.
13964	* config/linux/wait.h: Likewise.
13965	* config/linux/x86/futex.h: Likewise.
13966	* config/mingw32/proc.c: Likewise.
13967	* config/mingw32/time.c: Likewise.
13968	* config/posix/affinity.c: Likewise.
13969	* config/posix/bar.c: Likewise.
13970	* config/posix/bar.h: Likewise.
13971	* config/posix/lock.c: Likewise.
13972	* config/posix/mutex.h: Likewise.
13973	* config/posix/proc.c: Likewise.
13974	* config/posix/ptrlock.h: Likewise.
13975	* config/posix/sem.c: Likewise.
13976	* config/posix/sem.h: Likewise.
13977	* config/posix/time.c: Likewise.
13978	* config/posix95/lock.c: Likewise.
13979	* critical.c: Likewise.
13980	* env.c: Likewise.
13981	* error.c: Likewise.
13982	* fortran.c: Likewise.
13983	* iter_ull.c: Likewise.
13984	* libgomp.h: Likewise.
13985	* libgomp_f.h.in: Likewise.
13986	* libgomp_g.h: Likewise.
13987	* loop.c: Likewise.
13988	* loop_ull.c: Likewise.
13989	* omp.h.in: Likewise.
13990	* omp_lib.f90.in: Likewise.
13991	* omp_lib.h.in: Likewise.
13992	* ordered.c: Likewise.
13993	* parallel.c: Likewise.
13994	* sections.c: Likewise.
13995	* single.c: Likewise.
13996	* task.c: Likewise.
13997	* team.c: Likewise.
13998	* work.c: Likewise.
13999
140002009-04-09  Jakub Jelinek  <jakub@redhat.com>
14001
14002	* testsuite/config/default.exp: Change copyright header to refer to
14003	version 3 of the GNU General Public License and to point readers
14004	at the COPYING3 file and the FSF's license web page.
14005
140062009-04-08  Jakub Jelinek  <jakub@redhat.com>
14007
14008	PR middle-end/39573
14009	* libgomp.c++/pr39573.C: New test.
14010
140112009-04-01  Jakub Jelinek  <jakub@redhat.com>
14012
14013	PR other/39591
14014	* testsuite/libgomp.c/pr39591-1.c: New test.
14015	* testsuite/libgomp.c/pr39591-2.c: New test.
14016	* testsuite/libgomp.c/pr39591-3.c: New test.
14017
140182009-03-25  Uros Bizjak  <ubizjak@gmail.com>
14019
14020	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14021	* testsuite/libgomp.c/atomic-6.c: Ditto.
14022
140232009-03-23  Jakub Jelinek  <jakub@redhat.com>
14024
14025	PR c/39495
14026	* testsuite/libgomp.c/loop-12.c: New test.
14027	* testsuite/libgomp.c/loop-11.c: New test.
14028	* testsuite/libgomp.c++/loop-11.C: New test.
14029	* testsuite/libgomp.c++/loop-12.C: New test.
14030	* testsuite/libgomp.c++/for-8.C: New test.
14031
140322009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14033
14034	* configure: Regenerate.
14035
140362009-02-11  Jakub Jelinek  <jakub@redhat.com>
14037
14038	PR middle-end/39154
14039	* testsuite/libgomp.c/pr39154.c: New test.
14040
140412009-01-30  Ian Lance Taylor  <iant@google.com>
14042
14043	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14044	libgomp_ld_is_gold.  Get gold version number.
14045	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14046	* configure: Rebuild.
14047
140482009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14049
14050	* testsuite/lib/libgomp.exp: Add -B option for targets that
14051	use libgfortran.a%s in their specs.
14052
140532009-01-07  Jakub Jelinek  <jakub@redhat.com>
14054
14055	PR libgomp/38086
14056	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14057	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14058	HAVE_AS_SYMVER_DIRECTIVE is not defined.
14059	* configure: Regenerated.
14060	* config.h.in: Likewise.
14061
140622008-12-28  Jakub Jelinek  <jakub@redhat.com>
14063
14064	PR c++/38650
14065	* testsuite/libgomp.c/pr38650.c: New test.
14066	* testsuite/libgomp.c++/pr38650.C: New test.
14067
140682008-12-27  Jakub Jelinek  <jakub@redhat.com>
14069
14070	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
14071
140722008-12-26  Uros Bizjak  <ubizjak@gmail.com>
14073
14074	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
14075
140762008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14077
14078	* configure: Regenerate.
14079
140802008-12-08  Jakub Jelinek  <jakub@redhat.com>
14081
14082	PR middle-end/36802
14083	* testsuite/libgomp.c/pr36802-1.c: New test.
14084	* testsuite/libgomp.c/pr36802-2.c: New test.
14085	* testsuite/libgomp.c/pr36802-3.c: New test.
14086
140872008-12-01  Janis Johnson  <janis187@us.ibm.com>
14088
14089	PR libgomp/38270
14090	* config/linux/powerpc/mutex.h: New.
14091
140922008-12-01  Jakub Jelinek  <jakub@redhat.com>
14093
14094	PR c++/38257
14095	* testsuite/libgomp.c++/for-7.C: New test.
14096
14097	PR c++/38348
14098	* testsuite/libgomp.c++/for-6.C: New test.
14099
141002008-11-26  Janis Johnson  <janis187@us.ibm.com>
14101
14102	PR testsuite/28870
14103	* testsuite/lib/libgomp.exp: Include new timeout library files.
14104	(libgomp_target_compile): Set timeout value from new proc.
14105
141062008-11-13  Steve Ellcey  <sje@cup.hp.com>
14107
14108	PR libgomp/37938
14109	* config/linux/ia64/mutex.h: New.
14110
141112008-11-04  Tobias Burnus  <burnus@net-b.de>
14112
14113	PR libgomp/37935
14114	* libgomp.texi (Runtime library routines, environment variables):
14115	Update for OpenMP version 3.0.
14116
141172008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
14118	    Steve Ellcey  <sje@cup.hp.com>
14119
14120	* configure: Regenerate for new libtool.
14121	* Makefile.in: Ditto.
14122	* testsuite/Makefile.in: Ditto.
14123
141242008-09-19  Jakub Jelinek  <jakub@redhat.com>
14125	    Andreas Tobler  <a.tobler@schweiz.org>
14126
14127	* config/bsd/proc.c: New file.
14128	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
14129	* configure.ac: Check for header <sys/sysctl.h>
14130	* configure: Regenerate.
14131	* config.h.in: Likewise.
14132
141332008-09-05  Janis Johnson  <janis187@us.ibm.com>
14134
14135	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
14136
141372008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
14138
14139	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
14140	* Makefile.in: Regenerated.
14141	* testsuite/Makefile.in: Regenerated.
14142
141432008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
14144
14145	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
14146	depend on blddir if blddir exists.
14147	(libgomp_target_compile): Likewise.
14148	* testsuite/libgomp.c++/c++.exp: Likewise.
14149	* testsuite/libgomp.fortran/fortran.exp: Likewise.
14150
141512008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14152
14153	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
14154	Do not list GPL as Invariant Section.
14155
141562008-07-28  Ilie Garbacea  <ilie@mips.com>
14157	    Chao-ying Fu  <fu@mips.com>
14158
14159	* configure.tgt: Enable futex for MIPS.
14160	* config/linux/mips/futex.h: New file.
14161
141622008-07-16  Jakub Jelinek  <jakub@redhat.com>
14163
14164	* team.c (gomp_team_end): Free team immediately if it has
14165	just one thread.
14166
141672008-07-08  David Edelsohn  <edelsohn@gnu.org>
14168
14169	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
14170	* testsuite/libgomp.fortran/fortran.exp: Same.
14171	* testsuite/libgomp.c/c.exp: Same.
14172	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
14173	directory to library path first.
14174
141752008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
14176
14177	* env.c (parse_stacksize): Add cast to avoid warning.
14178	(parse_spincount): Likewise.
14179
141802008-06-27  Jakub Jelinek  <jakub@redhat.com>
14181
14182	* testsuite/libgomp.c/loop-10.c: New test.
14183	* libgomp.c/loop-3.c (main): Add lastprivate clause.
14184	* libgomp.c++/loop-6.C (main): Likewise.
14185
14186	PR debug/36617
14187	* testsuite/libgomp.c/debug-1.c: New test.
14188
141892008-06-19  Jakub Jelinek  <jakub@redhat.com>
14190
14191	* testsuite/libgomp.c/nqueens-1.c: New test.
14192
14193	PR c++/36523
14194	* testsuite/libgomp.c++/task-7.C: New function.
14195
141962008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14197
14198	* configure: Regenerate.
14199
142002008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14201
14202	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
14203	mutex when HAVE_SYNC_BUILTINS isn't defined.
14204
142052008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14206
14207	* libgomp.texi (omp_test_lock): Fix typo.
14208
142092008-06-12  Tobias Burnus  <burnus@net-b.de>
14210
14211	* omp_lib.f90.in: Add "implicit none".
14212
142132008-06-12  Jakub Jelinek  <jakub@redhat.com>
14214
14215	PR middle-end/36506
14216	* testsuite/libgomp.c/reduction-5.c: New test.
14217
142182008-06-11  Jakub Jelinek  <jakub@redhat.com>
14219
14220	* libgomp.h (struct gomp_task): Add in_tied_task field.
14221	* task.c (gomp_init_task): Initialize it.
14222	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
14223	unconditionally.  Don't call gomp_team_barrier_wake if
14224	current task is implicit or if(0) from implicit and number of
14225	running tasks is equal to nthreads - 1.
14226
14227	PR libgomp/36471
14228	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
14229	omp_get_team_size_8): Fix pastos.
14230
14231	PR libgomp/36469
14232	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
14233	* configure: Regenerated.
14234	* config.h.in: Regenerated.
14235	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
14236	defined.
14237
142382008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
14239
14240	PR bootstrap/36452
14241	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
14242	(GOMP_loop_ull_dynamic_start): Likewise.
14243	(GOMP_loop_ull_guided_start): Likewise.
14244	(GOMP_loop_ull_ordered_static_start): Likewise.
14245	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
14246	(GOMP_loop_ull_ordered_guided_start): Likewise.
14247
142482008-06-06  Jakub Jelinek  <jakub@redhat.com>
14249	    Richard Henderson  <rth@redhat.com>
14250	    Ulrich Drepper  <drepper@redhat.com>
14251	    Jakob Blomer  <jakob.blomer@ira.uka.de>
14252
14253	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
14254	Substitute also OMP_*LOCK_25*.
14255	* configure: Regenerated.
14256	* config.h.in: Regenerated.
14257	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
14258	ptrlock.c and task.c.
14259	* Makefile.in: Regenerated.
14260	* testsuite/Makefile.in: Regenerated.
14261	* task.c: New file.
14262	* loop_ull.c: New file.
14263	* iter_ull.c: New file.
14264	* libgomp.h: Include ptrlock.h.
14265	(enum gomp_task_kind): New type.
14266	(struct gomp_team): Add task_lock, task_queue, task_count,
14267	task_running_count, single_count fields.  Add
14268	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
14269	Remove work_share_lock, generation_mask,
14270	oldest_live_gen, num_live_gen and init_work_shares fields, add
14271	work work_share_list_alloc, work_share_list_free and work_share_chunk
14272	fields.  Change work_shares from pointer to pointers into an array.
14273	Change ordered_release field into gomp_sem_t ** from flexible array
14274	member.  Add implicit_task and initial_work_shares fields.
14275	Move close to the end of the struct.
14276	(struct gomp_team_state): Add single_count, last_work_share,
14277	active_level and level fields, remove work_share_generation.
14278	(gomp_barrier_handle_tasks): New prototype.
14279	(gomp_finish_task): New inline function.
14280	(struct gomp_work_share): Move chunk_size, end, incr into
14281	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
14282	next_ll fields.  Reshuffle fields.  Add next_alloc,
14283	next_ws, next_free and inline_ordered_team_ids fields, change
14284	ordered_team_ids into pointer from flexible array member.
14285	Add mode field.  Put lock and next into a different cache line
14286	from most of the write-once fields.
14287	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
14288	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
14289	gomp_iter_ull_guided_next): New prototypes.
14290	(gomp_new_icv): New prototype.
14291	(struct gomp_thread): Add thread_pool and task fields.
14292	(struct gomp_thread_pool): New type.
14293	(gomp_new_team): New prototype.
14294	(gomp_team_start): Change type of last argument.
14295	(gomp_new_work_share): Removed.
14296	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
14297	(gomp_work_share_init_done): New static inline.
14298	(gomp_throttled_spin_count_var, gomp_available_cpus,
14299	gomp_managed_threads): New extern decls.
14300	(gomp_init_task): New prototype.
14301	(gomp_spin_count_var): New extern var decl.
14302	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
14303	or no alias support, or if not PIC.
14304	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
14305	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
14306	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
14307	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
14308	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
14309	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
14310	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
14311	gomp_test_nest_lock_25): New prototypes.
14312	(omp_lock_symver, strong_alias): Define.
14313	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
14314	decls.
14315	(gomp_end_task): New.
14316	(struct gomp_task_icv, gomp_global_icv): New.
14317	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
14318	(struct gomp_task): New.
14319	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14320	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14321	(gomp_icv): New.
14322	(gomp_schedule_type): Reorder enum to match
14323	omp_sched_t.
14324	* team.c (struct gomp_thread_start_data): Add thread_pool and task
14325	fields.
14326	(gomp_thread_start): Add gomp_team_barrier_wait call.
14327	For non-nested case remove clearing of docked thread thr fields.
14328	Use pool fields instead of global gomp_* variables.  Use
14329	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
14330	Create tasks for each member thread.
14331	(free_team): Only destroy team barrier, task_lock here and free it.
14332	(gomp_free_thread): Free last_team if non-NULL.
14333	(gomp_team_end): Call gomp_team_barrier_wait instead of
14334	gomp_barrier_wait.  For nested case call one extra
14335	gomp_barrier_wait.  Move here some destruction from free_team.
14336	Call free_team on pool->last_team if any, rather than freeing
14337	current team.  Destroy work_share_list_free_lock ifndef
14338	HAVE_SYNC_BUILTINS.
14339	(gomp_new_icv): New function.
14340	(gomp_threads, gomp_threads_size, gomp_threads_used,
14341	gomp_threads_dock): Removed.
14342	(gomp_thread_destructor): New variable.
14343	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
14344	functions.
14345	(gomp_team_start): Create new pool if current thread doesn't have
14346	one.  Use pool fields instead of global gomp_* variables.
14347	Initialize thread_pool field for new threads.  Clear single_count.
14348	Change last argument from ws to team, don't create
14349	new team, set ts.work_share to &team->work_shares[0] and clear
14350	ts.last_work_share.  Don't clear ts.work_share_generation.
14351	If number of threads changed, adjust atomically gomp_managed_threads.
14352	Use gomp_init_task instead of gomp_new_task,
14353	set thr->task to the corresponding implicit_task array entry.
14354	Create tasks for each member thread.  Initialize ts.level.
14355	(initialize_team): Call pthread_key_create on
14356	gomp_thread_destructor.
14357	(team_destructor): New function.
14358	(new_team): Removed.
14359	(gomp_new_team): New function.
14360	(free_team): Free gomp_work_share blocks chained through next_alloc,
14361	instead of freeing work_shares and destroying work_share_lock.
14362	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
14363	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
14364	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
14365	of gomp_barrier_wait.
14366	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
14367	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
14368	if gomp_work_share_start returned true.  Don't unlock ws->lock.
14369	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
14370	of gomp_barrier_wait.
14371	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
14372	gomp_work_share_init_done if gomp_work_share_start returned true.
14373	Don't unlock ws->lock.
14374	* work.c: Include stddef.h.
14375	(free_work_share): Use work_share_list_free_lock instead
14376	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
14377	Call gomp_fini_work_share and then either free ws if orphaned, or
14378	put it into work_share_list_free list of the current team.
14379	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
14380	functions.
14381	(gomp_work_share_start, gomp_work_share_end,
14382	gomp_work_share_end_nowait): Rewritten.
14383	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
14384	(openmp_version): Set to 200805.
14385	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14386	omp_sched_guided, omp_sched_auto): New parameters.
14387	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14388	omp_set_max_active_levels, omp_get_max_active_levels,
14389	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14390	omp_get_active_level): New interfaces.
14391	* omp_lib.h.in (openmp_version): Set to 200805.
14392	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14393	omp_sched_guided, omp_sched_auto): New parameters.
14394	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14395	omp_set_max_active_levels, omp_get_max_active_levels,
14396	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14397	omp_get_active_level): New externals.
14398	* loop.c: Include limits.h.
14399	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
14400	GFS_AUTO.
14401	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
14402	Likewise.  Use gomp_icv.
14403	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
14404	ts.static_trip here.
14405	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
14406	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
14407	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
14408	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
14409	don't unlock ws->lock, otherwise lock it.
14410	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
14411	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
14412	(gomp_parallel_loop_start): Call gomp_new_team instead of
14413	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
14414	Adjust gomp_team_start caller.  Pass 0 as second argument to
14415	gomp_resolve_num_threads.
14416	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
14417	If adding ws->chunk_size nthreads + 1 times after end won't
14418	overflow, set ws->mode to 1.
14419	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
14420	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
14421	GOMP_loop_ull_ordered_static_start,
14422	GOMP_loop_ull_ordered_dynamic_start,
14423	GOMP_loop_ull_ordered_guided_start,
14424	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
14425	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
14426	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
14427	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
14428	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
14429	prototypes.
14430	* libgomp.map: Export lock routines also @@OMP_2.0.
14431	(GOMP_loop_ordered_dynamic_first,
14432	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
14433	GOMP_loop_ordered_static_first): Remove.
14434	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
14435	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
14436	GOMP_loop_ull_ordered_dynamic_next,
14437	GOMP_loop_ull_ordered_dynamic_start,
14438	GOMP_loop_ull_ordered_guided_next,
14439	GOMP_loop_ull_ordered_guided_start,
14440	GOMP_loop_ull_ordered_runtime_next,
14441	GOMP_loop_ull_ordered_runtime_start,
14442	GOMP_loop_ull_ordered_static_next,
14443	GOMP_loop_ull_ordered_static_start,
14444	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
14445	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
14446	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
14447	(omp_set_schedule, omp_get_schedule,
14448	omp_get_thread_limit, omp_set_max_active_levels,
14449	omp_get_max_active_levels, omp_get_level,
14450	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
14451	omp_set_schedule_, omp_set_schedule_8_,
14452	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14453	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14454	omp_get_max_active_levels_, omp_get_level_,
14455	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14456	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14457	New exports @@OMP_3.0.
14458	* omp.h.in (omp_sched_t): New type.
14459	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14460	omp_set_max_active_levels, omp_get_max_active_levels,
14461	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14462	omp_get_active_level): New prototypes.
14463	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
14464	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
14465	gomp_thread_limit_var, gomp_remaining_threads_count,
14466	gomp_remaining_threads_lock): New variables.
14467	(parse_spincount): New function.
14468	(initialize_env): Call gomp_init_num_threads unconditionally.
14469	Initialize gomp_available_cpus.  Call parse_spincount,
14470	initialize gomp_{,throttled_}spin_count_var
14471	depending on presence and value of OMP_WAIT_POLICY and
14472	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
14473	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
14474	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
14475	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
14476	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
14477	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14478	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14479	(gomp_global_icv): New.
14480	(parse_schedule): Use it.  Parse "auto".
14481	(omp_set_num_threads): Use gomp_icv.
14482	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
14483	Likewise.
14484	(omp_get_max_threads): Move from parallel.c.
14485	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14486	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
14487	add ialias.
14488	(parse_stacksize, parse_wait_policy): New functions.
14489	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
14490	both wrappers for compatibility and new locks.
14491	(omp_set_schedule, omp_get_schedule,
14492	omp_get_thread_limit, omp_set_max_active_levels,
14493	omp_get_max_active_levels, omp_get_level,
14494	omp_get_ancestor_thread_num, omp_get_team_size,
14495	omp_get_active_level): New ialias_redirect.
14496	(omp_set_schedule_, omp_set_schedule_8_,
14497	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14498	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14499	omp_get_max_active_levels_, omp_get_level_,
14500	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14501	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14502	New functions.
14503	* parallel.c: Include limits.h.
14504	(gomp_resolve_num_threads): Add count argument.  Rewritten.
14505	(GOMP_parallel_start): Call gomp_new_team and pass that as last
14506	argument to gomp_team_start.  Pass 0 as second argument to
14507	gomp_resolve_num_threads.
14508	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
14509	if gomp_thread_limit_var != ULONG_MAX.
14510	(omp_in_parallel): Implement using ts.active_level.
14511	(omp_get_max_threads): Move to env.c.
14512	(omp_get_level, omp_get_ancestor_thread_num,
14513	omp_get_team_size, omp_get_active_level): New functions,
14514	add ialias.
14515	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
14516	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
14517	gomp_iter_dynamic_next instead of the _locked variant and don't take
14518	lock around it, otherwise acquire it before calling
14519	gomp_iter_dynamic_next_locked.
14520	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
14521	gomp_iter_dynamic_next instead of the _locked variant and don't take
14522	lock around it.
14523	(GOMP_parallel_sections_start): Call gomp_new_team instead of
14524	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
14525	Adjust gomp_team_start caller.  Pass count as second argument to
14526	gomp_resolve_num_threads, don't adjust num_threads after the call.
14527	Use gomp_icv.
14528	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
14529	ws->chunk_size by incr.
14530	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
14531	code.
14532	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
14533	types.
14534	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
14535	(omp_check_defines): Check even the compat defines.
14536	* config/linux/ptrlock.c: New file.
14537	* config/linux/ptrlock.h: New file.
14538	* config/linux/wait.h: New file.
14539	* config/posix/ptrlock.c: New file.
14540	* config/posix/ptrlock.h: New file.
14541	* config/linux/bar.h (gomp_team_barrier_wait,
14542	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14543	(gomp_team_barrier_set_task_pending,
14544	gomp_team_barrier_clear_task_pending,
14545	gomp_team_barrier_set_waiting_for_tasks,
14546	gomp_team_barrier_waiting_for_tasks,
14547	gomp_team_barrier_done): New inlines.
14548	(gomp_barrier_t): Rewritten.
14549	(gomp_barrier_state_t): New typedef.
14550	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
14551	gomp_barrier_wait_start): Rewritten.
14552	(gomp_barrier_wait_end): Change second argument to
14553	gomp_barrier_state_t.
14554	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14555	inlines.
14556	* config/linux/bar.c: Include wait.h instead of libgomp.h and
14557	futex.h.
14558	(gomp_barrier_wait_end): Rewritten.
14559	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14560	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
14561	* config/posix/bar.h (gomp_barrier_t): Add generation field.
14562	(gomp_barrier_state_t): New typedef.
14563	(gomp_team_barrier_wait,
14564	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14565	(gomp_barrier_wait_start): Or all but low 2 bits from generation
14566	into the return value.  Return gomp_barrier_state_t.
14567	(gomp_team_barrier_set_task_pending,
14568	gomp_team_barrier_clear_task_pending,
14569	gomp_team_barrier_set_waiting_for_tasks,
14570	gomp_team_barrier_waiting_for_tasks,
14571	gomp_team_barrier_done): New inlines.
14572	(gomp_barrier_wait_end): Change second argument to
14573	gomp_barrier_state_t.
14574	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14575	inlines.
14576	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
14577	(gomp_barrier_wait_end): Change second argument to
14578	gomp_barrier_state_t.
14579	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14580	gomp_team_barrier_wake): New functions.
14581	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
14582	futex.h.
14583	(gomp_futex_wake, gomp_futex_wait): New variables.
14584	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
14585	* config/linux/lock.c: Rewrite to make locks task owned,
14586	for backwards compatibility provide the old entrypoints
14587	if symbol versioning.  Include wait.h instead of libgomp.h and
14588	futex.h.
14589	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
14590	* config/posix95/lock.c: Rewrite to make locks task owned,
14591	for backwards compatibility provide the old entrypoints
14592	if symbol versioning.
14593	* config/posix/lock.c: Rewrite to make locks task owned,
14594	for backwards compatibility provide the old entrypoints
14595	if symbol versioning.
14596	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
14597	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
14598	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
14599	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14600	(sys_futex0): Return error code.
14601	(futex_wake, futex_wait): If ENOSYS was returned, clear
14602	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14603	(cpu_relax, atomic_write_barrier): New static inlines.
14604	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14605	(futex_wake, futex_wait): If ENOSYS was returned, clear
14606	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14607	(cpu_relax, atomic_write_barrier): New static inlines.
14608	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14609	(sys_futex0): Return error code.
14610	(futex_wake, futex_wait): If ENOSYS was returned, clear
14611	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14612	(cpu_relax, atomic_write_barrier): New static inlines.
14613	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14614	(sys_futex0): Return error code.
14615	(futex_wake, futex_wait): If ENOSYS was returned, clear
14616	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14617	(cpu_relax, atomic_write_barrier): New static inlines.
14618	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14619	(sys_futex0): Return error code.
14620	(futex_wake, futex_wait): If ENOSYS was returned, clear
14621	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14622	(cpu_relax, atomic_write_barrier): New static inlines.
14623	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14624	(sys_futex0): Return error code.
14625	(futex_wake, futex_wait): If ENOSYS was returned, clear
14626	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14627	(cpu_relax, atomic_write_barrier): New static inlines.
14628	* config/linux/sem.c: Include wait.h instead of libgomp.h and
14629	futex.h.
14630	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
14631	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
14632	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
14633	types.
14634	(omp_nest_lock_t): Change owner into void *, add lock field.
14635	* config/posix95/omp-lock.h: Include semaphore.h.
14636	(omp_lock_25_t, omp_nest_lock_25_t): New types.
14637	(omp_lock_t): Use sem_t instead of mutex if semaphores
14638	aren't broken.
14639	(omp_nest_lock_t): Likewise.  Change owner to void *.
14640	* config/posix/omp-lock.h: Include semaphore.h.
14641	(omp_lock_25_t, omp_nest_lock_25_t): New types.
14642	(omp_lock_t): Use sem_t instead of mutex if semaphores
14643	aren't broken.
14644	(omp_nest_lock_t): Likewise.  Add owner field.
14645
146462008-06-06  Jakub Jelinek  <jakub@redhat.com>
14647
14648	* testsuite/libgomp.c/collapse-1.c: New test.
14649	* testsuite/libgomp.c/collapse-2.c: New test.
14650	* testsuite/libgomp.c/collapse-3.c: New test.
14651	* testsuite/libgomp.c/icv-1.c: New test.
14652	* testsuite/libgomp.c/icv-2.c: New test.
14653	* testsuite/libgomp.c/lib-2.c: New test.
14654	* testsuite/libgomp.c/lock-1.c: New test.
14655	* testsuite/libgomp.c/lock-2.c: New test.
14656	* testsuite/libgomp.c/lock-3.c: New test.
14657	* testsuite/libgomp.c/loop-4.c: New test.
14658	* testsuite/libgomp.c/loop-5.c: New test.
14659	* testsuite/libgomp.c/loop-6.c: New test.
14660	* testsuite/libgomp.c/loop-7.c: New test.
14661	* testsuite/libgomp.c/loop-8.c: New test.
14662	* testsuite/libgomp.c/loop-9.c: New test.
14663	* testsuite/libgomp.c/nested-3.c: New test.
14664	* testsuite/libgomp.c/nestedfn-6.c: New test.
14665	* testsuite/libgomp.c/sort-1.c: New test.
14666	* testsuite/libgomp.c/task-1.c: New test.
14667	* testsuite/libgomp.c/task-2.c: New test.
14668	* testsuite/libgomp.c/task-3.c: New test.
14669	* testsuite/libgomp.c/task-4.c: New test.
14670	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
14671	to C++ testsuite default compiler options.
14672	* testsuite/libgomp.c++/collapse-1.C: New test.
14673	* testsuite/libgomp.c++/collapse-2.C: New test.
14674	* testsuite/libgomp.c++/ctor-10.C: New test.
14675	* testsuite/libgomp.c++/for-1.C: New test.
14676	* testsuite/libgomp.c++/for-2.C: New test.
14677	* testsuite/libgomp.c++/for-3.C: New test.
14678	* testsuite/libgomp.c++/for-4.C: New test.
14679	* testsuite/libgomp.c++/for-5.C: New test.
14680	* testsuite/libgomp.c++/loop-8.C: New test.
14681	* testsuite/libgomp.c++/loop-9.C: New test.
14682	* testsuite/libgomp.c++/loop-10.C: New test.
14683	* testsuite/libgomp.c++/task-1.C: New test.
14684	* testsuite/libgomp.c++/task-2.C: New test.
14685	* testsuite/libgomp.c++/task-3.C: New test.
14686	* testsuite/libgomp.c++/task-4.C: New test.
14687	* testsuite/libgomp.c++/task-5.C: New test.
14688	* testsuite/libgomp.c++/task-6.C: New test.
14689	* testsuite/libgomp.fortran/allocatable1.f90: New test.
14690	* testsuite/libgomp.fortran/allocatable2.f90: New test.
14691	* testsuite/libgomp.fortran/allocatable3.f90: New test.
14692	* testsuite/libgomp.fortran/allocatable4.f90: New test.
14693	* testsuite/libgomp.fortran/collapse1.f90: New test.
14694	* testsuite/libgomp.fortran/collapse2.f90: New test.
14695	* testsuite/libgomp.fortran/collapse3.f90: New test.
14696	* testsuite/libgomp.fortran/collapse4.f90: New test.
14697	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
14698	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
14699	* testsuite/libgomp.fortran/lib4.f90: New test.
14700	* testsuite/libgomp.fortran/lock-1.f90: New test.
14701	* testsuite/libgomp.fortran/lock-2.f90: New test.
14702	* testsuite/libgomp.fortran/nested1.f90: New test.
14703	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
14704	* testsuite/libgomp.fortran/strassen.f90: New test.
14705	* testsuite/libgomp.fortran/tabs1.f90: New test.
14706	* testsuite/libgomp.fortran/tabs2.f: New test.
14707	* testsuite/libgomp.fortran/task1.f90: New test.
14708	* testsuite/libgomp.fortran/task2.f90: New test.
14709	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
14710	* testsuite/libgomp.fortran/vla5.f90: Likewise.
14711	* testsuite/libgomp.c/pr26943-2.c: Likewise.
14712	* testsuite/libgomp.c/pr26943-3.c: Likewise.
14713	* testsuite/libgomp.c/pr26943-4.c: Likewise.
14714
147152008-05-23  Jakub Jelinek  <jakub@redhat.com>
14716
14717	PR c++/36308
14718	* testsuite/libgomp.c++/ctor-11.C: New test.
14719	* testsuite/libgomp.c++/ctor-12.C: New test.
14720
147212008-05-15  Janis Johnson  <janis187@us.ibm.com>
14722
14723	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
14724
147252008-05-07  Jakub Jelinek  <jakub@redhat.com>
14726
14727	PR middle-end/36106
14728	* testsuite/libgomp.c/atomic-5.c: New test.
14729	* testsuite/libgomp.c/atomic-6.c: New test.
14730	* testsuite/libgomp.c/autopar-1.c: New test.
14731
147322008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14733
14734	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
14735	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
14736	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
14737	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
14738	* configure: Regenerate.
14739	* Makefile.in, testsuite/Makefile.in: Likewise.
14740
147412008-04-18  Paolo Bonzini  <bonzini@gnu.org>
14742
14743	PR bootstrap/35457
14744	* aclocal.m4: Regenerate.
14745	* configure: Regenerate.
14746
147472008-03-18  Jakub Jelinek  <jakub@redhat.com>
14748
14749	PR middle-end/35611
14750	* testsuite/libgomp.c/atomic-4.c: New test.
14751
14752	PR libgomp/35625
14753	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
14754	(gomp_iter_guided_next): Likewise.
14755	* testsuite/libgomp.c/pr35625.c: New test.
14756
147572008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14758
14759	* aclocal.m4: Regenerate.
14760	* configure: Likewise.
14761	* Makefile.in: Likewise.
14762	* testsuite/Makefile.in: Likewise.
14763
147642008-03-13  Jakub Jelinek  <jakub@redhat.com>
14765
14766	PR middle-end/35185
14767	* testsuite/libgomp.c++/pr35185.C: New test.
14768
147692008-03-12  Jakub Jelinek  <jakub@redhat.com>
14770
14771	PR middle-end/35549
14772	* testsuite/libgomp.c/pr35549.c: New test.
14773
147742008-03-06  Jakub Jelinek  <jakub@redhat.com>
14775
14776	* testsuite/libgomp.c/atomic-3.c: New test.
14777
147782008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
14779
14780	PR fortran/33197
14781	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
14782	.F08 file suffixes.
14783
147842008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
14785
14786	PR libgomp/33131
14787	* configure.ac: Add ACX_HEADER_STRING.
14788	* env.c: Include strings.h.
14789	* aclocal.m4: Regenerate.
14790	* config.h.in: Regenerate.
14791	* configure: Regenerate.
14792	* Makefile.in: Regenerate.
14793	* testsuite/Makefile.in: Regenerate.
14794
147952008-02-15  Jakub Jelinek  <jakub@redhat.com>
14796
14797	PR middle-end/35196
14798	* testsuite/libgomp.c/pr35196.c: New test.
14799
14800	PR middle-end/35130
14801	* testsuite/libgomp.fortran/pr35130.f90: New test.
14802	* testsuite/libgomp.c/pr35130.c: New test.
14803
148042008-01-25  Jakub Jelinek  <jakub@redhat.com>
14805
14806	PR middle-end/33880
14807	* testsuite/libgomp.c/pr33880.c: New test.
14808	* testsuite/libgomp.fortran/pr33880.f90: New test.
14809
148102008-01-24  David Edelsohn  <edelsohn@gnu.org>
14811
14812	* configure: Regenerate.
14813
148142008-01-08  Jakub Jelinek  <jakub@redhat.com>
14815
14816	* configure.ac: Move futex checking into ../config/futex.m4.
14817	* configure: Rebuilt.
14818	* aclocal.m4: Rebuilt.
14819	* Makefile.in: Rebuilt.
14820
14821	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
14822	2007-10-15 ../config/tls.m4 change.
14823
148242007-12-19  Jakub Jelinek  <jakub@redhat.com>
14825
14826	PR c++/34513
14827	* testsuite/libgomp.c/pr34513.c: New test.
14828	* testsuite/libgomp.c++/pr34513.C: New test.
14829
148302007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
14831
14832	PR target/32765
14833	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
14834
148352007-12-04  Jakub Jelinek  <jakub@redhat.com>
14836
14837	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
14838
148392007-12-03  Jakub Jelinek  <jakub@redhat.com>
14840
14841	* testsuite/libgomp.c/private-1.c: New test.
14842
148432007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
14844	    Paolo Bonzini  <bonzini@gnu.org>
14845
14846	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
14847	instead of 'VPATH ='.
14848	* Makefile.in: Regenerate.
14849
148502007-11-23  Matthias Klose  <doko@ubuntu.com>
14851
14852	* configure.ac: Adjust makeinfo version check.
14853	* configure: Regenerate.
14854
148552007-11-10  Jakub Jelinek  <jakub@redhat.com>
14856
14857	PR fortran/34020
14858	* testsuite/libgomp.fortran/pr34020.f90: New test.
14859
148602007-11-06  Jakub Jelinek  <jakub@redhat.com>
14861
14862	PR c++/33894
14863	* testsuite/libgomp.c++/atomic-1.C: New test.
14864
148652007-10-25  Jakub Jelinek  <jakub@redhat.com>
14866
14867	PR libgomp/33275
14868	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
14869	Make x and y integers rather than (implicit) reals.  Add private (j)
14870	clause to the last omp parallel.
14871
148722007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
14873
14874	* configure: Regenerate following changes to ../config/tls.m4.
14875
148762007-09-28  Jakub Jelinek  <jakub@redhat.com>
14877
14878	* testsuite/libgomp.fortran/stack.f90: New test.
14879
148802007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
14881
14882	* config/mingw32/proc.c: New file.
14883
148842007-09-05  Uros Bizjak  <ubizjak@gmail.com>
14885
14886	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
14887	(main): Use __get_cpuid to get i386 target fetaures.
14888	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
14889	(main): Use __get_cpuid to get x86_64 target fetaures.
14890
148912007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
14892
14893	PR target/32765
14894	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
14895	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
14896
148972007-07-12  Jakub Jelinek  <jakub@redhat.com>
14898
14899	PR fortran/32550
14900	* testsuite/libgomp.fortran/pr32550.f90: New test.
14901	* testsuite/libgomp.fortran/crayptr2.f90: New test.
14902
149032007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
14904
14905	* aclocal.m4: Regenerated.
14906
149072007-07-05  Tobias Burnus  <burnus@net-b.de>
14908
14909	PR fortran/32359
14910	* testsuite/libgomp.fortran/pr32359.f90: New.
14911
149122007-07-02  Jakub Jelinek  <jakub@redhat.com>
14913
14914	PR libgomp/32468
14915	* sections.c (GOMP_parallel_sections_start): Only decrease
14916	number of threads to COUNT if dyn_var is true.
14917	* testsuite/libgomp.c/pr32468.c: New test.
14918
149192007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14920
14921	PR libgomp/26308
14922	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
14923
149242007-06-21  Jakub Jelinek  <jakub@redhat.com>
14925
14926	PR middle-end/32362
14927	* testsuite/libgomp.c/pr32362-1.c: New test.
14928	* testsuite/libgomp.c/pr32362-2.c: New test.
14929	* testsuite/libgomp.c/pr32362-3.c: New test.
14930
149312007-06-07  Jakub Jelinek  <jakub@redhat.com>
14932
14933	* team.c (gomp_team_start): Fix setting up thread_attr
14934	stack size.
14935
149362007-06-02  Paolo Bonzini  <bonzini@gnu.org>
14937
14938	* configure: Regenerate.
14939
149402007-05-23  Steve Ellcey  <sje@cup.hp.com>
14941
14942	* Makefile.in: Regenerate.
14943	* configure: Regenerate.
14944	* aclocal.m4: Regenerate.
14945	* testsuite/Makefile.in: Regenerate.
14946
149472007-05-04  Jakub Jelinek  <jakub@redhat.com>
14948
14949	* config/linux/proc.c: New file.
14950
14951	PR libgomp/28482
14952	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
14953
149542007-04-19  Daniel Franke  <franke.daniel@gmail.com>
14955
14956	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
14957
149582007-04-16  Matthias Klose  <doko@debian.org>
14959
14960	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
14961	flags if not building with -m64.
14962	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
14963	flag for i?86-*-* targets, if current target matches -m64.
14964
149652007-04-14  Steve Ellcey  <sje@cup.hp.com>
14966
14967	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
14968	* Makefile.in: Regenerate.
14969
149702007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14971
14972	PR testsuite/31369
14973	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
14974	ld_library_path.
14975	* testsuite/libgomp.fortran/fortran.exp: Likewise.
14976
149772007-04-04  Jakub Jelinek  <jakub@redhat.com>
14978
14979	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
14980	decls.
14981	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
14982	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
14983	(parse_affinity): New function.
14984	(initialize_env): Call it and gomp_init_affinity.
14985	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
14986	create new pthread_attr_t and call gomp_init_thread_affinity
14987	on it for each thread before passing the attribute to pthread_create.
14988	* config/linux/affinity.c: New file.
14989	* config/posix/affinity.c: New file.
14990	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
14991	* configure: Rebuilt.
14992	* config.h.in: Rebuilt.
14993	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
14994	* Makefile.in: Rebuilt.
14995
149962007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
14997
14998	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
14999	*-*-darwin*.
15000	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15001	and use it if found.
15002
150032007-03-18  Uros Bizjak  <ubizjak@gmail.com>
15004
15005	* testsuite/config/default.exp: New file.
15006	* testsuite/lib/libgomp.exp: New file.
15007	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15008	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15009	load_lib *, load_gcc_lib *): Move to libgomp.exp.
15010	(libgomp_load): Remove.
15011	* testsuite/lib/libgomp.exp (libgomp_init): Compute
15012	always_ld_library_path, not ld_library_path.  Set additional_flags
15013	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15014	(target_compile): Do not call libgomp_init.  Append lang_library_path
15015	and lang_link_flags to options.
15016	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
15017	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
15018	here.
15019	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15020	always_ld_library_path.  Set LD_LIBRARY_PATH here.
15021	* testsuite/libgomp.fortran/fortran.exp: Ditto.
15022	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
15023	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15024	CX8 flag.
15025	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15026	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15027	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15028	* testsuite/libgomp.c/pr29947-1.c: Ditto.
15029	* testsuite/libgomp.c/atomic-10.c: Ditto.
15030
150312007-03-21  Jakub Jelinek  <jakub@redhat.com>
15032
15033	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15034	dg-final cleanup-modules line.
15035	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15036	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15037	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15038	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15039	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
15040	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15041	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15042
150432007-03-18  Andreas Schwab  <schwab@suse.de>
15044
15045	* acinclude.m4: Adjust regular expression for ld version
15046	extraction.
15047	* configure: Regenerate.
15048
150492007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
15050
15051	* Makefile.am: Add install-pdf target as copied from
15052	automake v1.10 rules.
15053	* Makefile.in: Regenerate
15054
150552007-02-07  Jakub Jelinek  <jakub@redhat.com>
15056
15057	PR libgomp/28486
15058	* configure: Regenerate.
15059
15060	PR c++/30703
15061	* testsuite/libgomp.c++/pr30703.C: New test.
15062
150632007-02-02  Jakub Jelinek  <jakub@redhat.com>
15064
15065	Revert:
15066	2006-07-05  Eric Christopher  <echristo@apple.com>
15067	* configure.ac: Depend addition of -pthread on host OS.
15068	* configure: Regenerate.
15069
150702007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15071
15072	* libgomp.texi: Fix spacing after abbreviations.
15073
150742007-01-31  Daniel Franke <franke.daniel@gmail.com>
15075
15076	PR libgomp/30546
15077	* configure.ac: Add check for makeinfo
15078	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
15079	if an appropriate version of makeinfo is found.
15080	* aclocal.m4: Regenerated.
15081	* configure: Regenerated.
15082	* Makefile.in: Regenerated.
15083	* testsuite/Makefile.in: Regenerated.
15084
150852007-01-29  Daniel Franke <franke.daniel@gmail.com>
15086
15087	PR libgomp/30540
15088	* libgomp.texi: More about implementation-dependent settings.
15089
150902007-01-26  Tobias Burnus  <burnus@net-b.de>
15091
15092	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
15093
150942007-01-24  Jakub Jelinek  <jakub@redhat.com>
15095
15096	PR middle-end/30494
15097	* testsuite/libgomp.c/pr30494.c: New test.
15098
150992007-01-15  Tom Tromey  <tromey@redhat.com>
15100
15101	* configure: Rebuilt.
15102	* configure.ac: Fixed comment.
15103
151042007-01-14  Daniel Franke  <franke.daniel@gmail.com>
15105
15106	* libgomp.texi: Document implementation specific default values of
15107	environment variables.
15108
151092006-12-21  Daniel Franke  <franke.daniel@gmail.com>
15110
15111	PR libgomp/28209
15112	* libgomp.texi: New file.
15113	* configure.ac: Add --enable-generated-files-in-srcdir option.
15114	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
15115	files to srcdir.
15116	* Makefile.in: Regenerated.
15117	* config.h.in: Regenerated.
15118	* testsuite/Makefile.in: Regenerated.
15119	* NOTES: Removed.
15120
151212006-12-04  Daniel Franke  <franke.daniel@gmail.com>
15122
15123	PR libgomp/29949
15124	* env.c (omp_set_num_threads): Set illegal thread count to 1.
15125
151262006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
15127
15128	* configure: Regenerate.
15129
151302006-12-04  Jakub Jelinek  <jakub@redhat.com>
15131
15132	PR libgomp/29947
15133	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
15134	start if there shouldn't be any loop iterations.
15135	(gomp_loop_ordered_static_start): Remove start == end test.
15136	* testsuite/libgomp.c/pr29947-1.c: New test.
15137	* testsuite/libgomp.c/pr29947-2.c: New test.
15138
151392006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
15140
15141	* configure.tgt: Force initial-exec TLS model on Linux only.
15142
151432006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
15144
15145	* configure: Regenerated.
15146
151472006-11-09  Uros Bizjak  <ubizjak@gmail.com>
15148
15149	* env.c (parse_schedule): Reject out of range values.
15150	(parse_unsigned_long): Reject out of range, negative or zero values.
15151
151522006-10-29  Jakub Jelinek  <jakub@redhat.com>
15153
15154	PR fortran/29629
15155	* testsuite/libgomp.fortran/pr29629.f90: New test.
15156
151572006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
15158
15159	PR libgomp/29494
15160	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
15161	* config/posix95: New directory.
15162	* config/posix95/omp-lock.h: New file.
15163	* config/posix95/lock.c: Likewise.
15164
151652006-10-14  Geoffrey Keating  <geoffk@apple.com>
15166
15167	* aclocal.m4: Regenerate.
15168	* configure: Regenerate.
15169
151702006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
15171
15172	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
15173	'<' to '<='.
15174
151752006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
15176
15177	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
15178	test.
15179	* configure: Regenerate.
15180	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
15181
151822006-09-26  Jakub Jelinek  <jakub@redhat.com>
15183
15184	PR middle-end/25261
15185	PR middle-end/28790
15186	* testsuite/libgomp.c/nestedfn-4.c: New test.
15187	* testsuite/libgomp.c/nestedfn-5.c: New test.
15188	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
15189
15190	PR fortran/29097
15191	* testsuite/libgomp.fortran/condinc1.f: New test.
15192	* testsuite/libgomp.fortran/condinc2.f: New test.
15193	* testsuite/libgomp.fortran/condinc3.f90: New test.
15194	* testsuite/libgomp.fortran/condinc4.f90: New test.
15195	* testsuite/libgomp.fortran/condinc1.inc: New file.
15196
151972006-09-18  Tom Tromey  <tromey@redhat.com>
15198
15199	* configure: Rebuilt.
15200
152012006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
15202
15203	PR c/28768
15204	PR preprocessor/14634
15205	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
15206	to AC_DEFINE.
15207	* configure: Regenerate.
15208
152092006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
15210
15211	* testsuite/libgomp.fortran/reduction3.f90: Change
15212	-2147483648 to -huge(i)-1 to avoid overflow.
15213	* testsuite/libgomp.fortran/reduction4.f90: Change
15214	Z'ffffffff' to not(0) to avoid overflow.
15215
152162006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
15217
15218	PR libgomp/25938
15219	* Makefile.am (libsubincludedir): New.
15220	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
15221	* Makefile.in: Regenerate.
15222
152232006-08-17  Jakub Jelinek  <jakub@redhat.com>
15224
15225	PR libgomp/28725
15226	* env.c: Include ctype.h.
15227	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
15228	leading and/or trailing whitespace and compare strings case
15229	insensitively.
15230
152312006-07-16  Jakub Jelinek  <jakub@redhat.com>
15232
15233	PR fortran/28390
15234	* testsuite/libgomp.fortran/pr28390.f: New test.
15235
152362006-07-05  Eric Christopher  <echristo@apple.com>
15237
15238	* configure.ac: Depend addition of -pthread on host OS.
15239	* configure: Regenerate.
15240
152412006-06-21  Jakub Jelinek  <jakub@redhat.com>
15242
15243	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
15244	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
15245	defined.
15246
152472006-06-20  Jakub Jelinek  <jakub@redhat.com>
15248
15249	PR libgomp/26175
15250	PR libgomp/26477
15251	* configure.ac: If neither --enable-linux-futex nor
15252	--disable-linux-futex is passed, determine the default by checking
15253	for compiling and/or running against NPTL.  With --enable-linux-futex,
15254	check if SYS_gettid and SYS_futex are defined.
15255	* configure: Rebuilt.
15256
152572006-06-14  Richard Henderson  <rth@redhat.com>
15258
15259	PR libgomp/28008
15260	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
15261	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
15262
152632006-06-09  Richard Henderson  <rth@redhat.com>
15264
15265	* env.c (gomp_nthreads_var): Change to unsigned long.
15266	(gomp_run_sched_chunk): Likewise.
15267	(parse_unsigned_long): Rename from parse_num_threads and generalize.
15268	(initialize_env): Initialize gomp_thread_attr.
15269	* libgomp.h (gomp_nthreads_var): Update decl.
15270	(gomp_run_sched_chunk): Likewise.
15271	(gomp_thread_attr): Declare.
15272	* team.c (gomp_thread_attr): Export.
15273	(initialize_team): Don't initialize it.
15274
152752006-06-09  Jakub Jelinek  <jakub@redhat.com>
15276
15277	PR fortran/27916
15278	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
15279	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
15280
152812006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
15282
15283	* config/mingw32/time.c: New file.
15284	* configure.tgt: Use it.
15285
152862006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
15287
15288	* Makefile.am: Add install-html target. Add install-html to .PHONY
15289	* Makefile.in: Regenerate.
15290
152912006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15292
15293	PR libgomp/27612
15294	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
15295	* testsuite/libgomp.c/critical-1.c: Likewise.
15296	* testsuite/libgomp.c/loop-1.c: Likewise.
15297	* testsuite/libgomp.c/loop-2.c: Likewise.
15298	* testsuite/libgomp.c/single-1.c: Likewise.
15299	* testsuite/libgomp.c/ordered-1.c: Likewise.
15300	* testsuite/libgomp.c/ordered-2.c: Likewise.
15301
153022006-05-15  Jakub Jelinek  <jakub@redhat.com>
15303
15304	PR middle-end/27416
15305	* libgomp.fortran/pr27416-1.f90: New test.
15306
153072006-05-03  Jakub Jelinek  <jakub@redhat.com>
15308
15309	PR fortran/27395
15310	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
15311	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
15312
153132006-05-02  Jakub Jelinek  <jakub@redhat.com>
15314
15315	PR c++/26943
15316	* testsuite/libgomp.c/pr26943-1.c: New test.
15317	* testsuite/libgomp.c/pr26943-2.c: New test.
15318	* testsuite/libgomp.c/pr26943-3.c: New test.
15319	* testsuite/libgomp.c/pr26943-4.c: New test.
15320	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
15321	* testsuite/libgomp.c++/pr26943.C: New test.
15322
153232006-05-02  Jakub Jelinek  <jakub@redhat.com>
15324
15325	PR middle-end/27337
15326	* testsuite/libgomp.c++/pr27337.C: New test.
15327
153282006-04-26  Jakub Jelinek  <jakub@redhat.com>
15329
15330	PR c/26171
15331	* testsuite/libgomp.c/pr26171.c: New test.
15332
153332006-04-25  Richard Henderson  <rth@redhat.com>
15334
15335	PR libgomp/25865
15336	* configure.ac: Use GCC_CHECK_TLS.
15337	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
15338	* Makefile.in, aclocal.m4, configure: Regenerate.
15339
153402006-04-10  Matthias Klose  <doko@debian.org>
15341
15342	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
15343	directory names containing underscores.
15344
153452006-03-21  Jakub Jelinek  <jakub@redhat.com>
15346
15347	PR c++/26691
15348	* testsuite/libgomp.c++/pr26691.C: New test.
15349
153502006-03-13  Jakub Jelinek  <jakub@redhat.com>
15351
15352	* testsuite/libgomp.fortran/retval2.f90: New test.
15353
153542006-03-09  Diego Novillo  <dnovillo@redhat.com>
15355
15356	* testsuite/libgomp.c++: New directory.
15357
153582006-02-25  Shantonu Sen  <ssen@opendarwin.org>
15359
15360	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
15361	* config/posix/sem.c: Implement the above.
15362
153632006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
15364
15365	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
15366	define HAVE_BROKEN_POSIX_SEMAPHORES.
15367	* configure: Rebuilt.
15368	* config.h.in: Rebuilt.
15369
153702006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
15371
15372	PR bootstrap/26161
15373	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
15374	for the other pthread check.
15375	* configure: Regenerate.
15376	* config.h.in: Regenerate.
15377
153782006-02-15  Jakub Jelinek  <jakub@redhat.com>
15379
15380	PR libgomp/25938
15381	PR libgomp/25984
15382	* Makefile.am (fincludedir): New variable.
15383	(nodist_include_HEADERS): Remove Fortran files.
15384	(nodist_finclude_HEADERS): New variable.
15385	* Makefile.in: Regenerated.
15386
153872006-02-13  Jakub Jelinek  <jakub@redhat.com>
15388
15389	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
15390	Remove tests for returning assumed character length arrays.
15391
153922006-02-12  Roger Sayle  <roger@eyesopen.com>
15393	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
15394
15395	PR libgomp/25936
15396	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
15397
153982006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
15399
15400	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
15401
154022006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
15403
15404	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
15405	part of LD_LIBRARY_PATH manually.
15406
154072006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
15408
15409	PR libgomp/25852
15410	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
15411	libgomp_init.
15412
154132005-01-25  Paolo Bonzini  <bonzini@gnu.org>
15414
15415	PR libgomp/25884
15416	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
15417	* configure.ac (PERL): Don't set.
15418	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
15419	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
15420	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
15421	* omp.h.in: Wrap the new configure substitutions with @ characters.
15422	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
15423	* aclocal.m4, configure, Makefile.in: Regenerate.
15424	* mkomp_h.pl: Delete.
15425
154262005-01-24  Paolo Bonzini  <bonzini@gnu.org>
15427
15428	PR libgomp/25259
15429	* configure.ac: Use GCC_HEADER_STDINT.
15430	* libgomp.h: Include gstdint.h.
15431	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
15432	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
15433
154342006-01-24  Richard Henderson  <rth@redhat.com>
15435
15436	PR libgomp/25942
15437	* configure.ac: Add AM_MAINTAINER_MODE.
15438	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
15439
154402006-01-24  Diego Novillo  <dnovillo@redhat.com>
15441
15442	* Makefile.in: Regenerate.
15443	* testsuite/Makefile.in: Regenerate.
15444	* aclocal.m4: Regenerate.
15445
154462006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
15447
15448	* config/posix/proc.c: Conditional include of sys/loadavg.h for
15449	Solaris.
15450	* configure.ac: Add check for loadavg.h.
15451	(link_gomp): Adjust comment.
15452	* configure: Regenerate.
15453	* config.h.in: Regenerate.
15454
154552006-01-21  Steve Ellcey  <sje@cup.hp.com>
15456
15457	PR libgomp/25877
15458	* configure.ac: Remove check for alloca.h.
15459	* configure: Regenerate.
15460	* config.h.in: Regenerate.
15461	* libgomp.h: define gomp_alloca to be __builtin_alloca.
15462	* team.c: Remove use of alloca.h.
15463	Call gomp_alloca instead of alloca.
15464
154652006-01-20  Steve Ellcey  <sje@cup.hp.com>
15466
15467	PR libgomp/25877
15468	* team.c: Add include of alloca.h.
15469	* configure.ac: Add check for alloca.h.
15470	* configure: Regenerate.
15471	* config.h.in: Regenerate.
15472
154732006-01-17  Jakub Jelinek  <jakub@redhat.com>
15474
15475	PR fortran/25219
15476	* testsuite/libgomp.fortran/pr25219.f90: New test.
15477
154782005-12-05  Uros Bizjak  <uros@kss-loka.si>
15479
15480	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
15481	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
15482	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15483	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15484	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
15485	testsuite/libgomp.fortran/threadprivate1.f90,
15486	testsuite/libgomp.fortran/threadprivate2.f90,
15487	testsuite/libgomp.fortran/threadprivate3.f90,
15488	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15489	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15490	testsuite/libgomp.fortran/omp_parse3.f90: Change required
15491	effective-target to TLS runtime.
15492
15493	* testsuite/libgomp.fortran/pr25162.f: Require
15494	effective-target TLS runtime.
15495
154962005-12-01  Jakub Jelinek  <jakub@redhat.com>
15497
15498	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
15499	* testsuite/libgomp.c/nestedfn-3.c: New test.
15500
155012005-11-30  Jakub Jelinek  <jakub@redhat.com>
15502
15503	PR fortran/25162
15504	* testsuite/libgomp.fortran/pr25162.f: New test.
15505
155062005-11-28  Jakub Jelinek  <jakub@redhat.com>
15507
15508	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
15509	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
15510
155112005-11-25  Jakub Jelinek  <jakub@redhat.com>
15512
15513	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
15514	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
15515	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
15516	single.c, team.c, work.c, config/linux/alpha/futex.h,
15517	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
15518	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
15519	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
15520	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
15521	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
15522	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
15523	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
15524	FSF address.
15525
155262005-11-18  Jakub Jelinek  <jakub@redhat.com>
15527
15528	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
15529	to nodist_noinst_HEADERS.
15530	* Makefile.in: Rebuilt.
15531
15532	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
15533	add integer count field.
15534	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
15535	omp_nest_lock_t type change.
15536	(omp_init_nest_lock): Likewise.  Initialize count to 0.
15537	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
15538	Increment count.
15539	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
15540	Decrement count.
15541	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
15542	Increment count if successful and return the new nesting level.
15543	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
15544	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
15545	* testsuite/libgomp.c/lib-1.c: New test.
15546	* testsuite/libgomp.fortran/lib1.f90: New test.
15547	* testsuite/libgomp.fortran/lib2.f: New test.
15548	* testsuite/libgomp.fortran/lib3.f: New test.
15549
155502005-11-17  Richard Henderson  <rth@redhat.com>
15551
15552	PR 24845
15553	* Makefile.am (nodist_toolexeclib_HEADERS): New.
15554	* configure.ac (link_gomp): New.  Substitute it.
15555	(AC_CONFIG_FILES): Add libgomp.spec.
15556	* libgomp.spec.in: New file.
15557	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
15558	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
15559
155602005-11-18  Jakub Jelinek  <jakub@redhat.com>
15561
15562	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
15563	reduction(-:var) behaving the same as reduction(+:var).
15564	* testsuite/libgomp.c/reduction-4.c: New test.
15565
155662005-11-15  Uros Bizjak  <uros@kss-loka.si>
15567
15568	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
15569	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
15570	testsuite/libgomp.c/copyin-3.c,
15571	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15572	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15573	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
15574	testsuite/libgomp.c++/pr24455.C,
15575	testsuite/libgomp.fortran/threadprivate1.f90,
15576	testsuite/libgomp.fortran/threadprivate2.f90,
15577	testsuite/libgomp.fortran/threadprivate3.f90,
15578	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15579	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15580	testsuite/libgomp.fortran/omp_parse3.f90: Require
15581	effective-target TLS.
15582
155832005-11-14  Diego Novillo  <dnovillo@redhat.com>
15584
15585	* HEADER: Remove.
15586
155872005-11-13  Jakub Jelinek  <jakub@redhat.com>
15588
15589	PR libgomp/24797
15590	* team.c (initialize_team): Pass NULL rather than free as
15591	pthread_key_create destructor.  Initialize thread specific data
15592	pointer in initial thread to a static local variable rather than
15593	malloced memory.
15594
155952005-11-11  Uros Bizjak  <uros@kss-loka.si>
15596
15597	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
15598	its location to ld_library_path.
15599
156002005-11-10  Diego Novillo  <dnovillo@redhat.com>
15601
15602	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
15603
156042005-11-10  Diego Novillo  <dnovillo@redhat.com>
15605
15606	* testsuite/libgomp.c: Rename from libgomp.dg.
15607
156082005-11-09  Diego Novillo  <dnovillo@redhat.com>
15609
15610	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
15611	threadprivate variable 'i'.
15612
156132005-11-09  Jakub Jelinek  <jakub@redhat.com>
15614
15615	* config/linux/s390/futex.h: New file.
15616	* configure.tgt: Use it.
15617
15618	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
15619	before the parallel.
15620
156212005-11-08  Jakub Jelinek  <jakub@redhat.com>
15622
15623	PR c++/24734
15624	* testsuite/libgomp.c++/master-1.C: New test.
15625
156262005-11-07  Jakub Jelinek  <jakub@redhat.com>
15627
15628	* testsuite/libgomp.dg/copyin-3.c: New test.
15629
156302005-11-07  Jakub Jelinek  <jakub@redhat.com>
15631
15632	* testsuite/libgomp.fortran/retval1.f90: New test.
15633	* testsuite/libgomp.fortran/vla7.f90: New test.
15634
156352005-11-06  Jakub Jelinek  <jakub@redhat.com>
15636
15637	* testsuite/libgomp.fortran/vla2.f90: New test.
15638	* testsuite/libgomp.fortran/vla3.f90: New test.
15639	* testsuite/libgomp.fortran/vla4.f90: New test.
15640	* testsuite/libgomp.fortran/vla5.f90: New test.
15641	* testsuite/libgomp.fortran/vla6.f90: New test.
15642
156432005-11-01  Jakub Jelinek  <jakub@redhat.com>
15644
15645	* config/linux/sparc/futex.h: New file.
15646	* configure.tgt: Use it.
15647	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
15648
15649	* critical.c: Include stdlib.h.
15650	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
15651	ignoring return value.
15652	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
15653	LIBGOMP_CHECK_SYNC_BUILTINS check.
15654	* configure: Rebuilt.
15655
156562005-10-31  Jakub Jelinek  <jakub@redhat.com>
15657
15658	* testsuite/libgomp.fortran/vla1.f90: New test.
15659
156602005-10-31  Richard Henderson  <rth@redhat.com>
15661
15662	* testsuite/libgomp.fortran/character2.f90: Fix race condition
15663	setting 's' in different threads.
15664
156652005-10-31  Jakub Jelinek  <jakub@redhat.com>
15666
15667	* libgomp.h (attribute_hidden, ialias): Define.
15668	* config/posix/proc.c (omp_get_num_procs): Add ialias.
15669	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
15670	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
15671	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15672	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15673	omp_test_lock, omp_test_nest_lock): Likewise.
15674	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
15675	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15676	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15677	omp_test_lock, omp_test_nest_lock): Likewise.
15678	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
15679	omp_get_dynamic, omp_get_nested): Likewise.
15680	* parallel.c (omp_get_num_threads, omp_get_max_threads,
15681	omp_get_thread_num, omp_in_parallel): Likewise.
15682	* fortran.c (ialias_redirect): Define.
15683	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
15684	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
15685	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
15686	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
15687	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
15688	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
15689	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
15690	omp_get_wtime): Add ialias_redirect.
15691
156922005-10-30  Jakub Jelinek  <jakub@redhat.com>
15693
15694	* fortran.c: Include stdlib.h.
15695
156962005-10-29  Jakub Jelinek  <jakub@redhat.com>
15697
15698	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
15699	* Makefile.in: Regenerated.
15700
157012005-10-28  Jakub Jelinek  <jakub@redhat.com>
15702
15703	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
15704	* libgomp_f.h.in (omp_check_defines): New function.
15705	* env.c: Include libgomp_f.h.
15706	(initialize_env): Call omp_check_defines.
15707
15708	* testsuite/libgomp.dg/copyin-2.c: New test.
15709	* testsuite/libgomp.c++/copyin-2.C: New test.
15710	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
15711
15712	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
15713	* testsuite/libgomp.fortran/sharing2.f90: New test.
15714
15715	* testsuite/libgomp.dg/copyin-1.c: New test.
15716	* testsuite/libgomp.c++/copyin-1.C: New test.
15717
157182005-10-26  Jakub Jelinek  <jakub@redhat.com>
15719
15720	* testsuite/libgomp.fortran/crayptr1.f90: New test.
15721
15722	* testsuite/libgomp.fortran/workshare1.f90: New test.
15723
15724	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
15725	only test.
15726	* libgomp.fortran/sharing1.f90: New test.
15727
157282005-10-24  Jakub Jelinek  <jakub@redhat.com>
15729
15730	PR c++/24502
15731	* testsuite/libgomp.c++/loop-7.C: New test.
15732
15733	* testsuite/libgomp.dg/nestedfn-2.c: New test.
15734
15735	* testsuite/libgomp.dg/nestedfn-1.c: New test.
15736	* testsuite/libgomp.fortran/reduction6.f90: New test.
15737	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
15738
157392005-10-23  Richard Henderson  <rth@redhat.com>
15740
15741	* testsuite/libgomp.c++/ctor-1.C: New.
15742	* testsuite/libgomp.c++/ctor-2.C: New.
15743	* testsuite/libgomp.c++/ctor-3.C: New.
15744	* testsuite/libgomp.c++/ctor-4.C: New.
15745	* testsuite/libgomp.c++/ctor-5.C: New.
15746	* testsuite/libgomp.c++/ctor-6.C: New.
15747	* testsuite/libgomp.c++/ctor-7.C: New.
15748	* testsuite/libgomp.c++/ctor-8.C: New.
15749	* testsuite/libgomp.c++/ctor-9.C: New.
15750
157512005-10-21  Diego Novillo  <dnovillo@redhat.com>
15752
15753	PR 24455
15754	* testsuite/libgomp.c++/pr24455-1.C: New test.
15755	* testsuite/libgomp.c++/pr24455.C: New test.
15756	* testsuite/libgomp.dg/pr24455-1.c: New test.
15757	* testsuite/libgomp.dg/pr24455.c: New test.
15758
157592005-10-20  Richard Henderson  <rth@redhat.com>
15760
15761	* testsuite/libgomp.c++/loop-6.C: New.
15762	* testsuite/libgomp.dg/loop-3.c: New.
15763
157642005-10-20  Jakub Jelinek  <jakub@redhat.com>
15765
15766	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
15767	explicitly private.
15768	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
15769	explicitly shared.
15770
157712005-10-19  Diego Novillo  <dnovillo@redhat.com>
15772
15773	* testsuite/libgomp.fortran/jacobi.f: New test.
15774
157752005-10-19  Richard Henderson  <rth@redhat.com>
15776
15777	* configure.tgt (i?86-linux): Default to with_arch instead of
15778	CFLAGS.  Add -mtune to match target_cpu.
15779	(x86_64-linux): Tune to i686.
15780
15781	* fortran.c (omp_test_nest_lock_): Fix typo.
15782
157832005-10-19  Jakub Jelinek  <jakub@redhat.com>
15784
15785	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15786	gomp_ordered_sync): Do nothing if team->nthreads == 1.
15787	* testsuite/libgomp.dg/ordered-3.c: New test.
15788
15789	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
15790	Remove volatile keyword.
15791
15792	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
15793	in COMMON block to avoid warnings on 64-bit targets.
15794
157952005-10-18  Diego Novillo  <dnovillo@redhat.com>
15796
15797	* testsuite/libgomp.dg/shared-3.c: New test.
15798
157992005-10-18  Jakub Jelinek  <jakub@redhat.com>
15800
15801	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
15802	* testsuite/libgomp.fortran/reduction5.f90: New test.
15803
158042005-10-18  Jakub Jelinek  <jakub@redhat.com>
15805
15806	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
15807	dg-options.
15808	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
15809	flush loop now that __sync_synchronize has proper memory barrier.
15810	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
15811	Add -ffixed-form to dg-options.
15812
158132005-10-17  Diego Novillo  <dnovillo@redhat.com>
15814
15815	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
15816	from subdirectories.
15817	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
15818	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
15819	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
15820	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
15821	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
15822	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
15823	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
15824	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
15825	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
15826	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
15827	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
15828	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
15829	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
15830	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
15831	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
15832	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
15833	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
15834	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
15835	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
15836	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
15837	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
15838	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
15839	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
15840	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
15841	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
15842
158432005-10-17  Jakub Jelinek  <jakub@redhat.com>
15844
15845	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
15846	lang_library_path exists.  Use find instead of glob to gather tests.
15847	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
15848
158492005-10-17  Diego Novillo  <dnovillo@redhat.com>
15850
15851	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
15852	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
15853	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
15854	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
15855	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
15856	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
15857	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
15858	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
15859	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
15860	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
15861	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
15862	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
15863	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
15864
158652005-10-15  Jakub Jelinek  <jakub@redhat.com>
15866
15867	* testsuite/libgomp.dg/vla-1.c: New test.
15868
15869	* testsuite/libgomp.fortran/reference2.f90: New test.
15870
15871	* testsuite/libgomp.fortran/character2.f90: Remove explicit
15872	declaration of omp_get_thread_num.
15873	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
15874	use omp_lib.
15875
15876	* testsuite/libgomp.fortran/reduction1.f90: New test.
15877	* testsuite/libgomp.fortran/reduction2.f90: New test.
15878	* testsuite/libgomp.fortran/reduction3.f90: New test.
15879	* testsuite/libgomp.fortran/reduction4.f90: New test.
15880
158812005-10-13  Richard Henderson  <rth@redhat.com>
15882
15883	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
15884	* Makefile.in: Regenerate.
15885	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
15886	* libgomp.h: Include bar.h.
15887	(struct gomp_barrier): Remove.
15888	(struct gomp_team): Add barrier.  Replace master_barrier with
15889	master_release.  Replace threads with ordered_release.
15890	(struct gomp_thread): Replace barrier with release.
15891	* ordered.c (gomp_ordered_first): Update for ordered_release change.
15892	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
15893	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
15894	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
15895	(GOMP_single_copy_end): Likewise.
15896	* team.c (gomp_threads_dock): New.
15897	(gomp_barrier_init, gomp_barrier_destroy): Remove.
15898	(gomp_thread_start): Use gomp_barrier_wait.
15899	(new_team, free_team): Update for gomp_team changes.
15900	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
15901	(gomp_team_end): Use gomp_barrier_wait.
15902	(initialize_team): Update for gomp_thread changes.
15903	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
15904	(gomp_work_share_end_nowait): Use atomic ops when available.
15905	* config/linux/bar.c, config/linux/bar.h: New files.
15906	* config/posix/bar.c, config/posix/bar.h: New files.
15907
159082005-10-13  Jakub Jelinek  <jakub@redhat.com>
15909
15910	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
15911	* testsuite/libgomp.dg/single-2.c: New test.
15912
15913	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
15914	lang_link_flags): Unset, so that they aren't inherited from previously
15915	sourced *.exp.
15916
15917	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
15918
159192005-10-12  Richard Henderson  <rth@redhat.com>
15920
15921	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
15922	(libgomp_init): Use lang_test_file, lang_library_path, and
15923	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
15924
15925	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
15926	(lang_test_file, lang_link_flags): New.
15927	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
15928
15929	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
15930	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
15931	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
15932	testsuite/libgomp.c++/parallel-1.C,
15933	testsuite/libgomp.c++/reduction-1.C,
15934	testsuite/libgomp.c++/reduction-2.C,
15935	testsuite/libgomp.c++/reduction-3.C,
15936	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
15937	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
15938	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
15939	New files, largely cribbed from the C testsuite.
15940
159412005-10-12  Jakub Jelinek  <jakub@redhat.com>
15942
15943	* testsuite/libgomp.fortran/character1.f90: New test.
15944	* testsuite/libgomp.fortran/character2.f90: New test.
15945
15946	* testsuite/libgomp.dg/nested-1.c: New test.
15947	* testsuite/libgomp.dg/nested-2.c: New test.
15948	* testsuite/libgomp.fortran/do1.f90: New test.
15949	* testsuite/libgomp.fortran/do2.f90: New test.
15950
15951	* testsuite/libgomp.fortran/reference1.f90: New test.
15952
159532005-10-11  Jakub Jelinek  <jakub@redhat.com>
15954
15955	* testsuite/libgomp.dg/reduction-1.c: New test.
15956	* testsuite/libgomp.dg/reduction-2.c: New test.
15957	* testsuite/libgomp.dg/reduction-3.c: New test.
15958
159592005-10-10  Jakub Jelinek  <jakub@redhat.com>
15960
15961	* testsuite/libgomp.dg/atomic-1.c: New test.
15962	* testsuite/libgomp.dg/atomic-2.c: New test.
15963
159642005-10-09  Richard Henderson  <rth@redhat.com>
15965
15966	* critical.c (atomic_lock): New.
15967	(initialize_critical): Initialize it.
15968	(GOMP_atomic_start, GOMP_atomic_end): New.
15969	* libgomp.map: Export them.
15970	* libgomp_g.h: Declare them.
15971
15972	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
15973
159742005-10-02  Richard Henderson  <rth@redhat.com>
15975
15976	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
15977	to XCFLAGS instead of CFLAGS.
15978
159792005-09-30  Richard Henderson  <rth@redhat.com>
15980
15981	* configure.ac: Determine whether -pthread or -lpthread is needed.
15982	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
15983	* Makefile.in, configure: Rebuild.
15984
159852005-09-28  Richard Henderson  <rth@redhat.com>
15986
15987	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
15988	* testsuite/libgomp.dg/omp-single-3.c: New test.
15989
159902005-09-28  Diego Novillo  <dnovillo@redhat.com>
15991
15992	* testsuite/libgomp.dg/omp-single-2.c: New test.
15993	* testsuite/libgomp.dg/shared-2.c: Fix return code.
15994
159952005-09-27  Richard Henderson  <rth@redhat.com>
15996
15997	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
15998	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
15999
160002005-09-27  Jakub Jelinek  <jakub@redhat.com>
16001
16002	* testsuite/libgomp.dg/omp-loop03.c: New test.
16003
160042005-09-27  Diego Novillo  <dnovillo@redhat.com>
16005
16006	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
16007
160082005-09-27  Diego Novillo  <dnovillo@redhat.com>
16009
16010	* testsuite/libgomp.dg/omp-single-1.c: New test.
16011	* testsuite/libgomp.dg/shared-1.c: Return 0.
16012	Add prototype for abort.
16013	* testsuite/libgomp.dg/shared-2.c: Likewise.
16014
160152005-09-26  Jakub Jelinek  <jakub@redhat.com>
16016
16017	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16018	constructs.
16019
160202005-09-26  Diego Novillo  <dnovillo@redhat.com>
16021
16022	* testsuite/libgomp.dg/shared-1.c: New test.
16023	* testsuite/libgomp.dg/shared-2.c: New test.
16024
160252005-09-24  Richard Henderson  <rth@redhat.com>
16026
16027	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16028
160292005-09-24  Richard Henderson  <rth@redhat.com>
16030
16031	* iter.c (gomp_iter_static_next): Round up when computing number
16032	of iterations.  Don't bother distributing a remainder equally.
16033
16034	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16035	Don't call srand.  Zero b before testing.
16036	(main): New.
16037
160382005-09-24  Jakub Jelinek  <jakub@redhat.com>
16039
16040	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16041	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16042
160432005-09-23  Jakub Jelinek  <jakub@redhat.com>
16044
16045	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16046	without !$omp end do, followed immediately by subroutine end.
16047
160482005-09-23  Diego Novillo  <dnovillo@redhat.com>
16049
16050	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
16051
160522005-09-22  Richard Henderson  <rth@redhat.com>
16053
16054	* critical.c (GOMP_critical_name_start): Change argument to void**.
16055	Reuse the pointer space if the mutex fits.
16056	(GOMP_critical_name_end): Likewise.
16057	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16058	* libgomp_g.h (GOMP_critical_name_start): Update decl.
16059	(GOMP_critical_name_end): Likewise.
16060	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16061	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16062
160632005-09-20  Richard Henderson  <rth@redhat.com>
16064
16065	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16066	(create_lock_lock): New.
16067	(initialize_critical): Initialize it.
16068	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
16069	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
16070
160712005-09-20  Diego Novillo  <dnovillo@redhat.com>
16072
16073	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
16074
160752005-09-20  Diego Novillo  <dnovillo@redhat.com>
16076
16077	* testsuite/libgomp.dg/omp-loop01.c: New test.
16078	* testsuite/libgomp.dg/omp-loop02.c: New test.
16079
160802005-09-20  Jakub Jelinek  <jakub@redhat.com>
16081
16082	* configure.ac (AC_PROG_FC): Add.
16083	(USE_FORTRAN): New automake conditional.
16084	* configure: Rebuilt.
16085	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
16086	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
16087	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
16088	Add rules to build them.
16089	* Makefile.in: Rebuilt.
16090	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
16091	OMP_NEST_LOCK_KIND.
16092	* libgomp.map: Add Fortran wrappers.
16093	* libgomp_f.h.in: New file.
16094	* omp_lib.h.in: New file.
16095	* omp_lib.f90.in: New file.
16096	* fortran.c: New file.
16097	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
16098	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
16099	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
16100	libgfortran has been built.
16101	* testsuite/libgomp.fortran/fortran.exp: New file.
16102	* testsuite/libgomp.fortran/omp_cond1.f: New test.
16103	* testsuite/libgomp.fortran/omp_cond2.f: New test.
16104	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
16105	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
16106	* testsuite/libgomp.fortran/omp_hello.f: New test.
16107	* testsuite/libgomp.fortran/omp_orphan.f: New test.
16108	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
16109	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
16110	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
16111	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
16112	* testsuite/libgomp.fortran/omp_reduction.f: New test.
16113	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
16114	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
16115
161162005-08-30  Richard Henderson  <rth@redhat.com>
16117
16118	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
16119	function for when aliases are not usable.
16120	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
16121	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16122	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
16123	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
16124	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
16125	GOMP_loop_ordered_guided_next): Likewise.
16126	* ordered.c (GOMP_ordered_start): Likewise.
16127
161282005-08-01  Diego Novillo  <dnovillo@redhat.com>
16129
16130	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
16131	* testsuite/libgomp.dg/omp_hello.c: Fix return code
16132	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
16133	* testsuite/libgomp.dg/omp_orphan.c: Likewise
16134	* testsuite/libgomp.dg/omp_reduction.c: Likewise
16135	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
16136	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
16137	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
16138	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
16139
161402005-07-07  Eric Christopher  <echristo@redhat.com>
16141	    Diego Novillo  <dnovillo@redhat.com>
16142
16143	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
16144	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
16145	up code.
16146	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
16147	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
16148	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
16149	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
16150	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
16151	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
16152	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
16153
161542005-06-13  Diego Novillo  <dnovillo@redhat.com>
16155
16156	* TOPLEVEL.patch: Remove.
16157
161582005-05-16  Richard Henderson  <rth@redhat.com>
16159
16160	* configure.ac: Test for clock_gettime.
16161	* config.h.in, configure: Rebuild.
16162	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
16163	(omp_get_wtime): Use clock_gettime if available.
16164	(omp_get_wtick): Use clock_getres if available.
16165
161662005-05-11  Richard Henderson  <rth@redhat.com>
16167
16168	* config/linux/ia64/futex.h: New file.
16169	* configure.tgt: Use it.
16170
16171	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
16172
161732005-05-07  Richard Henderson  <rth@redhat.com>
16174
16175	* config/linux/powerpc/futex.h: New file.
16176	* configure.tgt: Use it.
16177
16178	* config/linux/i486/futex.h: Merge ...
16179	* config/linux/x86_64/futex.h: ... into ...
16180	* config/linux/x86/futex.h: ... here.
16181	* configure.tgt: Update to match.
16182
161832005-05-06  Richard Henderson  <rth@redhat.com>
16184
16185	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
16186	* config/linux/i486/futex.h: Likewise.
16187	* config/linux/x86_64/futex.h: Likewise.
16188
16189	* config/linux/lock.c: New file.
16190	* config/linux/omp-lock.h: New file.
16191
16192	* critical.c, env.h: Don't include omp.h
16193	* config/posix/lock.c: Include libgomp.h instead of omp.h.
16194	* config/posix/time.c: Likewise.
16195	* config/posix/omp-lock.h: New file.
16196	* libgomp.h: Include omp-lock.h and omp.h.
16197	* Makefile.am (nodist_include_HEADERS): New.
16198	(omp.h): New rule.
16199	* configure.ac (PERL): New.
16200	* mkomp_h.pl: New file.
16201	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
16202	with templates.
16203	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
16204
16205	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
16206	build directory.  Re-add -march=i486 hack.
16207
16208	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
16209	(libgomp_link_flags): Remove.
16210	(libgomp_initialized): Remove.
16211	(libgomp_init): Don't protect from reinitialization.  Copy code
16212	from libstdc++ for getting the multilib set correctly.
16213
162142005-05-05  Richard Henderson  <rth@redhat.com>
16215
16216	* config/linux/alpha/futex.h: New file.
16217	* configure.tgt (alpha*-*-linux*): Use it.
16218
16219	* config/posix/mutex.c: New file.
16220	* config/posix/sem.c: Use libgomp.h.
16221
16222	* configure.tgt (x86_64-linux): Also test CC for -m32.
16223	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
16224
16225	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
16226	after $gccpath.
16227
16228	* Makefile.am (SUBDIRS): New.
16229	(libgomp_la_LDFLAGS): Add -lpthread.
16230	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
16231	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
16232
16233	* libgomp_g.h: New file.
16234	* libgomp.h: Split out all public declarations to libgomp_g.h.
16235	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
16236	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
16237	* config/linux/sem.h: Likewise.
16238	* config/posix/sem.h: Likewise.
16239
16240	* Makefile.am (AM_LDFLAGS): New.
16241	(libgomp_version_script): Split out from ...
16242	(libgomp_la_LDFLAGS): ... here.
16243	(libgomp_version_info): New.
16244	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
16245	(LIBGOMP_ENABLE): New.
16246	(LIBGOMP_CHECK_LINKER_FEATURES): New.
16247	(LIBGOMP_ENABLE_SYMVERS): New.
16248	* configure.ac (AC_INIT): Version 1.0.
16249	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
16250	(enable-linux-futex): Likewise.  Rename from enable-futex.
16251	(libtool_VERSION): New.
16252	(LIBGOMP_ENABLE_SYMVERS): Use it.
16253	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
16254	* Makefile.in, aclocal.m4, configure: Rebuild.
16255
16256	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
16257	(gomp_mutex_unlock_slow): Fix typo.
16258	* config/linux/sem.c: Similarly.
16259	(gomp_sem_post_slow): Fix typo.
16260	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
16261	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
16262	[__PIC__] (sys_futex0): Don't use tmp output in asm.
16263
16264	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
16265	(libgomp_la_LDFLAGS): Add top_srcdir to path.
16266	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
16267	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
16268	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
16269	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
16270	LDFLAGS.  Pull enable_futex check to top-level.
16271	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
16272	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
16273
16274	First attempt at real configury.
16275	* Makefile, config.h: Remove file.
16276	* Makefile.am, Makefile.in: New file.
16277	* acinclude.m4 aclocal.m4: New file.
16278	* configure.ac, configure.tgt, configure: New file.
16279
16280	* config/posix/lock.c: Rename from sys-lock.c.
16281	* config/posix/mutex.h: Rename from sys-mutex.h.
16282	* config/posix/sem.c: Rename from sys-sem.c.
16283	* config/posix/sem.h: Rename from sys-sem.h.
16284	* config/posix/proc.c: Rename from sys-proc.c.
16285	* config/posix/time.c: Rename from sys-proc.c.
16286
16287	* config/linux/mutex.c: New file.
16288	* config/linux/mutex.h: New file.
16289	* config/linux/sem.c: New file.
16290	* config/linux/sem.h: New file.
16291	* config/linux/i486/futex.h: New file.
16292	* config/linux/x86_64/futex.h: New file.
16293
162942005-05-04  Richard Henderson  <rth@redhat.com>
16295
16296	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
16297	* libgomp.h: Declare them.
16298	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
16299	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
16300
163012005-05-04  Richard Henderson  <rth@redhat.com>
16302
16303	* libgomp-1 code drop
16304
163052005-05-04  Richard Henderson  <rth@redhat.com>
16306
16307	* iter.c (gomp_iter_static_next): Return tri-state on 0.
16308	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
16309	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
16310	(gomp_iter_static_next): Update.
16311	(gomp_ordered_static_next): Update.
16312	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
16313	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
16314	totally empty range.
16315	(gomp_loop_ordered_static_next): Refine test for calling
16316	gomp_ordered_static_next.
16317	* testsuite/ordered-1.c: Add case for more threads than iterations.
16318
16319	* iter.c (gomp_iter_runtime_next_locked): Remove.
16320	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
16321	gomp_loop_guided_start, gomp_loop_ordered_static_start,
16322	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
16323	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
16324	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
16325	gomp_loop_ordered_guided_next): Downcase name, make static, add
16326	an external alias with the old name.
16327	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
16328	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
16329	switch and call one of the above static functions.
16330	* libgomp.h: Update.
16331
16332	* work.c (gomp_work_share_start): Lock the mutex for !first too.
16333	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
16334	GOMP_loop_guided_start, GOMP_loop_runtime_start,
16335	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16336	GOMP_loop_ordered_guided_start): Update to match.
16337	* sections.c (GOMP_sections_start): Likewise.
16338	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
16339
16340	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16341	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
16342	Use bounds check instead of modulus.
16343	(gomp_ordered_sync): Split out of GOMP_ordered_start.
16344	(gomp_ordered_last): Don't sync with ordered_owner here.
16345	(gomp_ordered_next): Likewise.
16346	(gomp_ordered_static_loop_next): Likewise.
16347	* loop.c, libgomp.h: Update to match.
16348
16349	* libgomp.h (GOMP_barrier): Declare.
16350
16351	* testsuite/barrier-1.c: New file.
16352	* testsuite/critical-1.c: New file.
16353	* testsuite/ordered-2.c: New file.
16354	* testsuite/ordered-1.c: New file.
16355	* testsuite/sections-1.c: New file.
16356	* testsuite/single-1.c: New file.
16357	* testsuite/Makefile (TESTS): Add them.
16358
163592005-05-04  Richard Henderson  <rth@redhat.com>
16360
16361	* libgomp.h (struct gomp_work_share): Add ordered_owner.
16362	* loop.c (GOMP_loop_static_start): If not the startup thread,
16363	acquire the mutex to wait for initialization complete.
16364	(GOMP_loop_ordered_static_start): Likewise.
16365	(GOMP_loop_ordered_runtime_start): Likewise.
16366	(GOMP_loop_ordered_static_first): Remove.
16367	(GOMP_loop_ordered_dynamic_first): Remove.
16368	(GOMP_loop_ordered_guided_first): Remove.
16369	(GOMP_loop_ordered_runtime_first): Remove.
16370	* ordered.c (gomp_ordered_loop_first): Post to own release when
16371	we're the first thread.
16372	(gomp_ordered_loop_last): Wait on release if not owner.
16373	(gomp_ordered_loop_next): Likewise.
16374	(gomp_ordered_static_loop_init): New.
16375	(gomp_ordered_static_loop_next): Use ordered_owner.
16376	(GOMP_ordered_start): Likewise.
16377	* work.c (gomp_new_work_share): Initialize ordered_owner.
16378
163792005-05-03  Richard Henderson  <rth@redhat.com>
16380
16381	* Makefile (OPT): New.
16382	(CFLAGS): Use it.
16383
16384	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
16385	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
16386	* libgomp.h, libgomp.map, NOTES: Update to match.
16387
16388	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
16389	Add initialized and thr members.
16390	(gomp_thread_start): Pause when initially spawned to wait for
16391	the whole team to be created.
16392	(gomp_team_start): Release team members at the end.
16393
16394	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
16395	(f_foo_1): Use GOMP_loop_end.
16396	(f_foo_2): Use GOMP_loop_end_nowait.
16397
16398	* testsuite/loop-2.c: New file.
16399	* testsuite/Makefile (TESTS): Add it.
16400
164012005-05-03  Richard Henderson  <rth@redhat.com>
16402
16403	* iter.c (gomp_iter_static_next): Fix overflow check typo.
16404	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
16405	* team.c (new_team): Initialize oldest_live_gen to 1 if no
16406	initial work_share.
16407
16408	* testsuite/Makefile: New file.
16409	* testsuite/loop-1.c: New file.
16410
164112005-05-03  Richard Henderson  <rth@redhat.com>
16412
16413	Initial implementation and checkin.
16414
16415Copyright (C) 2005-2021 Free Software Foundation, Inc.
16416
16417Copying and distribution of this file, with or without modification,
16418are permitted in any medium without royalty provided the copyright
16419notice and this notice are preserved.
16420