12017-12-10  Tom de Vries  <tom@codesourcery.com>
2
3	backport from trunk:
4	PR c/81875
5	2017-09-16  Tom de Vries  <tom@codesourcery.com>
6
7	* testsuite/libgomp.c/pr81875.c: New test.
8
92017-09-15  Jakub Jelinek  <jakub@redhat.com>
10
11	Backported from mainline
12	2017-09-14  Jakub Jelinek  <jakub@redhat.com>
13
14	PR c++/81314
15	* testsuite/libgomp.c++/pr81314.C: New test.
16
17	2017-08-09  Jakub Jelinek  <jakub@redhat.com>
18
19	PR c/81687
20	* testsuite/libgomp.c/pr81687-1.c: New test.
21	* testsuite/libgomp.c/pr81687-2.c: New test.
22
23	2017-07-27  Jakub Jelinek  <jakub@redhat.com>
24
25	PR c/45784
26	* testsuite/libgomp.c/pr45784.c: New test.
27	* testsuite/libgomp.c++/pr45784.C: New test.
28
292017-07-04  Release Manager
30
31	* GCC 6.4.0 released.
32
332017-06-22  Jakub Jelinek  <jakub@redhat.com>
34
35	Backported from mainline
36	2017-06-21  Jakub Jelinek  <jakub@redhat.com>
37
38	PR c++/81130
39	* testsuite/libgomp.c++/pr81130.C: New test.
40
41	2017-05-30  Jakub Jelinek  <jakub@redhat.com>
42
43	PR libgomp/80822
44	* config/linux/affinity.c (gomp_affinity_init_level_1): New function.
45	(gomp_affinity_init_level): Use it.  Always analyze the core and thread
46	sibling lists, depending on level just pick up what CPUs to put
47	together into a place vs. whether add multiple ordered places.
48
49	2017-05-22  Jakub Jelinek  <jakub@redhat.com>
50
51	PR middle-end/80809
52	* testsuite/libgomp.c/pr80809-2.c: New test.
53	* testsuite/libgomp.c/pr80809-3.c: New test.
54
55	PR middle-end/80809
56	* testsuite/libgomp.c/pr80809-1.c: New test.
57
58	PR middle-end/80853
59	* testsuite/libgomp.c/pr80853.c: New test.
60
612017-05-05  Jakub Jelinek  <jakub@redhat.com>
62
63	Backported from mainline
64	2017-04-11  Jakub Jelinek  <jakub@redhat.com>
65
66	PR libgomp/80394
67	* testsuite/libgomp.c/pr80394.c: New test.
68
69	2017-03-30  Jakub Jelinek  <jakub@redhat.com>
70
71	* env.c (initialize_env): Initialize stacksize to 0.
72
73	2017-03-08  Jakub Jelinek  <jakub@redhat.com>
74
75	PR c/79940
76	* testsuite/libgomp.c/pr79940.c: New test.
77
782017-01-10  Thomas Schwinge  <thomas@codesourcery.com>
79
80	Backport trunk r239125:
81	2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
82
83	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
84	test, and don't hardcode -O0.
85
86	Backport trunk r239086:
87	2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
88
89	* testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
90
912016-12-21  Release Manager
92
93	* GCC 6.3.0 released.
94
952016-12-07  Jakub Jelinek  <jakub@redhat.com>
96
97	Backported from mainline
98	2016-11-01  Jakub Jelinek  <jakub@redhat.com>
99
100	* hashtab.h: Use standard GPLv3 with runtime exception
101	boilerplate.
102
1032016-12-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
104
105	Backported from mainline
106	2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
107
108	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
109	pthread_spinlock_t instead of gomp_mutex_t lock.
110	(gomp_get_thread_pool): Likewise.
111	(gomp_release_thread_pool): Likewise.
112	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
113	Likewise.
114
1152016-12-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
116
117	Backported from mainline
118	2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
119
120	* config/rtems/pool.h (gomp_get_thread_pool): Return proper
121	thread pool in case nthreads == 1.
122
1232016-09-01  Jakub Jelinek  <jakub@redhat.com>
124
125	Backported from mainline
126	2016-08-19  Jakub Jelinek  <jakub@redhat.com>
127
128	PR fortran/71014
129	* testsuite/libgomp.fortran/pr71014.f90: New test.
130
1312016-08-22  Release Manager
132
133	* GCC 6.2.0 released.
134
1352016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
136
137	Backport from mainline
138	2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
139
140	PR middle-end/70895
141	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
142	firstprivate clauses.
143	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
144	copy clauses.
145	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
146	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
147	* testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
148	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
149	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
150	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
151	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
152	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
153	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
154	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
155	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
156	* testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
157
1582016-07-02  Jakub Jelinek  <jakub@redhat.com>
159
160	Backported from mainline
161	2016-07-01  Jakub Jelinek  <jakub@redhat.com>
162
163	PR fortran/71717
164	* testsuite/libgomp.fortran/associate3.f90: New test.
165
1662016-06-21  Jakub Jelinek  <jakub@redhat.com>
167
168	Backported from mainline
169	2016-06-17  Jakub Jelinek  <jakub@redhat.com>
170
171	* testsuite/libgomp.c++/target-21.C: New test.
172
173	2016-06-16  Jakub Jelinek  <jakub@redhat.com>
174
175	* testsuite/libgomp.c++/target-20.C: New test.
176
1772016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
178
179	PR middle-end/71373
180	Backport from trunk r237291:
181	2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
182		    Cesar Philippidis  <cesar@codesourcery.com>
183
184	* libgomp.oacc-c/nested-function-1.c: New file.
185	* libgomp.oacc-c/nested-function-2.c: Likewise.
186	* libgomp.oacc-fortran/nested-function-1.f90: Likewise.
187	* libgomp.oacc-fortran/nested-function-2.f90: Likewise.
188	* libgomp.oacc-fortran/nested-function-3.f90: Likewise.
189
190	PR c/71381
191	Backport from trunk r237290:
192	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
193	"../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
194	* testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
195
1962016-05-23  Martin Jambor  <mjambor@suse.cz>
197
198	* testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
199
2002016-05-16  Martin Jambor  <mjambor@suse.cz>
201
202        * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
203
2042016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
205
206	PR middle-end/70626
207	* testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
208	* testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
209	* testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
210
2112016-04-27  Jakub Jelinek  <jakub@redhat.com>
212
213	Backported from mainline
214	2016-04-19  Jakub Jelinek  <jakub@redhat.com>
215
216	PR middle-end/70680
217	* testsuite/libgomp.c/pr70680-1.c: New test.
218	* testsuite/libgomp.c/pr70680-2.c: New test.
219
2202016-04-27  Release Manager
221
222	* GCC 6.1.0 released.
223
2242016-04-21  Alexander Monakov  <amonakov@ispras.ru>
225
226	* plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
227	non-fatal.
228
2292016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
230
231	* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
232	pass parameter variables to subroutines.
233
2342016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
235
236	PR middle-end/70643
237	* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
238
2392016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
240
241	PR testsuite/68242
242	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
243	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
244
2452016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
246
247	* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
248	GOACC_parallel_keyed, restore GOACC_parallel prototype, new
249	GOACC_declare prototype.
250
251	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
252	Merge this file, and...
253	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
254	... this file, and...
255	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
256	... this file, and...
257	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
258	... this file, and...
259	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
260	... this file, and...
261	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
262	... this file, and...
263	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
264	... this file, and...
265	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
266	... this file, and...
267	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
268	... this file, and...
269	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
270	... this file, and...
271	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
272	... this file, and...
273	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
274	... this file, and...
275	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
276	... this file into...
277	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
278	file.
279
280	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
281	Make failure observable.
282
2832016-04-12  Jakub Jelinek  <jakub@redhat.com>
284
285	* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
286	field.
287	* target.c (gomp_target_fallback_firstprivate,
288	gomp_target_unshare_firstprivate): Removed.
289	(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
290	before waiting for dependencies.
291	(gomp_target_task_fn): Don't copy firstprivate vars here.
292	* task.c (GOMP_PLUGIN_target_task_completion): Don't free
293	firstprivate_copies here.
294	(gomp_create_target_task): Don't initialize firstprivate_copies field.
295	* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
296	explicit/implicit firstprivate.
297
2982016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
299
300	PR lto/70289
301	PR ipa/70348
302	PR tree-optimization/70373
303	PR middle-end/70533
304	PR middle-end/70534
305	PR middle-end/70535
306	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
307	test.
308	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
309	test.
310	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
311	test.
312	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
313	test.
314	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
315	test.
316	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
317	test.
318	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
319	test.
320	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
321	test.
322	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
323	test.
324	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
325	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
326	* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
327	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
328	test.
329	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
330	test.
331	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
332	test.
333	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
334	test.
335	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
336	coverage.
337	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
338	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
339	* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
340	* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
341	* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
342	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
343	coverage.
344	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
345	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
346	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
347	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
348	* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
349	* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
350	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
351	* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
352	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
353	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
354	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
355	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
356	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
357	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
358	* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
359
3602016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
361	    James Norris  <jnorris@codesourcery.com>
362	    Nathan Sidwell  <nathan@codesourcery.com>
363	    Julian Brown  <julian@codesourcery.com>
364	    Cesar Philippidis  <cesar@codesourcery.com>
365	    Chung-Lin Tang  <cltang@codesourcery.com>
366	    Tom de Vries  <tom@codesourcery.com>
367
368	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
369	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
370	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
371	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
372	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
373	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
374	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
375	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
376	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
377	XFAIL.
378	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
379	Incorporate...
380	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
381	file.
382	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
383	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
384	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
385	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
386	Likewise.
387	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
388	Likewise.
389	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
390	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
391	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
392	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
393	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
394	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
395	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
396	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
397	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
398	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
399	Likewise.
400	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
401	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
402	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
403	file...
404	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
405	file into...
406	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
407	file.  Update.
408	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
409	file.
410	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
411	Likewise.
412	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
413	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
414	... this new file.  Update.
415	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
416	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
417	... this new file.  Update.
418	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
419	file.  Incorporate...
420	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
421	file, and...
422	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
423	file, and...
424	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
425	file.
426	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
427
4282016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
429
430	* testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
431	set-torture-options.
432
4332016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
434
435	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
436	gcc-dg-runtest.
437	* testsuite/libgomp.oacc-c/c.exp: Likewise.
438	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
439	-fno-builtin-acc_on_device instead of -O0.
440	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
441	-O0.
442	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
443	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
444	Likewise.
445	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
446	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
447	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
448	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
449	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
450	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
451	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
452	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
453	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
454	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
455	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
456	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
457	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
458	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
459	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
460	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
461	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
462	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
463	Don't specify -O2.
464	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
465	Likewise.
466	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
467	Likewise.
468
4692016-03-24  Martin Liska  <mliska@suse.cz>
470
471	* plugin/plugin-hsa.c (packet_store_release): New function
472	that is taken from the HSA runtime manual.
473	(GOMP_OFFLOAD_run): Use the function.
474
4752016-03-23  Jakub Jelinek  <jakub@redhat.com>
476
477	PR c++/70376
478	* testsuite/libgomp.c++/pr70376.C: New test.
479
4802016-03-23  Tom de Vries  <tom@codesourcery.com>
481
482	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
483	initialization of lresult and lvresult.
484	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
485
4862016-03-23  James Norris  <jnorris@codesourcery.com>
487	    Daichi Fukuoka <dc-fukuoka@sgi.com>
488
489	PR libgomp/69414
490	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
491	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
492	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
493	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.
494
4952016-03-23  Martin Liska  <mliska@suse.cz>
496
497	PR hsa/70337
498	* plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
499	argument just in case a dispatched kernel uses that argument.
500
5012016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
502
503	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
504	-ftree-parallelize-loops/-fopenacc changes.
505	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
506	Likewise.
507	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
508	Likewise.
509	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
510	Likewise.
511	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
512	Likewise.
513	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
514	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
515
5162016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
517
518	* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
519	always_ld_library_path the path to libgcc_s.
520
5212016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
522
523	PR testsuite/70009
524	* testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
525
5262016-03-09  Tom de Vries  <tom@codesourcery.com>
527
528	* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
529	* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
530	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
531	Same.
532	* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
533	* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
534	* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
535	* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
536
5372016-03-07  Martin Jambor  <mjambor@suse.cz>
538
539	* testsuite/lib/libgomp.exp
540	(check_effective_target_hsa_offloading_selected_nocache): New.
541	(check_effective_target_hsa_offloading_selected): Likewise.
542	* testsuite/libgomp.hsa.c/c.exp: Likewise.
543	* testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
544	* testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
545	* testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
546	* testsuite/libgomp.hsa.c/complex-1.c: Likewise.
547	* testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
548	* testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
549	* testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
550	* testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
551	* testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
552	* testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
553	* testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
554	* testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
555	* testsuite/libgomp.hsa.c/pr69568.c: Likewise.
556	* testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
557	* testsuite/libgomp.hsa.c/switch-1.c: Likewise.
558	* testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
559
5602016-03-07  Martin Jambor  <mjambor@suse.cz>
561
562	* testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
563	non-shared memory accelerators.
564	* testsuite/libgomp.c/examples-4/device-1.c: Likewise.
565	* testsuite/libgomp.c/examples-4/target-5.c: Likewise.
566	* testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
567	* testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
568	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
569	* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
570	* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
571	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
572	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
573
5742016-03-07  Martin Jambor  <mjambor@suse.cz>
575
576	* testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
577	ALWAYS_CFLAGS.
578
5792016-03-02  Jakub Jelinek  <jakub@redhat.com>
580
581	PR libgomp/69555
582	* testsuite/libgomp.c++/pr69555-1.C: New test.
583	* testsuite/libgomp.c++/pr69555-2.C: New test.
584
5852016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
586	    Martin Jambor  <mjambor@suse.cz>
587
588	* testsuite/lib/libgomp.exp
589	(check_effective_target_offload_device_shared_as): New proc.
590	* testsuite/libgomp.c++/declare_target-1.C: New test.
591
5922016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
593
594	PR driver/68463
595	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
596
5972016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
598
599	* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
600	* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
601	dims.
602	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
603	-ftree-parallelize-loops/-fopenacc changes.
604	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
605	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
606	Likewise.
607	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
608	Likewise.
609	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
610	Likewise.
611	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
612	Likewise.
613	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
614	Likewise.
615	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
616	Likewise.
617	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
618	Likewise.
619	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
620	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
621	Likewise.
622	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
623	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
624	Likewise.
625	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
626	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
627	Likewise.
628
6292016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
630
631	* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
632
6332016-02-19  Jakub Jelinek  <jakub@redhat.com>
634
635	PR driver/69805
636	* testsuite/libgomp.c/pr69805.c: New test.
637
6382016-02-16  Tom de Vries  <tom@codesourcery.com>
639
640	PR lto/67709
641	* testsuite/libgomp.fortran/declare-simd-4.f90: New test.
642
6432016-02-09  Tom de Vries  <tom@codesourcery.com>
644
645	PR tree-optimization/69599
646	* testsuite/libgomp.c/omp-nested-3.c: New test.
647	* testsuite/libgomp.c/pr46032-2.c: New test.
648	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
649	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
650
6512016-02-09  Tom de Vries  <tom@codesourcery.com>
652
653	PR lto/69707
654	* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
655
6562016-02-02  Alexander Monakov  <amonakov@ispras.ru>
657
658	* testsuite/libgomp.c/target-31.c: Fix testcase.
659
6602016-02-02  Alexander Monakov  <amonakov@ispras.ru>
661
662	* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
663	clause.
664	* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
665	* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
666	reduction and map clauses.
667	* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
668
6692016-02-02  James Norris  <jnorris@codesourcery.com>
670
671	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
672
6732016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
674
675	* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
676	* oacc-parallel.c (GOACC_host_data): Remove function definition.
677
678	* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
679	cases.
680
681	* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
682	variables.
683	* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
684	(hsa_kmt_lib): Set variables.
685	* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
686	always_ld_library_path.
687	* Makefile.in: Regenerate.
688	* configure: Likewise.
689	* testsuite/Makefile.in: Likewise.
690
691	* plugin/configfrag.ac (offload_additional_options)
692	(offload_additional_lib_paths): Don't amend for hsa offloading.
693	* configure: Regenerate.
694
695	* plugin/configfrag.ac: Don't configure for offloading target if
696	we don't build the corresponding plugin.
697	* configure: Regenerate.
698
6992016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
700
701	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
702	* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
703
7042016-01-26  Tom de Vries  <tom@codesourcery.com>
705
706	PR tree-optimization/69110
707	* testsuite/libgomp.c/pr69110.c: New test.
708
7092016-01-25  Richard Biener  <rguenther@suse.de>
710
711	PR lto/69393
712	* testsuite/libgomp.c++/pr69393.C: New testcase.
713
7142016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
715
716	* target.c (gomp_get_target_fn_addr): Allow host fallback if target
717	function wasn't mapped to the device with non-shared memory.
718
7192016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
720
721	* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
722
7232016-01-19  Martin Jambor  <mjambor@suse.cz>
724	    Martin Liska  <mliska@suse.cz>
725
726	* plugin/Makefrag.am: Add HSA plugin requirements.
727	* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
728	(HSA_RUNTIME_LIB): Likewise.
729	(HSA_RUNTIME_CPPFLAGS): Likewise.
730	(HSA_RUNTIME_INCLUDE): New substitution.
731	(HSA_RUNTIME_LIB): Likewise.
732	(HSA_RUNTIME_LDFLAGS): Likewise.
733	(hsa-runtime): New configure option.
734	(hsa-runtime-include): Likewise.
735	(hsa-runtime-lib): Likewise.
736	(PLUGIN_HSA): New substitution variable.
737	Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
738	configure options.
739	(PLUGIN_HSA_CPPFLAGS): Likewise.
740	(PLUGIN_HSA_LDFLAGS): Likewise.
741	(PLUGIN_HSA_LIBS): Likewise.
742	Check that we have access to HSA run-time.
743	* libgomp-plugin.h (offload_target_type): New element
744	OFFLOAD_TARGET_TYPE_HSA.
745	* libgomp.h (gomp_target_task): New fields firstprivate_copies and
746	args.
747	(bool gomp_create_target_task): Updated.
748	(gomp_device_descr): Extra parameter of run_func and async_run_func,
749	new field can_run_func.
750	* libgomp_g.h (GOMP_target_ext): Update prototype.
751	* oacc-host.c (host_run): Added a new parameter args.
752	* target.c (calculate_firstprivate_requirements): New function.
753	(copy_firstprivate_data): Likewise.
754	(gomp_target_fallback_firstprivate): Use them.
755	(gomp_target_unshare_firstprivate): New function.
756	(gomp_get_target_fn_addr): Allow returning NULL for shared memory
757	devices.
758	(GOMP_target): Do host fallback for all shared memory devices.  Do not
759	pass any args to plugins.
760	(GOMP_target_ext): Introduce device-specific argument parameter args.
761	Allow host fallback if device shares memory.  Do not remap data if
762	device has shared memory.
763	(gomp_target_task_fn): Likewise.  Also treat shared memory devices
764	like host fallback for mappings.
765	(GOMP_target_data): Treat shared memory devices like host fallback.
766	(GOMP_target_data_ext): Likewise.
767	(GOMP_target_update): Likewise.
768	(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
769	gomp_create_target_task.
770	(GOMP_target_enter_exit_data): Likewise.
771	(omp_target_alloc): Treat shared memory devices like host fallback.
772	(omp_target_free): Likewise.
773	(omp_target_is_present): Likewise.
774	(omp_target_memcpy): Likewise.
775	(omp_target_memcpy_rect): Likewise.
776	(omp_target_associate_ptr): Likewise.
777	(gomp_load_plugin_for_device): Also load can_run.
778	* task.c (GOMP_PLUGIN_target_task_completion): Free
779	firstprivate_copies.
780	(gomp_create_target_task): Accept new argument args and store it to
781	ttask.
782	* plugin/plugin-hsa.c: New file.
783
7842016-01-18  Tom de Vries  <tom@codesourcery.com>
785
786	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
787	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
788	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
789	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
790	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
791	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
792	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
793	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
794	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
795	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
796	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
797	Same.
798	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
799	Same.
800	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
801	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
802	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
803	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
804	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
805	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
806	* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
807	* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
808	Same.
809	* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
810
8112016-01-15  Jakub Jelinek  <jakub@redhat.com>
812
813	* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
814
8152016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
816
817	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
818
8192016-01-12  James Norris  <jnorris@codesourcery.com>
820
821	* libgomp.texi: Updates for OpenACC.
822
8232016-01-11  Alexander Monakov  <amonakov@ispras.ru>
824
825	* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
826
8272016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
828
829	PR fortran/66680
830	* testsuite/libgomp.fortran/pr66680.f90: New test.
831
8322016-01-07  Jakub Jelinek  <jakub@redhat.com>
833
834	PR middle-end/68960
835	* testsuite/libgomp.c/pr68960.c: New test.
836
8372016-01-06  Nathan Sidwell  <nathan@acm.org>
838
839	* openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
840	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
841
8422016-01-04  Jakub Jelinek  <jakub@redhat.com>
843
844	Update copyright years.
845
846	* libgomp.texi: Bump @copying's copyright year.
847
8482015-12-31  Nathan Sidwell  <nathan@acm.org>
849
850	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
851	dg-additional-options syntax.
852	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
853	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
854	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
855	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
856	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
857	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
858	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
859	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
860	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
861	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
862	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
863	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
864	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
865	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
866	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
867	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
868	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
869	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
870
8712015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
872
873	* libgomp.h (REFCOUNT_LINK): Define.
874	(struct splay_tree_key_s): Add link_key.
875	* target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
876	Replace target address of the pointer with target address of newly
877	mapped object in the splay tree.  Set link pointer on target to the
878	device address of the mapped object.
879	(gomp_unmap_vars): Restore target address of the pointer in the splay
880	tree for REFCOUNT_LINK objects after unmapping.
881	(gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
882	declare target link" objects.
883	(gomp_unload_image_from_device): Replace j with i.  Force unmap of all
884	"omp declare target link" objects, which were mapped for the image.
885	(gomp_exit_data): Restore target address of the pointer in the splay
886	tree for REFCOUNT_LINK objects after unmapping.
887	* testsuite/libgomp.c/target-link-1.c: New file.
888
8892015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
890
891	* libgomp.h (gomp_device_state): New enum.
892	(struct gomp_device_descr): Replace is_initialized with state.
893	(gomp_fini_device): Remove declaration.
894	* oacc-host.c (host_dispatch): Use state instead of is_initialized.
895	* oacc-init.c (acc_init_1): Use state instead of is_initialized.
896	(acc_shutdown_1): Likewise.  Inline gomp_fini_device.
897	(acc_set_device_type): Use state instead of is_initialized.
898	(acc_set_device_num): Likewise.
899	* target.c (resolve_device): Use state instead of is_initialized.
900	Do not initialize finalized device.
901	(gomp_map_vars): Do nothing if device is finalized.
902	(gomp_unmap_vars): Likewise.
903	(gomp_update): Likewise.
904	(GOMP_offload_register_ver): Use state instead of is_initialized.
905	(GOMP_offload_unregister_ver): Likewise.
906	(gomp_init_device): Likewise.
907	(gomp_unload_device): Likewise.
908	(gomp_fini_device): Remove.
909	(gomp_get_target_fn_addr): Do nothing if device is finalized.
910	(GOMP_target): Go to host fallback if device is finalized.
911	(GOMP_target_ext): Likewise.
912	(gomp_exit_data): Do nothing if device is finalized.
913	(gomp_target_task_fn): Go to host fallback if device is finalized.
914	(gomp_target_fini): New static function.
915	(gomp_target_init): Use state instead of is_initialized.
916	Call gomp_target_fini at exit.
917
9182015-12-09  Tom de Vries  <tom@codesourcery.com>
919
920	PR tree-optimization/68716
921	* testsuite/libgomp.c/omp-nested-2.c: New test.
922
9232015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
924
925	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
926	target openacc_nvidia_accel_selected.
927	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
928	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
929	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
930	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
931
9322015-12-01  Julian Brown  <julian@codesourcery.com>
933	    James Norris  <James_Norris@mentor.com>
934
935	* oacc-parallel.c (GOACC_host_data): New function.
936	* libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
937	* testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
938	* testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
939	* testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
940	* testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
941	* testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
942	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
943
9442015-11-30  James Norris  <jnorris@codesourcery.com>
945	    Cesar Philippidis  <cesar@codesourcery.com>
946
947	libgomp/
948	* libgomp.oacc-fortran/routine-5.f90: New test.
949	* libgomp.oacc-fortran/routine-7.f90: New test.
950	* libgomp.oacc-fortran/routine-9.f90: New test.
951
9522015-11-30  Tom de Vries  <tom@codesourcery.com>
953
954	PR tree-optimization/46032
955	* testsuite/libgomp.c/pr46032.c: New test.
956
9572015-11-27  Jakub Jelinek  <jakub@redhat.com>
958
959	PR libgomp/68579
960	* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
961	(gomp_create_target_task): Call it before freeing
962	GOMP_TARGET_TASK_DATA tasks.
963
964	PR c/63326
965	* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
966	in between case label and OpenMP standalone directives.
967	* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
968
9692015-11-26  David Edelsohn  <dje.gcc@gmail.com>
970
971	* configure: Regenerate.
972
9732015-11-26  Jakub Jelinek  <jakub@redhat.com>
974
975	* testsuite/libgomp.c/target-35.c: New test.
976
9772015-11-22  James Norris  <jnorris@codesourcery.com>
978	    Cesar Philippidis  <cesar@codesourcery.com>
979
980	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
981	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
982	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
983	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
984	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
985
9862015-11-20  Jakub Jelinek  <jakub@redhat.com>
987
988	PR middle-end/68221
989	* testsuite/libgomp.c/reduction-11.c: Remove xfail.
990	* testsuite/libgomp.c/reduction-12.c: Likewise.
991	* testsuite/libgomp.c++/reduction-11.C: Likewise.
992	* testsuite/libgomp.c++/reduction-12.C: Likewise.
993
9942015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
995
996	* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
997	* libgomp.oacc-c-c++-common/reduction-flt.c: New.
998	* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
999	* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
1000	* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
1001	and fix.
1002	* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1003	* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1004
10052015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
1006
1007	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
1008	worker & gang cases.
1009	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1010
10112015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
1012
1013	* config/nvptx/priority_queue.c: New file.
1014
10152015-11-14  Jakub Jelinek  <jakub@redhat.com>
1016
1017	* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
1018	sections.
1019
10202015-11-14  Jakub Jelinek  <jakub@redhat.com>
1021	    Aldy Hernandez  <aldyh@redhat.com>
1022	    Ilya Verbin  <ilya.verbin@intel.com>
1023
1024	* ordered.c (gomp_doacross_init, GOMP_doacross_post,
1025	GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
1026	GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
1027	iterators or IV by chunk size.
1028	* parallel.c (gomp_resolve_num_threads): Don't assume that
1029	if thr->ts.team is non-NULL, then pool must be non-NULL.
1030	* libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
1031	* libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
1032	GOMP_PLUGIN_target_task_completion.
1033	* Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
1034	* Makefile.in: Regenerate.
1035	* libgomp.h: Shuffle prototypes and forward definitions around so
1036	priority queues can be defined.
1037	(enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
1038	(enum gomp_target_task_state): New enum.
1039	(struct gomp_target_task): Add state, tgt, task and team fields.
1040	(gomp_create_target_task): Change return type to bool, add
1041	state argument.
1042	(gomp_target_task_fn): Change return type to bool.
1043	(struct gomp_device_descr): Add async_run_func.
1044	(struct gomp_task): Remove children, next_child, prev_child,
1045	next_queue, prev_queue, next_taskgroup, prev_taskgroup.
1046	Add pnode field.
1047	(struct gomp_taskgroup): Remove children.
1048	Add taskgroup_queue.
1049	(struct gomp_team): Change task_queue type to a priority queue.
1050	(splay_compare): Define inline.
1051	(priority_queue_offset): New.
1052	(priority_node_to_task): New.
1053	(task_to_priority_node): New.
1054	* oacc-mem.c: Do not include splay-tree.h.
1055	* priority_queue.c: New file.
1056	* priority_queue.h: New file.
1057	* splay-tree.c: Do not include splay-tree.h.
1058	(splay_tree_foreach_internal): New.
1059	(splay_tree_foreach): New.
1060	* splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
1061	(splay_tree_callback): Define typedef.
1062	* target.c (splay_compare): Move to libgomp.h.
1063	(GOMP_target): Don't adjust *thr in any way around running offloaded
1064	task.
1065	(GOMP_target_ext): Likewise.  Handle target nowait.
1066	(GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
1067	return value from gomp_create_target_task, if false, fallthrough
1068	as if no dependencies exist.
1069	(gomp_target_task_fn): Change return type to bool, return true
1070	if the task should have another part scheduled later.  Handle
1071	target nowait.
1072	(gomp_load_plugin_for_device): Initialize async_run.
1073	* task.c (gomp_init_task): Initialize children_queue.
1074	(gomp_clear_parent_in_list): New.
1075	(gomp_clear_parent_in_tree): New.
1076	(gomp_clear_parent): Handle priorities.
1077	(GOMP_task): Likewise.
1078	(priority_queue_move_task_first,
1079	gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
1080	New functions.
1081	(gomp_create_target_task): Use priority queues.  Change return type
1082	to bool, add state argument, return false if for async
1083	{{enter,exit} data,update} constructs no dependencies need to be
1084	waited for, handle target nowait.  Set task->fn to NULL instead of
1085	gomp_target_task_fn.
1086	(verify_children_queue): Remove.
1087	(priority_list_upgrade_task): New.
1088	(priority_queue_upgrade_task): New.
1089	(verify_task_queue): Remove.
1090	(priority_list_downgrade_task): New.
1091	(priority_queue_downgrade_task): New.
1092	(gomp_task_run_pre): Use priority queues.
1093	Abstract code out to priority_queue_downgrade_task.
1094	(gomp_task_run_post_handle_dependers): Use priority queues.
1095	(gomp_task_run_post_remove_parent): Likewise.
1096	(gomp_task_run_post_remove_taskgroup): Likewise.
1097	(gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
1098	tasks specially.
1099	(GOMP_taskwait): Likewise.
1100	(gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
1101	priority-queue_upgrade_task.
1102	(GOMP_taskgroup_start): Use priority queues.
1103	(GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
1104	specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
1105	barrier.
1106	* taskloop.c (GOMP_taskloop): Handle priorities.
1107	* team.c (gomp_new_team): Call priority_queue_init.
1108	(free_team): Call priority_queue_free.
1109	(gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
1110	team created for target nowait in implicit parallel region.
1111	(gomp_team_start): For nested check, test thr->ts.level instead of
1112	thr->ts.team != NULL.
1113	* testsuite/libgomp.c/doacross-3.c: New test.
1114	* testsuite/libgomp.c/ordered-5.c: New test.
1115	* testsuite/libgomp.c/priority.c: New test.
1116	* testsuite/libgomp.c/target-31.c: New test.
1117	* testsuite/libgomp.c/target-32.c: New test.
1118	* testsuite/libgomp.c/target-33.c: New test.
1119	* testsuite/libgomp.c/target-34.c: New test.
1120
11212015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
1122
1123	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
1124
1125	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
1126	loop is sequential.
1127
11282015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
1129
1130	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
1131	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
1132
11332015-11-12  James Norris  <jnorris@codesourcery.com>
1134	    Joseph Myers  <joseph@codesourcery.com>
1135
1136	* libgomp.map (GOACC_2.0.1): Export GOACC_declare.
1137	* oacc-parallel.c (GOACC_declare): New function.
1138	* testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
1139	* testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
1140	* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
1141	* testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
1142	* testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
1143
11442015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
1145
1146	* testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
1147
11482015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
1149
1150	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
1151	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
1152
11532015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
1154
1155	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
1156	inadvertent commit.
1157
11582015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
1159
1160	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
1161	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
1162	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
1163	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
1164	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
1165
11662015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
1167
1168	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
1169	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1170
11712015-11-05  Jakub Jelinek  <jakub@redhat.com>
1172	    Ilya Verbin  <ilya.verbin@intel.com>
1173
1174	* libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
1175	GOMP_loop_nonmonotonic_dynamic_start,
1176	GOMP_loop_nonmonotonic_guided_next,
1177	GOMP_loop_nonmonotonic_guided_start,
1178	GOMP_loop_ull_nonmonotonic_dynamic_next,
1179	GOMP_loop_ull_nonmonotonic_dynamic_start,
1180	GOMP_loop_ull_nonmonotonic_guided_next,
1181	GOMP_loop_ull_nonmonotonic_guided_start,
1182	GOMP_parallel_loop_nonmonotonic_dynamic,
1183	GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
1184	(GOMP_target_41): Renamed to ...
1185	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
1186	arguments.
1187	(GOMP_target_data_41): Renamed to ...
1188	(GOMP_target_data_ext): ... this.
1189	(GOMP_target_update_41): Renamed to ...
1190	(GOMP_target_update_ext): ... this.
1191	* libgomp.map (GOMP_4.5): Export GOMP_target_ext,
1192	GOMP_target_data_ext and GOMP_target_update_ext instead of
1193	GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
1194	Export GOMP_loop_nonmonotonic_dynamic_next,
1195	GOMP_loop_nonmonotonic_dynamic_start,
1196	GOMP_loop_nonmonotonic_guided_next,
1197	GOMP_loop_nonmonotonic_guided_start,
1198	GOMP_loop_ull_nonmonotonic_dynamic_next,
1199	GOMP_loop_ull_nonmonotonic_dynamic_start,
1200	GOMP_loop_ull_nonmonotonic_guided_next,
1201	GOMP_loop_ull_nonmonotonic_guided_start,
1202	GOMP_parallel_loop_nonmonotonic_dynamic and
1203	GOMP_parallel_loop_nonmonotonic_guided.
1204	* loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
1205	GOMP_parallel_loop_nonmonotonic_guided,
1206	GOMP_loop_nonmonotonic_dynamic_start,
1207	GOMP_loop_nonmonotonic_guided_start,
1208	GOMP_loop_nonmonotonic_dynamic_next,
1209	GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
1210	* loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
1211	GOMP_loop_ull_nonmonotonic_guided_start,
1212	GOMP_loop_ull_nonmonotonic_dynamic_next,
1213	GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
1214	* target.c (gomp_map_0len_lookup, gomp_map_val): New inline
1215	functions.
1216	(gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
1217	GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
1218	Use gomp_map_val function.
1219	(gomp_target_fallback_firstprivate): New static function.
1220	(GOMP_target_41): Renamed to ...
1221	(GOMP_target_ext): ... this.  Add num_teams and thread_limit
1222	arguments.  Move firstprivate fallback handling into a new
1223	function.
1224	(GOMP_target_data_41): Renamed to ...
1225	(GOMP_target_data_ext): ... this.
1226	(GOMP_target_update_41): Renamed to ...
1227	(GOMP_target_update_ext): ... this.
1228	(gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
1229	gomp_map_0len_lookup instead of gomp_map_lookup.
1230	(omp_target_is_present): Use gomp_map_0len_lookup instead of
1231	gomp_map_lookup.
1232	* testsuite/libgomp.c/target-28.c: Likewise.
1233	* testsuite/libgomp.c/monotonic-1.c: New test.
1234	* testsuite/libgomp.c/monotonic-2.c: New test.
1235	* testsuite/libgomp.c/nonmonotonic-1.c: New test.
1236	* testsuite/libgomp.c/nonmonotonic-2.c: New test.
1237	* testsuite/libgomp.c/pr66199-5.c: New test.
1238	* testsuite/libgomp.c/pr66199-6.c: New test.
1239	* testsuite/libgomp.c/pr66199-7.c: New test.
1240	* testsuite/libgomp.c/pr66199-8.c: New test.
1241	* testsuite/libgomp.c/pr66199-9.c: New test.
1242	* testsuite/libgomp.c/reduction-11.c: New test.
1243	* testsuite/libgomp.c/reduction-12.c: New test.
1244	* testsuite/libgomp.c/reduction-13.c: New test.
1245	* testsuite/libgomp.c/reduction-14.c: New test.
1246	* testsuite/libgomp.c/reduction-15.c: New test.
1247	* testsuite/libgomp.c/target-12.c (main): Adjust for
1248	omp_target_is_present change for one-past-last element.
1249	* testsuite/libgomp.c/target-17.c (foo): Drop tests where
1250	the same var is both mapped and privatized.
1251	* testsuite/libgomp.c/target-19.c (foo): Adjust for different
1252	handling of zero-length array sections.
1253	* testsuite/libgomp.c/target-28.c: New test.
1254	* testsuite/libgomp.c/target-29.c: New test.
1255	* testsuite/libgomp.c/target-30.c: New test.
1256	* testsuite/libgomp.c/target-teams-1.c: New test.
1257	* testsuite/libgomp.c++/member-6.C: New test.
1258	* testsuite/libgomp.c++/member-7.C: New test.
1259	* testsuite/libgomp.c++/monotonic-1.C: New test.
1260	* testsuite/libgomp.c++/monotonic-2.C: New test.
1261	* testsuite/libgomp.c++/nonmonotonic-1.C: New test.
1262	* testsuite/libgomp.c++/nonmonotonic-2.C: New test.
1263	* testsuite/libgomp.c++/pr66199-3.C: New test.
1264	* testsuite/libgomp.c++/pr66199-4.C: New test.
1265	* testsuite/libgomp.c++/pr66199-5.C: New test.
1266	* testsuite/libgomp.c++/pr66199-6.C: New test.
1267	* testsuite/libgomp.c++/pr66199-7.C: New test.
1268	* testsuite/libgomp.c++/pr66199-8.C: New test.
1269	* testsuite/libgomp.c++/pr66199-9.C: New test.
1270	* testsuite/libgomp.c++/reduction-11.C: New test.
1271	* testsuite/libgomp.c++/reduction-12.C: New test.
1272	* testsuite/libgomp.c++/target-13.C: New test.
1273	* testsuite/libgomp.c++/target-14.C: New test.
1274	* testsuite/libgomp.c++/target-15.C: New test.
1275	* testsuite/libgomp.c++/target-16.C: New test.
1276	* testsuite/libgomp.c++/target-17.C: New test.
1277	* testsuite/libgomp.c++/target-18.C: New test.
1278	* testsuite/libgomp.c++/target-19.C: New test.
1279
12802015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
1281
1282	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
1283	and reduction copy.
1284	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1285	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1286	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1287	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1288	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1289	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1290	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1291	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1292	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1293	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
1294	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
1295	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1296	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1297	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
1298
12992015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
1300
1301	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
1302	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
1303	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
1304	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
1305	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
1306	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
1307	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
1308	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
1309
13102015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
1311
1312	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
1313	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
1314	(GOMP_OFFLOAD_openacc_parallel): Likewise.
1315	* oacc-host.c (host_openacc_exec): Likewise.
1316	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
1317
13182015-11-03  Julian Brown  <julian@codesourcery.com>
1319	    Thomas Schwinge  <thomas@codesourcery.com>
1320
1321	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
1322	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1323	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
1324	Likewise.
1325	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
1326	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
1327
13282015-11-03  James Norris  <jnorris@codesourcery.com>
1329
1330	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
1331	file.
1332	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
1333	Likewise.
1334	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
1335	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
1336	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1337	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
1338	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1339
13402015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
1341
1342	* openacc.h (enum acc_device_t): Reformat. Ensure layout
1343	compatibility.
1344	(enum acc_async_t): Reformat.
1345	(acc_on_device): Declare compatible with builtin and provide C++
1346	wrapper.
1347	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
1348
13492015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
1350	    Cesar Philippidis  <cesar@codesourcery.com>
1351
1352	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
1353	* testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
1354	... this.  Add a description of the test at the top of the file.
1355	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
1356	* testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
1357	... this.  Add a description of the test at the top of the file.
1358
13592015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
1360
1361	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
1362	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
1363	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
1364	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
1365	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
1366	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
1367
13682015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
1369
1370	* plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
1371	dimensions.
1372
13732015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
1374
1375	PR testsuite/68063
1376	* testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
1377
13782015-10-27  James Norris  <jnorris@codesourcery.com>
1379
1380	* testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
1381	* testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
1382
13832015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
1384
1385	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
1386	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1387
1388	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
1389	acc_device_nvidia usage.
1390	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
1391	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1392	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
1393
1394	* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
1395	* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
1396
1397	PR libgomp/66518
1398	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
1399
1400	PR libgomp/65437
1401	PR libgomp/66518
1402	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
1403	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
1404
14052015-10-23  Tom de Vries  <tom@codesourcery.com>
1406
1407	PR testsuite/68063
1408	* testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
1409
14102015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
1411
1412	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
1413	vector_length.
1414	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1415
14162015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
1417	    Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
1418
1419	* target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
1420	to 0 when mapnum is 0.
1421
14222015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1423
1424	* fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
1425	Cast to int from int32_t.
1426
14272015-10-13  Jakub Jelinek  <jakub@redhat.com>
1428	    Aldy Hernandez  <aldyh@redhat.com>
1429	    Ilya Verbin  <ilya.verbin@intel.com>
1430
1431	* config/linux/affinity.c (omp_get_place_num_procs,
1432	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
1433	* config/linux/doacross.h: New file.
1434	* config/posix/affinity.c (omp_get_place_num_procs,
1435	omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
1436	* config/posix/doacross.h: New file.
1437	* env.c: Include gomp-constants.h.
1438	(struct gomp_task_icv): Rename run_sched_modifier to
1439	run_sched_chunk_size.
1440	(gomp_max_task_priority_var): New variable.
1441	(parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
1442	(handle_omp_display_env): Change _OPENMP value from 201307 to
1443	201511.  Print OMP_MAX_TASK_PRIORITY.
1444	(initialize_env): Parse OMP_MAX_TASK_PRIORITY.
1445	(omp_set_schedule, omp_get_schedule): Rename modifier argument to
1446	chunk_size and run_sched_modifier to run_sched_chunk_size.
1447	(omp_get_max_task_priority, omp_get_initial_device,
1448	omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
1449	omp_get_partition_place_nums): New functions.
1450	* fortran.c (omp_set_schedule_, omp_set_schedule_8_,
1451	omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
1452	to chunk_size.
1453	(omp_get_num_places_, omp_get_place_num_procs_,
1454	omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
1455	omp_get_place_proc_ids_8_, omp_get_place_num_,
1456	omp_get_partition_num_places_, omp_get_partition_place_nums_,
1457	omp_get_partition_place_nums_8_, omp_get_initial_device_,
1458	omp_get_max_task_priority_): New functions.
1459	* libgomp_g.h (GOMP_loop_doacross_static_start,
1460	GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
1461	GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
1462	GOMP_loop_ull_doacross_dynamic_start,
1463	GOMP_loop_ull_doacross_guided_start,
1464	GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
1465	GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
1466	GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
1467	GOMP_target_data_41, GOMP_target_update_41,
1468	GOMP_target_enter_exit_data): New prototypes.
1469	(GOMP_task): Add prototype argument.
1470	* libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
1471	(struct gomp_doacross_work_share): New type.
1472	(struct gomp_work_share): Add doacross field.
1473	(struct gomp_task_icv): Rename run_sched_modifier to
1474	run_sched_chunk_size.
1475	(enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
1476	GOMP_TASK_UNDEFERRED.  Add comments.
1477	(struct gomp_task_depend_entry): Add comments.
1478	(struct gomp_task): Likewise.
1479	(struct gomp_taskgroup): Likewise.
1480	(struct gomp_target_task): New type.
1481	(struct gomp_team): Add comment.
1482	(gomp_get_place_proc_ids_8, gomp_doacross_init,
1483	gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
1484	gomp_create_target_task, gomp_target_task_fn): New prototypes.
1485	(struct target_var_desc): New type.
1486	(struct target_mem_desc): Adjust comment.  Use struct
1487	target_var_desc instead of splay_tree_key for list.
1488	(REFCOUNT_INFINITY): Define.
1489	(struct splay_tree_key_s): Remove copy_from field.
1490	(struct gomp_device_descr): Add dev2dev_func field.
1491	(enum gomp_map_vars_kind): New enum.
1492	(gomp_map_vars): Add one argument.
1493	* libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
1494	omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
1495	omp_get_place_num_procs, omp_get_place_num_procs_,
1496	omp_get_place_num_procs_8_, omp_get_place_proc_ids,
1497	omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
1498	omp_get_place_num_, omp_get_partition_num_places,
1499	omp_get_partition_num_places_, omp_get_partition_place_nums,
1500	omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
1501	omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
1502	omp_target_free, omp_target_is_present, omp_target_memcpy,
1503	omp_target_memcpy_rect, omp_target_associate_ptr and
1504	omp_target_disassociate_ptr.
1505	(GOMP_4.0.2): Renamed to ...
1506	(GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
1507	GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
1508	GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
1509	GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
1510	GOMP_loop_doacross_static_start, GOMP_doacross_post,
1511	GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
1512	GOMP_loop_ull_doacross_guided_start,
1513	GOMP_loop_ull_doacross_runtime_start,
1514	GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
1515	GOMP_doacross_ull_wait.
1516	* libgomp.texi: Document omp_get_max_task_priority.
1517	Rename modifier argument to chunk_size for omp_set_schedule and
1518	omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
1519	* loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
1520	to run_sched_chunk_size renaming.
1521	(GOMP_loop_ordered_runtime_start): Likewise.
1522	(gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1523	gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
1524	GOMP_parallel_loop_runtime_start): New functions.
1525	(GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
1526	to run_sched_chunk_size renaming.
1527	(GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
1528	GOMP_loop_doacross_guided_start): New functions or aliases.
1529	* loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
1530	run_sched_modifier to run_sched_chunk_size renaming.
1531	(GOMP_loop_ull_ordered_runtime_start): Likewise.
1532	(gomp_loop_ull_doacross_static_start,
1533	gomp_loop_ull_doacross_dynamic_start,
1534	gomp_loop_ull_doacross_guided_start,
1535	GOMP_loop_ull_doacross_runtime_start): New functions.
1536	(GOMP_loop_ull_doacross_static_start,
1537	GOMP_loop_ull_doacross_dynamic_start,
1538	GOMP_loop_ull_doacross_guided_start): New functions or aliases.
1539	* oacc-mem.c (acc_map_data, present_create_copy,
1540	gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
1541	to gomp_map_vars.
1542	(gomp_acc_remove_pointer): Use copy_from from target_var_desc.
1543	* oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
1544	instead of false to gomp_map_vars.
1545	(GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
1546	* omp.h.in (omp_lock_hint_t): New type.
1547	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1548	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1549	omp_get_place_num, omp_get_partition_num_places,
1550	omp_get_partition_place_nums, omp_get_initial_device,
1551	omp_get_max_task_priority, omp_target_alloc, omp_target_free,
1552	omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
1553	omp_target_associate_ptr, omp_target_disassociate_ptr): New
1554	prototypes.
1555	* omp_lib.f90.in (omp_lock_hint_kind): New parameter.
1556	(omp_lock_hint_none, omp_lock_hint_uncontended,
1557	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
1558	omp_lock_hint_speculative): New parameters.
1559	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1560	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1561	omp_get_place_num, omp_get_partition_num_places,
1562	omp_get_partition_place_nums, omp_get_initial_device,
1563	omp_get_max_task_priority): New interfaces.
1564	(omp_set_schedule, omp_get_schedule): Rename modifier argument
1565	to chunk_size.
1566	* omp_lib.h.in (omp_lock_hint_kind): New parameter.
1567	(omp_lock_hint_none, omp_lock_hint_uncontended,
1568	omp_lock_hint_contended, omp_lock_hint_nonspeculative,
1569	omp_lock_hint_speculative): New parameters.
1570	(omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
1571	omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
1572	omp_get_place_num, omp_get_partition_num_places,
1573	omp_get_partition_place_nums, omp_get_initial_device,
1574	omp_get_max_task_priority): New functions and subroutines.
1575	* ordered.c: Include stdarg.h and string.h.
1576	(MAX_COLLAPSED_BITS): Define.
1577	(gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
1578	gomp_doacross_ull_init, GOMP_doacross_ull_post,
1579	GOMP_doacross_ull_wait): New functions.
1580	* target.c: Include errno.h.
1581	(resolve_device): If device is not initialized, call
1582	gomp_init_device on it.
1583	(gomp_map_lookup): New function.
1584	(gomp_map_vars_existing): Add tgt_var argument, fill it in.
1585	Don't bump refcount if REFCOUNT_INFINITY.  Handle
1586	GOMP_MAP_ALWAYS_TO_P.
1587	(get_kind): Rename is_openacc argument to short_mapkind.
1588	(gomp_map_pointer): Use gomp_map_lookup.
1589	(gomp_map_fields_existing): New function.
1590	(gomp_map_vars): Rename is_openacc argument to short_mapkind
1591	and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
1592	handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
1593	GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
1594	Adjust for tgt->list changed type and copy_from living in there.
1595	(gomp_copy_from_async): Adjust for tgt->list changed type and
1596	copy_from living in there.
1597	(gomp_unmap_vars): Likewise.
1598	(gomp_update): Likewise.  Rename is_openacc argument to
1599	short_mapkind.  Don't fail if object is not mapped.
1600	(gomp_load_image_to_device): Initialize refcount to
1601	REFCOUNT_INFINITY.
1602	(gomp_target_fallback): New function.
1603	(gomp_get_target_fn_addr): Likewise.
1604	(GOMP_target): Adjust gomp_map_vars caller, use
1605	gomp_get_target_fn_addr and gomp_target_fallback.
1606	(GOMP_target_41): New function.
1607	(gomp_target_data_fallback): New function.
1608	(GOMP_target_data): Use it, adjust gomp_map_vars caller.
1609	(GOMP_target_data_41): New function.
1610	(GOMP_target_update): Adjust gomp_update caller.
1611	(GOMP_target_update_41): New function.
1612	(gomp_exit_data, GOMP_target_enter_exit_data,
1613	gomp_target_task_fn, omp_target_alloc, omp_target_free,
1614	omp_target_is_present, omp_target_memcpy,
1615	omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
1616	omp_target_associate_ptr, omp_target_disassociate_ptr,
1617	gomp_load_plugin_for_device): New functions.
1618	* task.c: Include gomp-constants.h.  Include taskloop.c
1619	twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
1620	(gomp_task_handle_depend): New function.
1621	(GOMP_task): Use it.  Add priority argument.  Use
1622	gomp-constant.h constants instead of hardcoded numbers.
1623	Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
1624	(gomp_create_target_task): New function.
1625	(verify_children_queue, verify_taskgroup_queue,
1626	verify_task_queue): New functions.
1627	(gomp_task_run_pre): Call verify_*_queue functions.
1628	If an upcoming tied task is about to leave the sibling or
1629	taskgroup queues in an invalid state, adjust appropriately.
1630	Remove taskgroup argument.  Add comments.
1631	(gomp_task_run_post_handle_dependers): Add comments.
1632	(gomp_task_run_post_remove_parent): Likewise.
1633	(gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
1634	(GOMP_taskwait): Likewise.  Add comments.
1635	(gomp_task_maybe_wait_for_dependencies): Fix scheduling
1636	problem such that the first non parent_depends_on task does not
1637	end up at the end of the children queue.
1638	(GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
1639	GOMP_TASK_UNDEFERRED.
1640	(GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
1641	* taskloop.c: New file.
1642	* testsuite/lib/libgomp.exp
1643	(check_effective_target_offload_device_nonshared_as): New proc.
1644	* testsuite/libgomp.c/affinity-2.c: New test.
1645	* testsuite/libgomp.c/doacross-1.c: New test.
1646	* testsuite/libgomp.c/doacross-2.c: New test.
1647	* testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
1648	Add map clause to target.
1649	* testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
1650	* testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
1651	* testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
1652	* testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
1653	* testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
1654	Likewise.
1655	* testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
1656	* testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
1657	* testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
1658	* testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
1659	not defined.  Use those where needed.
1660	* testsuite/libgomp.c/for-4.c: New test.
1661	* testsuite/libgomp.c/for-5.c: New test.
1662	* testsuite/libgomp.c/for-6.c: New test.
1663	* testsuite/libgomp.c/linear-1.c: New test.
1664	* testsuite/libgomp.c/ordered-4.c: New test.
1665	* testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
1666	only allowed on the loop iterator.
1667	* testsuite/libgomp.c/pr66199-3.c: New test.
1668	* testsuite/libgomp.c/pr66199-4.c: New test.
1669	* testsuite/libgomp.c/reduction-7.c: New test.
1670	* testsuite/libgomp.c/reduction-8.c: New test.
1671	* testsuite/libgomp.c/reduction-9.c: New test.
1672	* testsuite/libgomp.c/reduction-10.c: New test.
1673	* testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
1674	map(tofrom:s).
1675	* testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
1676	* testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
1677	* testsuite/libgomp.c/target-11.c: New test.
1678	* testsuite/libgomp.c/target-12.c: New test.
1679	* testsuite/libgomp.c/target-13.c: New test.
1680	* testsuite/libgomp.c/target-14.c: New test.
1681	* testsuite/libgomp.c/target-15.c: New test.
1682	* testsuite/libgomp.c/target-16.c: New test.
1683	* testsuite/libgomp.c/target-17.c: New test.
1684	* testsuite/libgomp.c/target-18.c: New test.
1685	* testsuite/libgomp.c/target-19.c: New test.
1686	* testsuite/libgomp.c/target-20.c: New test.
1687	* testsuite/libgomp.c/target-21.c: New test.
1688	* testsuite/libgomp.c/target-22.c: New test.
1689	* testsuite/libgomp.c/target-23.c: New test.
1690	* testsuite/libgomp.c/target-24.c: New test.
1691	* testsuite/libgomp.c/target-25.c: New test.
1692	* testsuite/libgomp.c/target-26.c: New test.
1693	* testsuite/libgomp.c/target-27.c: New test.
1694	* testsuite/libgomp.c/taskloop-1.c: New test.
1695	* testsuite/libgomp.c/taskloop-2.c: New test.
1696	* testsuite/libgomp.c/taskloop-3.c: New test.
1697	* testsuite/libgomp.c/taskloop-4.c: New test.
1698	* testsuite/libgomp.c++/ctor-13.C: New test.
1699	* testsuite/libgomp.c++/doacross-1.C: New test.
1700	* testsuite/libgomp.c++/examples-4/declare_target-2.C:
1701	Replace offload_device with offload_device_nonshared_as.
1702	* testsuite/libgomp.c++/for-12.C: New test.
1703	* testsuite/libgomp.c++/for-13.C: New test.
1704	* testsuite/libgomp.c++/for-14.C: New test.
1705	* testsuite/libgomp.c++/linear-1.C: New test.
1706	* testsuite/libgomp.c++/member-1.C: New test.
1707	* testsuite/libgomp.c++/member-2.C: New test.
1708	* testsuite/libgomp.c++/member-3.C: New test.
1709	* testsuite/libgomp.c++/member-4.C: New test.
1710	* testsuite/libgomp.c++/member-5.C: New test.
1711	* testsuite/libgomp.c++/ordered-1.C: New test.
1712	* testsuite/libgomp.c++/reduction-5.C: New test.
1713	* testsuite/libgomp.c++/reduction-6.C: New test.
1714	* testsuite/libgomp.c++/reduction-7.C: New test.
1715	* testsuite/libgomp.c++/reduction-8.C: New test.
1716	* testsuite/libgomp.c++/reduction-9.C: New test.
1717	* testsuite/libgomp.c++/reduction-10.C: New test.
1718	* testsuite/libgomp.c++/reference-1.C: New test.
1719	* testsuite/libgomp.c++/simd14.C: New test.
1720	* testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
1721	* testsuite/libgomp.c++/target-5.C: New test.
1722	* testsuite/libgomp.c++/target-6.C: New test.
1723	* testsuite/libgomp.c++/target-7.C: New test.
1724	* testsuite/libgomp.c++/target-8.C: New test.
1725	* testsuite/libgomp.c++/target-9.C: New test.
1726	* testsuite/libgomp.c++/target-10.C: New test.
1727	* testsuite/libgomp.c++/target-11.C: New test.
1728	* testsuite/libgomp.c++/target-12.C: New test.
1729	* testsuite/libgomp.c++/taskloop-1.C: New test.
1730	* testsuite/libgomp.c++/taskloop-2.C: New test.
1731	* testsuite/libgomp.c++/taskloop-3.C: New test.
1732	* testsuite/libgomp.c++/taskloop-4.C: New test.
1733	* testsuite/libgomp.c++/taskloop-5.C: New test.
1734	* testsuite/libgomp.c++/taskloop-6.C: New test.
1735	* testsuite/libgomp.c++/taskloop-7.C: New test.
1736	* testsuite/libgomp.c++/taskloop-8.C: New test.
1737	* testsuite/libgomp.c++/taskloop-9.C: New test.
1738	* testsuite/libgomp.fortran/affinity1.f90: New test.
1739	* testsuite/libgomp.fortran/affinity2.f90: New test.
1740
17412015-10-13  Tom de Vries  <tom@codesourcery.com>
1742
1743	PR tree-optimization/67476
1744	* testsuite/libgomp.c/autopar-3.c: New test.
1745	* testsuite/libgomp.c/autopar-4.c: New test.
1746	* testsuite/libgomp.c/autopar-5.c: New test.
1747	* testsuite/libgomp.c/autopar-6.c: New test.
1748	* testsuite/libgomp.c/autopar-7.c: New test.
1749	* testsuite/libgomp.c/autopar-8.c: New test.
1750
17512015-10-12  James Norris  <jnorris@codesourcery.com>
1752
1753	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
1754	initializer.
1755
17562015-10-09  David Malcolm  <dmalcolm@redhat.com>
1757
1758	* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
1759	using load_gcc_lib.
1760
17612015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
1762
1763	* oacc-ptx.h: Remove file, moving its content into...
1764	* config/nvptx/fortran.c: ... here...
1765	* config/nvptx/oacc-init.c: ..., here...
1766	* config/nvptx/oacc-parallel.c: ..., and here.
1767	* config/nvptx/openacc.f90: New file.
1768	* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
1769	(link_ptx): Don't link in predefined bits of PTX code.
1770
17712015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
1772	    Bernd Schmidt <bernds@codesourcery.com>
1773
1774	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
1775	(struct targ_ptx_obj): New.
1776	(nvptx_tdata): Move earlier, change data format.
1777	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
1778	objects.
1779	(GOMP_OFFLOAD_load_image): Adjust.
1780
17812015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
1782
1783	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
1784	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1785	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
1786	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
1787	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1788	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1789	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1790	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1791	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1792	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1793	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1794	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1795	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1796	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1797	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1798	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1799	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1800	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1801	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1802	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1803	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1804	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1805	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1806	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1807	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1808	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1809	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1810	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1811	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1812	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1813	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1814	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1815	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1816	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1817	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1818	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1819	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1820	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1821	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1822	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1823	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1824	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1825	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1826	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1827	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1828	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1829	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1830	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1831	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1832	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1833	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1834	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1835	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1836	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1837	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1838	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1839	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1840	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1841	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1842	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1843	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1844	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1845	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1846
18472015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
1848
1849	* oacc-init.c (acc_on_device): Force optimization level.
1850
18512015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
1852
1853	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
1854	(cuda_errlist): Delete.
1855	(cuda_error): Reimplement.
1856
18572015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
1858
1859	* libgomp.h (acc_dispatch_t): Replace separate geometry args with
1860	array.
1861	* libgomp.map (GOACC_parallel_keyed): New.
1862	* oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
1863	all callers.
1864	(GOACC_parallel_keyed): New interface.  Lose geometry arguments
1865	and take keyed varargs list.  Adjust call to exec_func.
1866	(GOACC_parallel): Force host fallback.
1867	* libgomp_g.h (GOACC_parallel): Remove.
1868	(GOACC_parallel_keyed): Declare.
1869	* plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
1870	(stuct targ_gn_descriptor): Replace name field with launch field.
1871	(nvptx_exec): Lose separate geometry args, take array.  Process
1872	dynamic dimensions and adjust.
1873	(struct nvptx_tdata): Replace fn_names field with fn_descs.
1874	(GOMP_OFFLOAD_load_image): Adjust for change in function table
1875	data.
1876	(GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
1877	passing.
1878	* oacc-host.c (host_openacc_exec): Adjust for change in dimension
1879	passing.
1880
18812015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
1882
1883	PR libgomp/67141
1884	* oacc-int.h (goacc_host_init): Add declaration.
1885	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
1886	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
1887
18882015-09-08  Aditya Kumar  <hiraditya@msn.com>
1889	    Sebastian Pop  <s.pop@samsung.com>
1890
1891	* testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
1892	match o/p.
1893	* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
1894	* testsuite/libgomp.graphite/force-parallel-4.c: Same.
1895	* testsuite/libgomp.graphite/force-parallel-5.c: Same.
1896	* testsuite/libgomp.graphite/force-parallel-7.c: Same.
1897	* testsuite/libgomp.graphite/force-parallel-8.c: Same.
1898
18992015-09-03  Jakub Jelinek  <jakub@redhat.com>
1900
1901	* configure.tgt: Add missing ;; in between nvptx and rtems
1902	snippets.
1903
19042015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1905
1906	* config/posix/pool.h (gomp_adjust_thread_attr): New.
1907	* config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
1908	(gomp_thread_pool_reservoir): Add priority member.
1909	* confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
1910	priority.
1911	(parse_thread_pools): Likewise.
1912	* team.c (gomp_team_start): Call configuration provided
1913	gomp_adjust_thread_attr(). Destroy thread attributes if
1914	necessary.
1915	* libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
1916
19172015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1918
1919	* config/posix/pool.h: New.
1920	* config/rtems/pool.h: Likewise.
1921	* config/rtems/proc.c: Likewise.
1922	* libgomp.h (gomp_thread_destructor): Declare.
1923	* team.c: Include configuration provided "pool.h".
1924	(gomp_get_thread_pool): Define in configuration.
1925	(gomp_team_end): Call configuration defined
1926	gomp_release_thread_pool().
1927
19282015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1929
1930	* config/rtems/bar.c: New.
1931	* config/rtems/bar.h: Likewise.
1932	* config/rtems/mutex.c: Likewise.
1933	* config/rtems/mutex.h: Likewise.
1934	* config/rtems/sem.c: Likewise.
1935	* config/rtems/sem.h: Likewise.
1936	* configure.ac (*-*-rtems*): Check that Newlib provides a proper
1937	<sys/lock.h> header file.
1938	* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
1939	supported by Newlib.
1940	* configure: Regenerate.
1941
19422015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1943
1944	* team.c (gomp_new_thread_pool): Delete and move content to ...
1945	(gomp_get_thread_pool): ... new function.  Allocate and
1946	initialize thread pool on demand.
1947	(get_last_team): Use gomp_get_thread_pool().
1948	(gomp_team_start): Delete thread pool initialization.
1949
19502015-09-03  Tom de Vries  <tom@codesourcery.com>
1951
1952	PR tree-optimization/65637
1953	* testsuite/libgomp.c/autopar-2.c: New test.
1954
19552015-08-29  Tom de Vries  <tom@codesourcery.com>
1956
1957	PR tree-optimization/46193
1958	* testsuite/libgomp.c/pr46193.c: New test.
1959
19602015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
1961
1962	libgomp/
1963	* libgomp.map: Add 4.0.2 version.
1964	* target.c (offload_image_descr): Add version field.
1965	(gomp_load_image_to_device): Add version argument.  Adjust plugin
1966	call.  Improve load mismatch diagnostic.
1967	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
1968	call.
1969	(GOMP_offload_regster): Make stub function, move bulk to ...
1970	(GOMP_offload_register_ver): ... here.  Process version argument.
1971	(GOMP_offload_unregister): Make stub function, move bulk to ...
1972	(GOMP_offload_unregister_ver): ... here.  Process version argument.
1973	(gomp_init_device): Process version field.
1974	(gomp_unload_device): Process version field.
1975	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
1976	macros.  Check plugin version.
1977	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
1978	loader and unloader types.
1979	* oacc-host.c: Include gomp-constants.h.
1980	(host_version): New.
1981	(host_load_image, host_unload_image): Adjust.
1982	(host_dispatch): Add host_version.
1983	* plugin/plugin-nvptx.c: Include gomp-constants.h.
1984	(GOMP_OFFLOAD_version): New.
1985	(GOMP_OFFLOAD_load_image): Add version arg and check it.
1986	(GOMP_OFFLOAD_unload_image): Likewise.
1987	* plugin/plugin-host.c: Include gomp-constants.h.
1988	(GOMP_OFFLOAD_version): New.
1989	(GOMP_OFFLOAD_load_image): Add version arg.
1990	(GOMP_OFFLOAD_unload_image): Likewise.
1991
19922015-08-24  Tom de Vries  <tom@codesourcery.com>
1993
1994	PR tree-optimization/65468
1995	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
1996
19972015-08-24  Tom de Vries  <tom@codesourcery.com>
1998
1999	PR tree-optimization/65468
2000	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
2001
20022015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
2003
2004	PR libgomp/66761
2005	PR libgomp/67303
2006	* iter.c (gomp_iter_dynamic_next): Employ an atomic load.
2007	(gomp_iter_guided_next): Idem.
2008	* iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
2009	(gomp_iter_ull_guided_next): Idem.
2010	* config/linux/wait.h (do_spin): Idem.
2011
20122015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
2013
2014	* libgomp-plugin.h (enum offload_target_type): Remove
2015	OFFLOAD_TARGET_TYPE_HOST_NONSHM.
2016	* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
2017	* openacc.h (enum acc_device_t): Likewise.
2018	* openacc_lib.h: Likewise.
2019	* oacc-init.c (name_of_acc_device_t): Don't handle it.
2020	(acc_on_device): Just use __builtin_acc_on_device.
2021	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
2022	of acc_on_device builtin.
2023	* plugin/plugin-host.h: Remove file.
2024	* plugin/plugin-host.c: Likewise, but salvage some content into...
2025	* oacc-host.c: ... this file.
2026	* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
2027	* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
2028	* Makefile.in: Regenerate.
2029	* configure: Likewise.
2030	* testsuite/lib/libgomp.exp
2031	(check_effective_target_openacc_host_nonshm_selected): Remove.
2032	* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
2033	ACC_DEVICE_TYPE=host_nonshm.
2034	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2035	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2036	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2037	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2038	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2039	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2040
20412015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
2042	    Jakub Jelinek  <jakub@redhat.com>
2043
2044	* config/nvptx/affinity.c: New file.
2045	* config/nvptx/alloc.c: Likewise.
2046	* config/nvptx/bar.c: Likewise.
2047	* config/nvptx/barrier.c: Likewise.
2048	* config/nvptx/critical.c: Likewise.
2049	* config/nvptx/env.c: Likewise.
2050	* config/nvptx/error.c: Likewise.
2051	* config/nvptx/fortran.c: Likewise.
2052	* config/nvptx/iter.c: Likewise.
2053	* config/nvptx/iter_ull.c: Likewise.
2054	* config/nvptx/libgomp-plugin.c: Likewise.
2055	* config/nvptx/lock.c: Likewise.
2056	* config/nvptx/loop.c: Likewise.
2057	* config/nvptx/loop_ull.c: Likewise.
2058	* config/nvptx/mutex.c: Likewise.
2059	* config/nvptx/oacc-async.c: Likewise.
2060	* config/nvptx/oacc-cuda.c: Likewise.
2061	* config/nvptx/oacc-host.c: Likewise.
2062	* config/nvptx/oacc-init.c: Likewise.
2063	* config/nvptx/oacc-mem.c: Likewise.
2064	* config/nvptx/oacc-parallel.c: Likewise.
2065	* config/nvptx/oacc-plugin.c: Likewise.
2066	* config/nvptx/omp-lock.h: Likewise.
2067	* config/nvptx/ordered.c: Likewise.
2068	* config/nvptx/parallel.c: Likewise.
2069	* config/nvptx/proc.c: Likewise.
2070	* config/nvptx/ptrlock.c: Likewise.
2071	* config/nvptx/sections.c: Likewise.
2072	* config/nvptx/sem.c: Likewise.
2073	* config/nvptx/single.c: Likewise.
2074	* config/nvptx/splay-tree.c: Likewise.
2075	* config/nvptx/target.c: Likewise.
2076	* config/nvptx/task.c: Likewise.
2077	* config/nvptx/team.c: Likewise.
2078	* config/nvptx/time.c: Likewise.
2079	* config/nvptx/work.c: Likewise.
2080	* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
2081	* configure: Regenerate.
2082	* configure.tgt (config_path): Set to "nvptx" for target
2083	nvptx*-*-*.
2084
20852015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
2086
2087	* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
2088
20892015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
2090
2091	* plugin/plugin-nvptx.c: Don't include dlfcn.h.
2092	(cuda_errlist): Constify.
2093	(errmsg):  Move into ...
2094	(cuda_error): ... here.  Make smaller.
2095	(_XSTR, _STR): Delete.
2096	(cuda_synames): Delete.
2097	(verify_device_library): Delete.
2098	(nvptx_init): Don't call it.
2099
21002015-07-28  Tom de Vries  <tom@codesourcery.com>
2101
2102	* testsuite/libgomp.c/uns-outer-4.c: New test.
2103
21042015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
2105
2106	* testsuite/libgomp.c/pr66714.c: New test.
2107
21082015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
2109
2110	PR libgomp/66950
2111	* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
2112	(fib_ref): New function.
2113	(fib): Correct corner cases in the recursion.
2114	(main): Replace the non-simd loop with fib_ref call.
2115	* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
2116	subroutine.
2117	(fibonacci): Lower the parameter N to 30.  Correct accordingly check
2118	for the last array element value.  Replace the non-simd loop with
2119	fib_ref call.  Remove redundant b_ref array.  Remove the comparison
2120	of the last array element with according Fibonacci sequence element.
2121	(fib): Correct corner cases in the recursion.
2122
21232015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
2124
2125	* target.c (gomp_offload_image_to_device): Rename to ...
2126	(gomp_load_image_to_device): ... here.
2127	(GOMP_offload_register): Adjust call.
2128	(gomp_init_device): Likewise.
2129	(gomp_unload_image_from_device): New.  Broken out of ...
2130	(GOMP_offload_unregister): ... here.  Call it.
2131	(gomp_unload_device): New.
2132	* libgomp.h (gomp_unload_device): Declare.
2133	* oacc-init.c (acc_shutdown_1): Unload from device before deleting
2134	mem maps.
2135
21362015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
2137
2138	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
2139	wait=-specific if.
2140	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
2141	!=0 condition.
2142	(goacc_waits): Move !num_waits handling to ...
2143	(GOACC_wait): ... here, the only caller that might have zero waits.
2144
2145	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
2146	(struct ptx_image_data): Move earlier, add fns field.
2147	(struct ptx_device): Add images and image_lock fields.
2148	(ptx_images, ptx_image_lock): Delete.
2149	(nvptx_open_device): Initialize images and image_lock fields.
2150	(nvptx_close_device): Destroy image_lock.
2151	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
2152	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
2153	fields.
2154
21552015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
2156
2157	* target.c (GOMP_offload_register): Use int for device type arg.
2158	(GOMP_offload_unregister): Likewise.
2159
2160	* target.c (struct_offload_image_descr): Constify host_table.
2161	(gomp_offload_image_to_device): Likewise.
2162	(GOMP_offload_register, GOMP_offload_unregister): Likewise.
2163
2164	* libgomp.h (gomp_device_descr): Constify target data arguments.
2165	* target.c (struct offload_image_descr): Constify target_data.
2166	(gomp_offload_image_to_device): Likewise.
2167	(GOMP_offload_register): Likewise.
2168	(GOMP_offload_unrefister): Likewise.
2169	* plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
2170	GOMP_OFFLOAD_unload_image): Constify target data.
2171	* plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
2172	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
2173
21742015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
2175
2176	* plugin/plugin-nvptx.c (link_ptx): Constify string argument.
2177	Workaround driver library const error.
2178	(struct nvptx_tdata, nvptx_tdata_t): New.
2179	(GOMP_OFFLOAD_load_image): Use struct for target_data's real
2180	type.
2181
21822015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
2183
2184	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
2185	of EPS parameter from integer to real.
2186	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
2187	type of EPS parameter from integer to real.
2188
21892015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2190
2191	* team.c (get_last_team): New.
2192	(gomp_new_team): Recycle last non-nested team if possible.
2193	(gomp_team_end): Move team work share list free lock destruction
2194	to ...
2195	(free_team): ... here.
2196
21972015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
2198
2199	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
2200	and ref from int to double.  Replaced their comparison with
2201	an inequality of their difference and EPS.
2202	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
2203	comparison of pri and a reference number with an inequality of their
2204	difference and EPS.
2205	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
2206	the comparison of sum and sum_ref with an inequality of their
2207	difference and EPS.
2208	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
2209	the comparison of pri and a reference number with an inequality of
2210	their difference and EPS.
2211
22122015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
2213
2214	* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
2215	* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
2216	* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
2217	* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
2218	* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
2219	* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
2220	* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
2221	* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
2222	* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
2223	* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
2224	* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
2225	* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
2226	(vec_mult_ref): Remove v1 and v2 arguments, turn them into local
2227	variables.
2228	(vec_mult): Likewise.  Add #pragma omp taskwait.
2229	(main): Adjust caller.
2230	* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
2231	* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
2232	* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
2233	* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
2234	* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
2235	* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
2236	* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
2237	* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
2238	* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
2239	* testsuite/libgomp.c/examples-4/device-1.c: ...this.
2240	* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
2241	* testsuite/libgomp.c/examples-4/device-2.c: ...this.
2242	* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
2243	* testsuite/libgomp.c/examples-4/device-3.c: ...this.
2244	* testsuite/libgomp.c/examples-4/simd-1.c: New file.
2245	* testsuite/libgomp.c/examples-4/simd-2.c: New file.
2246	* testsuite/libgomp.c/examples-4/simd-3.c: New file.
2247	* testsuite/libgomp.c/examples-4/simd-4.c: New file.
2248	* testsuite/libgomp.c/examples-4/simd-5.c: New file.
2249	* testsuite/libgomp.c/examples-4/simd-6.c: New file.
2250	* testsuite/libgomp.c/examples-4/simd-7.c: New file.
2251	* testsuite/libgomp.c/examples-4/simd-8.c: New file.
2252	* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
2253	* testsuite/libgomp.c/examples-4/target-1.c: ...this.
2254	* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
2255	* testsuite/libgomp.c/examples-4/target-2.c: ...this.
2256	* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
2257	* testsuite/libgomp.c/examples-4/target-3.c: ...this.
2258	* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
2259	* testsuite/libgomp.c/examples-4/target-4.c: ...this.
2260	* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
2261	* testsuite/libgomp.c/examples-4/target-5.c: ...this.
2262	* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
2263	* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
2264	* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
2265	* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
2266	* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
2267	* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
2268	* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
2269	* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
2270	* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
2271	* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
2272	* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
2273	* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
2274	* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
2275	* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
2276	* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
2277	* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
2278	* testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
2279	* testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
2280	* testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
2281	* testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
2282	* testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
2283	* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
2284	* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
2285	* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
2286	* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
2287	* testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
2288	* testsuite/libgomp.c/examples-4/teams-4.c: ...this.
2289	* testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
2290	* testsuite/libgomp.c/examples-4/teams-5.c: ...this.
2291	* testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
2292	* testsuite/libgomp.c/examples-4/teams-6.c: ...this.
2293	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
2294	* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
2295	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
2296	* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
2297	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
2298	* testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
2299	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
2300	* testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
2301	(vec_mult): Add !$omp taskwait.
2302	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
2303	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
2304	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
2305	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
2306	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
2307	* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
2308	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
2309	* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
2310	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
2311	* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
2312	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
2313	* testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
2314	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
2315	* testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
2316	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
2317	* testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
2318	* testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
2319	* testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
2320	* testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
2321	* testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
2322	* testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
2323	* testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
2324	* testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
2325	* testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
2326	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
2327	* testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
2328	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
2329	* testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
2330	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
2331	* testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
2332	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
2333	* testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
2334	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
2335	* testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
2336	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
2337	* testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
2338	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
2339	* testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
2340	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
2341	* testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
2342	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
2343	* testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
2344	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
2345	* testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
2346	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
2347	* testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
2348	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
2349	* testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
2350	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
2351	* testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
2352	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
2353	* testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
2354	* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
2355	* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
2356	* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
2357	* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
2358	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
2359	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
2360	* testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
2361	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
2362	* testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
2363	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
2364	* testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
2365	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
2366	* testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
2367	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
2368	* testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
2369
23702015-07-10  Tom de Vries  <tom@codesourcery.com>
2371
2372	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
2373	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
2374
23752015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
2376
2377	PR libgomp/65099
2378	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
2379	in a 64-bit configuration.
2380	* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
2381	offloading testing if no such device is available.
2382	* testsuite/libgomp.oacc-c/c.exp: Likewise.
2383	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2384
23852015-07-08  Tom de Vries  <tom@codesourcery.com>
2386
2387	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
2388	second call to f.
2389	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2390
23912015-07-07  Tom de Vries  <tom@codesourcery.com>
2392
2393	PR tree-optimization/66642
2394	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
2395	iteration count case.
2396	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
2397	function, factor out of ...
2398	(main): ... here.  Test low iteration count case.
2399
24002015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2401
2402	* libgomp.h (gomp_thread_pool): Comment last_team field.
2403
24042015-07-02  Uros Bizjak  <ubizjak@gmail.com>
2405
2406	* testsuite/libgomp.c++/pr66702-1.C: Require
2407	vect_simd_clones effective target.
2408	* testsuite/libgomp.c++/pr66702-2.C: Ditto.
2409
24102015-06-30  Tom de Vries  <tom@codesourcery.com>
2411
2412	* testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
2413	already set.  Use DEFAULT_CFLAGS in dg-runtest.
2414	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
2415	"-O2".
2416
24172015-06-30  Tom de Vries  <tom@codesourcery.com>
2418
2419	* testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
2420	already set.  Use DEFAULT_CFLAGS in dg-runtest.
2421	* testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
2422	* testsuite/libgomp.c++/pr64824.C: Same.
2423	* testsuite/libgomp.c++/pr64868.C: Same.
2424	* testsuite/libgomp.c++/pr66199-1.C: Same.
2425	* testsuite/libgomp.c++/pr66199-2.C: Same.
2426	* testsuite/libgomp.c++/target-2.C: Same.
2427	* testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
2428	-std=<standard> option.
2429	* testsuite/libgomp.c++/udr-11.C: Same.
2430	* testsuite/libgomp.c++/udr-12.C: Same.
2431	* testsuite/libgomp.c++/udr-13.C: Same.
2432	* testsuite/libgomp.c++/udr-14.C: Same.
2433	* testsuite/libgomp.c++/udr-15.C: Same.
2434	* testsuite/libgomp.c++/udr-16.C: Same.
2435	* testsuite/libgomp.c++/udr-17.C: Same.
2436	* testsuite/libgomp.c++/udr-18.C: Same.
2437	* testsuite/libgomp.c++/udr-19.C: Same.
2438	* testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
2439	* testsuite/libgomp.c++/simd-1.C: Same.
2440	* testsuite/libgomp.c++/simd-2.C: Same.
2441	* testsuite/libgomp.c++/simd-3.C: Same.
2442	* testsuite/libgomp.c++/simd-4.C: Same.
2443	* testsuite/libgomp.c++/simd-5.C: Same.
2444	* testsuite/libgomp.c++/simd-6.C: Same.
2445	* testsuite/libgomp.c++/simd-7.C: Same.
2446	* testsuite/libgomp.c++/simd-8.C: Same.
2447	* testsuite/libgomp.c++/simd-9.C: Same.
2448	* testsuite/libgomp.c++/simd10.C: Same.
2449	* testsuite/libgomp.c++/simd11.C: Same.
2450	* testsuite/libgomp.c++/simd12.C: Same.
2451	* testsuite/libgomp.c++/simd13.C: Same.
2452
24532015-06-30  Jakub Jelinek  <jakub@redhat.com>
2454
2455	PR middle-end/66702
2456	* testsuite/libgomp.c++/pr66702-1.C: New test.
2457	* testsuite/libgomp.c++/pr66702-2.C: New test.
2458
24592015-06-30  Tom de Vries  <tom@codesourcery.com>
2460
2461	* testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
2462	* testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
2463	* testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
2464	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
2465
24662015-06-30  Tom de Vries  <tom@codesourcery.com>
2467
2468	PR tree-optimization/66652
2469	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
2470	using restrict pointers.
2471	(main): Add arguments to calls to f.
2472	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2473
24742015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
2475
2476	* configure.ac: Fix check for header <sys/sysctl.h>.
2477	* configure: Regenerate.
2478	* config.h.in: Likewise.
2479
24802015-06-23  Tom de Vries  <tom@codesourcery.com>
2481
2482	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
2483	abort.
2484	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
2485
24862015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
2487
2488	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
2489	acc_device_nvidia.
2490
2491	PR libgomp/66518
2492	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
2493	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2494
24952015-06-15  Tom de Vries  <tom@codesourcery.com>
2496
2497	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
2498	dg-additional-options for any remaining options.
2499	* testsuite/libgomp.c/atomic-2.c: Same.
2500	* testsuite/libgomp.c/atomic-4.c: Same.
2501	* testsuite/libgomp.c/atomic-5.c: Same.
2502	* testsuite/libgomp.c/atomic-6.c: Same.
2503	* testsuite/libgomp.c/autopar-1.c: Same.
2504	* testsuite/libgomp.c/copyin-1.c: Same.
2505	* testsuite/libgomp.c/copyin-2.c: Same.
2506	* testsuite/libgomp.c/copyin-3.c: Same.
2507	* testsuite/libgomp.c/examples-4/e.53.5.c: Same.
2508	* testsuite/libgomp.c/nestedfn-5.c: Same.
2509	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
2510	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
2511	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
2512	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2513	* testsuite/libgomp.c/pr32362-1.c: Same.
2514	* testsuite/libgomp.c/pr32362-2.c: Same.
2515	* testsuite/libgomp.c/pr32362-3.c: Same.
2516	* testsuite/libgomp.c/pr39591-1.c: Same.
2517	* testsuite/libgomp.c/pr39591-2.c: Same.
2518	* testsuite/libgomp.c/pr39591-3.c: Same.
2519	* testsuite/libgomp.c/pr58392.c: Same.
2520	* testsuite/libgomp.c/pr58756.c: Same.
2521	* testsuite/libgomp.c/simd-1.c: Same.
2522	* testsuite/libgomp.c/simd-10.c: Same.
2523	* testsuite/libgomp.c/simd-11.c: Same.
2524	* testsuite/libgomp.c/simd-12.c: Same.
2525	* testsuite/libgomp.c/simd-13.c: Same.
2526	* testsuite/libgomp.c/simd-14.c: Same.
2527	* testsuite/libgomp.c/simd-15.c: Same.
2528	* testsuite/libgomp.c/simd-2.c: Same.
2529	* testsuite/libgomp.c/simd-3.c: Same.
2530	* testsuite/libgomp.c/simd-4.c: Same.
2531	* testsuite/libgomp.c/simd-5.c: Same.
2532	* testsuite/libgomp.c/simd-6.c: Same.
2533	* testsuite/libgomp.c/simd-7.c: Same.
2534	* testsuite/libgomp.c/simd-8.c: Same.
2535	* testsuite/libgomp.c/simd-9.c: Same.
2536
25372015-06-15  Tom de Vries  <tom@codesourcery.com>
2538
2539	* testsuite/libgomp.c/pr35625.c: Fix typo.
2540
25412015-06-15  Tom de Vries  <tom@codesourcery.com>
2542
2543	* testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
2544	in dg-options.
2545	* testsuite/libgomp.c/atomic-3.c: Same.
2546	* testsuite/libgomp.c/debug-1.c: Same.
2547	* testsuite/libgomp.c/nqueens-1.c: Same.
2548	* testsuite/libgomp.c/pr26171.c: Same.
2549	* testsuite/libgomp.c/pr48591.c: Same.
2550	* testsuite/libgomp.c/pr64824.c: Same.
2551	* testsuite/libgomp.c/pr64868.c: Same.
2552	* testsuite/libgomp.c/pr66133.c: Same.
2553	* testsuite/libgomp.c/pr66199-1.c: Same.
2554	* testsuite/libgomp.c/pr66199-2.c: Same.
2555	* testsuite/libgomp.c/target-8.c: Same.
2556
25572015-06-15  Tom de Vries  <tom@codesourcery.com>
2558
2559	* testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
2560	-std={gnu99,c99}.
2561	* testsuite/libgomp.c/for-1.c: Same.
2562	* testsuite/libgomp.c/for-2.c: Same.
2563	* testsuite/libgomp.c/for-3.c: Same.
2564	* testsuite/libgomp.c/pr35625.c: Same.
2565	* testsuite/libgomp.c/pr39154.c: Same.
2566	* testsuite/libgomp.c/simd-16.c: Same.
2567	* testsuite/libgomp.c/simd-17.c: Same.
2568
25692015-06-13  Tom de Vries  <tom@codesourcery.com>
2570
2571	* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
2572
25732015-06-13  Tom de Vries  <tom@codesourcery.com>
2574
2575	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
2576	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
2577	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
2578	(N): Define.
2579	(main): Use N instead of hardcoded constants.
2580
25812015-06-05  Tom de Vries  <tom@codesourcery.com>
2582
2583	merge from gomp4 branch:
2584	2015-05-28  Tom de Vries  <tom@codesourcery.com>
2585
2586	PR tree-optimization/65443
2587	* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
2588	* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
2589	* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
2590
25912015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2592
2593	* testsuite/libgomp.graphite/bounds.c: Adjust for
2594	cleanup-tree-dump removal.
2595	* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
2596	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2597	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2598	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
2599	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2600	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2601	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2602	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2603	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2604	* testsuite/libgomp.graphite/pr41118.c: Likewise.
2605
26062015-05-28  Uros Bizjak  <ubizjak@gmail.com>
2607
2608	* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
2609	(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
2610	(futex_wake) [!__x86_64__]: Ditto.
2611
26122015-05-28  Julian Brown  <julian@codesourcery.com>
2613
2614	* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
2615	function comment. Only call gomp_fatal if new argument is true.
2616	(acc_dev_num_out_of_range): New function.
2617	(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
2618	acc_dev_num_out_of_range as appropriate.
2619	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
2620	(acc_get_device_num, acc_set_device_num): Update calls to
2621	resolve_device.
2622	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
2623	output.
2624
26252015-05-28  Julian Brown  <julian@codesourcery.com>
2626
2627	PR libgomp/65742
2628	* oacc-init.c (plugin/plugin-host.h): Include.
2629	(acc_on_device): Check whether we're in an offloaded region for
2630	host_nonshm
2631	plugin. Don't use __builtin_acc_on_device.
2632	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
2633	nonshm_exec flag in thread-local data.
2634	(GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
2635	data for host_nonshm plugin.
2636	(GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
2637	for host_nonshm plugin.
2638	* plugin/plugin-host.h: New.
2639
26402015-05-27  Uros Bizjak  <ubizjak@gmail.com>
2641
2642	* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
2643
26442015-05-27  Uros Bizjak  <ubizjak@gmail.com>
2645
2646	* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
2647	Declare as int.
2648	(FUTEX_PRIVATE_FLAG): Remove L suffix.
2649	* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
2650	Declare as int.
2651
26522015-05-27  Uros Bizjak  <ubizjak@gmail.com>
2653
2654	* config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
2655
26562015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
2657
2658	* target.c (gomp_map_pointer): New function abstracting out
2659	GOMP_MAP_POINTER handling.
2660	(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
2661	gomp_map_pointer().
2662
26632015-05-19  Jakub Jelinek  <jakub@redhat.com>
2664
2665	PR middle-end/66199
2666	* testsuite/libgomp.c/pr66199-1.c: New test.
2667	* testsuite/libgomp.c/pr66199-2.c: New test.
2668	* testsuite/libgomp.c++/pr66199-1.C: New test.
2669	* testsuite/libgomp.c++/pr66199-2.C: New test.
2670	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
2671	* testsuite/libgomp.fortran/pr66199-2.f90: New test.
2672
26732015-05-19  Julian Brown  <julian@codesourcery.com>
2674
2675	* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
2676	on cuInit failure.
2677
26782015-05-13  Jakub Jelinek  <jakub@redhat.com>
2679
2680	PR middle-end/66133
2681	* testsuite/libgomp.c/pr66133.c: New test.
2682
26832015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
2684
2685	* Makefile.in: Regenerated with automake-1.11.6.
2686	* aclocal.m4: Likewise.
2687	* config.h.in: Likewise.
2688	* configure: Likewise.
2689	* testsuite/Makefile.in: Likewise.
2690
26912015-05-08  Jason Merrill  <jason@redhat.com>
2692
2693	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
2694	_Complex.
2695
2696	* openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
2697
26982015-05-06  Julian Brown  <julian@codesourcery.com>
2699
2700	* oacc-init.c (acc_device_lock): Add explanatory comment.
2701	(resolve_device): Add comment about locking requirement.
2702	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
2703	gomp_init_device and gomp_fini_device calls.
2704	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
2705	(acc_get_device_num, acc_set_device_num): Add locking around
2706	resolve_device and gomp_init_device calls.
2707
27082015-05-06  Julian Brown  <julian@codesourcery.com>
2709
2710	* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
2711	goacc_thread_lock on error paths.
2712	* oacc-mem.c (lookup_host): Remove locking from function. Note
2713	locking requirement for caller in function comment.
2714	(lookup_dev): Likewise.
2715	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
2716	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
2717	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
2718	Add locking.
2719
27202015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
2721
2722	PR testsuite/65205
2723	PR libgomp/65993
2724	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
2725	don't expect "0x" prefix for "%p" format specifier, don't expect
2726	"(nil)" for NULL pointer.
2727	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2728	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2729	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2730	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2731	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2732	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2733	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2734	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2735	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2736	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2737	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2738	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2739	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2740	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2741	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2742	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2743	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2744	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2745	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2746	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2747	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2748	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2749	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2750	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2751	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2752	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2753	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2754	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2755	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
2756	accurately specify what we're looking for.
2757	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2758	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2759	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2760	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2761	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2762
27632015-04-30  James Norris  <jnorris@codesourcery.com>
2764
2765	PR testsuite/65205
2766	* testsuite/lib/libgomp.exp
2767	(check_effective_target_openacc_host_selected)
2768	(check_effective_target_openacc_host_nonshm_selected): New
2769	procedures.
2770	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
2771	dg-shouldfail.
2772	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2773	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2774	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2775	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2776	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2777	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2778	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2779	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2780	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2781	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2782	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2783	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2784	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2785	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2786	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2787	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2788	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2789	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2790	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2791	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2792	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2793	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2794	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2795	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2796	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2797	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2798	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2799	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2800	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2801	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2802	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2803	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2804	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2805	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2806	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2807	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2808	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2809	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2810	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2811	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2812	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2813	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2814	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2815
28162015-04-08  Julian Brown  <julian@codesourcery.com>
2817
2818	* libgomp.h (target_mem_desc: Remove mem_map field.
2819	(acc_dispatch_t): Remove open_device_func, close_device_func,
2820	get_device_num_func, set_device_num_func, target_data members.
2821	Change create_thread_data_func argument to device number instead of
2822	generic pointer.
2823	* oacc-async.c (assert.h): Include.
2824	(acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
2825	(acc_wait_all, acc_wait_all_async): Use current host thread's
2826	active device, not base_dev.
2827	* oacc-cuda.c (acc_get_current_cuda_device)
2828	(acc_get_current_cuda_context, acc_get_cuda_stream)
2829	(acc_set_cuda_stream): Likewise.
2830	* oacc-host.c (host_dispatch): Don't set open_device_func,
2831	close_device_func, get_device_num_func or set_device_num_func.
2832	* oacc-init.c (base_dev, init_key): Remove.
2833	(cached_base_dev): New.
2834	(name_of_acc_device_t): New.
2835	(acc_init_1): Initialise default-numbered device, not zeroth.
2836	(acc_shutdown_1): Close all devices of a given type.
2837	(goacc_destroy_thread): Don't use base_dev.
2838	(lazy_open, lazy_init, lazy_init_and_open): Remove.
2839	(goacc_attach_host_thread_to_device): New.
2840	(acc_init): Reimplement with goacc_attach_host_thread_to_device.
2841	(acc_get_num_devices): Don't use base_dev.
2842	(acc_set_device_type): Reimplement.
2843	(acc_get_device_type): Don't use base_dev.
2844	(acc_get_device_num): Tweak logic.
2845	(acc_set_device_num): Likewise.
2846	(acc_on_device): Use acc_get_device_type.
2847	(goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
2848	(goacc_lazy_initialize): Reimplement with acc_init and
2849	goacc_attach_host_thread_to_device.
2850	* oacc-int.h (goacc_thread): Add base_dev field.
2851	(base_dev): Remove extern declaration.
2852	(goacc_attach_host_thread_to_device): Add prototype.
2853	* oacc-mem.c (acc_malloc): Use current thread's device instead of
2854	base_dev.
2855	(acc_free): Likewise.
2856	(acc_memcpy_to_device): Likewise.
2857	(acc_memcpy_from_device): Likewise.
2858	* oacc-parallel.c (select_acc_device): Remove. Replace calls with
2859	goacc_lazy_initialize (throughout).
2860	(GOACC_parallel): Use tgt_offset to locate target functions.
2861	* target.c (gomp_map_vars): Don't set tgt->mem_map.
2862	(gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
2863	(gomp_load_plugin_for_device): Remove open_device, close_device,
2864	get_device_num, set_device_num openacc hook initialisation. Don't set
2865	openacc.target_data.
2866	* plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
2867	(GOMP_OFFLOAD_openacc_close_device)
2868	(GOMP_OFFLOAD_openacc_get_device_num)
2869	(GOMP_OFFLOAD_openacc_set_device_num): Remove.
2870	(GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
2871	to int.
2872	* plugin/plugin-nvptx.c (ptx_inited): Remove.
2873	(instantiated_devices, ptx_dev_lock): New.
2874	(struct ptx_image_data): New.
2875	(ptx_devices, ptx_images, ptx_image_lock): New.
2876	(fini_streams_for_device): Reorder cuStreamDestroy call.
2877	(nvptx_get_num_devices): Remove forward declaration.
2878	(nvptx_init): Change return type to bool.
2879	(nvptx_fini): Remove.
2880	(nvptx_attach_host_thread_to_device): New.
2881	(nvptx_open_device): Return struct ptx_device* instead of void*.
2882	(nvptx_close_device): Change argument type to struct ptx_device*,
2883	return type to void.
2884	(nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
2885	(kernel_target_data, kernel_host_table): Remove static globals.
2886	(GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
2887	(GOMP_OFFLOAD_init_device): Reimplement.
2888	(GOMP_OFFLOAD_fini_device): Likewise.
2889	(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
2890	(GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
2891	(GOMP_OFFLOAD_host2dev): Use ORD argument.
2892	(GOMP_OFFLOAD_openacc_open_device)
2893	(GOMP_OFFLOAD_openacc_close_device)
2894	(GOMP_OFFLOAD_openacc_set_device_num)
2895	(GOMP_OFFLOAD_openacc_get_device_num): Remove.
2896	(GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
2897	(device number).
2898
2899	testsuite/
2900	* libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
2901
29022015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
2903
2904	* libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
2905	* libgomp.h (struct gomp_memory_mapping): Remove.
2906	(struct target_mem_desc): Change type of mem_map from
2907	gomp_memory_mapping * to splay_tree_s *.
2908	(struct gomp_device_descr): Remove register_image_func, get_table_func.
2909	Add load_image_func, unload_image_func.
2910	Change type of mem_map from gomp_memory_mapping to splay_tree_s.
2911	Remove offload_regions_registered.
2912	(gomp_init_tables): Remove.
2913	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2914	to splay_tree_s *.
2915	* libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
2916	* oacc-host.c (host_dispatch): Do not initialize register_image_func,
2917	get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
2918	offload_regions_registered.
2919	Initialize load_image_func, unload_image_func, mem_map.root.
2920	(goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
2921	* oacc-init.c (lazy_open): Don't call gomp_init_tables.
2922	(acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
2923	* oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
2924	gomp_memory_mapping *.  Use dev's lock and splay_tree.
2925	(lookup_dev): Use dev's lock.
2926	(acc_deviceptr): Pass dev to lookup_host instead of mem_map.
2927	(acc_is_present): Likewise.
2928	(acc_map_data): Likewise.
2929	(acc_unmap_data): Likewise.  Use dev's lock.
2930	(present_create_copy): Likewise.
2931	(delete_copyout): Pass dev to lookup_host instead of mem_map.
2932	(update_dev_host): Likewise.
2933	(gomp_acc_remove_pointer): Likewise.  Use dev's lock.
2934	* oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
2935	* plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
2936	(GOMP_OFFLOAD_get_table): Remove
2937	(GOMP_OFFLOAD_load_image): New function.
2938	(GOMP_OFFLOAD_unload_image): New function.
2939	* target.c (register_lock): New mutex for offload image registration.
2940	(num_devices): Do not guard with PLUGIN_SUPPORT.
2941	(gomp_realloc_unlock): New static function.
2942	(gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
2943	before gomp_fatal.
2944	(gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
2945	Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
2946	(gomp_copy_from_async): Use dev's lock and splay_tree instead of
2947	mem_map's.
2948	(gomp_unmap_vars): Likewise.
2949	(gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
2950	splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
2951	(gomp_offload_image_to_device): New static function.
2952	(GOMP_offload_register): Add mutex lock.
2953	Call gomp_offload_image_to_device for all initialized devices.
2954	Replace gomp_realloc with gomp_realloc_unlock.
2955	(GOMP_offload_unregister): New function.
2956	(gomp_init_tables): Replace with gomp_init_device.  Replace a call to
2957	get_table_func from the plugin with calls to init_device_func and
2958	gomp_offload_image_to_device.
2959	(gomp_free_memmap): Change type of argument from gomp_memory_mapping *
2960	to splay_tree_s *.
2961	(GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
2962	splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
2963	(GOMP_target_data): Do not call gomp_init_tables.
2964	(GOMP_target_update): Likewise.  Remove argument from gomp_update.
2965	(gomp_load_plugin_for_device): Replace register_image and get_table
2966	with load_image and unload_image in DLSYM ().
2967	(gomp_register_images_for_device): Remove function.
2968	(gomp_target_init): Do not initialize current_device.mem_map.*,
2969	current_device.offload_regions_registered.
2970	Remove call to gomp_register_images_for_device.
2971	Do not free offload_images and num_offload_images.
2972
29732015-03-30  Jakub Jelinek  <jakub@redhat.com>
2974
2975	PR fortran/65597
2976	* testsuite/libgomp.fortran/pr65597.f90: New test.
2977
29782015-03-27  Tom de Vries  <tom@codesourcery.com>
2979
2980	PR testsuite/65594
2981	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
2982	(init, check): New function.
2983	(foo): Change return type to void.
2984	(main): Call init and check.
2985
29862015-03-27  Tom de Vries  <tom@codesourcery.com>
2987
2988	PR testsuite/65594
2989	* testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
2990	(foo): Use M for non-inner loops to scale down test-case.
2991
29922015-03-25  Kai Tietz  <ktietz@redhat.com>
2993
2994	PR libgomp/64972
2995	* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
2996	(GOACC_data_start): Likewise.
2997	* target.c (gomp_map_vars): Likewise.
2998
29992015-03-21  John David Anglin  <danglin@gcc.gnu.org>
3000
3001	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
3002	hppa*-*-hpux*.
3003
30042015-03-19  Jakub Jelinek  <jakub@redhat.com>
3005
3006	* testsuite/libgomp.c/target-10.c: New test.
3007	* testsuite/libgomp.c++/target-4.C: New test.
3008
30092015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
3010
3011	* testsuite/libgomp.fortran/declare-target-1.f90: New test.
3012	* testsuite/libgomp.fortran/declare-target-2.f90: New file.
3013
30142015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3015
3016	* configure.tgt (*-*-rtems*): Use local-exec TLS model.
3017	* configure.ac (*-*-rtems*): Assume Pthread is supported.
3018	(pthread.h): Check for this header file.
3019	* configure: Regenerate.
3020
30212015-02-25  Tom de Vries  <tom@codesourcery.com>
3022
3023	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
3024	(check_reduction_op, check_reduction_macro, max, min):
3025	Declare.
3026	(test_reductions_int, test_reductions_minmax, test_reductions_bool): New
3027	function.
3028	(main): Use new functions.
3029
30302015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
3031
3032	* target.c (gomp_load_plugin_for_device): Use const char * instead of
3033	char * for variables holding dlerror return values.
3034	(DLSYM_OPT): Ditto.
3035
30362015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
3037
3038	* libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
3039
30402015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
3041	    Cesar Philippidis  <cesar@codesourcery.com>
3042
3043	* oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
3044	GOACC_ctaid, and GOACC_nctaid routines.
3045
30462015-02-11  Jakub Jelinek  <jakub@redhat.com>
3047
3048	PR c/64824
3049	* testsuite/libgomp.c/atomic-18.c: New test.
3050	* testsuite/libgomp.c++/atomic-16.C: New test.
3051
30522015-02-04  Jakub Jelinek  <jakub@redhat.com>
3053
3054	PR c/64824
3055	PR c/64868
3056	* testsuite/libgomp.c/pr64824.c: New test.
3057	* testsuite/libgomp.c/pr64868.c: New test.
3058	* testsuite/libgomp.c++/pr64824.C: New test.
3059	* testsuite/libgomp.c++/pr64868.C: New test.
3060
30612015-02-01  David Edelsohn  <dje.gcc@gmail.com>
3062
3063	PR libgomp/64635
3064	* configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
3065	Link with -lpthread.
3066	* config/aix/plugin-suffix.h: Delete.
3067
30682015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
3069
3070	PR libgomp/64635
3071	* configure.tgt (*-*-aix*): Use config_path "aix posix".
3072	(*-*-darwin*): Use config_path "bsd darwin posix".
3073	(*-*-hpux*): Use config_path "hpux posix".
3074	* target.c: Add include of plugin-suffix.h and use
3075	SONAME_SUFFIX macro.
3076	* config/aix/plugin-suffix.h: New file.
3077	* config/darwin/plugin-suffix.h: New file.
3078	* config/hpux/plugin-suffix.h: New file.
3079	* config/posix/plugin-suffix.h: New file.
3080
30812015-01-23  Jakub Jelinek  <jakub@redhat.com>
3082
3083	PR middle-end/64734
3084	* libgomp.c/pr64734.c: New test.
3085
30862015-01-23  Tom de Vries  <tom@codesourcery.com>
3087
3088	PR libgomp/64672
3089	* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
3090
30912015-01-23  Tom de Vries  <tom@codesourcery.com>
3092
3093	PR libgomp/64707
3094	* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
3095	dg-options.
3096
30972015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
3098
3099	PR libgomp/64625
3100	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
3101	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
3102	formal parameter.  Update all users.
3103	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
3104	Document unused formal parameter.
3105
31062015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
3107
3108	* oacc-parallel.c: Don't include <alloca.h>.
3109	(GOACC_parallel): Use gomp_alloca instead of alloca.
3110
31112015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
3112
3113	* target.c (num_devices): Guard with PLUGIN_SUPPORT.
3114
31152015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
3116	    James Norris  <jnorris@codesourcery.com>
3117	    Tom de Vries  <tom@codesourcery.com>
3118	    Julian Brown  <julian@codesourcery.com>
3119	    Cesar Philippidis  <cesar@codesourcery.com>
3120	    Nathan Sidwell  <nathan@codesourcery.com>
3121	    Tobias Burnus  <burnus@net-b.de>
3122
3123	* Makefile.am (search_path): Add $(top_srcdir)/../include.
3124	(libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
3125	oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
3126	oacc-async.c, oacc-plugin.c, oacc-cuda.c.
3127	[USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
3128	Include $(top_srcdir)/plugin/Makefrag.am.
3129	(nodist_libsubinclude_HEADERS): Add openacc.h.
3130	[USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
3131	openacc.f90, openacc.mod, openacc_kinds.mod.
3132	(omp_lib.mod): Generalize into...
3133	(%.mod): ... this new rule.
3134	(openacc_kinds.mod, openacc.mod): New rules.
3135	* plugin/configfrag.ac: New file.
3136	* configure.ac: Move plugin/offloading support into it.  Include
3137	it.  Instantiate testsuite/libgomp-test-support.pt.exp.
3138	* plugin/Makefrag.am: New file.
3139	* testsuite/Makefile.am (OFFLOAD_TARGETS)
3140	(OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
3141	export.
3142	(libgomp-test-support.exp): New rule.
3143	(all-local): Depend on it.
3144	* Makefile.in: Regenerate.
3145	* testsuite/Makefile.in: Regenerate.
3146	* config.h.in: Likewise.
3147	* configure: Likewise.
3148	* configure.tgt: Harden shell syntax.
3149	* env.c: Include "oacc-int.h".
3150	(parse_acc_device_type): New function.
3151	(gomp_debug_var, goacc_device_type, goacc_device_num): New
3152	variables.
3153	(initialize_env): Initialize those.  Call
3154	goacc_runtime_initialize.
3155	* error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
3156	(gomp_fatal): Call gomp_vfatal.
3157	* libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
3158	(gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
3159	(gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
3160	(splay_tree_node, splay_tree, splay_tree_key)
3161	(struct target_mem_desc, struct splay_tree_key_s)
3162	(struct gomp_memory_mapping, struct acc_dispatch_t)
3163	(struct gomp_device_descr, gomp_acc_insert_pointer)
3164	(gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
3165	(gomp_unmap_vars, gomp_init_device, gomp_init_tables)
3166	(gomp_free_memmap, gomp_fini_device): New declarations.
3167	(gomp_vdebug, gomp_debug): New macros.
3168	Include "splay-tree.h".
3169	* libgomp.map (OACC_2.0): New symbol version.  Use for
3170	acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
3171	acc_set_device_type_h_, acc_get_device_type,
3172	acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
3173	acc_get_device_num, acc_get_device_num_h_, acc_async_test,
3174	acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
3175	acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
3176	acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
3177	acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
3178	acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
3179	acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
3180	acc_copyin_array_h_, acc_present_or_copyin,
3181	acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
3182	acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
3183	acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
3184	acc_present_or_create_32_h_, acc_present_or_create_64_h_,
3185	acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
3186	acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
3187	acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
3188	acc_update_device, acc_update_device_32_h_,
3189	acc_update_device_64_h_, acc_update_device_array_h_,
3190	acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
3191	acc_update_self_array_h_, acc_map_data, acc_unmap_data,
3192	acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
3193	acc_is_present_64_h_, acc_is_present_array_h_,
3194	acc_memcpy_to_device, acc_memcpy_from_device,
3195	acc_get_current_cuda_device, acc_get_current_cuda_context,
3196	acc_get_cuda_stream, acc_set_cuda_stream.
3197	(GOACC_2.0): New symbol version.  Use for GOACC_data_end,
3198	GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
3199	GOACC_update, GOACC_wait, GOACC_get_thread_num,
3200	GOACC_get_num_threads.
3201	(GOMP_PLUGIN_1.0): New symbol version.  Use for
3202	GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
3203	GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
3204	GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
3205	GOMP_PLUGIN_acc_thread.
3206	* libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
3207	environment variable.
3208	* libgomp_g.h (GOACC_data_start, GOACC_data_end)
3209	(GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
3210	(GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
3211	* splay-tree.h (splay_tree_lookup, splay_tree_insert)
3212	(splay_tree_remove): New declarations.
3213	(rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
3214	(splay_tree_remove, splay_tree_lookup): Move into...
3215	* splay-tree.c: ... this new file.
3216	* target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
3217	(splay_tree_node, splay_tree, splay_tree_key)
3218	(struct target_mem_desc, struct splay_tree_key_s)
3219	(struct gomp_device_descr): Don't declare.
3220	(num_devices_openmp): New variable.
3221	(gomp_get_num_devices ): Use it.
3222	(gomp_init_targets_once): New function.
3223	(gomp_get_num_devices ): Use it.
3224	(get_kind, gomp_copy_from_async, gomp_free_memmap)
3225	(gomp_fini_device, gomp_register_image_for_device): New functions.
3226	(gomp_map_vars): Add devaddrs parameter.
3227	(gomp_update): Add mm parameter.
3228	(gomp_init_device): Move most of it into...
3229	(gomp_init_tables): ... this new function.
3230	(gomp_register_images_for_device): Remove function.
3231	(splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
3232	Make them hidden instead of static.
3233	(gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
3234	(gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
3235	(GOMP_target_end_data, GOMP_target_update)
3236	(gomp_load_plugin_for_device, gomp_target_init): Update for
3237	OpenACC changes.
3238	* oacc-async.c: New file.
3239	* oacc-cuda.c: Likewise.
3240	* oacc-host.c: Likewise.
3241	* oacc-init.c: Likewise.
3242	* oacc-int.h: Likewise.
3243	* oacc-mem.c: Likewise.
3244	* oacc-parallel.c: Likewise.
3245	* oacc-plugin.c: Likewise.
3246	* oacc-plugin.h: Likewise.
3247	* oacc-ptx.h: Likewise.
3248	* openacc.f90: Likewise.
3249	* openacc.h: Likewise.
3250	* openacc_lib.h: Likewise.
3251	* plugin/plugin-host.c: Likewise.
3252	* plugin/plugin-nvptx.c: Likewise.
3253	* libgomp-plugin.c: Likewise.
3254	* libgomp-plugin.h: Likewise.
3255	* libgomp_target.h: Remove file after merging content into the
3256	former file.  Update all users.
3257	* testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
3258	(offload_targets_s, offload_targets_s_openacc): New variables.
3259	(check_effective_target_openacc_nvidia_accel_present)
3260	(check_effective_target_openacc_nvidia_accel_selected): New
3261	procedures.
3262	(libgomp_init): Update for OpenACC changes.
3263	* testsuite/libgomp-test-support.exp.in: New file.
3264	* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3265	* testsuite/libgomp.oacc-c/c.exp: Likewise.
3266	* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3267	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
3268	* testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
3269	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3270	* testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
3271	* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3272	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3273	* testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
3274	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
3275	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3276	* testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
3277	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3278	* testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3279	* testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3280	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3281	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3282	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3283	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3284	* testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
3285	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3286	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3287	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3288	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3289	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3290	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3291	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3292	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3293	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3294	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3295	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3296	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3297	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
3298	* testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
3299	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3300	* testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
3301	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3302	* testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
3303	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3304	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3305	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3306	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3307	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3308	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3309	* testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
3310	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3311	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3312	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3313	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3314	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3315	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3316	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3317	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3318	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3319	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3320	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3321	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3322	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3323	* testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
3324	* testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
3325	* testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
3326	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3327	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3328	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3329	* testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
3330	* testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
3331	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3332	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3333	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3334	* testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
3335	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3336	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3337	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3338	* testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
3339	* testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
3340	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3341	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3342	* testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
3343	* testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
3344	* testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
3345	* testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
3346	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3347	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3348	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3349	* testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
3350	* testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
3351	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3352	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3353	* testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
3354	* testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
3355	* testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
3356	* testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
3357	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3358	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3359	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3360	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3361	* testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
3362	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3363	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3364	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
3365	* testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
3366	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
3367	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3368	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
3369	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
3370	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
3371	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
3372	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
3373	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3374	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
3375	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3376	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3377	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
3378	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3379	* testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
3380	* testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
3381	* testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3382	* testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
3383	* testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
3384	* testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
3385	* testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
3386	* testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
3387	* testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
3388	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
3389	* testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
3390	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3391	* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
3392	* testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
3393	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
3394	* testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
3395	* testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
3396	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3397	* testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
3398	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
3399	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3400	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3401	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3402	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3403	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
3404	Likewise.
3405	* testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
3406	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
3407	* testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
3408	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3409	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
3410	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3411	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3412	* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3413	* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3414	* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3415	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3416	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3417	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3418	* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3419	* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3420	* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3421	* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3422	* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3423	* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3424	* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3425	* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3426	* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3427	* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3428	* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3429	* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3430	* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3431	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3432	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3433	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3434	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3435	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3436	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3437	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3438	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3439	* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3440	* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3441	* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3442	* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3443	* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3444	* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3445	* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3446	* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3447	* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3448	* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3449	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3450	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3451	* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3452	* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3453	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3454	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3455	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3456	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3457	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3458	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3459	* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3460	* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3461	* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3462	* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3463	* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3464	* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3465
34662015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
3467	    Julian Brown  <julian@codesourcery.com>
3468	    David Malcolm  <dmalcolm@redhat.com>
3469
3470	* configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
3471	to "GNU Offloading and Multi Processing Runtime Library".  Change
3472	all users.
3473	* configure: Regenerate.
3474	* libgomp.texi: Update.
3475
34762015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
3477
3478	* configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
3479	"$tgt_dir/lib32".
3480	* configure: Regenerate.
3481
3482	* testsuite/lib/libgomp.exp (libgomp_init): Correctly match
3483	"intelmic" in $offload_targets.
3484
34852015-01-05  Jakub Jelinek  <jakub@redhat.com>
3486
3487	Update copyright years.
3488
3489	* libgomp.texi: Bump @copying's copyright year.
3490
34912014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3492
3493	* testsuite/lib/libgomp.exp: Load target-utils.exp.
3494	Move load of target-supportes.exp earlier.
3495
34962014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
3497
3498	* testsuite/libgomp.c/target-9.c: New test.
3499
35002014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
3501
3502	* config.h.in: Regenerate.
3503	* configure: Regenerate.
3504	* configure.ac: Add GCC_CHECK_EMUTLS.
3505	* libgomp.h: Add check for USE_EMUTLS: this case
3506	is equal to HAVE_TLS.
3507	* team.c: Likewise.
3508
35092014-12-03  Uros Bizjak  <ubizjak@gmail.com>
3510
3511	* configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
3512
35132014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
3514	    Ilya Verbin  <ilya.verbin@intel.com>
3515
3516	* testsuite/libgomp.c/target-critical-1.c: New test.
3517
35182014-11-26  Jakub Jelinek  <jakub@redhat.com>
3519
3520	* testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
3521	to dg-options unless expensive testing is on.
3522	(TESTITERS): Define to N if not defined.
3523	(main): Use TESTITERS instead of N.
3524	* testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
3525	dg-additional-options depending on whether expensive testing is on.
3526	* testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
3527	Decrease N to 100000 and CHUNKSZ to 10000.
3528
35292014-11-24  Jakub Jelinek  <jakub@redhat.com>
3530
3531	PR fortran/63938
3532	* testsuite/libgomp.fortran/pr63938-1.f90: New test.
3533	* testsuite/libgomp.fortran/pr63938-2.f90: New test.
3534
35352014-11-21  Steve Ellcey  <sellcey@imgtec.com>
3536
3537	* config/linux/mips/futex.h (SYS_futex): Define if not already done.
3538
35392014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
3540
3541	PR bootstrap/63784
3542	* configure: Regenerated.
3543
35442014-11-19  Uros Bizjak  <ubizjak@gmail.com>
3545
3546	* testsuite/libgomp.c/examples-4/e.53.5.c: Require
3547	vect_simd_clones effective target.
3548	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
3549
35502014-11-14  Jakub Jelinek  <jakub@redhat.com>
3551
3552	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
3553	of 32 as block_size.
3554	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
3555	instead of 32 as block_size.
3556
35572014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
3558	    Ilya Verbin  <ilya.verbin@intel.com>
3559
3560	* Makefile.in: Regenerate.
3561	* configure: Regenerate.
3562	* configure.ac: Set up offload_additional_options,
3563	offload_additional_lib_paths and offload_targets.
3564	* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
3565	OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
3566	* testsuite/Makefile.in: Regenerate.
3567	* testsuite/lib/libgomp.exp (libgomp_init): Append
3568	offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
3569	offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
3570	build directory to LD_LIBRARY_PATH for intelmic offload targets.
3571
35722014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
3573	    Ilya Verbin  <ilya.verbin@intel.com>
3574	    Kirill Yukhin  <kirill.yukhin@intel.com>
3575	    Ilya Tocar  <ilya.tocar@intel.com>
3576
3577	* testsuite/lib/libgomp.exp
3578	(check_effective_target_offload_device): New.
3579	* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
3580	* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
3581	* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
3582	* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
3583	* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
3584	* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
3585	* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
3586	* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
3587	* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
3588	* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
3589	* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
3590	* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
3591	* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
3592	* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
3593	* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
3594	* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
3595	* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
3596	* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
3597	* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
3598	* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
3599	* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
3600	* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
3601	* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
3602	* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
3603	* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
3604	* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
3605	* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
3606	* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
3607	* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
3608	* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
3609	* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
3610	* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
3611	* testsuite/libgomp.c/target-7.c: Fix test.
3612	* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
3613	* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
3614	* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
3615	* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
3616	* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
3617	* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
3618	* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
3619	* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
3620	* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
3621	* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
3622	* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
3623	* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
3624	* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
3625	* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
3626	* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
3627	* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
3628	* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
3629	* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
3630	* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
3631	* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
3632	* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
3633	* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
3634	* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
3635	* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
3636	* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
3637	* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
3638	* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
3639	* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
3640	* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
3641	* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
3642	* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
3643
36442014-11-13  Jakub Jelinek  <jakub@redhat.com>
3645	    Ilya Verbin  <ilya.verbin@intel.com>
3646	    Thomas Schwinge  <thomas@codesourcery.com>
3647	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
3648
3649	* libgomp.map (GOMP_4.0.1): New symbol version.
3650	Add GOMP_offload_register.
3651	* libgomp_target.h: New file.
3652	* splay-tree.h: New file.
3653	* target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
3654	(gomp_target_init): New forward declaration.
3655	(gomp_is_initialized): New static variable.
3656	(splay_tree_node, splay_tree, splay_tree_key): New typedefs.
3657	(struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
3658	New structures.
3659	(offload_images, num_offload_images, devices, num_devices): New static
3660	variables.
3661	(splay_compare): New static function.
3662	(struct gomp_device_descr): New structure.
3663	(gomp_get_num_devices): Call gomp_target_init.
3664	(resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
3665	(gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
3666	(GOMP_offload_register): New function.
3667	(GOMP_target): Arrange for host callback to be performed in a separate
3668	initial thread and contention group, inheriting ICVs from
3669	gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
3670	Add device initialization and lookup for target function in splay tree.
3671	(GOMP_target_data): Add device initialization and call gomp_map_vars.
3672	(GOMP_target_end_data): Call gomp_unmap_vars.
3673	(GOMP_target_update): Add device initialization and call gomp_update.
3674	(gomp_load_plugin_for_device, gomp_register_images_for_device)
3675	(gomp_target_init): New static functions.
3676
36772014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
3678	    Thomas Schwinge  <thomas@codesourcery.com>
3679	    Ilya Verbin  <ilya.verbin@intel.com>
3680	    Andrey Turetskiy  <andrey.turetskiy@intel.com>
3681
3682	* config.h.in: Regenerate.
3683	* configure: Regenerate.
3684	* configure.ac: Check for libdl, required for plugin support.
3685	(PLUGIN_SUPPORT): Define if plugins are supported.
3686	(enable_offload_targets): Support Intel MIC targets.
3687	(OFFLOAD_TARGETS): List of target names suitable for offloading.
3688
36892014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3690
3691	PR target/63610
3692	* configure: Regenerate.
3693
36942014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3695
3696	* config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
3697
36982014-10-06  Marek Polacek  <polacek@redhat.com>
3699
3700	* testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
3701	* testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
3702	* testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
3703	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
3704
37052014-10-06  Marek Polacek  <polacek@redhat.com>
3706
3707	* testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
3708	* testsuite/libgomp.c/nqueens-1.c: Likewise.
3709	* testsuite/libgomp.c/pr26943-3.c: Likewise.
3710	* testsuite/libgomp.c/pr26943-4.c: Likewise.
3711	* testsuite/libgomp.c/pr36802-2.c: Likewise.
3712	* testsuite/libgomp.c/pr36802-3.c: Likewise.
3713	* testsuite/libgomp.c/thread-limit-1.c: Likewise.
3714	* testsuite/libgomp.c/thread-limit-2.c: Likewise.
3715	* testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
3716	* testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
3717	* testsuite/libgomp.c/omp-parallel-for.c: Likewise.
3718	* testsuite/libgomp.c/omp-parallel-if.c: Likewise.
3719	* testsuite/libgomp.c/omp-single-1.c: Likewise.
3720	* testsuite/libgomp.c/omp-single-2.c: Likewise.
3721	* testsuite/libgomp.c/omp_matvec.c: Likewise.
3722	* testsuite/libgomp.c/omp_workshare3.c: Likewise.
3723	* testsuite/libgomp.c/omp_workshare4.c: Likewise.
3724	* testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
3725	declarations.
3726
37272014-10-03  Jakub Jelinek  <jakub@redhat.com>
3728
3729	PR libgomp/61200
3730	* testsuite/libgomp.c/pr61200.c: New test.
3731
37322014-09-18  Jakub Jelinek  <jakub@redhat.com>
3733
3734	PR c++/63248
3735	* testsuite/libgomp.c++/pr63248.C: New test.
3736
37372014-08-04  Jakub Jelinek  <jakub@redhat.com>
3738
3739	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
3740	is not zero, but taskgroup->children is NULL and there are
3741	any task->children, schedule those instead of waiting.
3742	* testsuite/libgomp.c/depend-6.c: New test.
3743	* testsuite/libgomp.c/depend-7.c: New test.
3744	* testsuite/libgomp.c/depend-8.c: New test.
3745	* testsuite/libgomp.c/depend-9.c: New test.
3746	* testsuite/libgomp.c/depend-10.c: New test.
3747
37482014-08-01  Jakub Jelinek  <jakub@redhat.com>
3749
3750	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
3751	(struct gomp_taskwait): New type.
3752	(struct gomp_task): Add taskwait and parent_depends_on, remove
3753	in_taskwait and taskwait_sem fields.
3754	(gomp_finish_task): Don't destroy taskwait_sem.
3755	* task.c (gomp_init_task): Don't init in_taskwait, instead init
3756	taskwait and parent_depends_on.
3757	(GOMP_task): For if (0) tasks with depend clause that depend on
3758	earlier tasks don't defer them, instead call
3759	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
3760	Initialize redundant_out field, for redundant out entries just
3761	move them at the end of linked list instead of removing them
3762	completely, and set redundant_out flag instead of redundant.
3763	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
3764	that task.
3765	(gomp_task_run_post_handle_dependers): If parent is in
3766	gomp_task_maybe_wait_for_dependencies and newly runnable task
3767	is not parent_depends_on, queue it in parent->children linked
3768	list after all runnable tasks with parent_depends_on set.
3769	Adjust for addition of taskwait indirection.
3770	(gomp_task_run_post_remove_parent): If parent is in
3771	gomp_task_maybe_wait_for_dependencies and task to be removed
3772	is parent_depends_on, decrement n_depend and if needed awake
3773	parent.  Adjust for addition of taskwait indirection.
3774	(GOMP_taskwait): Adjust for addition of taskwait indirection.
3775	(gomp_task_maybe_wait_for_dependencies): New function.
3776	* testsuite/libgomp.c/depend-5.c: New test.
3777
37782014-07-13  Tobias Burnus  <burnus@net-b.de>
3779
3780	* testsuite/libgomp.fortran/pr34020.f90: Make compile
3781	with TS 18508/Fortran 2015.
3782
37832014-07-06  Marek Polacek  <polacek@redhat.com>
3784
3785	PR c/6940
3786	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
3787
37882014-07-03  Jakub Jelinek  <jakub@redhat.com>
3789
3790	* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
3791	matches regex $lang_source_re, add $lang_include_flags to options.
3792	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
3793	* testsuite/libgomp.c++/c++.exp: Likewise.
3794	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
3795	and lang_include_flags instead of adding -fintrinsic-modules-path= to
3796	ALWAYS_CFLAGS.
3797	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
3798
37992014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3800
3801	* testsuite/libgomp.fortran/fortran.exp: Explain
3802	gfortran-dg-runtest usage.
3803
38042014-06-25  Jakub Jelinek  <jakub@redhat.com>
3805
3806	* testsuite/libgomp.fortran/simd5.f90: New test.
3807	* testsuite/libgomp.fortran/simd6.f90: New test.
3808	* testsuite/libgomp.fortran/simd7.f90: New test.
3809
38102014-06-24  Jakub Jelinek  <jakub@redhat.com>
3811
3812	* testsuite/libgomp.c/for-2.c: Define SC to static for
3813	#pragma omp for simd testing.
3814	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
3815	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
3816	SC macro.
3817	* testsuite/libgomp.c/simd-14.c: New test.
3818	* testsuite/libgomp.c/simd-15.c: New test.
3819	* testsuite/libgomp.c/simd-16.c: New test.
3820	* testsuite/libgomp.c/simd-17.c: New test.
3821	* testsuite/libgomp.c++/for-10.C: Define SC to static for
3822	#pragma omp for simd testing.
3823	* testsuite/libgomp.c++/simd10.C: New test.
3824	* testsuite/libgomp.c++/simd11.C: New test.
3825	* testsuite/libgomp.c++/simd12.C: New test.
3826	* testsuite/libgomp.c++/simd13.C: New test.
3827
3828	* testsuite/libgomp.fortran/aligned1.f03: New test.
3829	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
3830	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
3831	tasks with !$omp parallel !$omp single.
3832	* testsuite/libgomp.fortran/target8.f90: New test.
3833	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
3834	not to use trim in the combiner, instead call elemental function.
3835	(fn): New elemental function.
3836	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
3837	Make elemental.
3838	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
3839	omp_in): Likewise.
3840	* testsuite/libgomp.fortran/udr12.f90: New test.
3841	* testsuite/libgomp.fortran/udr13.f90: New test.
3842	* testsuite/libgomp.fortran/udr14.f90: New test.
3843	* testsuite/libgomp.fortran/udr15.f90: New test.
3844
38452014-06-18  Jakub Jelinek  <jakub@redhat.com>
3846
3847	* omp_lib.f90.in (openmp_version): Set to 201307.
3848	* omp_lib.h.in (openmp_version): Likewise.
3849	* testsuite/libgomp.c/target-8.c: New test.
3850	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
3851	and inbranch clauses.
3852	* testsuite/libgomp.fortran/depend-3.f90: New test.
3853	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
3854	openmp_version.
3855	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3856	* testsuite/libgomp.fortran/target1.f90: New test.
3857	* testsuite/libgomp.fortran/target2.f90: New test.
3858	* testsuite/libgomp.fortran/target3.f90: New test.
3859	* testsuite/libgomp.fortran/target4.f90: New test.
3860	* testsuite/libgomp.fortran/target5.f90: New test.
3861	* testsuite/libgomp.fortran/target6.f90: New test.
3862	* testsuite/libgomp.fortran/target7.f90: New test.
3863
38642014-06-10  Jakub Jelinek  <jakub@redhat.com>
3865
3866	PR fortran/60928
3867	* testsuite/libgomp.fortran/allocatable9.f90: New test.
3868	* testsuite/libgomp.fortran/allocatable10.f90: New test.
3869	* testsuite/libgomp.fortran/allocatable11.f90: New test.
3870	* testsuite/libgomp.fortran/allocatable12.f90: New test.
3871	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
3872	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
3873	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
3874	* testsuite/libgomp.fortran/associate1.f90: New test.
3875	* testsuite/libgomp.fortran/associate2.f90: New test.
3876	* testsuite/libgomp.fortran/procptr1.f90: New test.
3877
38782014-06-06  Jakub Jelinek  <jakub@redhat.com>
3879
3880	* testsuite/libgomp.fortran/simd1.f90: New test.
3881	* testsuite/libgomp.fortran/udr1.f90: New test.
3882	* testsuite/libgomp.fortran/udr2.f90: New test.
3883	* testsuite/libgomp.fortran/udr3.f90: New test.
3884	* testsuite/libgomp.fortran/udr4.f90: New test.
3885	* testsuite/libgomp.fortran/udr5.f90: New test.
3886	* testsuite/libgomp.fortran/udr6.f90: New test.
3887	* testsuite/libgomp.fortran/udr7.f90: New test.
3888	* testsuite/libgomp.fortran/udr8.f90: New test.
3889	* testsuite/libgomp.fortran/udr9.f90: New test.
3890	* testsuite/libgomp.fortran/udr10.f90: New test.
3891	* testsuite/libgomp.fortran/udr11.f90: New test.
3892
38932014-05-27  Uros Bizjak  <ubizjak@gmail.com>
3894
3895	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
3896	vect_simd_clones effective target.
3897	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
3898
38992014-05-21  Jakub Jelinek  <jakub@redhat.com>
3900
3901	PR middle-end/61252
3902	* testsuite/libgomp.c++/simd-9.C: New test.
3903
39042014-05-18  Uros Bizjak  <ubizjak@gmail.com>
3905
3906	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
3907	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
3908	texts according to their @menu entry positions.
3909
39102014-05-11  Jakub Jelinek  <jakub@redhat.com>
3911
3912	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
3913	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
3914	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
3915	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
3916	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
3917	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
3918	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
3919	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
3920	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
3921	* testsuite/libgomp.fortran/depend-1.f90: New test.
3922	* testsuite/libgomp.fortran/depend-2.f90: New test.
3923	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
3924	* testsuite/libgomp.fortran/simd1.f90: New test.
3925	* testsuite/libgomp.fortran/simd2.f90: New test.
3926	* testsuite/libgomp.fortran/simd3.f90: New test.
3927	* testsuite/libgomp.fortran/simd4.f90: New test.
3928	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
3929
39302014-05-02  Jakub Jelinek  <jakub@redhat.com>
3931
3932	* testsuite/libgomp.c/simd-10.c: New test.
3933	* testsuite/libgomp.c/simd-11.c: New test.
3934	* testsuite/libgomp.c/simd-12.c: New test.
3935	* testsuite/libgomp.c/simd-13.c: New test.
3936
39372014-04-24  Jakub Jelinek  <jakub@redhat.com>
3938
3939	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
3940	atomic type clauses in any order and optional comma in between.
3941	* testsuite/libgomp.c++/atomic-15.C: Likewise.
3942	* testsuite/libgomp.c/atomic-17.c: Likewise.
3943
3944	* testsuite/libgomp.c/simd-7.c: New test.
3945	* testsuite/libgomp.c/simd-8.c: New test.
3946	* testsuite/libgomp.c/simd-9.c: New test.
3947	* testsuite/libgomp.c/loop-16.c: New test.
3948
39492014-04-02  Richard Henderson  <rth@redhat.com>
3950
3951	* config/linux/futex.h (futex_wait): Get error value from errno.
3952	(futex_wake): Likewise.
3953
39542014-03-25  Jakub Jelinek  <jakub@redhat.com>
3955
3956	PR c++/60331
3957	* testsuite/libgomp.c++/udr-11.C: New test.
3958	* testsuite/libgomp.c++/udr-12.C: New test.
3959	* testsuite/libgomp.c++/udr-13.C: New test.
3960	* testsuite/libgomp.c++/udr-14.C: New test.
3961	* testsuite/libgomp.c++/udr-15.C: New test.
3962	* testsuite/libgomp.c++/udr-16.C: New test.
3963	* testsuite/libgomp.c++/udr-17.C: New test.
3964	* testsuite/libgomp.c++/udr-18.C: New test.
3965	* testsuite/libgomp.c++/udr-19.C: New test.
3966
39672014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3968
3969	Update copyright years
3970
39712014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3972
3973	* hashtab.h: Use the standard form for the copyright notice.
3974
39752014-01-02  Tobias Burnus  <burnus@net-b.de>
3976
3977	* libgomp.texi: Bump @copying's copyright year.
3978
39792013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
3980
3981	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
3982	alloca () with __builtin_alloca ().
3983	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
3984	* testsuite/libgomp.c/lock-3.c: Likewise.
3985	* testsuite/libgomp.c/pr48591.c: Likewise.
3986
39872013-12-17  Jakub Jelinek  <jakub@redhat.com>
3988
3989	PR testsuite/59534
3990	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
3991	comparisons.
3992
39932013-12-16  Jakub Jelinek  <jakub@redhat.com>
3994
3995	PR libgomp/58756
3996	* testsuite/libgomp.c/pr58756.c: New test.
3997
39982013-12-12  Jakub Jelinek  <jakub@redhat.com>
3999
4000	PR libgomp/59467
4001	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
4002	!$omp parallel.
4003
40042013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
4005
4006	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
4007	ALWAYS_CFLAGS.
4008	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
4009	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
4010	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4011	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
4012	Likewise.
4013
4014	* libgomp_g.h: Include <stddef.h> for size_t.
4015
4016	* libgomp.spec.in: Update comment about libgomp's dependencies.
4017	* configure.ac: Likewise.
4018	* configure: Regenerate.
4019
40202013-10-16  Tobias Burnus  <burnus@net-b.de>
4021
4022	* libgomp.texi: (Runtime Library Routines): Update references for
4023	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
4024	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
4025	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
4026	(Environment Variables): Update references for OpenMP 4.0. Add
4027	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
4028	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
4029	order.
4030
40312013-10-14  Jakub Jelinek  <jakub@redhat.com>
4032
4033	* env.c (parse_bind_var): Initialize value to avoid
4034	(false positive) warning.
4035
40362013-10-12  Jakub Jelinek  <jakub@redhat.com>
4037
4038	PR libgomp/58691
4039	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
4040	to check variable.
4041	(gomp_init_num_threads): Move i variable declaration into
4042	#ifdef CPU_ALLOC_SIZE block.
4043	* config/linux/affinity.c (gomp_affinity_init_level): Test
4044	gomp_places_list_len == 0 rather than gomp_places_list == 0
4045	when checking for topology reading error.
4046	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
4047	* env.c (parse_affinity): Add ignore argument, if true, don't populate
4048	gomp_places_list, only parse env var and always return false.
4049	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
4050	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
4051	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
4052	and either of these variables were parsed correctly into a places
4053	list.
4054
40552013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
4056	    Jakub Jelinek  <jakub@redhat.com>
4057
4058	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
4059	of 5 loopfn matches.
4060	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4061	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4062	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4063	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4064	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4065	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4066	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4067	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4068
40692013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
4070
4071	* Makefile.am (omp_lib.mod): Streamline rule.
4072	* Makefile.in: Regenerate.
4073
4074	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
4075	exceptions.
4076
4077	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
4078	* testsuite/libgomp.fortran/lib1.f90: Likewise.
4079	* testsuite/libgomp.fortran/lib2.f: Likewise.
4080	* testsuite/libgomp.fortran/lib3.f: Likewise.
4081
4082	* configure.ac: Typo fix.
4083	* configure: Regenerate.
4084
4085	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
4086	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4087
4088	* omp.h.in: Don't touch the user's namespace.
4089
40902013-10-11  Jakub Jelinek  <jakub@redhat.com>
4091	    Tobias Burnus  <burnus@net-b.de>
4092	    Richard Henderson  <rth@redhat.com>
4093
4094	* target.c: New file.
4095	* Makefile.am (libgomp_la_SOURCES): Add target.c.
4096	* Makefile.in: Regenerated.
4097	* libgomp_g.h (GOMP_task): Add depend argument.
4098	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
4099	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4100	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
4101	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4102	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4103	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
4104	GOMP_taskgroup_start, GOMP_taskgroup_end,
4105	GOMP_parallel_sections): New prototypes.
4106	* fortran.c (omp_is_initial_device): Add ialias_redirect.
4107	(omp_is_initial_device_): New function.
4108	(ULP, STR1, STR2, ialias_redirect): Removed.
4109	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
4110	omp_set_default_device_8_, omp_get_default_device_,
4111	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
4112	functions.
4113	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4114	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4115	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
4116	@@GOMP_4.0.
4117	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
4118	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
4119	omp_set_default_device, omp_set_default_device_,
4120	omp_set_default_device_8_, omp_get_default_device,
4121	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
4122	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
4123	omp_get_team_num_): Export @@OMP_4.0.
4124	* team.c (struct gomp_thread_start_data): Add place field.
4125	(gomp_thread_start): Clear thr->thread_pool and
4126	thr->task before returning.  Use gomp_team_barrier_wait_final
4127	instead of gomp_team_barrier_wait.  Initialize thr->place.
4128	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
4129	team_cancelled and task_queued_count fields.
4130	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
4131	before calling pthread_exit.
4132	(gomp_free_thread): No longer static.  Use
4133	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
4134	(gomp_team_start): Add flags argument.  Set
4135	thr->thread_pool->threads_busy to nthreads immediately after creating
4136	new pool.  Use gomp_managed_threads_lock instead of
4137	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
4138	(gomp_team_end): Use gomp_managed_threads_lock instead of
4139	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
4140	of gomp_team_barrier_wait.  If team->team_cancelled, call
4141	gomp_fini_worshare on ws chain starting at team->work_shares_to_free
4142	rather than thr->ts.work_share.
4143	(initialize_team): Don't call gomp_sem_init here.
4144	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
4145	caller.
4146	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
4147	* env.c (gomp_global_icv): Add default_device_var, target_data and
4148	bind_var initializers.
4149	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4150	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4151	gomp_places_list_len): New variables.
4152	(parse_bind_var, parse_one_place, parse_places_var): New functions.
4153	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
4154	sized places.
4155	(gomp_cancel_var): New global variable.
4156	(parse_int): New function.
4157	(handle_omp_display_env): New function.
4158	(initialize_env): Use it.  Initialize default_device_var.
4159	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
4160	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
4161	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
4162	been successfully parsed (and call gomp_init_affinity in that case).
4163	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4164	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4165	omp_get_team_num, omp_is_initial_device): New functions.
4166	* libgomp.h: Include stdlib.h.
4167	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
4168	Define.
4169	(struct target_mem_desc): Forward declare.
4170	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
4171	and thread_limit_var fields.
4172	(gomp_get_num_devices): New prototype.
4173	(gomp_cancel_var): New extern decl.
4174	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
4175	team_cancelled and task_queued_count fields.  Add comments about
4176	task_{,queued_,running_}count.
4177	(gomp_cancel_kind): New enum.
4178	(gomp_work_share_end_cancel): New prototype.
4179	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
4180	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
4181	and depend fields.
4182	(struct gomp_taskgroup): New type.
4183	(struct gomp_task_depend_entry,
4184	struct gomp_dependers_vec): New types.
4185	(gomp_finish_task): Free depend_hash if non-NULL.
4186	(struct gomp_team_state): Add place_partition_off
4187	and place_partition_len fields.
4188	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4189	gomp_places_list_len): New extern decls.
4190	(struct gomp_thread): Add place field.
4191	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4192	(gomp_init_thread_affinity): Add place argument.
4193	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4194	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4195	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4196	gomp_affinity_init_level, gomp_affinity_print_place): New
4197	prototypes.
4198	(gomp_team_start): Add flags argument.
4199	(gomp_thread_limit_var, gomp_remaining_threads_count,
4200	gomp_remaining_threads_lock): Remove.
4201	(gomp_managed_threads_lock): New variable.
4202	(struct gomp_thread_pool): Add threads_busy field.
4203	(gomp_free_thread): New prototype.
4204	* task.c: Include hashtab.h.
4205	(hash_entry_type): New typedef.
4206	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
4207	(gomp_init_task): Clear dependers, depend_hash, depend_count,
4208	copy_ctors_done and taskgroup fields.
4209	(GOMP_task): Add depend argument, handle depend clauses.  If
4210	gomp_team_barrier_cancelled or if it's taskgroup has been
4211	cancelled, don't queue or start new tasks.  Set copy_ctors_done
4212	field if needed.  Initialize taskgroup field.  If copy_ctors_done
4213	and already cancelled, don't discard the task.  If taskgroup is
4214	non-NULL, enqueue the task into taskgroup queue.  Increment
4215	num_children field in taskgroup.  Increment task_queued_count.
4216	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
4217	gomp_task_run_post_remove_taskgroup): New inline functions.
4218	(gomp_task_run_post_handle_depend_hash,
4219	gomp_task_run_post_handle_dependers,
4220	gomp_task_run_post_handle_depend): New functions.
4221	(GOMP_taskwait): Use them.  If more than one new tasks
4222	have been queued, wake other threads if needed.
4223	(gomp_barrier_handle_tasks): Likewise.  If
4224	gomp_team_barrier_cancelled, don't start any new tasks, just free
4225	all tasks.
4226	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
4227	* omp_lib.f90.in
4228	(omp_proc_bind_kind, omp_proc_bind_false,
4229	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4230	omp_proc_bind_spread): New params.
4231	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4232	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4233	omp_get_team_num, omp_is_initial_device): New interfaces.
4234	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
4235	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
4236	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
4237	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
4238	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
4239	useless use omp_lib_kinds.
4240	* omp.h.in (omp_proc_bind_t): New typedef.
4241	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4242	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4243	omp_get_team_num, omp_is_initial_device): New prototypes.
4244	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
4245	through to gomp_team_start.
4246	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
4247	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
4248	Adjust gomp_parallel_loop_start callers.
4249	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4250	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4251	GOMP_loop_end_cancel): New functions.
4252	(GOMP_parallel_end): Add ialias_redirect.
4253	* hashtab.h: New file.
4254	* libgomp.texi (Environment Variables): Minor cleanup,
4255	update section refs to OpenMP 4.0rc2.
4256	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
4257	environment variables.
4258	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
4259	team->work_shares_to_free to thr->ts.work_share before calling
4260	free_work_share.
4261	(gomp_work_share_end_cancel): New function.
4262	* config/linux/proc.c: Include errno.h.
4263	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
4264	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
4265	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
4266	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
4267	gomp_cpuset_size is sizeof (cpu_set_t).
4268	(gomp_init_num_threads): Initialize gomp_cpuset_size,
4269	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
4270	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
4271	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
4272	contain any logical CPUs.
4273	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
4274	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
4275	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
4276	pthread_getaffinity_np.  Check gomp_places_list instead of
4277	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
4278	* config/linux/bar.c (gomp_barrier_wait_end,
4279	gomp_barrier_wait_last): Use BAR_* defines.
4280	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
4281	from state where needed.  Set work_share_cancelled to 0 on last
4282	thread.
4283	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
4284	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
4285	functions.
4286	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
4287	Add cpusetsize argument.
4288	(gomp_cpuset_size, gomp_cpusetp): Declare.
4289	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
4290	(affinity_counter): Remove.
4291	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
4292	if CPU_ALLOC_SIZE isn't defined.
4293	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
4294	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
4295	bind current thread to the first place.
4296	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
4297	pthread_setaffinity_np to gomp_places_list[place].
4298	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4299	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4300	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4301	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
4302	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
4303	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
4304	(gomp_barrier_t): Add awaited_final field.
4305	(gomp_barrier_init): Initialize awaited_final field.
4306	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
4307	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
4308	prototypes.
4309	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
4310	defines.
4311	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
4312	gomp_team_barrier_cancelled): New inline functions.
4313	(gomp_barrier_last_thread,
4314	gomp_team_barrier_set_task_pending,
4315	gomp_team_barrier_clear_task_pending,
4316	gomp_team_barrier_set_waiting_for_tasks,
4317	gomp_team_barrier_waiting_for_tasks,
4318	gomp_team_barrier_done): Use BAR_* defines.
4319	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
4320	(gomp_barrier_wait_end): Use BAR_* defines.
4321	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
4322	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
4323	Use BAR_* defines.
4324	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
4325	gomp_team_barrier_cancel): New functions.
4326	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
4327	argument.
4328	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4329	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4330	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4331	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
4332	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
4333	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
4334	(gomp_barrier_t): Add cancellable field.
4335	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
4336	gomp_team_barrier_cancel): New prototypes.
4337	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
4338	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
4339	gomp_team_barrier_cancelled): New inline functions.
4340	(gomp_barrier_wait_start, gomp_barrier_last_thread,
4341	gomp_team_barrier_set_task_pending,
4342	gomp_team_barrier_clear_task_pending,
4343	gomp_team_barrier_set_waiting_for_tasks,
4344	gomp_team_barrier_waiting_for_tasks,
4345	gomp_team_barrier_done): Use BAR_* defines.
4346	* barrier.c (GOMP_barrier_cancel): New function.
4347	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
4348	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4349	omp_proc_bind_spread): New params.
4350	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4351	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4352	omp_get_team_num, omp_is_initial_device): New externals.
4353	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
4354	New functions.
4355	(gomp_resolve_num_threads): Adjust for thread_limit now being in
4356	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
4357	infinity.  If not nested, just return minimum of max_num_threads
4358	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
4359	to the returned value.  Otherwise, don't update atomically
4360	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
4361	(GOMP_parallel_end): Adjust for thread_limit now being in
4362	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
4363	infinity.  Adjust threads_busy in the pool rather than
4364	gomp_remaining_threads_count.  Remember team->nthreads and call
4365	gomp_team_end before adjusting threads_busy, if not nested
4366	afterwards, just set it to 1 non-atomically.  Add ialias.
4367	(GOMP_parallel_start): Adjust gomp_team_start caller.
4368	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
4369	* testsuite/libgomp.c/affinity-1.c: New test.
4370	* testsuite/libgomp.c/atomic-15.c: New test.
4371	* testsuite/libgomp.c/atomic-16.c: New test.
4372	* testsuite/libgomp.c/atomic-17.c: New test.
4373	* testsuite/libgomp.c/cancel-for-1.c: New test.
4374	* testsuite/libgomp.c/cancel-for-2.c: New test.
4375	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
4376	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
4377	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
4378	* testsuite/libgomp.c/cancel-sections-1.c: New test.
4379	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
4380	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
4381	* testsuite/libgomp.c/depend-1.c: New test.
4382	* testsuite/libgomp.c/depend-2.c: New test.
4383	* testsuite/libgomp.c/depend-3.c: New test.
4384	* testsuite/libgomp.c/depend-4.c: New test.
4385	* testsuite/libgomp.c/for-1.c: New test.
4386	* testsuite/libgomp.c/for-1.h: New file.
4387	* testsuite/libgomp.c/for-2.c: New test.
4388	* testsuite/libgomp.c/for-2.h: New file.
4389	* testsuite/libgomp.c/for-3.c: New test.
4390	* testsuite/libgomp.c/pr58392.c: New test.
4391	* testsuite/libgomp.c/simd-1.c: New test.
4392	* testsuite/libgomp.c/simd-2.c: New test.
4393	* testsuite/libgomp.c/simd-3.c: New test.
4394	* testsuite/libgomp.c/simd-4.c: New test.
4395	* testsuite/libgomp.c/simd-5.c: New test.
4396	* testsuite/libgomp.c/simd-6.c: New test.
4397	* testsuite/libgomp.c/target-1.c: New test.
4398	* testsuite/libgomp.c/target-2.c: New test.
4399	* testsuite/libgomp.c/target-3.c: New test.
4400	* testsuite/libgomp.c/target-4.c: New test.
4401	* testsuite/libgomp.c/target-5.c: New test.
4402	* testsuite/libgomp.c/target-6.c: New test.
4403	* testsuite/libgomp.c/target-7.c: New test.
4404	* testsuite/libgomp.c/taskgroup-1.c: New test.
4405	* testsuite/libgomp.c/thread-limit-1.c: New test.
4406	* testsuite/libgomp.c/thread-limit-2.c: New test.
4407	* testsuite/libgomp.c/thread-limit-3.c: New test.
4408	* testsuite/libgomp.c/udr-1.c: New test.
4409	* testsuite/libgomp.c/udr-2.c: New test.
4410	* testsuite/libgomp.c/udr-3.c: New test.
4411	* testsuite/libgomp.c++/affinity-1.C: New test.
4412	* testsuite/libgomp.c++/atomic-10.C: New test.
4413	* testsuite/libgomp.c++/atomic-11.C: New test.
4414	* testsuite/libgomp.c++/atomic-12.C: New test.
4415	* testsuite/libgomp.c++/atomic-13.C: New test.
4416	* testsuite/libgomp.c++/atomic-14.C: New test.
4417	* testsuite/libgomp.c++/atomic-15.C: New test.
4418	* testsuite/libgomp.c++/cancel-for-1.C: New test.
4419	* testsuite/libgomp.c++/cancel-for-2.C: New test.
4420	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
4421	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
4422	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
4423	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
4424	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
4425	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
4426	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
4427	* testsuite/libgomp.c++/cancel-test.h: New file.
4428	* testsuite/libgomp.c++/for-9.C: New test.
4429	* testsuite/libgomp.c++/for-10.C: New test.
4430	* testsuite/libgomp.c++/for-11.C: New test.
4431	* testsuite/libgomp.c++/simd-1.C: New test.
4432	* testsuite/libgomp.c++/simd-2.C: New test.
4433	* testsuite/libgomp.c++/simd-3.C: New test.
4434	* testsuite/libgomp.c++/simd-4.C: New test.
4435	* testsuite/libgomp.c++/simd-5.C: New test.
4436	* testsuite/libgomp.c++/simd-6.C: New test.
4437	* testsuite/libgomp.c++/simd-7.C: New test.
4438	* testsuite/libgomp.c++/simd-8.C: New test.
4439	* testsuite/libgomp.c++/target-1.C: New test.
4440	* testsuite/libgomp.c++/target-2.C: New test.
4441	* testsuite/libgomp.c++/target-2-aux.cc: New file.
4442	* testsuite/libgomp.c++/target-3.C: New test.
4443	* testsuite/libgomp.c++/taskgroup-1.C: New test.
4444	* testsuite/libgomp.c++/udr-1.C: New test.
4445	* testsuite/libgomp.c++/udr-2.C: New test.
4446	* testsuite/libgomp.c++/udr-3.C: New test.
4447	* testsuite/libgomp.c++/udr-4.C: New test.
4448	* testsuite/libgomp.c++/udr-5.C: New test.
4449	* testsuite/libgomp.c++/udr-6.C: New test.
4450	* testsuite/libgomp.c++/udr-7.C: New test.
4451	* testsuite/libgomp.c++/udr-8.C: New test.
4452	* testsuite/libgomp.c++/udr-9.C: New test.
4453
44542013-09-20  Jakub Jelinek  <jakub@redhat.com>
4455
4456	PR testsuite/57605
4457	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
4458	ALWAYS_CFLAGS.
4459
44602013-09-20  Alan Modra  <amodra@gmail.com>
4461
4462	* configure: Regenerate.
4463
44642013-09-19  Jakub Jelinek  <jakub@redhat.com>
4465
4466	* testsuite/libgomp.c/sections-2.c: New test.
4467
44682013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
4469
4470	* testsuite/libgomp.fortran/strassen.f90:
4471	Add dg-skip-if aarch64_tiny.
4472
44732013-06-20  Iain Sandoe  <iain@codesourcery.com>
4474	    Cesar Philippidis  <cesar@codesourcery.com>
4475
4476	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
4477	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
4478	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
4479	* testsuite/libgomp.fortran/fortran.exp: Likewise.
4480	* testsuite/libgomp.graphite/graphite.exp: Likewise.
4481	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
4482	Use dg-runtest rather than gfortran-dg-runtest.
4483
44842013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
4485
4486	* testsuite/libgomp.c/icv-2.c: Extend current handling of
4487	Linux-based x86 systems to cover all GNU systems.
4488	* testsuite/libgomp.c/lock-3.c: Likewise.
4489	* testsuite/libgomp.c/pr48591.c: Likewise.
4490
44912013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
4492
4493	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
4494	GNU/Hurd, as done for Linux-based systems.
4495
4496	* config/posix/ptrlock.h: Fix comment.
4497
44982013-05-27  Tobias Burnus  <burnus@net-b.de>
4499
4500	PR fortran/57423
4501	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
4502	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
4503	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
4504	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
4505	omp_destroy_nest_lock): Correct arguments to match the one in
4506	the OpenMP spec.
4507	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
4508	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
4509	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
4510	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
4511
45122013-05-16  Jakub Jelinek  <jakub@redhat.com>
4513
4514	* testsuite/libgomp.c/loop-13.c: New test.
4515	* testsuite/libgomp.c/loop-14.c: New test.
4516	* testsuite/libgomp.c/loop-15.c: New test.
4517	* testsuite/libgomp.c++/loop-13.C: New test.
4518	* testsuite/libgomp.c++/loop-14.C: New test.
4519	* testsuite/libgomp.c++/loop-15.C: New test.
4520
45212013-02-06  Jakub Jelinek  <jakub@redhat.com>
4522
4523	PR middle-end/56217
4524	* testsuite/libgomp.c++/pr56217.C: New test.
4525
45262013-02-01  Alan Modra  <amodra@gmail.com>
4527
4528	* task.c (GOMP_task, GOMP_taskwait): Comment.
4529
45302013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
4531	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
4532
4533	PR libgomp/55561
4534	* config/linux/wait.h (do_spin): Use atomic load for addr.
4535	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
4536	for intptr and ptrlock.
4537	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
4538	for ptrlock.
4539
45402013-01-22  Alan Modra  <amodra@gmail.com>
4541
4542	PR libgomp/51376
4543	PR libgomp/56073
4544	* task.c (GOMP_task): Revert 2011-12-09 change.
4545	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
4546	barrier to read task->children..
4547	(gomp_barrier_handle_tasks): ..and matching atomic store with
4548	release barrier here when setting parent->children to NULL.
4549
45502013-01-16  Jakub Jelinek  <jakub@redhat.com>
4551	    Tobias Burnus  <burnus@net-b.de>
4552
4553	PR driver/55884
4554	* testsuite/libgomp.fortran/fortran.exp: Use
4555	-fintrinsic-modules-path= instead of
4556	-fintrinsic-modules-path.
4557
45582013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
4559
4560	Update copyright years.
4561
45622012-12-19  Tobias Burnus  <burnus@net-b.de>
4563
4564	* testsuite/libgomp.fortran/fortran.exp: Set
4565	-fintrinsic-modules-path.
4566
45672012-12-19  Tobias Burnus  <burnus@net-b.de>
4568
4569	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
4570	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
4571
45722012-11-21  Jakub Jelinek  <jakub@redhat.com>
4573
4574	PR libgomp/55411
4575	* team.c (gomp_free_thread): Decrease gomp_managed_threads
4576	if pool had any threads_used.
4577
45782012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
4579
4580	* testsuite/libgomp.c++/pr24455.C: Use
4581	-Wl,-undefined,dynamic_lookup on darwin.
4582
45832012-11-07  David Edelsohn  <dje.gcc@gmail.com>
4584
4585	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
4586
45872012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
4588
4589	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
4590
45912012-10-23  Ian Bolton  <ian.bolton@arm.com>
4592	    Jim MacArthur  <jim.macarthur@arm.com>
4593	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
4594	    Nigel Stephens  <nigel.stephens@arm.com>
4595	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4596	    Richard Earnshaw  <rearnsha@arm.com>
4597	    Sofiane Naci  <sofiane.naci@arm.com>
4598	    Stephen Thomas  <stephen.thomas@arm.com>
4599	    Tejas Belagod  <tejas.belagod@arm.com>
4600	    Yufeng Zhang  <yufeng.zhang@arm.com>
4601
4602	* configure.tgt: Add AArch64.
4603
46042012-10-04  Jason Merrill  <jason@redhat.com>
4605
4606	* testsuite/libgomp.c++/tls-init1.C: New.
4607
46082012-09-14  David Edelsohn  <dje.gcc@gmail.com>
4609
4610	* configure: Regenerated.
4611
46122012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
4613
4614	* config/linux/mips/futex.h (sys_futex0): Change to static
4615	function with noinline, nomips16 attributes under MIPS16. Adjust
4616	asm statement to place 'li v0,SYS_futex' immediately before
4617	syscall insn.
4618
46192012-07-04  Sandra Loosemore <sandra@codesourcery.com>
4620
4621	* libgomp.texi (Library Index): Renamed from "Index" to prevent
4622	conflict with index.html on case-insensitive file systems.
4623
46242012-07-03  Uros Bizjak  <ubizjak@gmail.com>
4625
4626	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
4627	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
4628
46292012-07-02  Richard Guenther  <rguenther@suse.de>
4630	    Michael Matz  <matz@suse.de>
4631	    Tobias Grosser <tobias@grosser.es>
4632	    Sebastian Pop <sebpop@gmail.com>
4633
4634	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4635	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4636	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4637	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4638
46392012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
4640
4641	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
4642
46432012-06-22  Richard Guenther  <rguenther@suse.de>
4644
4645	Merge from graphite branch
4646	2012-01-13  Tobias Grosser  <tobias@grosser.es>
4647
4648	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
4649	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4650
46512012-06-07  Jakub Jelinek  <jakub@redhat.com>
4652
4653	PR middle-end/53580
4654	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
4655	use GOMP_barrier () call instead.
4656	* testsuite/libgomp.c/pr26943-3.c: Likewise.
4657	* testsuite/libgomp.c/pr26943-4.c: Likewise.
4658	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
4659	call GOMP_barrier instead.
4660	* testsuite/libgomp.fortran/vla5.f90: Likewise.
4661
46622012-06-06  Jakub Jelinek  <jakub@redhat.com>
4663
4664	PR libgomp/52993
4665	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
4666	argument to memset call.
4667
46682012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
4669
4670	* configure: Regenerated.
4671
46722012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4673
4674	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
4675
46762012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
4677
4678	PR bootstrap/52812
4679	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
4680
46812012-03-22  Jakub Jelinek  <jakub@redhat.com>
4682
4683	PR middle-end/52547
4684	* testsuite/libgomp.c/pr52547.c: New test.
4685
46862012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4687
4688	* testsuite/lib/libgomp.exp: load fortran-modules.exp
4689
46902012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4691
4692	* configure.tgt (mips-sgi-irix6*): Remove.
4693
46942012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4695
4696	* configure.tgt (alpha*-dec-osf*): Remove.
4697
4698	* config/osf/sem.h: Remove.
4699	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
4700
47012012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
4702
4703	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
4704
47052012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4706
4707	PR libstdc++/52188
4708	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
4709	Remove ENABLE_SYMVERS_SOL2.
4710	* configure: Regenerate.
4711	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
4712	(PREPROCESS): New variable.
4713	(libgomp.ver): New target.
4714	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
4715	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
4716	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
4717	Use libgomp.ver.
4718	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
4719	* Makefile.in: Regenerate.
4720
47212012-02-14  Walter Lee  <walt@tilera.com>
4722
4723	* configure.tgt: Handle tilegx and tilepro.
4724	* config/linux/tile/futex.h: New file.
4725
47262012-02-08  Richard Guenther  <rguenther@suse.de>
4727
4728	PR tree-optimization/46886
4729	* testsuite/libgomp.c/pr46886.c: New testcase.
4730
47312012-01-25  Matthias Klose  <doko@ubuntu.com>
4732
4733	* config/linux/arm: Remove empty directory.
4734	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
4735
47362011-12-09  Alan Modra  <amodra@gmail.com>
4737
4738	PR libgomp/51376
4739	* task.c (GOMP_taskwait): Don't access task->children outside of
4740	task_lock mutex region.
4741	(GOMP_task): Likewise.
4742
47432011-12-06  Jakub Jelinek  <jakub@redhat.com>
4744
4745	PR libgomp/51132
4746	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
4747	to file scope.
4748	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4749	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4750	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4751	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4752	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4753
47542011-12-02  Alan Modra  <amodra@gmail.com>
4755
4756	* config/linux/affinity.c: Use atomic rather than sync builtin.
4757	* config/linux/lock.c: Likewise.
4758	* config/linux/ptrlock.h: Likewise.
4759	* config/linux/ptrlock.c: Likewise.
4760	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
4761	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
4762	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
4763	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
4764	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
4765	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
4766	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
4767	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
4768	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
4769	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
4770
47712011-11-30  Alan Modra  <amodra@gmail.com>
4772
4773	PR libgomp/51298
4774	* config/linux/bar.h: Use atomic rather than sync builtins.
4775	* config/linux/bar.c: Likewise.  Add missing acquire
4776	synchronisation on generation field.
4777	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
4778	double unlock.
4779
47802011-11-30  Alan Modra  <amodra@gmail.com>
4781
4782	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
4783	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
4784	* config/linux/mutex.h: Use atomic rather than sync builtins.
4785	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
4786	* config/linux/omp-lock.h: Comment fix.
4787	* config/linux/arm/mutex.h: Delete.
4788	* config/linux/powerpc/mutex.h: Delete.
4789	* config/linux/ia64/mutex.h: Delete.
4790	* config/linux/mips/mutex.h: Delete.
4791
47922011-11-30  Alan Modra  <amodra@gmail.com>
4793
4794	PR libgomp/51249
4795	* config/linux/sem.h: Rewrite.
4796	* config/linux/sem.c: Rewrite.
4797
47982011-11-28  Richard Henderson  <rth@redhat.com>
4799
4800	* libgomp.h (enum memmodel): New.
4801
48022011-11-21  Andreas Tobler  <andreast@fgznet.ch>
4803
4804	* configure: Regenerate.
4805
48062011-10-10  Matthias Klose  <doko@ubuntu.com>
4807
4808	* config/posix95: Remove empty directory.
4809
48102011-08-26  Jakub Jelinek  <jakub@redhat.com>
4811
4812	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
4813
48142011-08-19  Jakub Jelinek  <jakub@redhat.com>
4815
4816	PR fortran/49792
4817	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
4818	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
4819
48202011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4821
4822	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
4823
48242011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4825
4826	PR libgomp/49965
4827	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
4828
48292011-08-03  Uros Bizjak  <ubizjak@gmail.com>
4830
4831	* config/linux/proc.h: New.
4832	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
4833	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
4834	(gomp_init_num_threads): Update call to cpuset_popcount.
4835	(get_num_procs): Ditto.
4836	* config/linux/affinity.c (gomp_init_affinity): Call
4837	gomp_cpuset_popcount.
4838
48392011-08-02  Jakub Jelinek  <jakub@redhat.com>
4840
4841	PR fortran/42041
4842	PR fortran/46752
4843	* omp.h.in (omp_in_final): New prototype.
4844	* omp_lib.f90.in (omp_in_final): New interface.
4845	(omp_integer_kind, omp_logical_kind): Remove
4846	and replace all its uses in the module with 4.
4847	(openmp_version): Change to 201107.
4848	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
4849	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
4850	kind for the parameters.
4851	(omp_in_final): New external.
4852	(openmp_version): Change to 201107.
4853	* task.c (omp_in_final): New function.
4854	(gomp_init_task): Initialize final_task.
4855	(GOMP_task): Remove unused attribute from flags.  Handle final
4856	tasks.
4857	(GOMP_taskyield): New function.
4858	(omp_in_final): Return true if if (false) or final (true) task
4859	or descendant of final (true).
4860	* fortran.c (omp_in_final_): New function.
4861	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
4862	(GOMP_3.0): Export GOMP_taskyield.
4863	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
4864	variables.
4865	(parse_unsigned_long_list): New function.
4866	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
4867	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
4868	even if parse_affinity returned false.
4869	* config/linux/affinity.c (gomp_init_affinity): Handle
4870	gomp_cpu_affinity_len == 0.
4871	* libgomp_g.h (GOMP_taskyield): New prototype.
4872	* libgomp.h (struct gomp_task): Add final_task field.
4873	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
4874	* team.c (gomp_team_start): Override new task's nthreads_var icv
4875	if list form OMP_NUM_THREADS has been used and it has value for
4876	the new nesting level.
4877
4878	* testsuite/libgomp.c/atomic-11.c: New test.
4879	* testsuite/libgomp.c/atomic-12.c: New test.
4880	* testsuite/libgomp.c/atomic-13.c: New test.
4881	* testsuite/libgomp.c/atomic-14.c: New test.
4882	* testsuite/libgomp.c/reduction-6.c: New test.
4883	* testsuite/libgomp.c/task-5.c: New test.
4884	* testsuite/libgomp.c++/atomic-2.C: New test.
4885	* testsuite/libgomp.c++/atomic-3.C: New test.
4886	* testsuite/libgomp.c++/atomic-4.C: New test.
4887	* testsuite/libgomp.c++/atomic-5.C: New test.
4888	* testsuite/libgomp.c++/atomic-6.C: New test.
4889	* testsuite/libgomp.c++/atomic-7.C: New test.
4890	* testsuite/libgomp.c++/atomic-8.C: New test.
4891	* testsuite/libgomp.c++/atomic-9.C: New test.
4892	* testsuite/libgomp.c++/task-8.C: New test.
4893	* testsuite/libgomp.c++/reduction-4.C: New test.
4894	* testsuite/libgomp.fortran/allocatable7.f90: New test.
4895	* testsuite/libgomp.fortran/allocatable8.f90: New test.
4896	* testsuite/libgomp.fortran/crayptr3.f90: New test.
4897	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
4898	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
4899	* testsuite/libgomp.fortran/pointer1.f90: New test.
4900	* testsuite/libgomp.fortran/pointer2.f90: New test.
4901	* testsuite/libgomp.fortran/task4.f90: New test.
4902
49032011-08-02  Tobias Burnus  <burnus@net-b.de>
4904
4905	* libgomp.texi: Update OpenMP spec references to 3.1.
4906	(omp_in_final,OMP_PROC_BIND): New sections.
4907	(OMP_NUM_THREADS): Document that the value can be now a list.
4908	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
4909
49102011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
4911
4912	* config/linux/x86/futex.h: Check __x86_64__ instead of
4913	__LP64__.
4914
49152011-07-29  Jakub Jelinek  <jakub@redhat.com>
4916
4917	PR middle-end/49897
4918	PR middle-end/49898
4919	* testsuite/libgomp.c/pr49897-1.c: New test.
4920	* testsuite/libgomp.c/pr49897-2.c: New test.
4921	* testsuite/libgomp.c/pr49898-1.c: New test.
4922	* testsuite/libgomp.c/pr49898-2.c: New test.
4923
49242011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
4925
4926	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
4927	for ia32 instead of ilp32.
4928
4929	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
4930	* testsuite/libgomp.c/atomic-6.c: Likewise.
4931
49322011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
4933
4934	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
4935	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
4936
49372011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4938
4939	PR libgomp/45351
4940	* config/osf/sem.h: New file.
4941	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
4942
49432011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4944
4945	PR target/49541
4946	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
4947	ldflags.
4948
49492011-07-15  Jakub Jelinek  <jakub@redhat.com>
4950
4951	* config/linux/wait.h (do_spin): New inline, largely copied
4952	from do_wait, just don't do futex_wait here, instead return true if
4953	it should be done.
4954	(do_wait): Implement using do_spin.
4955	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
4956	to prototype.
4957	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4958	__sync_bool_compare_and_swap, pass the oldval to
4959	gomp_mutex_lock_slow.
4960	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
4961	If all mutex contenders are just spinning and not sleeping, don't
4962	change state to 2 unnecessarily.  Optimize the loop when state has
4963	already become 2 to use just one atomic operation per loop instead
4964	of two.
4965	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
4966	to prototype.
4967	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
4968	__sync_bool_compare_and_swap, pass the oldval to
4969	gomp_mutex_lock_slow.
4970
49712011-06-22  Jakub Jelinek  <jakub@redhat.com>
4972
4973	PR libgomp/49490
4974	* iter.c (gomp_iter_static_next): For chunk size 0
4975	only use n ceil/ nthreads size for the first
4976	n % nthreads threads in the team instead of
4977	all threads except for the last few ones which
4978	get less work or none at all.
4979	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
4980	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
4981	chunk argument, set run_sched_modifier to 0 for static
4982	resp. 1 for other kinds.  If chunk argument is 0
4983	and not static, set value to 1.
4984
49852011-05-19  Jakub Jelinek  <jakub@redhat.com>
4986
4987	PR c++/49043
4988	* testsuite/libgomp.c++/pr49043.C: New test.
4989
4990	PR c++/48869
4991	* testsuite/libgomp.c++/pr48869.C: New test.
4992
49932011-05-06  Jakub Jelinek  <jakub@redhat.com>
4994
4995	PR fortran/48894
4996	* fortran.c: Include limits.h.
4997	(TO_INT): Define.
4998	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
4999	*set.
5000	(omp_set_num_threads_8_, omp_set_schedule_8_,
5001	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
5002	omp_get_team_size_8_): Use TO_INT macro.
5003	* testsuite/libgomp.fortran/pr48894.f90: New test.
5004
50052011-04-13  Jakub Jelinek  <jakub@redhat.com>
5006
5007	PR middle-end/48591
5008	* testsuite/libgomp.c/pr48591.c: New test.
5009
50102011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5011
5012	PR bootstrap/48135
5013	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
5014	* configure: Regenerate.
5015
50162011-02-27  Jakub Jelinek  <jakub@redhat.com>
5017
5018	PR fortran/47886
5019	* testsuite/libgomp.fortran/task3.f90: New test.
5020
50212011-02-24  Tobias Burnus  <burnus@net-b.de>
5022
5023	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
5024
50252011-02-23  Jakub Jelinek  <jakub@redhat.com>
5026
5027	PR libgomp/47854
5028	* libgomp.texi (omp_get_wtime): Don't say time in the past
5029	must be Unix Epoch.
5030
50312011-02-18  Jakub Jelinek  <jakub@redhat.com>
5032
5033	PR libgomp/47804
5034	* testsuite/libgomp.fortran/fortran.exp: Check for both
5035	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
5036	but $blddir != "", still append ${blddir}/${lang_library_path}
5037	to ld_library_path.
5038
50392011-02-16  Tobias Burnus  <burnus@net-b.de>
5040
5041	PR libgomp/47758
5042	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
5043	of libquadmath.a before adding its libpath to ldflags.
5044
50452011-02-14  Jakub Jelinek  <jakub@redhat.com>
5046
5047	PR libgomp/47731
5048	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
5049	to FUTEX_WAIT futex syscall.
5050	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
5051
50522011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5053
5054	* configure: Regenerate.
5055
50562011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
5057
5058	PR libstdc++/36104
5059	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
5060
50612011-01-16  Gerald Pfeifer
5062
5063	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
5064
50652010-12-14  Jakub Jelinek  <jakub@redhat.com>
5066
5067	PR fortran/46874
5068	* libgomp.fortran/allocatable6.f90: New test.
5069
50702010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5071
5072	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
5073	* configure: Regenerate.
5074
50752010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
5076
5077	PR target/40125
5078	PR lto/46695
5079	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
5080	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
5081	* aclocal.m4: Regenerate.
5082	* configure: Regenerate.
5083	* Makefile.in: Regenerate.
5084	* testsuite/Makefile.in: Regenerate.
5085
50862010-12-02  Jakub Jelinek  <jakub@redhat.com>
5087
5088	PR fortran/46753
5089	* libgomp.fortran/pr46753.f90: New test.
5090
5091	PR libgomp/43706
5092	* env.c (initialize_env): Default to spin count 300000
5093	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
5094	is specified.
5095
5096	PR libgomp/45240
5097	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
5098	at the end if sync builtins aren't supported.
5099
51002010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5101
5102	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
5103
51042010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5105
5106	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
5107
51082010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
5109
5110	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
5111
51122010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
5113	    Tobias Burnus  <burnus@net-b.de>
5114
5115	PR fortran/32049
5116	* configure.ac:
5117	* configure: Regenerate.
5118
51192010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5120
5121	* config/linux/futex.h: New.
5122	* config/linux/arm/mutex.h: New.
5123	* configure.tgt (arm*-*-linux*): Add config path.
5124
51252010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
5126
5127	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5128
51292010-09-23  Tobias Burnus  <burnus@net-b.de>
5130
5131	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
5132	Change Fortran datatype to LOGICAL.
5133	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
5134	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
5135
51362010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5137
5138	* configure: Regenerate.
5139
51402010-07-26  Jakub Jelinek  <jakub@redhat.com>
5141
5142	* libgomp.texi: Add function keyword to a couple of Fortran
5143	interfaces, use integer instead of int for Fortran.
5144
51452010-07-26  Aldy Hernandez  <aldyh@redhat.com>
5146
5147	* libgomp.texi: Fix spelling and pasto problems throughout.
5148	Adjust prototypes to match code.
5149
51502010-07-24  Tobias Burnus  <burnus@net-b.de>
5151
5152	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
5153	silence -fwhole-file warning.
5154
51552010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5156
5157	* configure.tgt (*-*-solaris2.[56]*): Removed.
5158
51592010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5160
5161	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
5162	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
5163	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
5164	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
5165	targetting solaris2*.
5166	* configure: Regenerate.
5167	* config.h.in: Regenerate.
5168
5169	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
5170	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
5171	Add libgomp_version_dep.
5172	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
5173	versioning.
5174	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
5175	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
5176	* Makefile.in: Regenerate.
5177
5178	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
5179	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5180	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
5181	to common block, protected by
5182	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5183
51842010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
5185
5186	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
5187
51882010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
5189
5190	PR bootstrap/43170
5191	* configure: Regenerate.
5192
51932010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5194
5195	PR other/43620
5196	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
5197	* configure: Regenerate.
5198	* Makefile.in: Regenerate.
5199	* testsuite/Makefile.in: Regenerate.
5200
52012010-04-26  Jakub Jelinek  <jakub@redhat.com>
5202
5203	PR c/43893
5204	* testsuite/libgomp.c/pr43893.c: New test.
5205	* testsuite/libgomp.c++/pr43893.C: New test.
5206
52072010-04-21  Jakub Jelinek  <jakub@redhat.com>
5208
5209	PR middle-end/43570
5210	* testsuite/libgomp.fortran/vla8.f90: New test.
5211
52122010-04-20  Jakub Jelinek  <jakub@redhat.com>
5213
5214	PR libgomp/43706
5215	* config/linux/affinity.c (gomp_init_affinity): Decrease
5216	gomp_available_cpus if affinity mask confines the process to fewer
5217	CPUs.
5218	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
5219	non-NULL, just return gomp_available_cpus.
5220
5221	PR libgomp/43569
5222	* sections.c (gomp_sections_init): Initialize ws->mode.
5223
52242010-04-14  Uros Bizjak  <ubizjak@gmail.com>
5225
5226	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
5227	not unused bar variable.
5228	* configure: Regenerate.
5229
52302010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5231
5232	* Makefile.in: Regenerate.
5233	* aclocal.m4: Regenerate.
5234	* testsuite/Makefile.in: Regenerate.
5235
52362010-03-22  Jakub Jelinek  <jakub@redhat.com>
5237
5238	PR libgomp/42942
5239	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
5240	(initialize_env): Adjust callers.
5241	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
5242	when the argument is 0.
5243
5244	* testsuite/libgomp.c/pr42942.c: New test.
5245
52462010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
5247
5248	PR middle-end/42644
5249	PR middle-end/42130
5250	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5251	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
5252
52532010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5254
5255	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
5256	* testsuite/libgomp.c++/task-6.C: Likewise.
5257
52582010-01-28  Steve Ellcey  <sje@cup.hp.com>
5259
5260	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
5261
52622010-01-26  Paolo Bonzini  <bonzini@gnu.org>
5263
5264	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
5265	* configure: Regenerate.
5266
52672010-01-26  Jakub Jelinek  <jakub@redhat.com>
5268
5269	PR fortran/42866
5270	* testsuite/libgomp.fortran/allocatable5.f90: New test.
5271
52722010-01-20  Paolo Bonzini  <bonzini@gnu.org>
5273
5274	* configure.ac: Test for executability of GFORTRAN.
5275	* configure: Regenerate.
5276
52772010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5278
5279	* configure: Regenerate.
5280
52812010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
5282
5283	PR libgomp/42602
5284	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
5285
52862010-01-03  Richard Guenther  <rguenther@suse.de>
5287
5288	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
5289
52902009-12-23  Sebastian Pop  <sebpop@gmail.com>
5291
5292	* testsuite/libgomp.graphite/pr4118.c: New.
5293
52942009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
5295
5296	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
5297	for darwin, protect the test with require-effective-target tls_runtime.
5298	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
5299
53002009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
5301
5302	PR target/41605
5303	* testsuite/lib/libgomp.exp: Provide -B options to allow for
5304	link spec %s substitutions for static libraries.
5305
53062009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
5307
5308	PR testsuite/42135
5309	* libgomp.graphite/force-parallel-2.c: Reduce array size.
5310
53112009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5312
5313	* Makefile.in: Regenerate.
5314	* configure: Regenerate.
5315	* testsuite/Makefile.in: Regenerate.
5316
53172009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
5318
5319	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
5320	settings for LC_ALL and LANG.
5321
53222009-11-25  Jakub Jelinek  <jakub@redhat.com>
5323
5324	PR fortran/42162
5325	* testsuite/libgomp.fortran/pr42162.f90: New test.
5326
53272009-11-13  Jakub Jelinek  <jakub@redhat.com>
5328
5329	PR middle-end/42029
5330	* testsuite/libgomp.c/pr42029.c: New test.
5331
53322009-10-26  Jakub Jelinek  <jakub@redhat.com>
5333
5334	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
5335	*s.  Accept ld version without text in ()s.
5336	* configure: Regenerated.
5337
53382009-10-22  Razya Ladelsky  <razya@il.ibm.com>
5339
5340	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
5341
53422009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5343
5344	PR libgomp/41418
5345	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
5346	or a hyphen (happens with fortran language disabled).
5347	* configure: Regenerate.
5348
53492009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5350
5351	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
5352	use sed script portable to Solaris /bin/sed for extracting ld
5353	version.
5354	* configure: Regenerate.
5355
53562009-09-17  Alexander Monakov  <amonakov@ispras.ru>
5357
5358	* testsuite/libgomp.graphite/bounds.c: New test.
5359
53602009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5361
5362	* Makefile.am (libgomp_la_LINK): New.
5363	* Makefile.in: Regenerate.
5364
53652009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5366
5367	* configure.ac (AC_PREREQ): Bump to 2.64.
5368
53692009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5370
5371	* Makefile.am (install-html, install-pdf): Remove.
5372	* Makefile.in: Regenerate.
5373
5374	* Makefile.in: Regenerate.
5375	* aclocal.m4: Regenerate.
5376	* config.h.in: Regenerate.
5377	* configure: Regenerate.
5378	* testsuite/Makefile.in: Regenerate.
5379
53802009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5381
5382	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
5383	* Makefile.in: Regenerate.
5384
53852009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
5386
5387	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
5388	* Makefile.in: Regenerate.
5389
53902009-08-19  Tobias Burnus  <burnus@net-b.de>
5391
5392	PR fortran/41102
5393	omp_lib.h.in: Fix -std=f95 errors.
5394
53952009-08-14  David Edelsohn  <edelsohn@gnu.org>
5396
5397	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
5398	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
5399	* testsuite/libgomp.graphite/graphite.exp: New.
5400
54012009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
5402
5403	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
5404	only build.
5405
54062009-08-04  David Daney  <ddaney@caviumnetworks.com>
5407
5408	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
5409	needed memory barrier semantics.
5410	* config/linux/mips/mutex.h: New file.
5411
54122009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5413
5414	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
5415
54162009-07-16  Joseph Myers  <joseph@codesourcery.com>
5417
5418	* configure: Regenerate.
5419
54202009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
5421
5422	PR testsuite/40699
5423	PR testsuite/40707
5424	PR testsuite/40709
5425	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
5426	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
5427	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
5428
54292009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
5430
5431	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
5432	options when choosing a multilib.
5433
54342009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
5435
5436	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
5437	ld_library_path.  Use add_path.  Add just find_libgcc_s to
5438	ld_library_path, not every libgcc multilib directory.
5439	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
5440	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
5441	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
5442	Use add_path.
5443	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
5444
54452009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
5446
5447	* Makefile.am (LTLDFLAGS): Define.
5448	(LINK): Define.
5449	* Makefile.in: Regenerate.
5450
54512009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
5452
5453	PR fortran/39718
5454	* testsuite/libgomp.fortran/fortran.exp: Don't link with
5455	libgfortranbegin, check existence of libgfortran.a instead of
5456	libgfortranbegin.a.
5457
54582009-05-20  Jakub Jelinek  <jakub@redhat.com>
5459
5460	PR libgomp/40174
5461	* team.c (gomp_thread_start): Destroy thr->release semaphore.
5462	(gomp_free_pool_helper): Likewise.
5463
54642009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
5465	    Jakub Jelinek  <jakub@redhat.com>
5466
5467	PR fortran/35423
5468	* testsuite/libgomp.fortran/workshare2.f90: New test.
5469
54702009-04-09  Nick Clifton  <nickc@redhat.com>
5471
5472	* iter.c: Change copyright header to refer to version 3 of the
5473	GNU General Public License with version 3.1 of the GCC Runtime
5474	Library Exception and to point readers at the COPYING3 and
5475	COPYING3.RUNTIME files and the FSF's license web page.
5476	* alloc.c: Likewise.
5477	* barrier.c: Likewise.
5478	* config/bsd/proc.c: Likewise.
5479	* config/linux/affinity.c: Likewise.
5480	* config/linux/alpha/futex.h: Likewise.
5481	* config/linux/bar.c: Likewise.
5482	* config/linux/bar.h: Likewise.
5483	* config/linux/ia64/futex.h: Likewise.
5484	* config/linux/ia64/mutex.h: Likewise.
5485	* config/linux/lock.c: Likewise.
5486	* config/linux/mips/futex.h: Likewise.
5487	* config/linux/mutex.c: Likewise.
5488	* config/linux/mutex.h: Likewise.
5489	* config/linux/powerpc/futex.h: Likewise.
5490	* config/linux/proc.c: Likewise.
5491	* config/linux/ptrlock.c: Likewise.
5492	* config/linux/ptrlock.h: Likewise.
5493	* config/linux/s390/futex.h: Likewise.
5494	* config/linux/sem.c: Likewise.
5495	* config/linux/sem.h: Likewise.
5496	* config/linux/sparc/futex.h: Likewise.
5497	* config/linux/wait.h: Likewise.
5498	* config/linux/x86/futex.h: Likewise.
5499	* config/mingw32/proc.c: Likewise.
5500	* config/mingw32/time.c: Likewise.
5501	* config/posix/affinity.c: Likewise.
5502	* config/posix/bar.c: Likewise.
5503	* config/posix/bar.h: Likewise.
5504	* config/posix/lock.c: Likewise.
5505	* config/posix/mutex.h: Likewise.
5506	* config/posix/proc.c: Likewise.
5507	* config/posix/ptrlock.h: Likewise.
5508	* config/posix/sem.c: Likewise.
5509	* config/posix/sem.h: Likewise.
5510	* config/posix/time.c: Likewise.
5511	* config/posix95/lock.c: Likewise.
5512	* critical.c: Likewise.
5513	* env.c: Likewise.
5514	* error.c: Likewise.
5515	* fortran.c: Likewise.
5516	* iter_ull.c: Likewise.
5517	* libgomp.h: Likewise.
5518	* libgomp_f.h.in: Likewise.
5519	* libgomp_g.h: Likewise.
5520	* loop.c: Likewise.
5521	* loop_ull.c: Likewise.
5522	* omp.h.in: Likewise.
5523	* omp_lib.f90.in: Likewise.
5524	* omp_lib.h.in: Likewise.
5525	* ordered.c: Likewise.
5526	* parallel.c: Likewise.
5527	* sections.c: Likewise.
5528	* single.c: Likewise.
5529	* task.c: Likewise.
5530	* team.c: Likewise.
5531	* work.c: Likewise.
5532
55332009-04-09  Jakub Jelinek  <jakub@redhat.com>
5534
5535	* testsuite/config/default.exp: Change copyright header to refer to
5536	version 3 of the GNU General Public License and to point readers
5537	at the COPYING3 file and the FSF's license web page.
5538
55392009-04-08  Jakub Jelinek  <jakub@redhat.com>
5540
5541	PR middle-end/39573
5542	* libgomp.c++/pr39573.C: New test.
5543
55442009-04-01  Jakub Jelinek  <jakub@redhat.com>
5545
5546	PR other/39591
5547	* testsuite/libgomp.c/pr39591-1.c: New test.
5548	* testsuite/libgomp.c/pr39591-2.c: New test.
5549	* testsuite/libgomp.c/pr39591-3.c: New test.
5550
55512009-03-25  Uros Bizjak  <ubizjak@gmail.com>
5552
5553	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
5554	* testsuite/libgomp.c/atomic-6.c: Ditto.
5555
55562009-03-23  Jakub Jelinek  <jakub@redhat.com>
5557
5558	PR c/39495
5559	* testsuite/libgomp.c/loop-12.c: New test.
5560	* testsuite/libgomp.c/loop-11.c: New test.
5561	* testsuite/libgomp.c++/loop-11.C: New test.
5562	* testsuite/libgomp.c++/loop-12.C: New test.
5563	* testsuite/libgomp.c++/for-8.C: New test.
5564
55652009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5566
5567	* configure: Regenerate.
5568
55692009-02-11  Jakub Jelinek  <jakub@redhat.com>
5570
5571	PR middle-end/39154
5572	* testsuite/libgomp.c/pr39154.c: New test.
5573
55742009-01-30  Ian Lance Taylor  <iant@google.com>
5575
5576	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
5577	libgomp_ld_is_gold.  Get gold version number.
5578	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
5579	* configure: Rebuild.
5580
55812009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
5582
5583	* testsuite/lib/libgomp.exp: Add -B option for targets that
5584	use libgfortran.a%s in their specs.
5585
55862009-01-07  Jakub Jelinek  <jakub@redhat.com>
5587
5588	PR libgomp/38086
5589	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
5590	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
5591	HAVE_AS_SYMVER_DIRECTIVE is not defined.
5592	* configure: Regenerated.
5593	* config.h.in: Likewise.
5594
55952008-12-28  Jakub Jelinek  <jakub@redhat.com>
5596
5597	PR c++/38650
5598	* testsuite/libgomp.c/pr38650.c: New test.
5599	* testsuite/libgomp.c++/pr38650.C: New test.
5600
56012008-12-27  Jakub Jelinek  <jakub@redhat.com>
5602
5603	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
5604
56052008-12-26  Uros Bizjak  <ubizjak@gmail.com>
5606
5607	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
5608
56092008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5610
5611	* configure: Regenerate.
5612
56132008-12-08  Jakub Jelinek  <jakub@redhat.com>
5614
5615	PR middle-end/36802
5616	* testsuite/libgomp.c/pr36802-1.c: New test.
5617	* testsuite/libgomp.c/pr36802-2.c: New test.
5618	* testsuite/libgomp.c/pr36802-3.c: New test.
5619
56202008-12-01  Janis Johnson  <janis187@us.ibm.com>
5621
5622	PR libgomp/38270
5623	* config/linux/powerpc/mutex.h: New.
5624
56252008-12-01  Jakub Jelinek  <jakub@redhat.com>
5626
5627	PR c++/38257
5628	* testsuite/libgomp.c++/for-7.C: New test.
5629
5630	PR c++/38348
5631	* testsuite/libgomp.c++/for-6.C: New test.
5632
56332008-11-26  Janis Johnson  <janis187@us.ibm.com>
5634
5635	PR testsuite/28870
5636	* testsuite/lib/libgomp.exp: Include new timeout library files.
5637	(libgomp_target_compile): Set timeout value from new proc.
5638
56392008-11-13  Steve Ellcey  <sje@cup.hp.com>
5640
5641	PR libgomp/37938
5642	* config/linux/ia64/mutex.h: New.
5643
56442008-11-04  Tobias Burnus  <burnus@net-b.de>
5645
5646	PR libgomp/37935
5647	* libgomp.texi (Runtime library routines, environment variables):
5648	Update for OpenMP version 3.0.
5649
56502008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
5651	    Steve Ellcey  <sje@cup.hp.com>
5652
5653	* configure: Regenerate for new libtool.
5654	* Makefile.in: Ditto.
5655	* testsuite/Makefile.in: Ditto.
5656
56572008-09-19  Jakub Jelinek  <jakub@redhat.com>
5658	    Andreas Tobler  <a.tobler@schweiz.org>
5659
5660	* config/bsd/proc.c: New file.
5661	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
5662	* configure.ac: Check for header <sys/sysctl.h>
5663	* configure: Regenerate.
5664	* config.h.in: Likewise.
5665
56662008-09-05  Janis Johnson  <janis187@us.ibm.com>
5667
5668	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
5669
56702008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
5671
5672	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
5673	* Makefile.in: Regenerated.
5674	* testsuite/Makefile.in: Regenerated.
5675
56762008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
5677
5678	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
5679	depend on blddir if blddir exists.
5680	(libgomp_target_compile): Likewise.
5681	* testsuite/libgomp.c++/c++.exp: Likewise.
5682	* testsuite/libgomp.fortran/fortran.exp: Likewise.
5683
56842008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5685
5686	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
5687	Do not list GPL as Invariant Section.
5688
56892008-07-28  Ilie Garbacea  <ilie@mips.com>
5690	    Chao-ying Fu  <fu@mips.com>
5691
5692	* configure.tgt: Enable futex for MIPS.
5693	* config/linux/mips/futex.h: New file.
5694
56952008-07-16  Jakub Jelinek  <jakub@redhat.com>
5696
5697	* team.c (gomp_team_end): Free team immediately if it has
5698	just one thread.
5699
57002008-07-08  David Edelsohn  <edelsohn@gnu.org>
5701
5702	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
5703	* testsuite/libgomp.fortran/fortran.exp: Same.
5704	* testsuite/libgomp.c/c.exp: Same.
5705	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
5706	directory to library path first.
5707
57082008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
5709
5710	* env.c (parse_stacksize): Add cast to avoid warning.
5711	(parse_spincount): Likewise.
5712
57132008-06-27  Jakub Jelinek  <jakub@redhat.com>
5714
5715	* testsuite/libgomp.c/loop-10.c: New test.
5716	* libgomp.c/loop-3.c (main): Add lastprivate clause.
5717	* libgomp.c++/loop-6.C (main): Likewise.
5718
5719	PR debug/36617
5720	* testsuite/libgomp.c/debug-1.c: New test.
5721
57222008-06-19  Jakub Jelinek  <jakub@redhat.com>
5723
5724	* testsuite/libgomp.c/nqueens-1.c: New test.
5725
5726	PR c++/36523
5727	* testsuite/libgomp.c++/task-7.C: New function.
5728
57292008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5730
5731	* configure: Regenerate.
5732
57332008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5734
5735	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
5736	mutex when HAVE_SYNC_BUILTINS isn't defined.
5737
57382008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5739
5740	* libgomp.texi (omp_test_lock): Fix typo.
5741
57422008-06-12  Tobias Burnus  <burnus@net-b.de>
5743
5744	* omp_lib.f90.in: Add "implicit none".
5745
57462008-06-12  Jakub Jelinek  <jakub@redhat.com>
5747
5748	PR middle-end/36506
5749	* testsuite/libgomp.c/reduction-5.c: New test.
5750
57512008-06-11  Jakub Jelinek  <jakub@redhat.com>
5752
5753	* libgomp.h (struct gomp_task): Add in_tied_task field.
5754	* task.c (gomp_init_task): Initialize it.
5755	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
5756	unconditionally.  Don't call gomp_team_barrier_wake if
5757	current task is implicit or if(0) from implicit and number of
5758	running tasks is equal to nthreads - 1.
5759
5760	PR libgomp/36471
5761	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
5762	omp_get_team_size_8): Fix pastos.
5763
5764	PR libgomp/36469
5765	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
5766	* configure: Regenerated.
5767	* config.h.in: Regenerated.
5768	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
5769	defined.
5770
57712008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
5772
5773	PR bootstrap/36452
5774	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
5775	(GOMP_loop_ull_dynamic_start): Likewise.
5776	(GOMP_loop_ull_guided_start): Likewise.
5777	(GOMP_loop_ull_ordered_static_start): Likewise.
5778	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
5779	(GOMP_loop_ull_ordered_guided_start): Likewise.
5780
57812008-06-06  Jakub Jelinek  <jakub@redhat.com>
5782	    Richard Henderson  <rth@redhat.com>
5783	    Ulrich Drepper  <drepper@redhat.com>
5784	    Jakob Blomer  <jakob.blomer@ira.uka.de>
5785
5786	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
5787	Substitute also OMP_*LOCK_25*.
5788	* configure: Regenerated.
5789	* config.h.in: Regenerated.
5790	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
5791	ptrlock.c and task.c.
5792	* Makefile.in: Regenerated.
5793	* testsuite/Makefile.in: Regenerated.
5794	* task.c: New file.
5795	* loop_ull.c: New file.
5796	* iter_ull.c: New file.
5797	* libgomp.h: Include ptrlock.h.
5798	(enum gomp_task_kind): New type.
5799	(struct gomp_team): Add task_lock, task_queue, task_count,
5800	task_running_count, single_count fields.  Add
5801	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
5802	Remove work_share_lock, generation_mask,
5803	oldest_live_gen, num_live_gen and init_work_shares fields, add
5804	work work_share_list_alloc, work_share_list_free and work_share_chunk
5805	fields.  Change work_shares from pointer to pointers into an array.
5806	Change ordered_release field into gomp_sem_t ** from flexible array
5807	member.  Add implicit_task and initial_work_shares fields.
5808	Move close to the end of the struct.
5809	(struct gomp_team_state): Add single_count, last_work_share,
5810	active_level and level fields, remove work_share_generation.
5811	(gomp_barrier_handle_tasks): New prototype.
5812	(gomp_finish_task): New inline function.
5813	(struct gomp_work_share): Move chunk_size, end, incr into
5814	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
5815	next_ll fields.  Reshuffle fields.  Add next_alloc,
5816	next_ws, next_free and inline_ordered_team_ids fields, change
5817	ordered_team_ids into pointer from flexible array member.
5818	Add mode field.  Put lock and next into a different cache line
5819	from most of the write-once fields.
5820	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
5821	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
5822	gomp_iter_ull_guided_next): New prototypes.
5823	(gomp_new_icv): New prototype.
5824	(struct gomp_thread): Add thread_pool and task fields.
5825	(struct gomp_thread_pool): New type.
5826	(gomp_new_team): New prototype.
5827	(gomp_team_start): Change type of last argument.
5828	(gomp_new_work_share): Removed.
5829	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
5830	(gomp_work_share_init_done): New static inline.
5831	(gomp_throttled_spin_count_var, gomp_available_cpus,
5832	gomp_managed_threads): New extern decls.
5833	(gomp_init_task): New prototype.
5834	(gomp_spin_count_var): New extern var decl.
5835	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
5836	or no alias support, or if not PIC.
5837	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
5838	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
5839	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
5840	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
5841	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
5842	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
5843	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
5844	gomp_test_nest_lock_25): New prototypes.
5845	(omp_lock_symver, strong_alias): Define.
5846	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
5847	decls.
5848	(gomp_end_task): New.
5849	(struct gomp_task_icv, gomp_global_icv): New.
5850	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
5851	(struct gomp_task): New.
5852	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
5853	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
5854	(gomp_icv): New.
5855	(gomp_schedule_type): Reorder enum to match
5856	omp_sched_t.
5857	* team.c (struct gomp_thread_start_data): Add thread_pool and task
5858	fields.
5859	(gomp_thread_start): Add gomp_team_barrier_wait call.
5860	For non-nested case remove clearing of docked thread thr fields.
5861	Use pool fields instead of global gomp_* variables.  Use
5862	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
5863	Create tasks for each member thread.
5864	(free_team): Only destroy team barrier, task_lock here and free it.
5865	(gomp_free_thread): Free last_team if non-NULL.
5866	(gomp_team_end): Call gomp_team_barrier_wait instead of
5867	gomp_barrier_wait.  For nested case call one extra
5868	gomp_barrier_wait.  Move here some destruction from free_team.
5869	Call free_team on pool->last_team if any, rather than freeing
5870	current team.  Destroy work_share_list_free_lock ifndef
5871	HAVE_SYNC_BUILTINS.
5872	(gomp_new_icv): New function.
5873	(gomp_threads, gomp_threads_size, gomp_threads_used,
5874	gomp_threads_dock): Removed.
5875	(gomp_thread_destructor): New variable.
5876	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
5877	functions.
5878	(gomp_team_start): Create new pool if current thread doesn't have
5879	one.  Use pool fields instead of global gomp_* variables.
5880	Initialize thread_pool field for new threads.  Clear single_count.
5881	Change last argument from ws to team, don't create
5882	new team, set ts.work_share to &team->work_shares[0] and clear
5883	ts.last_work_share.  Don't clear ts.work_share_generation.
5884	If number of threads changed, adjust atomically gomp_managed_threads.
5885	Use gomp_init_task instead of gomp_new_task,
5886	set thr->task to the corresponding implicit_task array entry.
5887	Create tasks for each member thread.  Initialize ts.level.
5888	(initialize_team): Call pthread_key_create on
5889	gomp_thread_destructor.
5890	(team_destructor): New function.
5891	(new_team): Removed.
5892	(gomp_new_team): New function.
5893	(free_team): Free gomp_work_share blocks chained through next_alloc,
5894	instead of freeing work_shares and destroying work_share_lock.
5895	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
5896	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
5897	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
5898	of gomp_barrier_wait.
5899	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
5900	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
5901	if gomp_work_share_start returned true.  Don't unlock ws->lock.
5902	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
5903	of gomp_barrier_wait.
5904	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
5905	gomp_work_share_init_done if gomp_work_share_start returned true.
5906	Don't unlock ws->lock.
5907	* work.c: Include stddef.h.
5908	(free_work_share): Use work_share_list_free_lock instead
5909	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
5910	Call gomp_fini_work_share and then either free ws if orphaned, or
5911	put it into work_share_list_free list of the current team.
5912	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
5913	functions.
5914	(gomp_work_share_start, gomp_work_share_end,
5915	gomp_work_share_end_nowait): Rewritten.
5916	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
5917	(openmp_version): Set to 200805.
5918	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5919	omp_sched_guided, omp_sched_auto): New parameters.
5920	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5921	omp_set_max_active_levels, omp_get_max_active_levels,
5922	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5923	omp_get_active_level): New interfaces.
5924	* omp_lib.h.in (openmp_version): Set to 200805.
5925	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
5926	omp_sched_guided, omp_sched_auto): New parameters.
5927	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5928	omp_set_max_active_levels, omp_get_max_active_levels,
5929	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5930	omp_get_active_level): New externals.
5931	* loop.c: Include limits.h.
5932	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
5933	GFS_AUTO.
5934	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
5935	Likewise.  Use gomp_icv.
5936	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
5937	ts.static_trip here.
5938	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
5939	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
5940	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
5941	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
5942	don't unlock ws->lock, otherwise lock it.
5943	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
5944	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
5945	(gomp_parallel_loop_start): Call gomp_new_team instead of
5946	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
5947	Adjust gomp_team_start caller.  Pass 0 as second argument to
5948	gomp_resolve_num_threads.
5949	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
5950	If adding ws->chunk_size nthreads + 1 times after end won't
5951	overflow, set ws->mode to 1.
5952	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
5953	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
5954	GOMP_loop_ull_ordered_static_start,
5955	GOMP_loop_ull_ordered_dynamic_start,
5956	GOMP_loop_ull_ordered_guided_start,
5957	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
5958	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
5959	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
5960	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
5961	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
5962	prototypes.
5963	* libgomp.map: Export lock routines also @@OMP_2.0.
5964	(GOMP_loop_ordered_dynamic_first,
5965	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
5966	GOMP_loop_ordered_static_first): Remove.
5967	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
5968	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
5969	GOMP_loop_ull_ordered_dynamic_next,
5970	GOMP_loop_ull_ordered_dynamic_start,
5971	GOMP_loop_ull_ordered_guided_next,
5972	GOMP_loop_ull_ordered_guided_start,
5973	GOMP_loop_ull_ordered_runtime_next,
5974	GOMP_loop_ull_ordered_runtime_start,
5975	GOMP_loop_ull_ordered_static_next,
5976	GOMP_loop_ull_ordered_static_start,
5977	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
5978	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
5979	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
5980	(omp_set_schedule, omp_get_schedule,
5981	omp_get_thread_limit, omp_set_max_active_levels,
5982	omp_get_max_active_levels, omp_get_level,
5983	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
5984	omp_set_schedule_, omp_set_schedule_8_,
5985	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
5986	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
5987	omp_get_max_active_levels_, omp_get_level_,
5988	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
5989	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
5990	New exports @@OMP_3.0.
5991	* omp.h.in (omp_sched_t): New type.
5992	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
5993	omp_set_max_active_levels, omp_get_max_active_levels,
5994	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
5995	omp_get_active_level): New prototypes.
5996	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
5997	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
5998	gomp_thread_limit_var, gomp_remaining_threads_count,
5999	gomp_remaining_threads_lock): New variables.
6000	(parse_spincount): New function.
6001	(initialize_env): Call gomp_init_num_threads unconditionally.
6002	Initialize gomp_available_cpus.  Call parse_spincount,
6003	initialize gomp_{,throttled_}spin_count_var
6004	depending on presence and value of OMP_WAIT_POLICY and
6005	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
6006	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
6007	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
6008	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
6009	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
6010	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6011	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6012	(gomp_global_icv): New.
6013	(parse_schedule): Use it.  Parse "auto".
6014	(omp_set_num_threads): Use gomp_icv.
6015	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
6016	Likewise.
6017	(omp_get_max_threads): Move from parallel.c.
6018	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6019	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
6020	add ialias.
6021	(parse_stacksize, parse_wait_policy): New functions.
6022	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
6023	both wrappers for compatibility and new locks.
6024	(omp_set_schedule, omp_get_schedule,
6025	omp_get_thread_limit, omp_set_max_active_levels,
6026	omp_get_max_active_levels, omp_get_level,
6027	omp_get_ancestor_thread_num, omp_get_team_size,
6028	omp_get_active_level): New ialias_redirect.
6029	(omp_set_schedule_, omp_set_schedule_8_,
6030	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6031	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6032	omp_get_max_active_levels_, omp_get_level_,
6033	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6034	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6035	New functions.
6036	* parallel.c: Include limits.h.
6037	(gomp_resolve_num_threads): Add count argument.  Rewritten.
6038	(GOMP_parallel_start): Call gomp_new_team and pass that as last
6039	argument to gomp_team_start.  Pass 0 as second argument to
6040	gomp_resolve_num_threads.
6041	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
6042	if gomp_thread_limit_var != ULONG_MAX.
6043	(omp_in_parallel): Implement using ts.active_level.
6044	(omp_get_max_threads): Move to env.c.
6045	(omp_get_level, omp_get_ancestor_thread_num,
6046	omp_get_team_size, omp_get_active_level): New functions,
6047	add ialias.
6048	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
6049	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
6050	gomp_iter_dynamic_next instead of the _locked variant and don't take
6051	lock around it, otherwise acquire it before calling
6052	gomp_iter_dynamic_next_locked.
6053	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
6054	gomp_iter_dynamic_next instead of the _locked variant and don't take
6055	lock around it.
6056	(GOMP_parallel_sections_start): Call gomp_new_team instead of
6057	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
6058	Adjust gomp_team_start caller.  Pass count as second argument to
6059	gomp_resolve_num_threads, don't adjust num_threads after the call.
6060	Use gomp_icv.
6061	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
6062	ws->chunk_size by incr.
6063	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
6064	code.
6065	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
6066	types.
6067	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
6068	(omp_check_defines): Check even the compat defines.
6069	* config/linux/ptrlock.c: New file.
6070	* config/linux/ptrlock.h: New file.
6071	* config/linux/wait.h: New file.
6072	* config/posix/ptrlock.c: New file.
6073	* config/posix/ptrlock.h: New file.
6074	* config/linux/bar.h (gomp_team_barrier_wait,
6075	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6076	(gomp_team_barrier_set_task_pending,
6077	gomp_team_barrier_clear_task_pending,
6078	gomp_team_barrier_set_waiting_for_tasks,
6079	gomp_team_barrier_waiting_for_tasks,
6080	gomp_team_barrier_done): New inlines.
6081	(gomp_barrier_t): Rewritten.
6082	(gomp_barrier_state_t): New typedef.
6083	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
6084	gomp_barrier_wait_start): Rewritten.
6085	(gomp_barrier_wait_end): Change second argument to
6086	gomp_barrier_state_t.
6087	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6088	inlines.
6089	* config/linux/bar.c: Include wait.h instead of libgomp.h and
6090	futex.h.
6091	(gomp_barrier_wait_end): Rewritten.
6092	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6093	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
6094	* config/posix/bar.h (gomp_barrier_t): Add generation field.
6095	(gomp_barrier_state_t): New typedef.
6096	(gomp_team_barrier_wait,
6097	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6098	(gomp_barrier_wait_start): Or all but low 2 bits from generation
6099	into the return value.  Return gomp_barrier_state_t.
6100	(gomp_team_barrier_set_task_pending,
6101	gomp_team_barrier_clear_task_pending,
6102	gomp_team_barrier_set_waiting_for_tasks,
6103	gomp_team_barrier_waiting_for_tasks,
6104	gomp_team_barrier_done): New inlines.
6105	(gomp_barrier_wait_end): Change second argument to
6106	gomp_barrier_state_t.
6107	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6108	inlines.
6109	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
6110	(gomp_barrier_wait_end): Change second argument to
6111	gomp_barrier_state_t.
6112	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6113	gomp_team_barrier_wake): New functions.
6114	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
6115	futex.h.
6116	(gomp_futex_wake, gomp_futex_wait): New variables.
6117	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
6118	* config/linux/lock.c: Rewrite to make locks task owned,
6119	for backwards compatibility provide the old entrypoints
6120	if symbol versioning.  Include wait.h instead of libgomp.h and
6121	futex.h.
6122	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
6123	* config/posix95/lock.c: Rewrite to make locks task owned,
6124	for backwards compatibility provide the old entrypoints
6125	if symbol versioning.
6126	* config/posix/lock.c: Rewrite to make locks task owned,
6127	for backwards compatibility provide the old entrypoints
6128	if symbol versioning.
6129	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
6130	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
6131	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
6132	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6133	(sys_futex0): Return error code.
6134	(futex_wake, futex_wait): If ENOSYS was returned, clear
6135	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6136	(cpu_relax, atomic_write_barrier): New static inlines.
6137	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6138	(futex_wake, futex_wait): If ENOSYS was returned, clear
6139	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6140	(cpu_relax, atomic_write_barrier): New static inlines.
6141	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6142	(sys_futex0): Return error code.
6143	(futex_wake, futex_wait): If ENOSYS was returned, clear
6144	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6145	(cpu_relax, atomic_write_barrier): New static inlines.
6146	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6147	(sys_futex0): Return error code.
6148	(futex_wake, futex_wait): If ENOSYS was returned, clear
6149	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6150	(cpu_relax, atomic_write_barrier): New static inlines.
6151	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6152	(sys_futex0): Return error code.
6153	(futex_wake, futex_wait): If ENOSYS was returned, clear
6154	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6155	(cpu_relax, atomic_write_barrier): New static inlines.
6156	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6157	(sys_futex0): Return error code.
6158	(futex_wake, futex_wait): If ENOSYS was returned, clear
6159	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6160	(cpu_relax, atomic_write_barrier): New static inlines.
6161	* config/linux/sem.c: Include wait.h instead of libgomp.h and
6162	futex.h.
6163	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
6164	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
6165	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
6166	types.
6167	(omp_nest_lock_t): Change owner into void *, add lock field.
6168	* config/posix95/omp-lock.h: Include semaphore.h.
6169	(omp_lock_25_t, omp_nest_lock_25_t): New types.
6170	(omp_lock_t): Use sem_t instead of mutex if semaphores
6171	aren't broken.
6172	(omp_nest_lock_t): Likewise.  Change owner to void *.
6173	* config/posix/omp-lock.h: Include semaphore.h.
6174	(omp_lock_25_t, omp_nest_lock_25_t): New types.
6175	(omp_lock_t): Use sem_t instead of mutex if semaphores
6176	aren't broken.
6177	(omp_nest_lock_t): Likewise.  Add owner field.
6178
61792008-06-06  Jakub Jelinek  <jakub@redhat.com>
6180
6181	* testsuite/libgomp.c/collapse-1.c: New test.
6182	* testsuite/libgomp.c/collapse-2.c: New test.
6183	* testsuite/libgomp.c/collapse-3.c: New test.
6184	* testsuite/libgomp.c/icv-1.c: New test.
6185	* testsuite/libgomp.c/icv-2.c: New test.
6186	* testsuite/libgomp.c/lib-2.c: New test.
6187	* testsuite/libgomp.c/lock-1.c: New test.
6188	* testsuite/libgomp.c/lock-2.c: New test.
6189	* testsuite/libgomp.c/lock-3.c: New test.
6190	* testsuite/libgomp.c/loop-4.c: New test.
6191	* testsuite/libgomp.c/loop-5.c: New test.
6192	* testsuite/libgomp.c/loop-6.c: New test.
6193	* testsuite/libgomp.c/loop-7.c: New test.
6194	* testsuite/libgomp.c/loop-8.c: New test.
6195	* testsuite/libgomp.c/loop-9.c: New test.
6196	* testsuite/libgomp.c/nested-3.c: New test.
6197	* testsuite/libgomp.c/nestedfn-6.c: New test.
6198	* testsuite/libgomp.c/sort-1.c: New test.
6199	* testsuite/libgomp.c/task-1.c: New test.
6200	* testsuite/libgomp.c/task-2.c: New test.
6201	* testsuite/libgomp.c/task-3.c: New test.
6202	* testsuite/libgomp.c/task-4.c: New test.
6203	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
6204	to C++ testsuite default compiler options.
6205	* testsuite/libgomp.c++/collapse-1.C: New test.
6206	* testsuite/libgomp.c++/collapse-2.C: New test.
6207	* testsuite/libgomp.c++/ctor-10.C: New test.
6208	* testsuite/libgomp.c++/for-1.C: New test.
6209	* testsuite/libgomp.c++/for-2.C: New test.
6210	* testsuite/libgomp.c++/for-3.C: New test.
6211	* testsuite/libgomp.c++/for-4.C: New test.
6212	* testsuite/libgomp.c++/for-5.C: New test.
6213	* testsuite/libgomp.c++/loop-8.C: New test.
6214	* testsuite/libgomp.c++/loop-9.C: New test.
6215	* testsuite/libgomp.c++/loop-10.C: New test.
6216	* testsuite/libgomp.c++/task-1.C: New test.
6217	* testsuite/libgomp.c++/task-2.C: New test.
6218	* testsuite/libgomp.c++/task-3.C: New test.
6219	* testsuite/libgomp.c++/task-4.C: New test.
6220	* testsuite/libgomp.c++/task-5.C: New test.
6221	* testsuite/libgomp.c++/task-6.C: New test.
6222	* testsuite/libgomp.fortran/allocatable1.f90: New test.
6223	* testsuite/libgomp.fortran/allocatable2.f90: New test.
6224	* testsuite/libgomp.fortran/allocatable3.f90: New test.
6225	* testsuite/libgomp.fortran/allocatable4.f90: New test.
6226	* testsuite/libgomp.fortran/collapse1.f90: New test.
6227	* testsuite/libgomp.fortran/collapse2.f90: New test.
6228	* testsuite/libgomp.fortran/collapse3.f90: New test.
6229	* testsuite/libgomp.fortran/collapse4.f90: New test.
6230	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
6231	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
6232	* testsuite/libgomp.fortran/lib4.f90: New test.
6233	* testsuite/libgomp.fortran/lock-1.f90: New test.
6234	* testsuite/libgomp.fortran/lock-2.f90: New test.
6235	* testsuite/libgomp.fortran/nested1.f90: New test.
6236	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
6237	* testsuite/libgomp.fortran/strassen.f90: New test.
6238	* testsuite/libgomp.fortran/tabs1.f90: New test.
6239	* testsuite/libgomp.fortran/tabs2.f: New test.
6240	* testsuite/libgomp.fortran/task1.f90: New test.
6241	* testsuite/libgomp.fortran/task2.f90: New test.
6242	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
6243	* testsuite/libgomp.fortran/vla5.f90: Likewise.
6244	* testsuite/libgomp.c/pr26943-2.c: Likewise.
6245	* testsuite/libgomp.c/pr26943-3.c: Likewise.
6246	* testsuite/libgomp.c/pr26943-4.c: Likewise.
6247
62482008-05-23  Jakub Jelinek  <jakub@redhat.com>
6249
6250	PR c++/36308
6251	* testsuite/libgomp.c++/ctor-11.C: New test.
6252	* testsuite/libgomp.c++/ctor-12.C: New test.
6253
62542008-05-15  Janis Johnson  <janis187@us.ibm.com>
6255
6256	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
6257
62582008-05-07  Jakub Jelinek  <jakub@redhat.com>
6259
6260	PR middle-end/36106
6261	* testsuite/libgomp.c/atomic-5.c: New test.
6262	* testsuite/libgomp.c/atomic-6.c: New test.
6263	* testsuite/libgomp.c/autopar-1.c: New test.
6264
62652008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6266
6267	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
6268	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
6269	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
6270	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
6271	* configure: Regenerate.
6272	* Makefile.in, testsuite/Makefile.in: Likewise.
6273
62742008-04-18  Paolo Bonzini  <bonzini@gnu.org>
6275
6276	PR bootstrap/35457
6277	* aclocal.m4: Regenerate.
6278	* configure: Regenerate.
6279
62802008-03-18  Jakub Jelinek  <jakub@redhat.com>
6281
6282	PR middle-end/35611
6283	* testsuite/libgomp.c/atomic-4.c: New test.
6284
6285	PR libgomp/35625
6286	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
6287	(gomp_iter_guided_next): Likewise.
6288	* testsuite/libgomp.c/pr35625.c: New test.
6289
62902008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6291
6292	* aclocal.m4: Regenerate.
6293	* configure: Likewise.
6294	* Makefile.in: Likewise.
6295	* testsuite/Makefile.in: Likewise.
6296
62972008-03-13  Jakub Jelinek  <jakub@redhat.com>
6298
6299	PR middle-end/35185
6300	* testsuite/libgomp.c++/pr35185.C: New test.
6301
63022008-03-12  Jakub Jelinek  <jakub@redhat.com>
6303
6304	PR middle-end/35549
6305	* testsuite/libgomp.c/pr35549.c: New test.
6306
63072008-03-06  Jakub Jelinek  <jakub@redhat.com>
6308
6309	* testsuite/libgomp.c/atomic-3.c: New test.
6310
63112008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
6312
6313	PR fortran/33197
6314	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
6315	.F08 file suffixes.
6316
63172008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
6318
6319	PR libgomp/33131
6320	* configure.ac: Add ACX_HEADER_STRING.
6321	* env.c: Include strings.h.
6322	* aclocal.m4: Regenerate.
6323	* config.h.in: Regenerate.
6324	* configure: Regenerate.
6325	* Makefile.in: Regenerate.
6326	* testsuite/Makefile.in: Regenerate.
6327
63282008-02-15  Jakub Jelinek  <jakub@redhat.com>
6329
6330	PR middle-end/35196
6331	* testsuite/libgomp.c/pr35196.c: New test.
6332
6333	PR middle-end/35130
6334	* testsuite/libgomp.fortran/pr35130.f90: New test.
6335	* testsuite/libgomp.c/pr35130.c: New test.
6336
63372008-01-25  Jakub Jelinek  <jakub@redhat.com>
6338
6339	PR middle-end/33880
6340	* testsuite/libgomp.c/pr33880.c: New test.
6341	* testsuite/libgomp.fortran/pr33880.f90: New test.
6342
63432008-01-24  David Edelsohn  <edelsohn@gnu.org>
6344
6345	* configure: Regenerate.
6346
63472008-01-08  Jakub Jelinek  <jakub@redhat.com>
6348
6349	* configure.ac: Move futex checking into ../config/futex.m4.
6350	* configure: Rebuilt.
6351	* aclocal.m4: Rebuilt.
6352	* Makefile.in: Rebuilt.
6353
6354	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
6355	2007-10-15 ../config/tls.m4 change.
6356
63572007-12-19  Jakub Jelinek  <jakub@redhat.com>
6358
6359	PR c++/34513
6360	* testsuite/libgomp.c/pr34513.c: New test.
6361	* testsuite/libgomp.c++/pr34513.C: New test.
6362
63632007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
6364
6365	PR target/32765
6366	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
6367
63682007-12-04  Jakub Jelinek  <jakub@redhat.com>
6369
6370	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
6371
63722007-12-03  Jakub Jelinek  <jakub@redhat.com>
6373
6374	* testsuite/libgomp.c/private-1.c: New test.
6375
63762007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
6377	    Paolo Bonzini  <bonzini@gnu.org>
6378
6379	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
6380	instead of 'VPATH ='.
6381	* Makefile.in: Regenerate.
6382
63832007-11-23  Matthias Klose  <doko@ubuntu.com>
6384
6385	* configure.ac: Adjust makeinfo version check.
6386	* configure: Regenerate.
6387
63882007-11-10  Jakub Jelinek  <jakub@redhat.com>
6389
6390	PR fortran/34020
6391	* testsuite/libgomp.fortran/pr34020.f90: New test.
6392
63932007-11-06  Jakub Jelinek  <jakub@redhat.com>
6394
6395	PR c++/33894
6396	* testsuite/libgomp.c++/atomic-1.C: New test.
6397
63982007-10-25  Jakub Jelinek  <jakub@redhat.com>
6399
6400	PR libgomp/33275
6401	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
6402	Make x and y integers rather than (implicit) reals.  Add private (j)
6403	clause to the last omp parallel.
6404
64052007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
6406
6407	* configure: Regenerate following changes to ../config/tls.m4.
6408
64092007-09-28  Jakub Jelinek  <jakub@redhat.com>
6410
6411	* testsuite/libgomp.fortran/stack.f90: New test.
6412
64132007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
6414
6415	* config/mingw32/proc.c: New file.
6416
64172007-09-05  Uros Bizjak  <ubizjak@gmail.com>
6418
6419	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
6420	(main): Use __get_cpuid to get i386 target fetaures.
6421	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
6422	(main): Use __get_cpuid to get x86_64 target fetaures.
6423
64242007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
6425
6426	PR target/32765
6427	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
6428	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
6429
64302007-07-12  Jakub Jelinek  <jakub@redhat.com>
6431
6432	PR fortran/32550
6433	* testsuite/libgomp.fortran/pr32550.f90: New test.
6434	* testsuite/libgomp.fortran/crayptr2.f90: New test.
6435
64362007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
6437
6438	* aclocal.m4: Regenerated.
6439
64402007-07-05  Tobias Burnus  <burnus@net-b.de>
6441
6442	PR fortran/32359
6443	* testsuite/libgomp.fortran/pr32359.f90: New.
6444
64452007-07-02  Jakub Jelinek  <jakub@redhat.com>
6446
6447	PR libgomp/32468
6448	* sections.c (GOMP_parallel_sections_start): Only decrease
6449	number of threads to COUNT if dyn_var is true.
6450	* testsuite/libgomp.c/pr32468.c: New test.
6451
64522007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6453
6454	PR libgomp/26308
6455	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
6456
64572007-06-21  Jakub Jelinek  <jakub@redhat.com>
6458
6459	PR middle-end/32362
6460	* testsuite/libgomp.c/pr32362-1.c: New test.
6461	* testsuite/libgomp.c/pr32362-2.c: New test.
6462	* testsuite/libgomp.c/pr32362-3.c: New test.
6463
64642007-06-07  Jakub Jelinek  <jakub@redhat.com>
6465
6466	* team.c (gomp_team_start): Fix setting up thread_attr
6467	stack size.
6468
64692007-06-02  Paolo Bonzini  <bonzini@gnu.org>
6470
6471	* configure: Regenerate.
6472
64732007-05-23  Steve Ellcey  <sje@cup.hp.com>
6474
6475	* Makefile.in: Regenerate.
6476	* configure: Regenerate.
6477	* aclocal.m4: Regenerate.
6478	* testsuite/Makefile.in: Regenerate.
6479
64802007-05-04  Jakub Jelinek  <jakub@redhat.com>
6481
6482	* config/linux/proc.c: New file.
6483
6484	PR libgomp/28482
6485	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
6486
64872007-04-19  Daniel Franke  <franke.daniel@gmail.com>
6488
6489	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
6490
64912007-04-16  Matthias Klose  <doko@debian.org>
6492
6493	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
6494	flags if not building with -m64.
6495	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
6496	flag for i?86-*-* targets, if current target matches -m64.
6497
64982007-04-14  Steve Ellcey  <sje@cup.hp.com>
6499
6500	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
6501	* Makefile.in: Regenerate.
6502
65032007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6504
6505	PR testsuite/31369
6506	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
6507	ld_library_path.
6508	* testsuite/libgomp.fortran/fortran.exp: Likewise.
6509
65102007-04-04  Jakub Jelinek  <jakub@redhat.com>
6511
6512	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
6513	decls.
6514	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
6515	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
6516	(parse_affinity): New function.
6517	(initialize_env): Call it and gomp_init_affinity.
6518	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
6519	create new pthread_attr_t and call gomp_init_thread_affinity
6520	on it for each thread before passing the attribute to pthread_create.
6521	* config/linux/affinity.c: New file.
6522	* config/posix/affinity.c: New file.
6523	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
6524	* configure: Rebuilt.
6525	* config.h.in: Rebuilt.
6526	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
6527	* Makefile.in: Rebuilt.
6528
65292007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
6530
6531	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
6532	*-*-darwin*.
6533	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
6534	and use it if found.
6535
65362007-03-18  Uros Bizjak  <ubizjak@gmail.com>
6537
6538	* testsuite/config/default.exp: New file.
6539	* testsuite/lib/libgomp.exp: New file.
6540	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
6541	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
6542	load_lib *, load_gcc_lib *): Move to libgomp.exp.
6543	(libgomp_load): Remove.
6544	* testsuite/lib/libgomp.exp (libgomp_init): Compute
6545	always_ld_library_path, not ld_library_path.  Set additional_flags
6546	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
6547	(target_compile): Do not call libgomp_init.  Append lang_library_path
6548	and lang_link_flags to options.
6549	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
6550	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
6551	here.
6552	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
6553	always_ld_library_path.  Set LD_LIBRARY_PATH here.
6554	* testsuite/libgomp.fortran/fortran.exp: Ditto.
6555	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
6556	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
6557	CX8 flag.
6558	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
6559	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
6560	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
6561	* testsuite/libgomp.c/pr29947-1.c: Ditto.
6562	* testsuite/libgomp.c/atomic-10.c: Ditto.
6563
65642007-03-21  Jakub Jelinek  <jakub@redhat.com>
6565
6566	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
6567	dg-final cleanup-modules line.
6568	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
6569	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
6570	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
6571	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
6572	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
6573	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
6574	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
6575
65762007-03-18  Andreas Schwab  <schwab@suse.de>
6577
6578	* acinclude.m4: Adjust regular expression for ld version
6579	extraction.
6580	* configure: Regenerate.
6581
65822007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
6583
6584	* Makefile.am: Add install-pdf target as copied from
6585	automake v1.10 rules.
6586	* Makefile.in: Regenerate
6587
65882007-02-07  Jakub Jelinek  <jakub@redhat.com>
6589
6590	PR libgomp/28486
6591	* configure: Regenerate.
6592
6593	PR c++/30703
6594	* testsuite/libgomp.c++/pr30703.C: New test.
6595
65962007-02-02  Jakub Jelinek  <jakub@redhat.com>
6597
6598	Revert:
6599	2006-07-05  Eric Christopher  <echristo@apple.com>
6600	* configure.ac: Depend addition of -pthread on host OS.
6601	* configure: Regenerate.
6602
66032007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6604
6605	* libgomp.texi: Fix spacing after abbreviations.
6606
66072007-01-31  Daniel Franke <franke.daniel@gmail.com>
6608
6609	PR libgomp/30546
6610	* configure.ac: Add check for makeinfo
6611	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
6612	if an appropiate version of makeinfo is found.
6613	* aclocal.m4: Regenerated.
6614	* configure: Regenerated.
6615	* Makefile.in: Regenerated.
6616	* testsuite/Makefile.in: Regenerated.
6617
66182007-01-29  Daniel Franke <franke.daniel@gmail.com>
6619
6620	PR libgomp/30540
6621	* libgomp.texi: More about implementation-dependent settings.
6622
66232007-01-26  Tobias Burnus  <burnus@net-b.de>
6624
6625	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
6626
66272007-01-24  Jakub Jelinek  <jakub@redhat.com>
6628
6629	PR middle-end/30494
6630	* testsuite/libgomp.c/pr30494.c: New test.
6631
66322007-01-15  Tom Tromey  <tromey@redhat.com>
6633
6634	* configure: Rebuilt.
6635	* configure.ac: Fixed comment.
6636
66372007-01-14  Daniel Franke  <franke.daniel@gmail.com>
6638
6639	* libgomp.texi: Document implementation specific default values of
6640	environment variables.
6641
66422006-12-21  Daniel Franke  <franke.daniel@gmail.com>
6643
6644	PR libgomp/28209
6645	* libgomp.texi: New file.
6646	* configure.ac: Add --enable-generated-files-in-srcdir option.
6647	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
6648	files to srcdir.
6649	* Makefile.in: Regenerated.
6650	* config.h.in: Regenerated.
6651	* testsuite/Makefile.in: Regenerated.
6652	* NOTES: Removed.
6653
66542006-12-04  Daniel Franke  <franke.daniel@gmail.com>
6655
6656	PR libgomp/29949
6657	* env.c (omp_set_num_threads): Set illegal thread count to 1.
6658
66592006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6660
6661	* configure: Regenerate.
6662
66632006-12-04  Jakub Jelinek  <jakub@redhat.com>
6664
6665	PR libgomp/29947
6666	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
6667	start if there shouldn't be any loop iterations.
6668	(gomp_loop_ordered_static_start): Remove start == end test.
6669	* testsuite/libgomp.c/pr29947-1.c: New test.
6670	* testsuite/libgomp.c/pr29947-2.c: New test.
6671
66722006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
6673
6674	* configure.tgt: Force initial-exec TLS model on Linux only.
6675
66762006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
6677
6678	* configure: Regenerated.
6679
66802006-11-09  Uros Bizjak  <ubizjak@gmail.com>
6681
6682	* env.c (parse_schedule): Reject out of range values.
6683	(parse_unsigned_long): Reject out of range, negative or zero values.
6684
66852006-10-29  Jakub Jelinek  <jakub@redhat.com>
6686
6687	PR fortran/29629
6688	* testsuite/libgomp.fortran/pr29629.f90: New test.
6689
66902006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
6691
6692	PR libgomp/29494
6693	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
6694	* config/posix95: New directory.
6695	* config/posix95/omp-lock.h: New file.
6696	* config/posix95/lock.c: Likewise.
6697
66982006-10-14  Geoffrey Keating  <geoffk@apple.com>
6699
6700	* aclocal.m4: Regenerate.
6701	* configure: Regenerate.
6702
67032006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
6704
6705	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
6706	'<' to '<='.
6707
67082006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
6709
6710	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
6711	test.
6712	* configure: Regenerate.
6713	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
6714
67152006-09-26  Jakub Jelinek  <jakub@redhat.com>
6716
6717	PR middle-end/25261
6718	PR middle-end/28790
6719	* testsuite/libgomp.c/nestedfn-4.c: New test.
6720	* testsuite/libgomp.c/nestedfn-5.c: New test.
6721	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
6722
6723	PR fortran/29097
6724	* testsuite/libgomp.fortran/condinc1.f: New test.
6725	* testsuite/libgomp.fortran/condinc2.f: New test.
6726	* testsuite/libgomp.fortran/condinc3.f90: New test.
6727	* testsuite/libgomp.fortran/condinc4.f90: New test.
6728	* testsuite/libgomp.fortran/condinc1.inc: New file.
6729
67302006-09-18  Tom Tromey  <tromey@redhat.com>
6731
6732	* configure: Rebuilt.
6733
67342006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
6735
6736	PR c/28768
6737	PR preprocessor/14634
6738	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
6739	to AC_DEFINE.
6740	* configure: Regenerate.
6741
67422006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
6743
6744	* testsuite/libgomp.fortran/reduction3.f90: Change
6745	-2147483648 to -huge(i)-1 to avoid overflow.
6746	* testsuite/libgomp.fortran/reduction4.f90: Change
6747	Z'ffffffff' to not(0) to avoid overflow.
6748
67492006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
6750
6751	PR libgomp/25938
6752	* Makefile.am (libsubincludedir): New.
6753	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
6754	* Makefile.in: Regenerate.
6755
67562006-08-17  Jakub Jelinek  <jakub@redhat.com>
6757
6758	PR libgomp/28725
6759	* env.c: Include ctype.h.
6760	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
6761	leading and/or trailing whitespace and compare strings case
6762	insensitively.
6763
67642006-07-16  Jakub Jelinek  <jakub@redhat.com>
6765
6766	PR fortran/28390
6767	* testsuite/libgomp.fortran/pr28390.f: New test.
6768
67692006-07-05  Eric Christopher  <echristo@apple.com>
6770
6771	* configure.ac: Depend addition of -pthread on host OS.
6772	* configure: Regenerate.
6773
67742006-06-21  Jakub Jelinek  <jakub@redhat.com>
6775
6776	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
6777	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
6778	defined.
6779
67802006-06-20  Jakub Jelinek  <jakub@redhat.com>
6781
6782	PR libgomp/26175
6783	PR libgomp/26477
6784	* configure.ac: If neither --enable-linux-futex nor
6785	--disable-linux-futex is passed, determine the default by checking
6786	for compiling and/or running against NPTL.  With --enable-linux-futex,
6787	check if SYS_gettid and SYS_futex are defined.
6788	* configure: Rebuilt.
6789
67902006-06-14  Richard Henderson  <rth@redhat.com>
6791
6792	PR libgomp/28008
6793	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
6794	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
6795
67962006-06-09  Richard Henderson  <rth@redhat.com>
6797
6798	* env.c (gomp_nthreads_var): Change to unsigned long.
6799	(gomp_run_sched_chunk): Likewise.
6800	(parse_unsigned_long): Rename from parse_num_threads and generalize.
6801	(initialize_env): Initialize gomp_thread_attr.
6802	* libgomp.h (gomp_nthreads_var): Update decl.
6803	(gomp_run_sched_chunk): Likewise.
6804	(gomp_thread_attr): Declare.
6805	* team.c (gomp_thread_attr): Export.
6806	(initialize_team): Don't initialize it.
6807
68082006-06-09  Jakub Jelinek  <jakub@redhat.com>
6809
6810	PR fortran/27916
6811	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
6812	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
6813
68142006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
6815
6816	* config/mingw32/time.c: New file.
6817	* configure.tgt: Use it.
6818
68192006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
6820
6821	* Makefile.am: Add install-html target. Add install-html to .PHONY
6822	* Makefile.in: Regenerate.
6823
68242006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6825
6826	PR libgomp/27612
6827	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
6828	* testsuite/libgomp.c/critical-1.c: Likewise.
6829	* testsuite/libgomp.c/loop-1.c: Likewise.
6830	* testsuite/libgomp.c/loop-2.c: Likewise.
6831	* testsuite/libgomp.c/single-1.c: Likewise.
6832	* testsuite/libgomp.c/ordered-1.c: Likewise.
6833	* testsuite/libgomp.c/ordered-2.c: Likewise.
6834
68352006-05-15  Jakub Jelinek  <jakub@redhat.com>
6836
6837	PR middle-end/27416
6838	* libgomp.fortran/pr27416-1.f90: New test.
6839
68402006-05-03  Jakub Jelinek  <jakub@redhat.com>
6841
6842	PR fortran/27395
6843	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
6844	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
6845
68462006-05-02  Jakub Jelinek  <jakub@redhat.com>
6847
6848	PR c++/26943
6849	* testsuite/libgomp.c/pr26943-1.c: New test.
6850	* testsuite/libgomp.c/pr26943-2.c: New test.
6851	* testsuite/libgomp.c/pr26943-3.c: New test.
6852	* testsuite/libgomp.c/pr26943-4.c: New test.
6853	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
6854	* testsuite/libgomp.c++/pr26943.C: New test.
6855
68562006-05-02  Jakub Jelinek  <jakub@redhat.com>
6857
6858	PR middle-end/27337
6859	* testsuite/libgomp.c++/pr27337.C: New test.
6860
68612006-04-26  Jakub Jelinek  <jakub@redhat.com>
6862
6863	PR c/26171
6864	* testsuite/libgomp.c/pr26171.c: New test.
6865
68662006-04-25  Richard Henderson  <rth@redhat.com>
6867
6868	PR libgomp/25865
6869	* configure.ac: Use GCC_CHECK_TLS.
6870	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
6871	* Makefile.in, aclocal.m4, configure: Regenerate.
6872
68732006-04-10  Matthias Klose  <doko@debian.org>
6874
6875	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
6876	directory names containing underscores.
6877
68782006-03-21  Jakub Jelinek  <jakub@redhat.com>
6879
6880	PR c++/26691
6881	* testsuite/libgomp.c++/pr26691.C: New test.
6882
68832006-03-13  Jakub Jelinek  <jakub@redhat.com>
6884
6885	* testsuite/libgomp.fortran/retval2.f90: New test.
6886
68872006-03-09  Diego Novillo  <dnovillo@redhat.com>
6888
6889	* testsuite/libgomp.c++: New directory.
6890
68912006-02-25  Shantonu Sen  <ssen@opendarwin.org>
6892
6893	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
6894	* config/posix/sem.c: Implement the above.
6895
68962006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
6897
6898	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
6899	define HAVE_BROKEN_POSIX_SEMAPHORES.
6900	* configure: Rebuilt.
6901	* config.h.in: Rebuilt.
6902
69032006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
6904
6905	PR bootstrap/26161
6906	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
6907	for the other pthread check.
6908	* configure: Regenerate.
6909	* config.h.in: Regenerate.
6910
69112006-02-15  Jakub Jelinek  <jakub@redhat.com>
6912
6913	PR libgomp/25938
6914	PR libgomp/25984
6915	* Makefile.am (fincludedir): New variable.
6916	(nodist_include_HEADERS): Remove Fortran files.
6917	(nodist_finclude_HEADERS): New variable.
6918	* Makefile.in: Regenerated.
6919
69202006-02-13  Jakub Jelinek  <jakub@redhat.com>
6921
6922	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
6923	Remove tests for returning assumed character length arrays.
6924
69252006-02-12  Roger Sayle  <roger@eyesopen.com>
6926	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
6927
6928	PR libgomp/25936
6929	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
6930
69312006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
6932
6933	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
6934
69352006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
6936
6937	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
6938	part of LD_LIBRARY_PATH manually.
6939
69402006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
6941
6942	PR libgomp/25852
6943	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
6944	libgomp_init.
6945
69462005-01-25  Paolo Bonzini  <bonzini@gnu.org>
6947
6948	PR libgomp/25884
6949	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
6950	* configure.ac (PERL): Don't set.
6951	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
6952	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
6953	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
6954	* omp.h.in: Wrap the new configure substitutions with @ characters.
6955	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
6956	* aclocal.m4, configure, Makefile.in: Regenerate.
6957	* mkomp_h.pl: Delete.
6958
69592005-01-24  Paolo Bonzini  <bonzini@gnu.org>
6960
6961	PR libgomp/25259
6962	* configure.ac: Use GCC_HEADER_STDINT.
6963	* libgomp.h: Include gstdint.h.
6964	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
6965	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
6966
69672006-01-24  Richard Henderson  <rth@redhat.com>
6968
6969	PR libgomp/25942
6970	* configure.ac: Add AM_MAINTAINER_MODE.
6971	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
6972
69732006-01-24  Diego Novillo  <dnovillo@redhat.com>
6974
6975	* Makefile.in: Regenerate.
6976	* testsuite/Makefile.in: Regenerate.
6977	* aclocal.m4: Regenerate.
6978
69792006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
6980
6981	* config/posix/proc.c: Conditional include of sys/loadavg.h for
6982	Solaris.
6983	* configure.ac: Add check for loadavg.h.
6984	(link_gomp): Adjust comment.
6985	* configure: Regenerate.
6986	* config.h.in: Regenerate.
6987
69882006-01-21  Steve Ellcey  <sje@cup.hp.com>
6989
6990	PR libgomp/25877
6991	* configure.ac: Remove check for alloca.h.
6992	* configure: Regenerate.
6993	* config.h.in: Regenerate.
6994	* libgomp.h: define gomp_alloca to be __builtin_alloca.
6995	* team.c: Remove use of alloca.h.
6996	Call gomp_alloca instead of alloca.
6997
69982006-01-20  Steve Ellcey  <sje@cup.hp.com>
6999
7000	PR libgomp/25877
7001	* team.c: Add include of alloca.h.
7002	* configure.ac: Add check for alloca.h.
7003	* configure: Regenerate.
7004	* config.h.in: Regenerate.
7005
70062006-01-17  Jakub Jelinek  <jakub@redhat.com>
7007
7008	PR fortran/25219
7009	* testsuite/libgomp.fortran/pr25219.f90: New test.
7010
70112005-12-05  Uros Bizjak  <uros@kss-loka.si>
7012
7013	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
7014	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
7015	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7016	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7017	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
7018	testsuite/libgomp.fortran/threadprivate1.f90,
7019	testsuite/libgomp.fortran/threadprivate2.f90,
7020	testsuite/libgomp.fortran/threadprivate3.f90,
7021	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7022	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7023	testsuite/libgomp.fortran/omp_parse3.f90: Change required
7024	effective-target to TLS runtime.
7025
7026	* testsuite/libgomp.fortran/pr25162.f: Require
7027	effective-target TLS runtime.
7028
70292005-12-01  Jakub Jelinek  <jakub@redhat.com>
7030
7031	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
7032	* testsuite/libgomp.c/nestedfn-3.c: New test.
7033
70342005-11-30  Jakub Jelinek  <jakub@redhat.com>
7035
7036	PR fortran/25162
7037	* testsuite/libgomp.fortran/pr25162.f: New test.
7038
70392005-11-28  Jakub Jelinek  <jakub@redhat.com>
7040
7041	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
7042	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
7043
70442005-11-25  Jakub Jelinek  <jakub@redhat.com>
7045
7046	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
7047	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
7048	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
7049	single.c, team.c, work.c, config/linux/alpha/futex.h,
7050	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
7051	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
7052	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
7053	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
7054	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
7055	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
7056	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
7057	FSF address.
7058
70592005-11-18  Jakub Jelinek  <jakub@redhat.com>
7060
7061	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
7062	to nodist_noinst_HEADERS.
7063	* Makefile.in: Rebuilt.
7064
7065	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
7066	add integer count field.
7067	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
7068	omp_nest_lock_t type change.
7069	(omp_init_nest_lock): Likewise.  Initialize count to 0.
7070	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
7071	Increment count.
7072	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
7073	Decrement count.
7074	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
7075	Increment count if successful and return the new nesting level.
7076	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
7077	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
7078	* testsuite/libgomp.c/lib-1.c: New test.
7079	* testsuite/libgomp.fortran/lib1.f90: New test.
7080	* testsuite/libgomp.fortran/lib2.f: New test.
7081	* testsuite/libgomp.fortran/lib3.f: New test.
7082
70832005-11-17  Richard Henderson  <rth@redhat.com>
7084
7085	PR 24845
7086	* Makefile.am (nodist_toolexeclib_HEADERS): New.
7087	* configure.ac (link_gomp): New.  Substitute it.
7088	(AC_CONFIG_FILES): Add libgomp.spec.
7089	* libgomp.spec.in: New file.
7090	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
7091	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
7092
70932005-11-18  Jakub Jelinek  <jakub@redhat.com>
7094
7095	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
7096	reduction(-:var) behaving the same as reduction(+:var).
7097	* testsuite/libgomp.c/reduction-4.c: New test.
7098
70992005-11-15  Uros Bizjak  <uros@kss-loka.si>
7100
7101	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
7102	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
7103	testsuite/libgomp.c/copyin-3.c,
7104	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7105	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7106	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
7107	testsuite/libgomp.c++/pr24455.C,
7108	testsuite/libgomp.fortran/threadprivate1.f90,
7109	testsuite/libgomp.fortran/threadprivate2.f90,
7110	testsuite/libgomp.fortran/threadprivate3.f90,
7111	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7112	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7113	testsuite/libgomp.fortran/omp_parse3.f90: Require
7114	effective-target TLS.
7115
71162005-11-14  Diego Novillo  <dnovillo@redhat.com>
7117
7118	* HEADER: Remove.
7119
71202005-11-13  Jakub Jelinek  <jakub@redhat.com>
7121
7122	PR libgomp/24797
7123	* team.c (initialize_team): Pass NULL rather than free as
7124	pthread_key_create destructor.  Initialize thread specific data
7125	pointer in initial thread to a static local variable rather than
7126	malloced memory.
7127
71282005-11-11  Uros Bizjak  <uros@kss-loka.si>
7129
7130	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
7131	its location to ld_library_path.
7132
71332005-11-10  Diego Novillo  <dnovillo@redhat.com>
7134
7135	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
7136
71372005-11-10  Diego Novillo  <dnovillo@redhat.com>
7138
7139	* testsuite/libgomp.c: Rename from libgomp.dg.
7140
71412005-11-09  Diego Novillo  <dnovillo@redhat.com>
7142
7143	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
7144	threadprivate variable 'i'.
7145
71462005-11-09  Jakub Jelinek  <jakub@redhat.com>
7147
7148	* config/linux/s390/futex.h: New file.
7149	* configure.tgt: Use it.
7150
7151	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
7152	before the parallel.
7153
71542005-11-08  Jakub Jelinek  <jakub@redhat.com>
7155
7156	PR c++/24734
7157	* testsuite/libgomp.c++/master-1.C: New test.
7158
71592005-11-07  Jakub Jelinek  <jakub@redhat.com>
7160
7161	* testsuite/libgomp.dg/copyin-3.c: New test.
7162
71632005-11-07  Jakub Jelinek  <jakub@redhat.com>
7164
7165	* testsuite/libgomp.fortran/retval1.f90: New test.
7166	* testsuite/libgomp.fortran/vla7.f90: New test.
7167
71682005-11-06  Jakub Jelinek  <jakub@redhat.com>
7169
7170	* testsuite/libgomp.fortran/vla2.f90: New test.
7171	* testsuite/libgomp.fortran/vla3.f90: New test.
7172	* testsuite/libgomp.fortran/vla4.f90: New test.
7173	* testsuite/libgomp.fortran/vla5.f90: New test.
7174	* testsuite/libgomp.fortran/vla6.f90: New test.
7175
71762005-11-01  Jakub Jelinek  <jakub@redhat.com>
7177
7178	* config/linux/sparc/futex.h: New file.
7179	* configure.tgt: Use it.
7180	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
7181
7182	* critical.c: Include stdlib.h.
7183	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
7184	ignoring return value.
7185	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
7186	LIBGOMP_CHECK_SYNC_BUILTINS check.
7187	* configure: Rebuilt.
7188
71892005-10-31  Jakub Jelinek  <jakub@redhat.com>
7190
7191	* testsuite/libgomp.fortran/vla1.f90: New test.
7192
71932005-10-31  Richard Henderson  <rth@redhat.com>
7194
7195	* testsuite/libgomp.fortran/character2.f90: Fix race condition
7196	setting 's' in different threads.
7197
71982005-10-31  Jakub Jelinek  <jakub@redhat.com>
7199
7200	* libgomp.h (attribute_hidden, ialias): Define.
7201	* config/posix/proc.c (omp_get_num_procs): Add ialias.
7202	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
7203	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
7204	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
7205	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7206	omp_test_lock, omp_test_nest_lock): Likewise.
7207	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
7208	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
7209	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7210	omp_test_lock, omp_test_nest_lock): Likewise.
7211	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
7212	omp_get_dynamic, omp_get_nested): Likewise.
7213	* parallel.c (omp_get_num_threads, omp_get_max_threads,
7214	omp_get_thread_num, omp_in_parallel): Likewise.
7215	* fortran.c (ialias_redirect): Define.
7216	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
7217	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
7218	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
7219	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
7220	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
7221	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
7222	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
7223	omp_get_wtime): Add ialias_redirect.
7224
72252005-10-30  Jakub Jelinek  <jakub@redhat.com>
7226
7227	* fortran.c: Include stdlib.h.
7228
72292005-10-29  Jakub Jelinek  <jakub@redhat.com>
7230
7231	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
7232	* Makefile.in: Regenerated.
7233
72342005-10-28  Jakub Jelinek  <jakub@redhat.com>
7235
7236	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
7237	* libgomp_f.h.in (omp_check_defines): New function.
7238	* env.c: Include libgomp_f.h.
7239	(initialize_env): Call omp_check_defines.
7240
7241	* testsuite/libgomp.dg/copyin-2.c: New test.
7242	* testsuite/libgomp.c++/copyin-2.C: New test.
7243	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
7244
7245	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
7246	* testsuite/libgomp.fortran/sharing2.f90: New test.
7247
7248	* testsuite/libgomp.dg/copyin-1.c: New test.
7249	* testsuite/libgomp.c++/copyin-1.C: New test.
7250
72512005-10-26  Jakub Jelinek  <jakub@redhat.com>
7252
7253	* testsuite/libgomp.fortran/crayptr1.f90: New test.
7254
7255	* testsuite/libgomp.fortran/workshare1.f90: New test.
7256
7257	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
7258	only test.
7259	* libgomp.fortran/sharing1.f90: New test.
7260
72612005-10-24  Jakub Jelinek  <jakub@redhat.com>
7262
7263	PR c++/24502
7264	* testsuite/libgomp.c++/loop-7.C: New test.
7265
7266	* testsuite/libgomp.dg/nestedfn-2.c: New test.
7267
7268	* testsuite/libgomp.dg/nestedfn-1.c: New test.
7269	* testsuite/libgomp.fortran/reduction6.f90: New test.
7270	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
7271
72722005-10-23  Richard Henderson  <rth@redhat.com>
7273
7274	* testsuite/libgomp.c++/ctor-1.C: New.
7275	* testsuite/libgomp.c++/ctor-2.C: New.
7276	* testsuite/libgomp.c++/ctor-3.C: New.
7277	* testsuite/libgomp.c++/ctor-4.C: New.
7278	* testsuite/libgomp.c++/ctor-5.C: New.
7279	* testsuite/libgomp.c++/ctor-6.C: New.
7280	* testsuite/libgomp.c++/ctor-7.C: New.
7281	* testsuite/libgomp.c++/ctor-8.C: New.
7282	* testsuite/libgomp.c++/ctor-9.C: New.
7283
72842005-10-21  Diego Novillo  <dnovillo@redhat.com>
7285
7286	PR 24455
7287	* testsuite/libgomp.c++/pr24455-1.C: New test.
7288	* testsuite/libgomp.c++/pr24455.C: New test.
7289	* testsuite/libgomp.dg/pr24455-1.c: New test.
7290	* testsuite/libgomp.dg/pr24455.c: New test.
7291
72922005-10-20  Richard Henderson  <rth@redhat.com>
7293
7294	* testsuite/libgomp.c++/loop-6.C: New.
7295	* testsuite/libgomp.dg/loop-3.c: New.
7296
72972005-10-20  Jakub Jelinek  <jakub@redhat.com>
7298
7299	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
7300	explicitly private.
7301	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
7302	explicitly shared.
7303
73042005-10-19  Diego Novillo  <dnovillo@redhat.com>
7305
7306	* testsuite/libgomp.fortran/jacobi.f: New test.
7307
73082005-10-19  Richard Henderson  <rth@redhat.com>
7309
7310	* configure.tgt (i?86-linux): Default to with_arch instead of
7311	CFLAGS.  Add -mtune to match target_cpu.
7312	(x86_64-linux): Tune to i686.
7313
7314	* fortran.c (omp_test_nest_lock_): Fix typo.
7315
73162005-10-19  Jakub Jelinek  <jakub@redhat.com>
7317
7318	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
7319	gomp_ordered_sync): Do nothing if team->nthreads == 1.
7320	* testsuite/libgomp.dg/ordered-3.c: New test.
7321
7322	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
7323	Remove volatile keyword.
7324
7325	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
7326	in COMMON block to avoid warnings on 64-bit targets.
7327
73282005-10-18  Diego Novillo  <dnovillo@redhat.com>
7329
7330	* testsuite/libgomp.dg/shared-3.c: New test.
7331
73322005-10-18  Jakub Jelinek  <jakub@redhat.com>
7333
7334	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
7335	* testsuite/libgomp.fortran/reduction5.f90: New test.
7336
73372005-10-18  Jakub Jelinek  <jakub@redhat.com>
7338
7339	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
7340	dg-options.
7341	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
7342	flush loop now that __sync_synchronize has proper memory barrier.
7343	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
7344	Add -ffixed-form to dg-options.
7345
73462005-10-17  Diego Novillo  <dnovillo@redhat.com>
7347
7348	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
7349	from subdirectories.
7350	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
7351	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
7352	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
7353	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
7354	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
7355	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
7356	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
7357	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
7358	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
7359	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
7360	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
7361	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
7362	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
7363	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
7364	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
7365	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
7366	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
7367	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
7368	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
7369	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
7370	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
7371	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
7372	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
7373	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
7374	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
7375
73762005-10-17  Jakub Jelinek  <jakub@redhat.com>
7377
7378	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
7379	lang_library_path exists.  Use find instead of glob to gather tests.
7380	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
7381
73822005-10-17  Diego Novillo  <dnovillo@redhat.com>
7383
7384	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
7385	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
7386	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
7387	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
7388	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
7389	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
7390	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
7391	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
7392	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
7393	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
7394	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
7395	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
7396	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
7397
73982005-10-15  Jakub Jelinek  <jakub@redhat.com>
7399
7400	* testsuite/libgomp.dg/vla-1.c: New test.
7401
7402	* testsuite/libgomp.fortran/reference2.f90: New test.
7403
7404	* testsuite/libgomp.fortran/character2.f90: Remove explicit
7405	declaration of omp_get_thread_num.
7406	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
7407	use omp_lib.
7408
7409	* testsuite/libgomp.fortran/reduction1.f90: New test.
7410	* testsuite/libgomp.fortran/reduction2.f90: New test.
7411	* testsuite/libgomp.fortran/reduction3.f90: New test.
7412	* testsuite/libgomp.fortran/reduction4.f90: New test.
7413
74142005-10-13  Richard Henderson  <rth@redhat.com>
7415
7416	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
7417	* Makefile.in: Regenerate.
7418	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
7419	* libgomp.h: Include bar.h.
7420	(struct gomp_barrier): Remove.
7421	(struct gomp_team): Add barrier.  Replace master_barrier with
7422	master_release.  Replace threads with ordered_release.
7423	(struct gomp_thread): Replace barrier with release.
7424	* ordered.c (gomp_ordered_first): Update for ordered_release change.
7425	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
7426	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
7427	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
7428	(GOMP_single_copy_end): Likewise.
7429	* team.c (gomp_threads_dock): New.
7430	(gomp_barrier_init, gomp_barrier_destroy): Remove.
7431	(gomp_thread_start): Use gomp_barrier_wait.
7432	(new_team, free_team): Update for gomp_team changes.
7433	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
7434	(gomp_team_end): Use gomp_barrier_wait.
7435	(initialize_team): Update for gomp_thread changes.
7436	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
7437	(gomp_work_share_end_nowait): Use atomic ops when available.
7438	* config/linux/bar.c, config/linux/bar.h: New files.
7439	* config/posix/bar.c, config/posix/bar.h: New files.
7440
74412005-10-13  Jakub Jelinek  <jakub@redhat.com>
7442
7443	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
7444	* testsuite/libgomp.dg/single-2.c: New test.
7445
7446	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
7447	lang_link_flags): Unset, so that they aren't inherited from previously
7448	sourced *.exp.
7449
7450	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
7451
74522005-10-12  Richard Henderson  <rth@redhat.com>
7453
7454	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
7455	(libgomp_init): Use lang_test_file, lang_library_path, and
7456	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
7457
7458	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
7459	(lang_test_file, lang_link_flags): New.
7460	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
7461
7462	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
7463	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
7464	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
7465	testsuite/libgomp.c++/parallel-1.C,
7466	testsuite/libgomp.c++/reduction-1.C,
7467	testsuite/libgomp.c++/reduction-2.C,
7468	testsuite/libgomp.c++/reduction-3.C,
7469	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
7470	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
7471	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
7472	New files, largely cribbed from the C testsuite.
7473
74742005-10-12  Jakub Jelinek  <jakub@redhat.com>
7475
7476	* testsuite/libgomp.fortran/character1.f90: New test.
7477	* testsuite/libgomp.fortran/character2.f90: New test.
7478
7479	* testsuite/libgomp.dg/nested-1.c: New test.
7480	* testsuite/libgomp.dg/nested-2.c: New test.
7481	* testsuite/libgomp.fortran/do1.f90: New test.
7482	* testsuite/libgomp.fortran/do2.f90: New test.
7483
7484	* testsuite/libgomp.fortran/reference1.f90: New test.
7485
74862005-10-11  Jakub Jelinek  <jakub@redhat.com>
7487
7488	* testsuite/libgomp.dg/reduction-1.c: New test.
7489	* testsuite/libgomp.dg/reduction-2.c: New test.
7490	* testsuite/libgomp.dg/reduction-3.c: New test.
7491
74922005-10-10  Jakub Jelinek  <jakub@redhat.com>
7493
7494	* testsuite/libgomp.dg/atomic-1.c: New test.
7495	* testsuite/libgomp.dg/atomic-2.c: New test.
7496
74972005-10-09  Richard Henderson  <rth@redhat.com>
7498
7499	* critical.c (atomic_lock): New.
7500	(initialize_critical): Initialize it.
7501	(GOMP_atomic_start, GOMP_atomic_end): New.
7502	* libgomp.map: Export them.
7503	* libgomp_g.h: Declare them.
7504
7505	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
7506
75072005-10-02  Richard Henderson  <rth@redhat.com>
7508
7509	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
7510	to XCFLAGS instead of CFLAGS.
7511
75122005-09-30  Richard Henderson  <rth@redhat.com>
7513
7514	* configure.ac: Determine whether -pthread or -lpthread is needed.
7515	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
7516	* Makefine.in, configure: Rebuild.
7517
75182005-09-28  Richard Henderson  <rth@redhat.com>
7519
7520	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
7521	* testsuite/libgomp.dg/omp-single-3.c: New test.
7522
75232005-09-28  Diego Novillo  <dnovillo@redhat.com>
7524
7525	* testsuite/libgomp.dg/omp-single-2.c: New test.
7526	* testsuite/libgomp.dg/shared-2.c: Fix return code.
7527
75282005-09-27  Richard Henderson  <rth@redhat.com>
7529
7530	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
7531	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
7532
75332005-09-27  Jakub Jelinek  <jakub@redhat.com>
7534
7535	* testsuite/libgomp.dg/omp-loop03.c: New test.
7536
75372005-09-27  Diego Novillo  <dnovillo@redhat.com>
7538
7539	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
7540
75412005-09-27  Diego Novillo  <dnovillo@redhat.com>
7542
7543	* testsuite/libgomp.dg/omp-single-1.c: New test.
7544	* testsuite/libgomp.dg/shared-1.c: Return 0.
7545	Add prototype for abort.
7546	* testsuite/libgomp.dg/shared-2.c: Likewise.
7547
75482005-09-26  Jakub Jelinek  <jakub@redhat.com>
7549
7550	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
7551	constructs.
7552
75532005-09-26  Diego Novillo  <dnovillo@redhat.com>
7554
7555	* testsuite/libgomp.dg/shared-1.c: New test.
7556	* testsuite/libgomp.dg/shared-2.c: New test.
7557
75582005-09-24  Richard Henderson  <rth@redhat.com>
7559
7560	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
7561
75622005-09-24  Richard Henderson  <rth@redhat.com>
7563
7564	* iter.c (gomp_iter_static_next): Round up when computing number
7565	of iterations.  Don't bother distributing a remainder equally.
7566
7567	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
7568	Don't call srand.  Zero b before testing.
7569	(main): New.
7570
75712005-09-24  Jakub Jelinek  <jakub@redhat.com>
7572
7573	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
7574	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
7575
75762005-09-23  Jakub Jelinek  <jakub@redhat.com>
7577
7578	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
7579	without !$omp end do, followed immediately by subroutine end.
7580
75812005-09-23  Diego Novillo  <dnovillo@redhat.com>
7582
7583	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
7584
75852005-09-22  Richard Henderson  <rth@redhat.com>
7586
7587	* critical.c (GOMP_critical_name_start): Change argument to void**.
7588	Reuse the pointer space if the mutex fits.
7589	(GOMP_critical_name_end): Likewise.
7590	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
7591	* libgomp_g.h (GOMP_critical_name_start): Update decl.
7592	(GOMP_critical_name_end): Likewise.
7593	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
7594	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
7595
75962005-09-20  Richard Henderson  <rth@redhat.com>
7597
7598	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
7599	(create_lock_lock): New.
7600	(initialize_critical): Initialize it.
7601	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
7602	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
7603
76042005-09-20  Diego Novillo  <dnovillo@redhat.com>
7605
7606	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
7607
76082005-09-20  Diego Novillo  <dnovillo@redhat.com>
7609
7610	* testsuite/libgomp.dg/omp-loop01.c: New test.
7611	* testsuite/libgomp.dg/omp-loop02.c: New test.
7612
76132005-09-20  Jakub Jelinek  <jakub@redhat.com>
7614
7615	* configure.ac (AC_PROG_FC): Add.
7616	(USE_FORTRAN): New automake conditional.
7617	* configure: Rebuilt.
7618	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
7619	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
7620	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
7621	Add rules to build them.
7622	* Makefile.in: Rebuilt.
7623	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
7624	OMP_NEST_LOCK_KIND.
7625	* libgomp.map: Add Fortran wrappers.
7626	* libgomp_f.h.in: New file.
7627	* omp_lib.h.in: New file.
7628	* omp_lib.f90.in: New file.
7629	* fortran.c: New file.
7630	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
7631	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
7632	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
7633	libgfortran has been built.
7634	* testsuite/libgomp.fortran/fortran.exp: New file.
7635	* testsuite/libgomp.fortran/omp_cond1.f: New test.
7636	* testsuite/libgomp.fortran/omp_cond2.f: New test.
7637	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
7638	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
7639	* testsuite/libgomp.fortran/omp_hello.f: New test.
7640	* testsuite/libgomp.fortran/omp_orphan.f: New test.
7641	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
7642	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
7643	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
7644	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
7645	* testsuite/libgomp.fortran/omp_reduction.f: New test.
7646	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
7647	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
7648
76492005-08-30  Richard Henderson  <rth@redhat.com>
7650
7651	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
7652	function for when aliases are not usable.
7653	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
7654	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
7655	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
7656	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
7657	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
7658	GOMP_loop_ordered_guided_next): Likewise.
7659	* ordered.c (GOMP_ordered_start): Likewise.
7660
76612005-08-01  Diego Novillo  <dnovillo@redhat.com>
7662
7663	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
7664	* testsuite/libgomp.dg/omp_hello.c: Fix return code
7665	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
7666	* testsuite/libgomp.dg/omp_orphan.c: Likewise
7667	* testsuite/libgomp.dg/omp_reduction.c: Likewise
7668	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
7669	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
7670	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
7671	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
7672
76732005-07-07  Eric Christopher  <echristo@redhat.com>
7674	    Diego Novillo  <dnovillo@redhat.com>
7675
7676	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
7677	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
7678	up code.
7679	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
7680	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
7681	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
7682	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
7683	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
7684	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
7685	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
7686
76872005-06-13  Diego Novillo  <dnovillo@redhat.com>
7688
7689	* TOPLEVEL.patch: Remove.
7690
76912005-05-16  Richard Henderson  <rth@redhat.com>
7692
7693	* configure.ac: Test for clock_gettime.
7694	* config.h.in, configure: Rebuild.
7695	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
7696	(omp_get_wtime): Use clock_gettime if available.
7697	(omp_get_wtick): Use clock_getres if available.
7698
76992005-05-11  Richard Henderson  <rth@redhat.com>
7700
7701	* config/linux/ia64/futex.h: New file.
7702	* configure.tgt: Use it.
7703
7704	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
7705
77062005-05-07  Richard Henderson  <rth@redhat.com>
7707
7708	* config/linux/powerpc/futex.h: New file.
7709	* configure.tgt: Use it.
7710
7711	* config/linux/i486/futex.h: Merge ...
7712	* config/linux/x86_64/futex.h: ... into ...
7713	* config/linux/x86/futex.h: ... here.
7714	* configure.tgt: Update to match.
7715
77162005-05-06  Richard Henderson  <rth@redhat.com>
7717
7718	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
7719	* config/linux/i486/futex.h: Likewise.
7720	* config/linux/x86_64/futex.h: Likewise.
7721
7722	* config/linux/lock.c: New file.
7723	* config/linux/omp-lock.h: New file.
7724
7725	* critical.c, env.h: Don't include omp.h
7726	* config/posix/lock.c: Include libgomp.h instead of omp.h.
7727	* config/posix/time.c: Likewise.
7728	* config/posix/omp-lock.h: New file.
7729	* libgomp.h: Include omp-lock.h and omp.h.
7730	* Makefile.am (nodist_include_HEADERS): New.
7731	(omp.h): New rule.
7732	* configure.ac (PERL): New.
7733	* mkomp_h.pl: New file.
7734	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
7735	with templates.
7736	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
7737
7738	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
7739	build directory.  Re-add -march=i486 hack.
7740
7741	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
7742	(libgomp_link_flags): Remove.
7743	(libgomp_initialized): Remove.
7744	(libgomp_init): Don't protect from reinitialization.  Copy code
7745	from libstdc++ for getting the multilib set correctly.
7746
77472005-05-05  Richard Henderson  <rth@redhat.com>
7748
7749	* config/linux/alpha/futex.h: New file.
7750	* configure.tgt (alpha*-*-linux*): Use it.
7751
7752	* config/posix/mutex.c: New file.
7753	* config/posix/sem.c: Use libgomp.h.
7754
7755	* configure.tgt (x86_64-linux): Also test CC for -m32.
7756	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
7757
7758	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
7759	after $gccpath.
7760
7761	* Makefile.am (SUBDIRS): New.
7762	(libgomp_la_LDFLAGS): Add -lpthread.
7763	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
7764	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
7765
7766	* libgomp_g.h: New file.
7767	* libgomp.h: Split out all public declarations to libgomp_g.h.
7768	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
7769	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
7770	* config/linux/sem.h: Likewise.
7771	* config/posix/sem.h: Likewise.
7772
7773	* Makefile.am (AM_LDFLAGS): New.
7774	(libgomp_version_script): Split out from ...
7775	(libgomp_la_LDFLAGS): ... here.
7776	(libgomp_version_info): New.
7777	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
7778	(LIBGOMP_ENABLE): New.
7779	(LIBGOMP_CHECK_LINKER_FEATURES): New.
7780	(LIBGOMP_ENABLE_SYMVERS): New.
7781	* configure.ac (AC_INIT): Version 1.0.
7782	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
7783	(enable-linux-futex): Likewise.  Rename from enable-futex.
7784	(libtool_VERSION): New.
7785	(LIBGOMP_ENABLE_SYMVERS): Use it.
7786	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
7787	* Makefile.in, aclocal.m4, configure: Rebuild.
7788
7789	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
7790	(gomp_mutex_unlock_slow): Fix typo.
7791	* config/linux/sem.c: Similarly.
7792	(gomp_sem_post_slow): Fix typo.
7793	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
7794	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
7795	[__PIC__] (sys_futex0): Don't use tmp output in asm.
7796
7797	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
7798	(libgomp_la_LDFLAGS): Add top_srcdir to path.
7799	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
7800	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
7801	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
7802	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
7803	LDFLAGS.  Pull enable_futex check to top-level.
7804	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
7805	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
7806
7807	First attempt at real configury.
7808	* Makefile, config.h: Remove file.
7809	* Makefile.am, Makefile.in: New file.
7810	* acinclude.m4 aclocal.m4: New file.
7811	* configure.ac, configure.tgt, configure: New file.
7812
7813	* config/posix/lock.c: Rename from sys-lock.c.
7814	* config/posix/mutex.h: Rename from sys-mutex.h.
7815	* config/posix/sem.c: Rename from sys-sem.c.
7816	* config/posix/sem.h: Rename from sys-sem.h.
7817	* config/posix/proc.c: Rename from sys-proc.c.
7818	* config/posix/time.c: Rename from sys-proc.c.
7819
7820	* config/linux/mutex.c: New file.
7821	* config/linux/mutex.h: New file.
7822	* config/linux/sem.c: New file.
7823	* config/linux/sem.h: New file.
7824	* config/linux/i486/futex.h: New file.
7825	* config/linux/x86_64/futex.h: New file.
7826
78272005-05-04  Richard Henderson  <rth@redhat.com>
7828
7829	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
7830	* libgomp.h: Declare them.
7831	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
7832	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
7833
78342005-05-04  Richard Henderson  <rth@redhat.com>
7835
7836	* libgomp-1 code drop
7837
78382005-05-04  Richard Henderson  <rth@redhat.com>
7839
7840	* iter.c (gomp_iter_static_next): Return tri-state on 0.
7841	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
7842	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
7843	(gomp_iter_static_next): Update.
7844	(gomp_ordered_static_next): Update.
7845	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
7846	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
7847	totally empty range.
7848	(gomp_loop_ordered_static_next): Refine test for calling
7849	gomp_ordered_static_next.
7850	* testsuite/ordered-1.c: Add case for more threads than iterations.
7851
7852	* iter.c (gomp_iter_runtime_next_locked): Remove.
7853	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
7854	gomp_loop_guided_start, gomp_loop_ordered_static_start,
7855	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7856	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
7857	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
7858	gomp_loop_ordered_guided_next): Downcase name, make static, add
7859	an external alias with the old name.
7860	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7861	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
7862	switch and call one of the above static functions.
7863	* libgomp.h: Update.
7864
7865	* work.c (gomp_work_share_start): Lock the mutex for !first too.
7866	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
7867	GOMP_loop_guided_start, GOMP_loop_runtime_start,
7868	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
7869	GOMP_loop_ordered_guided_start): Update to match.
7870	* sections.c (GOMP_sections_start): Likewise.
7871	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
7872
7873	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
7874	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
7875	Use bounds check instead of modulus.
7876	(gomp_ordered_sync): Split out of GOMP_ordered_start.
7877	(gomp_ordered_last): Don't sync with ordered_owner here.
7878	(gomp_ordered_next): Likewise.
7879	(gomp_ordered_static_loop_next): Likewise.
7880	* loop.c, libgomp.h: Update to match.
7881
7882	* libgomp.h (GOMP_barrier): Declare.
7883
7884	* testsuite/barrier-1.c: New file.
7885	* testsuite/critical-1.c: New file.
7886	* testsuite/ordered-2.c: New file.
7887	* testsuite/ordered-1.c: New file.
7888	* testsuite/sections-1.c: New file.
7889	* testsuite/single-1.c: New file.
7890	* testsuite/Makefile (TESTS): Add them.
7891
78922005-05-04  Richard Henderson  <rth@redhat.com>
7893
7894	* libgomp.h (struct gomp_work_share): Add ordered_owner.
7895	* loop.c (GOMP_loop_static_start): If not the startup thread,
7896	acquire the mutex to wait for initialization complete.
7897	(GOMP_loop_ordered_static_start): Likewise.
7898	(GOMP_loop_ordered_runtime_start): Likewise.
7899	(GOMP_loop_ordered_static_first): Remove.
7900	(GOMP_loop_ordered_dynamic_first): Remove.
7901	(GOMP_loop_ordered_guided_first): Remove.
7902	(GOMP_loop_ordered_runtime_first): Remove.
7903	* ordered.c (gomp_ordered_loop_first): Post to own release when
7904	we're the first thread.
7905	(gomp_ordered_loop_last): Wait on release if not owner.
7906	(gomp_ordered_loop_next): Likewise.
7907	(gomp_ordered_static_loop_init): New.
7908	(gomp_ordered_static_loop_next): Use ordered_owner.
7909	(GOMP_ordered_start): Likewise.
7910	* work.c (gomp_new_work_share): Initialize ordered_owner.
7911
79122005-05-03  Richard Henderson  <rth@redhat.com>
7913
7914	* Makefile (OPT): New.
7915	(CFLAGS): Use it.
7916
7917	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
7918	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
7919	* libgomp.h, libgomp.map, NOTES: Update to match.
7920
7921	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
7922	Add initialized and thr members.
7923	(gomp_thread_start): Pause when initially spawned to wait for
7924	the whole team to be created.
7925	(gomp_team_start): Release team members at the end.
7926
7927	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
7928	(f_foo_1): Use GOMP_loop_end.
7929	(f_foo_2): Use GOMP_loop_end_nowait.
7930
7931	* testsuite/loop-2.c: New file.
7932	* testsuite/Makefile (TESTS): Add it.
7933
79342005-05-03  Richard Henderson  <rth@redhat.com>
7935
7936	* iter.c (gomp_iter_static_next): Fix overflow check typo.
7937	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
7938	* team.c (new_team): Initialize oldest_live_gen to 1 if no
7939	initial work_share.
7940
7941	* testsuite/Makefile: New file.
7942	* testsuite/loop-1.c: New file.
7943
79442005-05-03  Richard Henderson  <rth@redhat.com>
7945
7946	Initial implementation and checkin.
7947
7948Copyright (C) 2005-2016 Free Software Foundation, Inc.
7949
7950Copying and distribution of this file, with or without modification,
7951are permitted in any medium without royalty provided the copyright
7952notice and this notice are preserved.
7953