12014-10-30  Release Manager
2
3	* GCC 4.9.2 released.
4
52014-10-03  Jakub Jelinek  <jakub@redhat.com>
6
7	PR libgomp/61200
8	* testsuite/libgomp.c/pr61200.c: New test.
9
102014-09-18  Jakub Jelinek  <jakub@redhat.com>
11
12	PR c++/63248
13	* testsuite/libgomp.c++/pr63248.C: New test.
14
152014-08-04  Jakub Jelinek  <jakub@redhat.com>
16
17	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
18	is not zero, but taskgroup->children is NULL and there are
19	any task->children, schedule those instead of waiting.
20	* testsuite/libgomp.c/depend-6.c: New test.
21	* testsuite/libgomp.c/depend-7.c: New test.
22	* testsuite/libgomp.c/depend-8.c: New test.
23	* testsuite/libgomp.c/depend-9.c: New test.
24	* testsuite/libgomp.c/depend-10.c: New test.
25
262014-08-01  Jakub Jelinek  <jakub@redhat.com>
27
28	* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
29	(struct gomp_taskwait): New type.
30	(struct gomp_task): Add taskwait and parent_depends_on, remove
31	in_taskwait and taskwait_sem fields.
32	(gomp_finish_task): Don't destroy taskwait_sem.
33	* task.c (gomp_init_task): Don't init in_taskwait, instead init
34	taskwait and parent_depends_on.
35	(GOMP_task): For if (0) tasks with depend clause that depend on
36	earlier tasks don't defer them, instead call
37	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
38	Initialize redundant_out field, for redundant out entries just
39	move them at the end of linked list instead of removing them
40	completely, and set redundant_out flag instead of redundant.
41	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
42	that task.
43	(gomp_task_run_post_handle_dependers): If parent is in
44	gomp_task_maybe_wait_for_dependencies and newly runnable task
45	is not parent_depends_on, queue it in parent->children linked
46	list after all runnable tasks with parent_depends_on set.
47	Adjust for addition of taskwait indirection.
48	(gomp_task_run_post_remove_parent): If parent is in
49	gomp_task_maybe_wait_for_dependencies and task to be removed
50	is parent_depends_on, decrement n_depend and if needed awake
51	parent.  Adjust for addition of taskwait indirection.
52	(GOMP_taskwait): Adjust for addition of taskwait indirection.
53	(gomp_task_maybe_wait_for_dependencies): New function.
54	* testsuite/libgomp.c/depend-5.c: New test.
55
562014-07-16  Release Manager
57
58	* GCC 4.9.1 released.
59
602014-06-30  Jakub Jelinek  <jakub@redhat.com>
61
62	Backported from mainline
63	2014-06-25  Jakub Jelinek  <jakub@redhat.com>
64
65	* testsuite/libgomp.fortran/simd5.f90: New test.
66	* testsuite/libgomp.fortran/simd6.f90: New test.
67	* testsuite/libgomp.fortran/simd7.f90: New test.
68
69	2014-06-24  Jakub Jelinek  <jakub@redhat.com>
70
71	* testsuite/libgomp.fortran/aligned1.f03: New test.
72	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
73	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
74	tasks with !$omp parallel !$omp single.
75	* testsuite/libgomp.fortran/target8.f90: New test.
76	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
77	not to use trim in the combiner, instead call elemental function.
78	(fn): New elemental function.
79	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
80	Make elemental.
81	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
82	omp_in): Likewise.
83	* testsuite/libgomp.fortran/udr12.f90: New test.
84	* testsuite/libgomp.fortran/udr13.f90: New test.
85	* testsuite/libgomp.fortran/udr14.f90: New test.
86	* testsuite/libgomp.fortran/udr15.f90: New test.
87
88	2014-06-18  Jakub Jelinek  <jakub@redhat.com>
89
90	* omp_lib.f90.in (openmp_version): Set to 201307.
91	* omp_lib.h.in (openmp_version): Likewise.
92	* testsuite/libgomp.c/target-8.c: New test.
93	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
94	and inbranch clauses.
95	* testsuite/libgomp.fortran/depend-3.f90: New test.
96	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
97	openmp_version.
98	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
99	* testsuite/libgomp.fortran/target1.f90: New test.
100	* testsuite/libgomp.fortran/target2.f90: New test.
101	* testsuite/libgomp.fortran/target3.f90: New test.
102	* testsuite/libgomp.fortran/target4.f90: New test.
103	* testsuite/libgomp.fortran/target5.f90: New test.
104	* testsuite/libgomp.fortran/target6.f90: New test.
105	* testsuite/libgomp.fortran/target7.f90: New test.
106
107	2014-06-10  Jakub Jelinek  <jakub@redhat.com>
108
109	PR fortran/60928
110	* testsuite/libgomp.fortran/allocatable9.f90: New test.
111	* testsuite/libgomp.fortran/allocatable10.f90: New test.
112	* testsuite/libgomp.fortran/allocatable11.f90: New test.
113	* testsuite/libgomp.fortran/allocatable12.f90: New test.
114	* testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
115	* testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
116	* testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
117	* testsuite/libgomp.fortran/associate1.f90: New test.
118	* testsuite/libgomp.fortran/associate2.f90: New test.
119	* testsuite/libgomp.fortran/procptr1.f90: New test.
120
121	2014-06-06  Jakub Jelinek  <jakub@redhat.com>
122
123	* testsuite/libgomp.fortran/simd1.f90: New test.
124	* testsuite/libgomp.fortran/udr1.f90: New test.
125	* testsuite/libgomp.fortran/udr2.f90: New test.
126	* testsuite/libgomp.fortran/udr3.f90: New test.
127	* testsuite/libgomp.fortran/udr4.f90: New test.
128	* testsuite/libgomp.fortran/udr5.f90: New test.
129	* testsuite/libgomp.fortran/udr6.f90: New test.
130	* testsuite/libgomp.fortran/udr7.f90: New test.
131	* testsuite/libgomp.fortran/udr8.f90: New test.
132	* testsuite/libgomp.fortran/udr9.f90: New test.
133	* testsuite/libgomp.fortran/udr10.f90: New test.
134	* testsuite/libgomp.fortran/udr11.f90: New test.
135
136	2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
137
138	* testsuite/libgomp.fortran/declare-simd-1.f90: Require
139	vect_simd_clones effective target.
140	* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
141
142	2014-05-11  Jakub Jelinek  <jakub@redhat.com>
143
144	* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
145	* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
146	* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
147	* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
148	* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
149	* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
150	* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
151	* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
152	* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
153	* testsuite/libgomp.fortran/depend-1.f90: New test.
154	* testsuite/libgomp.fortran/depend-2.f90: New test.
155	* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
156	* testsuite/libgomp.fortran/simd1.f90: New test.
157	* testsuite/libgomp.fortran/simd2.f90: New test.
158	* testsuite/libgomp.fortran/simd3.f90: New test.
159	* testsuite/libgomp.fortran/simd4.f90: New test.
160	* testsuite/libgomp.fortran/taskgroup1.f90: New test.
161
1622014-06-24  Jakub Jelinek  <jakub@redhat.com>
163
164	* testsuite/libgomp.c/for-2.c: Define SC to static for
165	#pragma omp for simd testing.
166	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
167	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
168	SC macro.
169	* testsuite/libgomp.c/simd-14.c: New test.
170	* testsuite/libgomp.c/simd-15.c: New test.
171	* testsuite/libgomp.c/simd-16.c: New test.
172	* testsuite/libgomp.c/simd-17.c: New test.
173	* testsuite/libgomp.c++/for-10.C: Define SC to static for
174	#pragma omp for simd testing.
175	* testsuite/libgomp.c++/simd10.C: New test.
176	* testsuite/libgomp.c++/simd11.C: New test.
177	* testsuite/libgomp.c++/simd12.C: New test.
178	* testsuite/libgomp.c++/simd13.C: New test.
179
1802014-05-21  Jakub Jelinek  <jakub@redhat.com>
181
182	PR middle-end/61252
183	* testsuite/libgomp.c++/simd-9.C: New test.
184
1852014-05-18  Uros Bizjak  <ubizjak@gmail.com>
186
187	* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
188	(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
189	texts according to their @menu entry positions.
190
1912014-05-02  Jakub Jelinek  <jakub@redhat.com>
192
193	* testsuite/libgomp.c/simd-10.c: New test.
194	* testsuite/libgomp.c/simd-11.c: New test.
195	* testsuite/libgomp.c/simd-12.c: New test.
196	* testsuite/libgomp.c/simd-13.c: New test.
197
1982014-04-24  Jakub Jelinek  <jakub@redhat.com>
199
200	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
201	atomic type clauses in any order and optional comma in between.
202	* testsuite/libgomp.c++/atomic-15.C: Likewise.
203	* testsuite/libgomp.c/atomic-17.c: Likewise.
204
205	* testsuite/libgomp.c/simd-7.c: New test.
206	* testsuite/libgomp.c/simd-8.c: New test.
207	* testsuite/libgomp.c/simd-9.c: New test.
208	* testsuite/libgomp.c/loop-16.c: New test.
209
2102014-04-22  Release Manager
211
212	* GCC 4.9.0 released.
213
2142014-04-02  Richard Henderson  <rth@redhat.com>
215
216	* config/linux/futex.h (futex_wait): Get error value from errno.
217	(futex_wake): Likewise.
218
2192014-03-25  Jakub Jelinek  <jakub@redhat.com>
220
221	PR c++/60331
222	* testsuite/libgomp.c++/udr-11.C: New test.
223	* testsuite/libgomp.c++/udr-12.C: New test.
224	* testsuite/libgomp.c++/udr-13.C: New test.
225	* testsuite/libgomp.c++/udr-14.C: New test.
226	* testsuite/libgomp.c++/udr-15.C: New test.
227	* testsuite/libgomp.c++/udr-16.C: New test.
228	* testsuite/libgomp.c++/udr-17.C: New test.
229	* testsuite/libgomp.c++/udr-18.C: New test.
230	* testsuite/libgomp.c++/udr-19.C: New test.
231
2322014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
233
234	Update copyright years
235
2362014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
237
238	* hashtab.h: Use the standard form for the copyright notice.
239
2402014-01-02  Tobias Burnus  <burnus@net-b.de>
241
242	* libgomp.texi: Bump @copying's copyright year.
243
2442013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
245
246	* testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
247	alloca () with __builtin_alloca ().
248	* testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
249	* testsuite/libgomp.c/lock-3.c: Likewise.
250	* testsuite/libgomp.c/pr48591.c: Likewise.
251
2522013-12-17  Jakub Jelinek  <jakub@redhat.com>
253
254	PR testsuite/59534
255	* testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
256	comparisons.
257
2582013-12-16  Jakub Jelinek  <jakub@redhat.com>
259
260	PR libgomp/58756
261	* testsuite/libgomp.c/pr58756.c: New test.
262
2632013-12-12  Jakub Jelinek  <jakub@redhat.com>
264
265	PR libgomp/59467
266	* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
267	!$omp parallel.
268
2692013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
270
271	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
272	ALWAYS_CFLAGS.
273	* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
274	* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
275	* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
276	* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
277	Likewise.
278
279	* libgomp_g.h: Include <stddef.h> for size_t.
280
281	* libgomp.spec.in: Update comment about libgomp's dependencies.
282	* configure.ac: Likewise.
283	* configure: Regenerate.
284
2852013-10-16  Tobias Burnus  <burnus@net-b.de>
286
287	* libgomp.texi: (Runtime Library Routines): Update references for
288	OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
289	omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
290	omp_get_team_num, omp_is_initial_device, omp_set_default_device.
291	(Environment Variables): Update references for OpenMP 4.0. Add
292	OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
293	Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
294	order.
295
2962013-10-14  Jakub Jelinek  <jakub@redhat.com>
297
298	* env.c (parse_bind_var): Initialize value to avoid
299	(false positive) warning.
300
3012013-10-12  Jakub Jelinek  <jakub@redhat.com>
302
303	PR libgomp/58691
304	* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
305	to check variable.
306	(gomp_init_num_threads): Move i variable declaration into
307	#ifdef CPU_ALLOC_SIZE block.
308	* config/linux/affinity.c (gomp_affinity_init_level): Test
309	gomp_places_list_len == 0 rather than gomp_places_list == 0
310	when checking for topology reading error.
311	* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
312	* env.c (parse_affinity): Add ignore argument, if true, don't populate
313	gomp_places_list, only parse env var and always return false.
314	(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
315	(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
316	vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
317	and either of these variables were parsed correctly into a places
318	list.
319
3202013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
321	    Jakub Jelinek  <jakub@redhat.com>
322
323	* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
324	of 5 loopfn matches.
325	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
326	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
327	* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
328	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
329	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
330	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
331	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
332	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
333
3342013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
335
336	* Makefile.am (omp_lib.mod): Streamline rule.
337	* Makefile.in: Regenerate.
338
339	* libgomp.texi (Runtime Library Routines): C linkage, don't throw
340	exceptions.
341
342	* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
343	* testsuite/libgomp.fortran/lib1.f90: Likewise.
344	* testsuite/libgomp.fortran/lib2.f: Likewise.
345	* testsuite/libgomp.fortran/lib3.f: Likewise.
346
347	* configure.ac: Typo fix.
348	* configure: Regenerate.
349
350	* testsuite/libgomp.fortran/openmp_version-1.f: New file.
351	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
352
353	* omp.h.in: Don't touch the user's namespace.
354
3552013-10-11  Jakub Jelinek  <jakub@redhat.com>
356	    Tobias Burnus  <burnus@net-b.de>
357	    Richard Henderson  <rth@redhat.com>
358
359	* target.c: New file.
360	* Makefile.am (libgomp_la_SOURCES): Add target.c.
361	* Makefile.in: Regenerated.
362	* libgomp_g.h (GOMP_task): Add depend argument.
363	(GOMP_barrier_cancel, GOMP_loop_end_cancel,
364	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
365	GOMP_target_end_data, GOMP_target_update, GOMP_teams,
366	GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
367	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
368	GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
369	GOMP_taskgroup_start, GOMP_taskgroup_end,
370	GOMP_parallel_sections): New prototypes.
371	* fortran.c (omp_is_initial_device): Add ialias_redirect.
372	(omp_is_initial_device_): New function.
373	(ULP, STR1, STR2, ialias_redirect): Removed.
374	(omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
375	omp_set_default_device_8_, omp_get_default_device_,
376	omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
377	functions.
378	* libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
379	GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
380	GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
381	@@GOMP_4.0.
382	(omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
383	omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
384	omp_set_default_device, omp_set_default_device_,
385	omp_set_default_device_8_, omp_get_default_device,
386	omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
387	omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
388	omp_get_team_num_): Export @@OMP_4.0.
389	* team.c (struct gomp_thread_start_data): Add place field.
390	(gomp_thread_start): Clear thr->thread_pool and
391	thr->task before returning.  Use gomp_team_barrier_wait_final
392	instead of gomp_team_barrier_wait.  Initialize thr->place.
393	(gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
394	team_cancelled and task_queued_count fields.
395	(gomp_free_pool_helper): Clear thr->thread_pool and thr->task
396	before calling pthread_exit.
397	(gomp_free_thread): No longer static.  Use
398	gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
399	(gomp_team_start): Add flags argument.  Set
400	thr->thread_pool->threads_busy to nthreads immediately after creating
401	new pool.  Use gomp_managed_threads_lock instead of
402	gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
403	(gomp_team_end): Use gomp_managed_threads_lock instead of
404	gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
405	of gomp_team_barrier_wait.  If team->team_cancelled, call
406	gomp_fini_worshare on ws chain starting at team->work_shares_to_free
407	rather than thr->ts.work_share.
408	(initialize_team): Don't call gomp_sem_init here.
409	* sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
410	caller.
411	(GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
412	* env.c (gomp_global_icv): Add default_device_var, target_data and
413	bind_var initializers.
414	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
415	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
416	gomp_places_list_len): New variables.
417	(parse_bind_var, parse_one_place, parse_places_var): New functions.
418	(parse_affinity): Rewritten to construct OMP_PLACES list with unit
419	sized places.
420	(gomp_cancel_var): New global variable.
421	(parse_int): New function.
422	(handle_omp_display_env): New function.
423	(initialize_env): Use it.  Initialize default_device_var.
424	Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
425	OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
426	OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
427	been successfully parsed (and call gomp_init_affinity in that case).
428	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
429	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
430	omp_get_team_num, omp_is_initial_device): New functions.
431	* libgomp.h: Include stdlib.h.
432	(ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
433	Define.
434	(struct target_mem_desc): Forward declare.
435	(struct gomp_task_icv): Add default_device_var, target_data, bind_var
436	and thread_limit_var fields.
437	(gomp_get_num_devices): New prototype.
438	(gomp_cancel_var): New extern decl.
439	(struct gomp_team): Add work_shares_to_free, work_share_cancelled,
440	team_cancelled and task_queued_count fields.  Add comments about
441	task_{,queued_,running_}count.
442	(gomp_cancel_kind): New enum.
443	(gomp_work_share_end_cancel): New prototype.
444	(struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
445	copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
446	and depend fields.
447	(struct gomp_taskgroup): New type.
448	(struct gomp_task_depend_entry,
449	struct gomp_dependers_vec): New types.
450	(gomp_finish_task): Free depend_hash if non-NULL.
451	(struct gomp_team_state): Add place_partition_off
452	and place_partition_len fields.
453	(gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
454	gomp_places_list_len): New extern decls.
455	(struct gomp_thread): Add place field.
456	(gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
457	(gomp_init_thread_affinity): Add place argument.
458	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
459	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
460	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
461	gomp_affinity_init_level, gomp_affinity_print_place): New
462	prototypes.
463	(gomp_team_start): Add flags argument.
464	(gomp_thread_limit_var, gomp_remaining_threads_count,
465	gomp_remaining_threads_lock): Remove.
466	(gomp_managed_threads_lock): New variable.
467	(struct gomp_thread_pool): Add threads_busy field.
468	(gomp_free_thread): New prototype.
469	* task.c: Include hashtab.h.
470	(hash_entry_type): New typedef.
471	(htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
472	(gomp_init_task): Clear dependers, depend_hash, depend_count,
473	copy_ctors_done and taskgroup fields.
474	(GOMP_task): Add depend argument, handle depend clauses.  If
475	gomp_team_barrier_cancelled or if it's taskgroup has been
476	cancelled, don't queue or start new tasks.  Set copy_ctors_done
477	field if needed.  Initialize taskgroup field.  If copy_ctors_done
478	and already cancelled, don't discard the task.  If taskgroup is
479	non-NULL, enqueue the task into taskgroup queue.  Increment
480	num_children field in taskgroup.  Increment task_queued_count.
481	(gomp_task_run_pre, gomp_task_run_post_remove_parent,
482	gomp_task_run_post_remove_taskgroup): New inline functions.
483	(gomp_task_run_post_handle_depend_hash,
484	gomp_task_run_post_handle_dependers,
485	gomp_task_run_post_handle_depend): New functions.
486	(GOMP_taskwait): Use them.  If more than one new tasks
487	have been queued, wake other threads if needed.
488	(gomp_barrier_handle_tasks): Likewise.  If
489	gomp_team_barrier_cancelled, don't start any new tasks, just free
490	all tasks.
491	(GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
492	* omp_lib.f90.in
493	(omp_proc_bind_kind, omp_proc_bind_false,
494	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
495	omp_proc_bind_spread): New params.
496	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
497	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
498	omp_get_team_num, omp_is_initial_device): New interfaces.
499	(omp_get_dynamic, omp_get_nested, omp_in_parallel,
500	omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
501	omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
502	omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
503	omp_get_team_size, omp_get_active_level, omp_in_final): Remove
504	useless use omp_lib_kinds.
505	* omp.h.in (omp_proc_bind_t): New typedef.
506	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
507	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
508	omp_get_team_num, omp_is_initial_device): New prototypes.
509	* loop.c (gomp_parallel_loop_start): Add flags argument, pass it
510	through to gomp_team_start.
511	(GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
512	GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
513	Adjust gomp_parallel_loop_start callers.
514	(GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
515	GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
516	GOMP_loop_end_cancel): New functions.
517	(GOMP_parallel_end): Add ialias_redirect.
518	* hashtab.h: New file.
519	* libgomp.texi (Environment Variables): Minor cleanup,
520	update section refs to OpenMP 4.0rc2.
521	(OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
522	environment variables.
523	* work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
524	team->work_shares_to_free to thr->ts.work_share before calling
525	free_work_share.
526	(gomp_work_share_end_cancel): New function.
527	* config/linux/proc.c: Include errno.h.
528	(gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
529	(gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
530	sizeof (cpu_set_t) to determine number of iterations.  Fix up check
531	extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
532	gomp_cpuset_size is sizeof (cpu_set_t).
533	(gomp_init_num_threads): Initialize gomp_cpuset_size,
534	gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
535	of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
536	to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
537	contain any logical CPUs.
538	(get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
539	is NULL.  Use gomp_cpusetp instead of &cpuset and pass
540	gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
541	pthread_getaffinity_np.  Check gomp_places_list instead of
542	gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
543	* config/linux/bar.c (gomp_barrier_wait_end,
544	gomp_barrier_wait_last): Use BAR_* defines.
545	(gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
546	from state where needed.  Set work_share_cancelled to 0 on last
547	thread.
548	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
549	gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
550	functions.
551	* config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
552	Add cpusetsize argument.
553	(gomp_cpuset_size, gomp_cpusetp): Declare.
554	* config/linux/affinity.c: Include errno.h, stdio.h and string.h.
555	(affinity_counter): Remove.
556	(CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
557	if CPU_ALLOC_SIZE isn't defined.
558	(gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
559	silently create OMP_PLACES=threads, if it is non-NULL afterwards,
560	bind current thread to the first place.
561	(gomp_init_thread_affinity): Rewritten.  Add place argument, just
562	pthread_setaffinity_np to gomp_places_list[place].
563	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
564	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
565	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
566	gomp_affinity_init_level, gomp_affinity_print_place): New functions.
567	* config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
568	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
569	(gomp_barrier_t): Add awaited_final field.
570	(gomp_barrier_init): Initialize awaited_final field.
571	(gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
572	gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
573	prototypes.
574	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
575	defines.
576	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
577	gomp_team_barrier_cancelled): New inline functions.
578	(gomp_barrier_last_thread,
579	gomp_team_barrier_set_task_pending,
580	gomp_team_barrier_clear_task_pending,
581	gomp_team_barrier_set_waiting_for_tasks,
582	gomp_team_barrier_waiting_for_tasks,
583	gomp_team_barrier_done): Use BAR_* defines.
584	* config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
585	(gomp_barrier_wait_end): Use BAR_* defines.
586	(gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
587	Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
588	Use BAR_* defines.
589	(gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
590	gomp_team_barrier_cancel): New functions.
591	* config/posix/affinity.c (gomp_init_thread_affinity): Add place
592	argument.
593	(gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
594	gomp_affinity_remove_cpu, gomp_affinity_copy_place,
595	gomp_affinity_same_place, gomp_affinity_finalize_place_list,
596	gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
597	* config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
598	BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
599	(gomp_barrier_t): Add cancellable field.
600	(gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
601	gomp_team_barrier_cancel): New prototypes.
602	(gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
603	(gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
604	gomp_team_barrier_cancelled): New inline functions.
605	(gomp_barrier_wait_start, gomp_barrier_last_thread,
606	gomp_team_barrier_set_task_pending,
607	gomp_team_barrier_clear_task_pending,
608	gomp_team_barrier_set_waiting_for_tasks,
609	gomp_team_barrier_waiting_for_tasks,
610	gomp_team_barrier_done): Use BAR_* defines.
611	* barrier.c (GOMP_barrier_cancel): New function.
612	* omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
613	omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
614	omp_proc_bind_spread): New params.
615	(omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
616	omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
617	omp_get_team_num, omp_is_initial_device): New externals.
618	* parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
619	New functions.
620	(gomp_resolve_num_threads): Adjust for thread_limit now being in
621	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
622	infinity.  If not nested, just return minimum of max_num_threads
623	and icv->thread_limit_var and if thr->thread_pool, set threads_busy
624	to the returned value.  Otherwise, don't update atomically
625	gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
626	(GOMP_parallel_end): Adjust for thread_limit now being in
627	icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
628	infinity.  Adjust threads_busy in the pool rather than
629	gomp_remaining_threads_count.  Remember team->nthreads and call
630	gomp_team_end before adjusting threads_busy, if not nested
631	afterwards, just set it to 1 non-atomically.  Add ialias.
632	(GOMP_parallel_start): Adjust gomp_team_start caller.
633	* testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
634	* testsuite/libgomp.c/affinity-1.c: New test.
635	* testsuite/libgomp.c/atomic-15.c: New test.
636	* testsuite/libgomp.c/atomic-16.c: New test.
637	* testsuite/libgomp.c/atomic-17.c: New test.
638	* testsuite/libgomp.c/cancel-for-1.c: New test.
639	* testsuite/libgomp.c/cancel-for-2.c: New test.
640	* testsuite/libgomp.c/cancel-parallel-1.c: New test.
641	* testsuite/libgomp.c/cancel-parallel-2.c: New test.
642	* testsuite/libgomp.c/cancel-parallel-3.c: New test.
643	* testsuite/libgomp.c/cancel-sections-1.c: New test.
644	* testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
645	* testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
646	* testsuite/libgomp.c/depend-1.c: New test.
647	* testsuite/libgomp.c/depend-2.c: New test.
648	* testsuite/libgomp.c/depend-3.c: New test.
649	* testsuite/libgomp.c/depend-4.c: New test.
650	* testsuite/libgomp.c/for-1.c: New test.
651	* testsuite/libgomp.c/for-1.h: New file.
652	* testsuite/libgomp.c/for-2.c: New test.
653	* testsuite/libgomp.c/for-2.h: New file.
654	* testsuite/libgomp.c/for-3.c: New test.
655	* testsuite/libgomp.c/pr58392.c: New test.
656	* testsuite/libgomp.c/simd-1.c: New test.
657	* testsuite/libgomp.c/simd-2.c: New test.
658	* testsuite/libgomp.c/simd-3.c: New test.
659	* testsuite/libgomp.c/simd-4.c: New test.
660	* testsuite/libgomp.c/simd-5.c: New test.
661	* testsuite/libgomp.c/simd-6.c: New test.
662	* testsuite/libgomp.c/target-1.c: New test.
663	* testsuite/libgomp.c/target-2.c: New test.
664	* testsuite/libgomp.c/target-3.c: New test.
665	* testsuite/libgomp.c/target-4.c: New test.
666	* testsuite/libgomp.c/target-5.c: New test.
667	* testsuite/libgomp.c/target-6.c: New test.
668	* testsuite/libgomp.c/target-7.c: New test.
669	* testsuite/libgomp.c/taskgroup-1.c: New test.
670	* testsuite/libgomp.c/thread-limit-1.c: New test.
671	* testsuite/libgomp.c/thread-limit-2.c: New test.
672	* testsuite/libgomp.c/thread-limit-3.c: New test.
673	* testsuite/libgomp.c/udr-1.c: New test.
674	* testsuite/libgomp.c/udr-2.c: New test.
675	* testsuite/libgomp.c/udr-3.c: New test.
676	* testsuite/libgomp.c++/affinity-1.C: New test.
677	* testsuite/libgomp.c++/atomic-10.C: New test.
678	* testsuite/libgomp.c++/atomic-11.C: New test.
679	* testsuite/libgomp.c++/atomic-12.C: New test.
680	* testsuite/libgomp.c++/atomic-13.C: New test.
681	* testsuite/libgomp.c++/atomic-14.C: New test.
682	* testsuite/libgomp.c++/atomic-15.C: New test.
683	* testsuite/libgomp.c++/cancel-for-1.C: New test.
684	* testsuite/libgomp.c++/cancel-for-2.C: New test.
685	* testsuite/libgomp.c++/cancel-parallel-1.C: New test.
686	* testsuite/libgomp.c++/cancel-parallel-2.C: New test.
687	* testsuite/libgomp.c++/cancel-parallel-3.C: New test.
688	* testsuite/libgomp.c++/cancel-sections-1.C: New test.
689	* testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
690	* testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
691	* testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
692	* testsuite/libgomp.c++/cancel-test.h: New file.
693	* testsuite/libgomp.c++/for-9.C: New test.
694	* testsuite/libgomp.c++/for-10.C: New test.
695	* testsuite/libgomp.c++/for-11.C: New test.
696	* testsuite/libgomp.c++/simd-1.C: New test.
697	* testsuite/libgomp.c++/simd-2.C: New test.
698	* testsuite/libgomp.c++/simd-3.C: New test.
699	* testsuite/libgomp.c++/simd-4.C: New test.
700	* testsuite/libgomp.c++/simd-5.C: New test.
701	* testsuite/libgomp.c++/simd-6.C: New test.
702	* testsuite/libgomp.c++/simd-7.C: New test.
703	* testsuite/libgomp.c++/simd-8.C: New test.
704	* testsuite/libgomp.c++/target-1.C: New test.
705	* testsuite/libgomp.c++/target-2.C: New test.
706	* testsuite/libgomp.c++/target-2-aux.cc: New file.
707	* testsuite/libgomp.c++/target-3.C: New test.
708	* testsuite/libgomp.c++/taskgroup-1.C: New test.
709	* testsuite/libgomp.c++/udr-1.C: New test.
710	* testsuite/libgomp.c++/udr-2.C: New test.
711	* testsuite/libgomp.c++/udr-3.C: New test.
712	* testsuite/libgomp.c++/udr-4.C: New test.
713	* testsuite/libgomp.c++/udr-5.C: New test.
714	* testsuite/libgomp.c++/udr-6.C: New test.
715	* testsuite/libgomp.c++/udr-7.C: New test.
716	* testsuite/libgomp.c++/udr-8.C: New test.
717	* testsuite/libgomp.c++/udr-9.C: New test.
718
7192013-09-20  Jakub Jelinek  <jakub@redhat.com>
720
721	PR testsuite/57605
722	* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
723	ALWAYS_CFLAGS.
724
7252013-09-20  Alan Modra  <amodra@gmail.com>
726
727	* configure: Regenerate.
728
7292013-09-19  Jakub Jelinek  <jakub@redhat.com>
730
731	* testsuite/libgomp.c/sections-2.c: New test.
732
7332013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
734
735	* testsuite/libgomp.fortran/strassen.f90:
736	Add dg-skip-if aarch64_tiny.
737
7382013-06-20  Iain Sandoe  <iain@codesourcery.com>
739	    Cesar Philippidis  <cesar@codesourcery.com>
740
741	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
742	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
743	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
744	* testsuite/libgomp.fortran/fortran.exp: Likewise.
745	* testsuite/libgomp.graphite/graphite.exp: Likewise.
746	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
747	Use dg-runtest rather than gfortran-dg-runtest.
748
7492013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
750
751	* testsuite/libgomp.c/icv-2.c: Extend current handling of
752	Linux-based x86 systems to cover all GNU systems.
753	* testsuite/libgomp.c/lock-3.c: Likewise.
754	* testsuite/libgomp.c/pr48591.c: Likewise.
755
7562013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
757
758	* configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
759	GNU/Hurd, as done for Linux-based systems.
760
761	* config/posix/ptrlock.h: Fix comment.
762
7632013-05-27  Tobias Burnus  <burnus@net-b.de>
764
765	PR fortran/57423
766	* libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
767	omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
768	omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
769	omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
770	omp_destroy_nest_lock): Correct arguments to match the one in
771	the OpenMP spec.
772	* omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
773	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
774	omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
775	omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
776
7772013-05-16  Jakub Jelinek  <jakub@redhat.com>
778
779	* testsuite/libgomp.c/loop-13.c: New test.
780	* testsuite/libgomp.c/loop-14.c: New test.
781	* testsuite/libgomp.c/loop-15.c: New test.
782	* testsuite/libgomp.c++/loop-13.C: New test.
783	* testsuite/libgomp.c++/loop-14.C: New test.
784	* testsuite/libgomp.c++/loop-15.C: New test.
785
7862013-02-06  Jakub Jelinek  <jakub@redhat.com>
787
788	PR middle-end/56217
789	* testsuite/libgomp.c++/pr56217.C: New test.
790
7912013-02-01  Alan Modra  <amodra@gmail.com>
792
793	* task.c (GOMP_task, GOMP_taskwait): Comment.
794
7952013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
796	    Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
797
798	PR libgomp/55561
799	* config/linux/wait.h (do_spin): Use atomic load for addr.
800	* config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
801	for intptr and ptrlock.
802	* config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
803	for ptrlock.
804
8052013-01-22  Alan Modra  <amodra@gmail.com>
806
807	PR libgomp/51376
808	PR libgomp/56073
809	* task.c (GOMP_task): Revert 2011-12-09 change.
810	(GOMP_taskwait): Likewise.  Instead use atomic load with acquire
811	barrier to read task->children..
812	(gomp_barrier_handle_tasks): ..and matching atomic store with
813	release barrier here when setting parent->children to NULL.
814
8152013-01-16  Jakub Jelinek  <jakub@redhat.com>
816	    Tobias Burnus  <burnus@net-b.de>
817
818	PR driver/55884
819	* testsuite/libgomp.fortran/fortran.exp: Use
820	-fintrinsic-modules-path= instead of
821	-fintrinsic-modules-path.
822
8232013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
824
825	Update copyright years.
826
8272012-12-19  Tobias Burnus  <burnus@net-b.de>
828
829	* testsuite/libgomp.fortran/fortran.exp: Set
830	-fintrinsic-modules-path.
831
8322012-12-19  Tobias Burnus  <burnus@net-b.de>
833
834	* testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
835	from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
836
8372012-11-21  Jakub Jelinek  <jakub@redhat.com>
838
839	PR libgomp/55411
840	* team.c (gomp_free_thread): Decrease gomp_managed_threads
841	if pool had any threads_used.
842
8432012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
844
845	* testsuite/libgomp.c++/pr24455.C: Use
846	-Wl,-undefined,dynamic_lookup on darwin.
847
8482012-11-07  David Edelsohn  <dje.gcc@gmail.com>
849
850	* testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
851
8522012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
853
854	* testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
855
8562012-10-23  Ian Bolton  <ian.bolton@arm.com>
857	    Jim MacArthur  <jim.macarthur@arm.com>
858	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
859	    Nigel Stephens  <nigel.stephens@arm.com>
860	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
861	    Richard Earnshaw  <rearnsha@arm.com>
862	    Sofiane Naci  <sofiane.naci@arm.com>
863	    Stephen Thomas  <stephen.thomas@arm.com>
864	    Tejas Belagod  <tejas.belagod@arm.com>
865	    Yufeng Zhang  <yufeng.zhang@arm.com>
866
867	* configure.tgt: Add AArch64.
868
8692012-10-04  Jason Merrill  <jason@redhat.com>
870
871	* testsuite/libgomp.c++/tls-init1.C: New.
872
8732012-09-14  David Edelsohn  <dje.gcc@gmail.com>
874
875	* configure: Regenerated.
876
8772012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
878
879	* config/linux/mips/futex.h (sys_futex0): Change to static
880	function with noinline, nomips16 attributes under MIPS16. Adjust
881	asm statement to place 'li v0,SYS_futex' immediately before
882	syscall insn.
883
8842012-07-04  Sandra Loosemore <sandra@codesourcery.com>
885
886	* libgomp.texi (Library Index): Renamed from "Index" to prevent
887	conflict with index.html on case-insensitive file systems.
888
8892012-07-03  Uros Bizjak  <ubizjak@gmail.com>
890
891	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
892	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
893
8942012-07-02  Richard Guenther  <rguenther@suse.de>
895	    Michael Matz  <matz@suse.de>
896	    Tobias Grosser <tobias@grosser.es>
897	    Sebastian Pop <sebpop@gmail.com>
898
899	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
900	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
901	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
902	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
903
9042012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
905
906	* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
907
9082012-06-22  Richard Guenther  <rguenther@suse.de>
909
910	Merge from graphite branch
911	2012-01-13  Tobias Grosser  <tobias@grosser.es>
912
913	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
914	* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
915
9162012-06-07  Jakub Jelinek  <jakub@redhat.com>
917
918	PR middle-end/53580
919	* testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
920	use GOMP_barrier () call instead.
921	* testsuite/libgomp.c/pr26943-3.c: Likewise.
922	* testsuite/libgomp.c/pr26943-4.c: Likewise.
923	* testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
924	call GOMP_barrier instead.
925	* testsuite/libgomp.fortran/vla5.f90: Likewise.
926
9272012-06-06  Jakub Jelinek  <jakub@redhat.com>
928
929	PR libgomp/52993
930	* config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
931	argument to memset call.
932
9332012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
934
935	* configure: Regenerated.
936
9372012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
938
939	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
940
9412012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
942
943	PR bootstrap/52812
944	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
945
9462012-03-22  Jakub Jelinek  <jakub@redhat.com>
947
948	PR middle-end/52547
949	* testsuite/libgomp.c/pr52547.c: New test.
950
9512012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
952
953	* testsuite/lib/libgomp.exp: load fortran-modules.exp
954
9552012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
956
957	* configure.tgt (mips-sgi-irix6*): Remove.
958
9592012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
960
961	* configure.tgt (alpha*-dec-osf*): Remove.
962
963	* config/osf/sem.h: Remove.
964	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
965
9662012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
967
968	* config/linux/sparc/futex.h (cpu_relax): Read from CC register.
969
9702012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
971
972	PR libstdc++/52188
973	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove	symvers_renaming.
974	Remove ENABLE_SYMVERS_SOL2.
975	* configure: Regenerate.
976	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
977	(PREPROCESS): New variable.
978	(libgomp.ver): New target.
979	[LIBGOMP_BUILD_VERSIONED_SHLIB &&
980	LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
981	LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
982	Use libgomp.ver.
983	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
984	* Makefile.in: Regenerate.
985
9862012-02-14  Walter Lee  <walt@tilera.com>
987
988	* configure.tgt: Handle tilegx and tilepro.
989	* config/linux/tile/futex.h: New file.
990
9912012-02-08  Richard Guenther  <rguenther@suse.de>
992
993	PR tree-optimization/46886
994	* testsuite/libgomp.c/pr46886.c: New testcase.
995
9962012-01-25  Matthias Klose  <doko@ubuntu.com>
997
998	* config/linux/arm: Remove empty directory.
999	* configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
1000
10012011-12-09  Alan Modra  <amodra@gmail.com>
1002
1003	PR libgomp/51376
1004	* task.c (GOMP_taskwait): Don't access task->children outside of
1005	task_lock mutex region.
1006	(GOMP_task): Likewise.
1007
10082011-12-06  Jakub Jelinek  <jakub@redhat.com>
1009
1010	PR libgomp/51132
1011	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
1012	to file scope.
1013	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1014	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1015	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1016	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1017	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1018
10192011-12-02  Alan Modra  <amodra@gmail.com>
1020
1021	* config/linux/affinity.c: Use atomic rather than sync builtin.
1022	* config/linux/lock.c: Likewise.
1023	* config/linux/ptrlock.h: Likewise.
1024	* config/linux/ptrlock.c: Likewise.
1025	* config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
1026	* config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
1027	* config/linux/futex.h (atomic_write_barrier): Delete unused function.
1028	* config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
1029	* config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
1030	* config/linux/mips/futex.h (atomic_write_barrier): Likewise.
1031	* config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
1032	* config/linux/s390/futex.h (atomic_write_barrier): Likewise.
1033	* config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
1034	* config/linux/x86/futex.h (atomic_write_barrier): Likewise.
1035
10362011-11-30  Alan Modra  <amodra@gmail.com>
1037
1038	PR libgomp/51298
1039	* config/linux/bar.h: Use atomic rather than sync builtins.
1040	* config/linux/bar.c: Likewise.  Add missing acquire
1041	synchronisation on generation field.
1042	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
1043	double unlock.
1044
10452011-11-30  Alan Modra  <amodra@gmail.com>
1046
1047	* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
1048	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
1049	* config/linux/mutex.h: Use atomic rather than sync builtins.
1050	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
1051	* config/linux/omp-lock.h: Comment fix.
1052	* config/linux/arm/mutex.h: Delete.
1053	* config/linux/powerpc/mutex.h: Delete.
1054	* config/linux/ia64/mutex.h: Delete.
1055	* config/linux/mips/mutex.h: Delete.
1056
10572011-11-30  Alan Modra  <amodra@gmail.com>
1058
1059	PR libgomp/51249
1060	* config/linux/sem.h: Rewrite.
1061	* config/linux/sem.c: Rewrite.
1062
10632011-11-28  Richard Henderson  <rth@redhat.com>
1064
1065	* libgomp.h (enum memmodel): New.
1066
10672011-11-21  Andreas Tobler  <andreast@fgznet.ch>
1068
1069	* configure: Regenerate.
1070
10712011-10-10  Matthias Klose  <doko@ubuntu.com>
1072
1073	* config/posix95: Remove empty directory.
1074
10752011-08-26  Jakub Jelinek  <jakub@redhat.com>
1076
1077	* testsuite/libgomp.fortran/threadprivate4.f90: New test.
1078
10792011-08-19  Jakub Jelinek  <jakub@redhat.com>
1080
1081	PR fortran/49792
1082	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
1083	* testsuite/libgomp.fortran/pr49792-2.f90: New test.
1084
10852011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1086
1087	* config/posix95/lock.c, posix95/omp-lock.h: Remove.
1088
10892011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1090
1091	PR libgomp/49965
1092	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.
1093
10942011-08-03  Uros Bizjak  <ubizjak@gmail.com>
1095
1096	* config/linux/proc.h: New.
1097	* config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
1098	(gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
1099	(gomp_init_num_threads): Update call to cpuset_popcount.
1100	(get_num_procs): Ditto.
1101	* config/linux/affinity.c (gomp_init_affinity): Call
1102	gomp_cpuset_popcount.
1103
11042011-08-02  Jakub Jelinek  <jakub@redhat.com>
1105
1106	PR fortran/42041
1107	PR fortran/46752
1108	* omp.h.in (omp_in_final): New prototype.
1109	* omp_lib.f90.in (omp_in_final): New interface.
1110	(omp_integer_kind, omp_logical_kind): Remove
1111	and replace all its uses in the module with 4.
1112	(openmp_version): Change to 201107.
1113	* omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
1114	omp_sched_guided, omp_sched_auto): Use omp_sched_kind
1115	kind for the parameters.
1116	(omp_in_final): New external.
1117	(openmp_version): Change to 201107.
1118	* task.c (omp_in_final): New function.
1119	(gomp_init_task): Initialize final_task.
1120	(GOMP_task): Remove unused attribute from flags.  Handle final
1121	tasks.
1122	(GOMP_taskyield): New function.
1123	(omp_in_final): Return true if if (false) or final (true) task
1124	or descendant of final (true).
1125	* fortran.c (omp_in_final_): New function.
1126	* libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
1127	(GOMP_3.0): Export GOMP_taskyield.
1128	* env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
1129	variables.
1130	(parse_unsigned_long_list): New function.
1131	(initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
1132	with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
1133	even if parse_affinity returned false.
1134	* config/linux/affinity.c (gomp_init_affinity): Handle
1135	gomp_cpu_affinity_len == 0.
1136	* libgomp_g.h (GOMP_taskyield): New prototype.
1137	* libgomp.h (struct gomp_task): Add final_task field.
1138	(gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
1139	* team.c (gomp_team_start): Override new task's nthreads_var icv
1140	if list form OMP_NUM_THREADS has been used and it has value for
1141	the new nesting level.
1142
1143	* testsuite/libgomp.c/atomic-11.c: New test.
1144	* testsuite/libgomp.c/atomic-12.c: New test.
1145	* testsuite/libgomp.c/atomic-13.c: New test.
1146	* testsuite/libgomp.c/atomic-14.c: New test.
1147	* testsuite/libgomp.c/reduction-6.c: New test.
1148	* testsuite/libgomp.c/task-5.c: New test.
1149	* testsuite/libgomp.c++/atomic-2.C: New test.
1150	* testsuite/libgomp.c++/atomic-3.C: New test.
1151	* testsuite/libgomp.c++/atomic-4.C: New test.
1152	* testsuite/libgomp.c++/atomic-5.C: New test.
1153	* testsuite/libgomp.c++/atomic-6.C: New test.
1154	* testsuite/libgomp.c++/atomic-7.C: New test.
1155	* testsuite/libgomp.c++/atomic-8.C: New test.
1156	* testsuite/libgomp.c++/atomic-9.C: New test.
1157	* testsuite/libgomp.c++/task-8.C: New test.
1158	* testsuite/libgomp.c++/reduction-4.C: New test.
1159	* testsuite/libgomp.fortran/allocatable7.f90: New test.
1160	* testsuite/libgomp.fortran/allocatable8.f90: New test.
1161	* testsuite/libgomp.fortran/crayptr3.f90: New test.
1162	* testsuite/libgomp.fortran/omp_atomic3.f90: New test.
1163	* testsuite/libgomp.fortran/omp_atomic4.f90: New test.
1164	* testsuite/libgomp.fortran/pointer1.f90: New test.
1165	* testsuite/libgomp.fortran/pointer2.f90: New test.
1166	* testsuite/libgomp.fortran/task4.f90: New test.
1167
11682011-08-02  Tobias Burnus  <burnus@net-b.de>
1169
1170	* libgomp.texi: Update OpenMP spec references to 3.1.
1171	(omp_in_final,OMP_PROC_BIND): New sections.
1172	(OMP_NUM_THREADS): Document that the value can be now a list.
1173	(GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
1174
11752011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
1176
1177	* config/linux/x86/futex.h: Check __x86_64__ instead of
1178	__LP64__.
1179
11802011-07-29  Jakub Jelinek  <jakub@redhat.com>
1181
1182	PR middle-end/49897
1183	PR middle-end/49898
1184	* testsuite/libgomp.c/pr49897-1.c: New test.
1185	* testsuite/libgomp.c/pr49897-2.c: New test.
1186	* testsuite/libgomp.c/pr49898-1.c: New test.
1187	* testsuite/libgomp.c/pr49898-2.c: New test.
1188
11892011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
1190
1191	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
1192	for ia32 instead of ilp32.
1193
1194	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
1195	* testsuite/libgomp.c/atomic-6.c: Likewise.
1196
11972011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
1198
1199	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
1200	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
1201
12022011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1203
1204	PR libgomp/45351
1205	* config/osf/sem.h: New file.
1206	* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
1207
12082011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1209
1210	PR target/49541
1211	* testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
1212	ldflags.
1213
12142011-07-15  Jakub Jelinek  <jakub@redhat.com>
1215
1216	* config/linux/wait.h (do_spin): New inline, largely copied
1217	from do_wait, just don't do futex_wait here, instead return true if
1218	it should be done.
1219	(do_wait): Implement using do_spin.
1220	* config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
1221	to prototype.
1222	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
1223	__sync_bool_compare_and_swap, pass the oldval to
1224	gomp_mutex_lock_slow.
1225	* config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
1226	If all mutex contenders are just spinning and not sleeping, don't
1227	change state to 2 unnecessarily.  Optimize the loop when state has
1228	already become 2 to use just one atomic operation per loop instead
1229	of two.
1230	* config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
1231	to prototype.
1232	(gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
1233	__sync_bool_compare_and_swap, pass the oldval to
1234	gomp_mutex_lock_slow.
1235
12362011-06-22  Jakub Jelinek  <jakub@redhat.com>
1237
1238	PR libgomp/49490
1239	* iter.c (gomp_iter_static_next): For chunk size 0
1240	only use n ceil/ nthreads size for the first
1241	n % nthreads threads in the team instead of
1242	all threads except for the last few ones which
1243	get less work or none at all.
1244	* iter_ull.c (gomp_iter_ull_static_next): Likewise.
1245	* env.c (parse_schedule): If OMP_SCHEDULE doesn't have
1246	chunk argument, set run_sched_modifier to 0 for static
1247	resp. 1 for other kinds.  If chunk argument is 0
1248	and not static, set value to 1.
1249
12502011-05-19  Jakub Jelinek  <jakub@redhat.com>
1251
1252	PR c++/49043
1253	* testsuite/libgomp.c++/pr49043.C: New test.
1254
1255	PR c++/48869
1256	* testsuite/libgomp.c++/pr48869.C: New test.
1257
12582011-05-06  Jakub Jelinek  <jakub@redhat.com>
1259
1260	PR fortran/48894
1261	* fortran.c: Include limits.h.
1262	(TO_INT): Define.
1263	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
1264	*set.
1265	(omp_set_num_threads_8_, omp_set_schedule_8_,
1266	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
1267	omp_get_team_size_8_): Use TO_INT macro.
1268	* testsuite/libgomp.fortran/pr48894.f90: New test.
1269
12702011-04-13  Jakub Jelinek  <jakub@redhat.com>
1271
1272	PR middle-end/48591
1273	* testsuite/libgomp.c/pr48591.c: New test.
1274
12752011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1276
1277	PR bootstrap/48135
1278	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
1279	* configure: Regenerate.
1280
12812011-02-27  Jakub Jelinek  <jakub@redhat.com>
1282
1283	PR fortran/47886
1284	* testsuite/libgomp.fortran/task3.f90: New test.
1285
12862011-02-24  Tobias Burnus  <burnus@net-b.de>
1287
1288	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
1289
12902011-02-23  Jakub Jelinek  <jakub@redhat.com>
1291
1292	PR libgomp/47854
1293	* libgomp.texi (omp_get_wtime): Don't say time in the past
1294	must be Unix Epoch.
1295
12962011-02-18  Jakub Jelinek  <jakub@redhat.com>
1297
1298	PR libgomp/47804
1299	* testsuite/libgomp.fortran/fortran.exp: Check for both
1300	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
1301	but $blddir != "", still append ${blddir}/${lang_library_path}
1302	to ld_library_path.
1303
13042011-02-16  Tobias Burnus  <burnus@net-b.de>
1305
1306	PR libgomp/47758
1307	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
1308	of libquadmath.a before adding its libpath to ldflags.
1309
13102011-02-14  Jakub Jelinek  <jakub@redhat.com>
1311
1312	PR libgomp/47731
1313	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
1314	to FUTEX_WAIT futex syscall.
1315	* config/linux/wait.h: Include <futex.h> instead of "futex.h".
1316
13172011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1318
1319	* configure: Regenerate.
1320
13212011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
1322
1323	PR libstdc++/36104
1324	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
1325
13262011-01-16  Gerald Pfeifer
1327
1328	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
1329
13302010-12-14  Jakub Jelinek  <jakub@redhat.com>
1331
1332	PR fortran/46874
1333	* libgomp.fortran/allocatable6.f90: New test.
1334
13352010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1336
1337	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
1338	* configure: Regenerate.
1339
13402010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
1341
1342	PR target/40125
1343	PR lto/46695
1344	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
1345	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
1346	* aclocal.m4: Regenerate.
1347	* configure: Regenerate.
1348	* Makefile.in: Regenerate.
1349	* testsuite/Makefile.in: Regenerate.
1350
13512010-12-02  Jakub Jelinek  <jakub@redhat.com>
1352
1353	PR fortran/46753
1354	* libgomp.fortran/pr46753.f90: New test.
1355
1356	PR libgomp/43706
1357	* env.c (initialize_env): Default to spin count 300000
1358	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
1359	is specified.
1360
1361	PR libgomp/45240
1362	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
1363	at the end if sync builtins aren't supported.
1364
13652010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1366
1367	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
1368
13692010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1370
1371	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
1372
13732010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
1374
1375	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
1376
13772010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1378	    Tobias Burnus  <burnus@net-b.de>
1379
1380	PR fortran/32049
1381	* configure.ac:
1382	* configure: Regenerate.
1383
13842010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1385
1386	* config/linux/futex.h: New.
1387	* config/linux/arm/mutex.h: New.
1388	* configure.tgt (arm*-*-linux*): Add config path.
1389
13902010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
1391
1392	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1393
13942010-09-23  Tobias Burnus  <burnus@net-b.de>
1395
1396	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
1397	Change Fortran datatype to LOGICAL.
1398	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
1399	omp_unset_nested_lock): Use intent(inout) instead of intent(out).
1400
14012010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1402
1403	* configure: Regenerate.
1404
14052010-07-26  Jakub Jelinek  <jakub@redhat.com>
1406
1407	* libgomp.texi: Add function keyword to a couple of Fortran
1408	interfaces, use integer instead of int for Fortran.
1409
14102010-07-26  Aldy Hernandez  <aldyh@redhat.com>
1411
1412	* libgomp.texi: Fix spelling and pasto problems throughout.
1413	Adjust prototypes to match code.
1414
14152010-07-24  Tobias Burnus  <burnus@net-b.de>
1416
1417	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
1418	silence -fwhole-file warning.
1419
14202010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1421
1422	* configure.tgt (*-*-solaris2.[56]*): Removed.
1423
14242010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1425
1426	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
1427	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
1428	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
1429	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
1430	targetting solaris2*.
1431	* configure: Regenerate.
1432	* config.h.in: Regenerate.
1433
1434	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
1435	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
1436	Add libgomp_version_dep.
1437	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
1438	versioning.
1439	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
1440	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
1441	* Makefile.in: Regenerate.
1442
1443	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
1444	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
1445	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
1446	to common block, protected by
1447	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
1448
14492010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
1450
1451	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
1452
14532010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
1454
1455	PR bootstrap/43170
1456	* configure: Regenerate.
1457
14582010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1459
1460	PR other/43620
1461	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
1462	* configure: Regenerate.
1463	* Makefile.in: Regenerate.
1464	* testsuite/Makefile.in: Regenerate.
1465
14662010-04-26  Jakub Jelinek  <jakub@redhat.com>
1467
1468	PR c/43893
1469	* testsuite/libgomp.c/pr43893.c: New test.
1470	* testsuite/libgomp.c++/pr43893.C: New test.
1471
14722010-04-21  Jakub Jelinek  <jakub@redhat.com>
1473
1474	PR middle-end/43570
1475	* testsuite/libgomp.fortran/vla8.f90: New test.
1476
14772010-04-20  Jakub Jelinek  <jakub@redhat.com>
1478
1479	PR libgomp/43706
1480	* config/linux/affinity.c (gomp_init_affinity): Decrease
1481	gomp_available_cpus if affinity mask confines the process to fewer
1482	CPUs.
1483	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
1484	non-NULL, just return gomp_available_cpus.
1485
1486	PR libgomp/43569
1487	* sections.c (gomp_sections_init): Initialize ws->mode.
1488
14892010-04-14  Uros Bizjak  <ubizjak@gmail.com>
1490
1491	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
1492	not unused bar variable.
1493	* configure: Regenerate.
1494
14952010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1496
1497	* Makefile.in: Regenerate.
1498	* aclocal.m4: Regenerate.
1499	* testsuite/Makefile.in: Regenerate.
1500
15012010-03-22  Jakub Jelinek  <jakub@redhat.com>
1502
1503	PR libgomp/42942
1504	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
1505	(initialize_env): Adjust callers.
1506	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
1507	when the argument is 0.
1508
1509	* testsuite/libgomp.c/pr42942.c: New test.
1510
15112010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1512
1513	PR middle-end/42644
1514	PR middle-end/42130
1515	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1516	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
1517
15182010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1519
1520	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
1521	* testsuite/libgomp.c++/task-6.C: Likewise.
1522
15232010-01-28  Steve Ellcey  <sje@cup.hp.com>
1524
1525	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.
1526
15272010-01-26  Paolo Bonzini  <bonzini@gnu.org>
1528
1529	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
1530	* configure: Regenerate.
1531
15322010-01-26  Jakub Jelinek  <jakub@redhat.com>
1533
1534	PR fortran/42866
1535	* testsuite/libgomp.fortran/allocatable5.f90: New test.
1536
15372010-01-20  Paolo Bonzini  <bonzini@gnu.org>
1538
1539	* configure.ac: Test for executability of GFORTRAN.
1540	* configure: Regenerate.
1541
15422010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1543
1544	* configure: Regenerate.
1545
15462010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
1547
1548	PR libgomp/42602
1549	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
1550
15512010-01-03  Richard Guenther  <rguenther@suse.de>
1552
1553	* testsuite/libgomp.fortran/recursion1.f90: New testcase.
1554
15552009-12-23  Sebastian Pop  <sebpop@gmail.com>
1556
1557	* testsuite/libgomp.graphite/pr4118.c: New.
1558
15592009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
1560
1561	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
1562	for darwin, protect the test with require-effective-target tls_runtime.
1563	* testsuite/libgomp.fortran/pr32550.f90: Ditto.
1564
15652009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
1566
1567	PR target/41605
1568	* testsuite/lib/libgomp.exp: Provide -B options to allow for
1569	link spec %s substitutions for static libraries.
1570
15712009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
1572
1573	PR testsuite/42135
1574	* libgomp.graphite/force-parallel-2.c: Reduce array size.
1575
15762009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1577
1578	* Makefile.in: Regenerate.
1579	* configure: Regenerate.
1580	* testsuite/Makefile.in: Regenerate.
1581
15822009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
1583
1584	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
1585	settings for LC_ALL and LANG.
1586
15872009-11-25  Jakub Jelinek  <jakub@redhat.com>
1588
1589	PR fortran/42162
1590	* testsuite/libgomp.fortran/pr42162.f90: New test.
1591
15922009-11-13  Jakub Jelinek  <jakub@redhat.com>
1593
1594	PR middle-end/42029
1595	* testsuite/libgomp.c/pr42029.c: New test.
1596
15972009-10-26  Jakub Jelinek  <jakub@redhat.com>
1598
1599	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
1600	*s.  Accept ld version without text in ()s.
1601	* configure: Regenerated.
1602
16032009-10-22  Razya Ladelsky  <razya@il.ibm.com>
1604
1605	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
1606
16072009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1608
1609	PR libgomp/41418
1610	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
1611	or a hyphen (happens with fortran language disabled).
1612	* configure: Regenerate.
1613
16142009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1615
1616	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
1617	use sed script portable to Solaris /bin/sed for extracting ld
1618	version.
1619	* configure: Regenerate.
1620
16212009-09-17  Alexander Monakov  <amonakov@ispras.ru>
1622
1623	* testsuite/libgomp.graphite/bounds.c: New test.
1624
16252009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1626
1627	* Makefile.am (libgomp_la_LINK): New.
1628	* Makefile.in: Regenerate.
1629
16302009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1631
1632	* configure.ac (AC_PREREQ): Bump to 2.64.
1633
16342009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1635
1636	* Makefile.am (install-html, install-pdf): Remove.
1637	* Makefile.in: Regenerate.
1638
1639	* Makefile.in: Regenerate.
1640	* aclocal.m4: Regenerate.
1641	* config.h.in: Regenerate.
1642	* configure: Regenerate.
1643	* testsuite/Makefile.in: Regenerate.
1644
16452009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1646
1647	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
1648	* Makefile.in: Regenerate.
1649
16502009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
1651
1652	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
1653	* Makefile.in: Regenerate.
1654
16552009-08-19  Tobias Burnus  <burnus@net-b.de>
1656
1657	PR fortran/41102
1658	omp_lib.h.in: Fix -std=f95 errors.
1659
1660
16612009-08-14  David Edelsohn  <edelsohn@gnu.org>
1662
1663	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
1664	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
1665	* testsuite/libgomp.graphite/graphite.exp: New.
1666
16672009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
1668
1669	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
1670	only build.
1671
16722009-08-04  David Daney  <ddaney@caviumnetworks.com>
1673
1674	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
1675	needed memory barrier semantics.
1676	* config/linux/mips/mutex.h: New file.
1677
16782009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1679
1680	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1681
16822009-07-16  Joseph Myers  <joseph@codesourcery.com>
1683
1684	* configure: Regenerate.
1685
16862009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
1687
1688	PR testsuite/40699
1689	PR testsuite/40707
1690	PR testsuite/40709
1691	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
1692	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
1693	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
1694
16952009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
1696
1697	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
1698	options when choosing a multilib.
1699
17002009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
1701
1702	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
1703	ld_library_path.  Use add_path.  Add just find_libgcc_s to
1704	ld_library_path, not every libgcc multilib directory.
1705	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
1706	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
1707	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
1708	Use add_path.
1709	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
1710
17112009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
1712
1713	* Makefile.am (LTLDFLAGS): Define.
1714	(LINK): Define.
1715	* Makefile.in: Regenerate.
1716
17172009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
1718
1719	PR fortran/39718
1720	* testsuite/libgomp.fortran/fortran.exp: Don't link with
1721	libgfortranbegin, check existence of libgfortran.a instead of
1722	libgfortranbegin.a.
1723
17242009-05-20  Jakub Jelinek  <jakub@redhat.com>
1725
1726	PR libgomp/40174
1727	* team.c (gomp_thread_start): Destroy thr->release semaphore.
1728	(gomp_free_pool_helper): Likewise.
1729
17302009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
1731	    Jakub Jelinek  <jakub@redhat.com>
1732
1733	PR fortran/35423
1734	* testsuite/libgomp.fortran/workshare2.f90: New test.
1735
17362009-04-09  Nick Clifton  <nickc@redhat.com>
1737
1738	* iter.c: Change copyright header to refer to version 3 of the
1739	GNU General Public License with version 3.1 of the GCC Runtime
1740	Library Exception and to point readers at the COPYING3 and
1741	COPYING3.RUNTIME files and the FSF's license web page.
1742	* alloc.c: Likewise.
1743	* barrier.c: Likewise.
1744	* config/bsd/proc.c: Likewise.
1745	* config/linux/affinity.c: Likewise.
1746	* config/linux/alpha/futex.h: Likewise.
1747	* config/linux/bar.c: Likewise.
1748	* config/linux/bar.h: Likewise.
1749	* config/linux/ia64/futex.h: Likewise.
1750	* config/linux/ia64/mutex.h: Likewise.
1751	* config/linux/lock.c: Likewise.
1752	* config/linux/mips/futex.h: Likewise.
1753	* config/linux/mutex.c: Likewise.
1754	* config/linux/mutex.h: Likewise.
1755	* config/linux/powerpc/futex.h: Likewise.
1756	* config/linux/proc.c: Likewise.
1757	* config/linux/ptrlock.c: Likewise.
1758	* config/linux/ptrlock.h: Likewise.
1759	* config/linux/s390/futex.h: Likewise.
1760	* config/linux/sem.c: Likewise.
1761	* config/linux/sem.h: Likewise.
1762	* config/linux/sparc/futex.h: Likewise.
1763	* config/linux/wait.h: Likewise.
1764	* config/linux/x86/futex.h: Likewise.
1765	* config/mingw32/proc.c: Likewise.
1766	* config/mingw32/time.c: Likewise.
1767	* config/posix/affinity.c: Likewise.
1768	* config/posix/bar.c: Likewise.
1769	* config/posix/bar.h: Likewise.
1770	* config/posix/lock.c: Likewise.
1771	* config/posix/mutex.h: Likewise.
1772	* config/posix/proc.c: Likewise.
1773	* config/posix/ptrlock.h: Likewise.
1774	* config/posix/sem.c: Likewise.
1775	* config/posix/sem.h: Likewise.
1776	* config/posix/time.c: Likewise.
1777	* config/posix95/lock.c: Likewise.
1778	* critical.c: Likewise.
1779	* env.c: Likewise.
1780	* error.c: Likewise.
1781	* fortran.c: Likewise.
1782	* iter_ull.c: Likewise.
1783	* libgomp.h: Likewise.
1784	* libgomp_f.h.in: Likewise.
1785	* libgomp_g.h: Likewise.
1786	* loop.c: Likewise.
1787	* loop_ull.c: Likewise.
1788	* omp.h.in: Likewise.
1789	* omp_lib.f90.in: Likewise.
1790	* omp_lib.h.in: Likewise.
1791	* ordered.c: Likewise.
1792	* parallel.c: Likewise.
1793	* sections.c: Likewise.
1794	* single.c: Likewise.
1795	* task.c: Likewise.
1796	* team.c: Likewise.
1797	* work.c: Likewise.
1798
17992009-04-09  Jakub Jelinek  <jakub@redhat.com>
1800
1801	* testsuite/config/default.exp: Change copyright header to refer to
1802	version 3 of the GNU General Public License and to point readers
1803	at the COPYING3 file and the FSF's license web page.
1804
18052009-04-08  Jakub Jelinek  <jakub@redhat.com>
1806
1807	PR middle-end/39573
1808	* libgomp.c++/pr39573.C: New test.
1809
18102009-04-01  Jakub Jelinek  <jakub@redhat.com>
1811
1812	PR other/39591
1813	* testsuite/libgomp.c/pr39591-1.c: New test.
1814	* testsuite/libgomp.c/pr39591-2.c: New test.
1815	* testsuite/libgomp.c/pr39591-3.c: New test.
1816
18172009-03-25  Uros Bizjak  <ubizjak@gmail.com>
1818
1819	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
1820	* testsuite/libgomp.c/atomic-6.c: Ditto.
1821
18222009-03-23  Jakub Jelinek  <jakub@redhat.com>
1823
1824	PR c/39495
1825	* testsuite/libgomp.c/loop-12.c: New test.
1826	* testsuite/libgomp.c/loop-11.c: New test.
1827	* testsuite/libgomp.c++/loop-11.C: New test.
1828	* testsuite/libgomp.c++/loop-12.C: New test.
1829	* testsuite/libgomp.c++/for-8.C: New test.
1830
18312009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1832
1833	* configure: Regenerate.
1834
18352009-02-11  Jakub Jelinek  <jakub@redhat.com>
1836
1837	PR middle-end/39154
1838	* testsuite/libgomp.c/pr39154.c: New test.
1839
18402009-01-30  Ian Lance Taylor  <iant@google.com>
1841
1842	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
1843	libgomp_ld_is_gold.  Get gold version number.
1844	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
1845	* configure: Rebuild.
1846
18472009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
1848
1849	* testsuite/lib/libgomp.exp: Add -B option for targets that
1850	use libgfortran.a%s in their specs.
1851
18522009-01-07  Jakub Jelinek  <jakub@redhat.com>
1853
1854	PR libgomp/38086
1855	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
1856	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
1857	HAVE_AS_SYMVER_DIRECTIVE is not defined.
1858	* configure: Regenerated.
1859	* config.h.in: Likewise.
1860
18612008-12-28  Jakub Jelinek  <jakub@redhat.com>
1862
1863	PR c++/38650
1864	* testsuite/libgomp.c/pr38650.c: New test.
1865	* testsuite/libgomp.c++/pr38650.C: New test.
1866
18672008-12-27  Jakub Jelinek  <jakub@redhat.com>
1868
1869	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
1870
18712008-12-26  Uros Bizjak  <ubizjak@gmail.com>
1872
1873	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
1874
18752008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1876
1877	* configure: Regenerate.
1878
18792008-12-08  Jakub Jelinek  <jakub@redhat.com>
1880
1881	PR middle-end/36802
1882	* testsuite/libgomp.c/pr36802-1.c: New test.
1883	* testsuite/libgomp.c/pr36802-2.c: New test.
1884	* testsuite/libgomp.c/pr36802-3.c: New test.
1885
18862008-12-01  Janis Johnson  <janis187@us.ibm.com>
1887
1888	PR libgomp/38270
1889	* config/linux/powerpc/mutex.h: New.
1890
18912008-12-01  Jakub Jelinek  <jakub@redhat.com>
1892
1893	PR c++/38257
1894	* testsuite/libgomp.c++/for-7.C: New test.
1895
1896	PR c++/38348
1897	* testsuite/libgomp.c++/for-6.C: New test.
1898
18992008-11-26  Janis Johnson  <janis187@us.ibm.com>
1900
1901	PR testsuite/28870
1902	* testsuite/lib/libgomp.exp: Include new timeout library files.
1903	(libgomp_target_compile): Set timeout value from new proc.
1904
19052008-11-13  Steve Ellcey  <sje@cup.hp.com>
1906
1907	PR libgomp/37938
1908	* config/linux/ia64/mutex.h: New.
1909
19102008-11-04  Tobias Burnus  <burnus@net-b.de>
1911
1912	PR libgomp/37935
1913	* libgomp.texi (Runtime library routines, environment variables):
1914	Update for OpenMP version 3.0.
1915
19162008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
1917	    Steve Ellcey  <sje@cup.hp.com>
1918
1919	* configure: Regenerate for new libtool.
1920	* Makefile.in: Ditto.
1921	* testsuite/Makefile.in: Ditto.
1922
19232008-09-19  Jakub Jelinek  <jakub@redhat.com>
1924	    Andreas Tobler  <a.tobler@schweiz.org>
1925
1926	* config/bsd/proc.c: New file.
1927	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
1928	* configure.ac: Check for header <sys/sysctl.h>
1929	* configure: Regenerate.
1930	* config.h.in: Likewise.
1931
19322008-09-05  Janis Johnson  <janis187@us.ibm.com>
1933
1934	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
1935
19362008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1937
1938	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
1939	* Makefile.in: Regenerated.
1940	* testsuite/Makefile.in: Regenerated.
1941
19422008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
1943
1944	* testsuite/lib/libgomp.exp (libgomp_init): Only set things that
1945	depend on blddir if blddir exists.
1946	(libgomp_target_compile): Likewise.
1947	* testsuite/libgomp.c++/c++.exp: Likewise.
1948	* testsuite/libgomp.fortran/fortran.exp: Likewise.
1949
19502008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1951
1952	* libgomp.texi: Update to GFDL 1.2.  Update copyright years.
1953	Do not list GPL as Invariant Section.
1954
19552008-07-28  Ilie Garbacea  <ilie@mips.com>
1956	    Chao-ying Fu  <fu@mips.com>
1957
1958	* configure.tgt: Enable futex for MIPS.
1959	* config/linux/mips/futex.h: New file.
1960
19612008-07-16  Jakub Jelinek  <jakub@redhat.com>
1962
1963	* team.c (gomp_team_end): Free team immediately if it has
1964	just one thread.
1965
19662008-07-08  David Edelsohn  <edelsohn@gnu.org>
1967
1968	* testsuite/libgomp.c++/c++.exp: Append multilib library path.
1969	* testsuite/libgomp.fortran/fortran.exp: Same.
1970	* testsuite/libgomp.c/c.exp: Same.
1971	* testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
1972	directory to library path first.
1973
19742008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
1975
1976	* env.c (parse_stacksize): Add cast to avoid warning.
1977	(parse_spincount): Likewise.
1978
19792008-06-27  Jakub Jelinek  <jakub@redhat.com>
1980
1981	* testsuite/libgomp.c/loop-10.c: New test.
1982	* libgomp.c/loop-3.c (main): Add lastprivate clause.
1983	* libgomp.c++/loop-6.C (main): Likewise.
1984
1985	PR debug/36617
1986	* testsuite/libgomp.c/debug-1.c: New test.
1987
19882008-06-19  Jakub Jelinek  <jakub@redhat.com>
1989
1990	* testsuite/libgomp.c/nqueens-1.c: New test.
1991
1992	PR c++/36523
1993	* testsuite/libgomp.c++/task-7.C: New function.
1994
19952008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1996
1997	* configure: Regenerate.
1998
19992008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2000
2001	* env.c (initialize_env): Always initialize gomp_remaining_threads_lock
2002	mutex when HAVE_SYNC_BUILTINS isn't defined.
2003
20042008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2005
2006	* libgomp.texi (omp_test_lock): Fix typo.
2007
20082008-06-12  Tobias Burnus  <burnus@net-b.de>
2009
2010	* omp_lib.f90.in: Add "implicit none".
2011
20122008-06-12  Jakub Jelinek  <jakub@redhat.com>
2013
2014	PR middle-end/36506
2015	* testsuite/libgomp.c/reduction-5.c: New test.
2016
20172008-06-11  Jakub Jelinek  <jakub@redhat.com>
2018
2019	* libgomp.h (struct gomp_task): Add in_tied_task field.
2020	* task.c (gomp_init_task): Initialize it.
2021	(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
2022	unconditionally.  Don't call gomp_team_barrier_wake if
2023	current task is implicit or if(0) from implicit and number of
2024	running tasks is equal to nthreads - 1.
2025
2026	PR libgomp/36471
2027	* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
2028	omp_get_team_size_8): Fix pastos.
2029
2030	PR libgomp/36469
2031	* configure.ac: Add AC_CHECK_FUNCS (strtoull).
2032	* configure: Regenerated.
2033	* config.h.in: Regenerated.
2034	* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
2035	defined.
2036
20372008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
2038
2039	PR bootstrap/36452
2040	* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
2041	(GOMP_loop_ull_dynamic_start): Likewise.
2042	(GOMP_loop_ull_guided_start): Likewise.
2043	(GOMP_loop_ull_ordered_static_start): Likewise.
2044	(GOMP_loop_ull_ordered_dynamic_start): Likewise.
2045	(GOMP_loop_ull_ordered_guided_start): Likewise.
2046
20472008-06-06  Jakub Jelinek  <jakub@redhat.com>
2048	    Richard Henderson  <rth@redhat.com>
2049	    Ulrich Drepper  <drepper@redhat.com>
2050	    Jakob Blomer  <jakob.blomer@ira.uka.de>
2051
2052	* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
2053	Substitute also OMP_*LOCK_25*.
2054	* configure: Regenerated.
2055	* config.h.in: Regenerated.
2056	* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
2057	ptrlock.c and task.c.
2058	* Makefile.in: Regenerated.
2059	* testsuite/Makefile.in: Regenerated.
2060	* task.c: New file.
2061	* loop_ull.c: New file.
2062	* iter_ull.c: New file.
2063	* libgomp.h: Include ptrlock.h.
2064	(enum gomp_task_kind): New type.
2065	(struct gomp_team): Add task_lock, task_queue, task_count,
2066	task_running_count, single_count fields.  Add
2067	work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
2068	Remove work_share_lock, generation_mask,
2069	oldest_live_gen, num_live_gen and init_work_shares fields, add
2070	work work_share_list_alloc, work_share_list_free and work_share_chunk
2071	fields.  Change work_shares from pointer to pointers into an array.
2072	Change ordered_release field into gomp_sem_t ** from flexible array
2073	member.  Add implicit_task and initial_work_shares fields.
2074	Move close to the end of the struct.
2075	(struct gomp_team_state): Add single_count, last_work_share,
2076	active_level and level fields, remove work_share_generation.
2077	(gomp_barrier_handle_tasks): New prototype.
2078	(gomp_finish_task): New inline function.
2079	(struct gomp_work_share): Move chunk_size, end, incr into
2080	transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
2081	next_ll fields.  Reshuffle fields.  Add next_alloc,
2082	next_ws, next_free and inline_ordered_team_ids fields, change
2083	ordered_team_ids into pointer from flexible array member.
2084	Add mode field.  Put lock and next into a different cache line
2085	from most of the write-once fields.
2086	(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
2087	gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
2088	gomp_iter_ull_guided_next): New prototypes.
2089	(gomp_new_icv): New prototype.
2090	(struct gomp_thread): Add thread_pool and task fields.
2091	(struct gomp_thread_pool): New type.
2092	(gomp_new_team): New prototype.
2093	(gomp_team_start): Change type of last argument.
2094	(gomp_new_work_share): Removed.
2095	(gomp_init_work_share, gomp_fini_work_share): New prototypes.
2096	(gomp_work_share_init_done): New static inline.
2097	(gomp_throttled_spin_count_var, gomp_available_cpus,
2098	gomp_managed_threads): New extern decls.
2099	(gomp_init_task): New prototype.
2100	(gomp_spin_count_var): New extern var decl.
2101	(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
2102	or no alias support, or if not PIC.
2103	(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
2104	gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
2105	gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
2106	gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
2107	gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
2108	gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
2109	gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
2110	gomp_test_nest_lock_25): New prototypes.
2111	(omp_lock_symver, strong_alias): Define.
2112	(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
2113	decls.
2114	(gomp_end_task): New.
2115	(struct gomp_task_icv, gomp_global_icv): New.
2116	(gomp_thread_limit_var, gomp_max_active_levels_var): New.
2117	(struct gomp_task): New.
2118	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
2119	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
2120	(gomp_icv): New.
2121	(gomp_schedule_type): Reorder enum to match
2122	omp_sched_t.
2123	* team.c (struct gomp_thread_start_data): Add thread_pool and task
2124	fields.
2125	(gomp_thread_start): Add gomp_team_barrier_wait call.
2126	For non-nested case remove clearing of docked thread thr fields.
2127	Use pool fields instead of global gomp_* variables.  Use
2128	gomp_barrier_wait_last when needed.  Initialize ts.active_level.
2129	Create tasks for each member thread.
2130	(free_team): Only destroy team barrier, task_lock here and free it.
2131	(gomp_free_thread): Free last_team if non-NULL.
2132	(gomp_team_end): Call gomp_team_barrier_wait instead of
2133	gomp_barrier_wait.  For nested case call one extra
2134	gomp_barrier_wait.  Move here some destruction from free_team.
2135	Call free_team on pool->last_team if any, rather than freeing
2136	current team.  Destroy work_share_list_free_lock ifndef
2137	HAVE_SYNC_BUILTINS.
2138	(gomp_new_icv): New function.
2139	(gomp_threads, gomp_threads_size, gomp_threads_used,
2140	gomp_threads_dock): Removed.
2141	(gomp_thread_destructor): New variable.
2142	(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
2143	functions.
2144	(gomp_team_start): Create new pool if current thread doesn't have
2145	one.  Use pool fields instead of global gomp_* variables.
2146	Initialize thread_pool field for new threads.  Clear single_count.
2147	Change last argument from ws to team, don't create
2148	new team, set ts.work_share to &team->work_shares[0] and clear
2149	ts.last_work_share.  Don't clear ts.work_share_generation.
2150	If number of threads changed, adjust atomically gomp_managed_threads.
2151	Use gomp_init_task instead of gomp_new_task,
2152	set thr->task to the corresponding implicit_task array entry.
2153	Create tasks for each member thread.  Initialize ts.level.
2154	(initialize_team): Call pthread_key_create on
2155	gomp_thread_destructor.
2156	(team_destructor): New function.
2157	(new_team): Removed.
2158	(gomp_new_team): New function.
2159	(free_team): Free gomp_work_share blocks chained through next_alloc,
2160	instead of freeing work_shares and destroying work_share_lock.
2161	(gomp_team_end): Call gomp_fini_work_share.  If number of threads
2162	changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
2163	* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
2164	of gomp_barrier_wait.
2165	* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
2166	instead of gomp_barrier_wait.  Call gomp_work_share_init_done
2167	if gomp_work_share_start returned true.  Don't unlock ws->lock.
2168	(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
2169	of gomp_barrier_wait.
2170	(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
2171	gomp_work_share_init_done if gomp_work_share_start returned true.
2172	Don't unlock ws->lock.
2173	* work.c: Include stddef.h.
2174	(free_work_share): Use work_share_list_free_lock instead
2175	of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
2176	Call gomp_fini_work_share and then either free ws if orphaned, or
2177	put it into work_share_list_free list of the current team.
2178	(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
2179	functions.
2180	(gomp_work_share_start, gomp_work_share_end,
2181	gomp_work_share_end_nowait): Rewritten.
2182	* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
2183	(openmp_version): Set to 200805.
2184	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
2185	omp_sched_guided, omp_sched_auto): New parameters.
2186	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2187	omp_set_max_active_levels, omp_get_max_active_levels,
2188	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2189	omp_get_active_level): New interfaces.
2190	* omp_lib.h.in (openmp_version): Set to 200805.
2191	(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
2192	omp_sched_guided, omp_sched_auto): New parameters.
2193	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2194	omp_set_max_active_levels, omp_get_max_active_levels,
2195	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2196	omp_get_active_level): New externals.
2197	* loop.c: Include limits.h.
2198	(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
2199	GFS_AUTO.
2200	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
2201	Likewise.  Use gomp_icv.
2202	(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
2203	ts.static_trip here.
2204	(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
2205	gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
2206	(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
2207	gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
2208	don't unlock ws->lock, otherwise lock it.
2209	(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
2210	gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
2211	(gomp_parallel_loop_start): Call gomp_new_team instead of
2212	gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
2213	Adjust gomp_team_start caller.  Pass 0 as second argument to
2214	gomp_resolve_num_threads.
2215	(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
2216	If adding ws->chunk_size nthreads + 1 times after end won't
2217	overflow, set ws->mode to 1.
2218	* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
2219	GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
2220	GOMP_loop_ull_ordered_static_start,
2221	GOMP_loop_ull_ordered_dynamic_start,
2222	GOMP_loop_ull_ordered_guided_start,
2223	GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
2224	GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
2225	GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
2226	GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
2227	GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
2228	prototypes.
2229	* libgomp.map: Export lock routines also @@OMP_2.0.
2230	(GOMP_loop_ordered_dynamic_first,
2231	GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
2232	GOMP_loop_ordered_static_first): Remove.
2233	(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
2234	GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
2235	GOMP_loop_ull_ordered_dynamic_next,
2236	GOMP_loop_ull_ordered_dynamic_start,
2237	GOMP_loop_ull_ordered_guided_next,
2238	GOMP_loop_ull_ordered_guided_start,
2239	GOMP_loop_ull_ordered_runtime_next,
2240	GOMP_loop_ull_ordered_runtime_start,
2241	GOMP_loop_ull_ordered_static_next,
2242	GOMP_loop_ull_ordered_static_start,
2243	GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
2244	GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
2245	GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
2246	(omp_set_schedule, omp_get_schedule,
2247	omp_get_thread_limit, omp_set_max_active_levels,
2248	omp_get_max_active_levels, omp_get_level,
2249	omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
2250	omp_set_schedule_, omp_set_schedule_8_,
2251	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
2252	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
2253	omp_get_max_active_levels_, omp_get_level_,
2254	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
2255	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
2256	New exports @@OMP_3.0.
2257	* omp.h.in (omp_sched_t): New type.
2258	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2259	omp_set_max_active_levels, omp_get_max_active_levels,
2260	omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2261	omp_get_active_level): New prototypes.
2262	* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
2263	gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
2264	gomp_thread_limit_var, gomp_remaining_threads_count,
2265	gomp_remaining_threads_lock): New variables.
2266	(parse_spincount): New function.
2267	(initialize_env): Call gomp_init_num_threads unconditionally.
2268	Initialize gomp_available_cpus.  Call parse_spincount,
2269	initialize gomp_{,throttled_}spin_count_var
2270	depending on presence and value of OMP_WAIT_POLICY and
2271	GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
2272	Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
2273	OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
2274	for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
2275	gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
2276	(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
2277	gomp_run_sched_var, gomp_run_sched_chunk): Remove.
2278	(gomp_global_icv): New.
2279	(parse_schedule): Use it.  Parse "auto".
2280	(omp_set_num_threads): Use gomp_icv.
2281	(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
2282	Likewise.
2283	(omp_get_max_threads): Move from parallel.c.
2284	(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2285	omp_set_max_active_levels, omp_get_max_active_levels): New functions,
2286	add ialias.
2287	(parse_stacksize, parse_wait_policy): New functions.
2288	* fortran.c: Rewrite lock wrappers, if symbol versioning provide
2289	both wrappers for compatibility and new locks.
2290	(omp_set_schedule, omp_get_schedule,
2291	omp_get_thread_limit, omp_set_max_active_levels,
2292	omp_get_max_active_levels, omp_get_level,
2293	omp_get_ancestor_thread_num, omp_get_team_size,
2294	omp_get_active_level): New ialias_redirect.
2295	(omp_set_schedule_, omp_set_schedule_8_,
2296	omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
2297	omp_set_max_active_levels_, omp_set_max_active_levels_8_,
2298	omp_get_max_active_levels_, omp_get_level_,
2299	omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
2300	omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
2301	New functions.
2302	* parallel.c: Include limits.h.
2303	(gomp_resolve_num_threads): Add count argument.  Rewritten.
2304	(GOMP_parallel_start): Call gomp_new_team and pass that as last
2305	argument to gomp_team_start.  Pass 0 as second argument to
2306	gomp_resolve_num_threads.
2307	(GOMP_parallel_end): Decrease gomp_remaining_threads_count
2308	if gomp_thread_limit_var != ULONG_MAX.
2309	(omp_in_parallel): Implement using ts.active_level.
2310	(omp_get_max_threads): Move to env.c.
2311	(omp_get_level, omp_get_ancestor_thread_num,
2312	omp_get_team_size, omp_get_active_level): New functions,
2313	add ialias.
2314	* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
2315	after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
2316	gomp_iter_dynamic_next instead of the _locked variant and don't take
2317	lock around it, otherwise acquire it before calling
2318	gomp_iter_dynamic_next_locked.
2319	(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
2320	gomp_iter_dynamic_next instead of the _locked variant and don't take
2321	lock around it.
2322	(GOMP_parallel_sections_start): Call gomp_new_team instead of
2323	gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
2324	Adjust gomp_team_start caller.  Pass count as second argument to
2325	gomp_resolve_num_threads, don't adjust num_threads after the call.
2326	Use gomp_icv.
2327	* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
2328	ws->chunk_size by incr.
2329	(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
2330	code.
2331	* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
2332	types.
2333	(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
2334	(omp_check_defines): Check even the compat defines.
2335	* config/linux/ptrlock.c: New file.
2336	* config/linux/ptrlock.h: New file.
2337	* config/linux/wait.h: New file.
2338	* config/posix/ptrlock.c: New file.
2339	* config/posix/ptrlock.h: New file.
2340	* config/linux/bar.h (gomp_team_barrier_wait,
2341	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
2342	(gomp_team_barrier_set_task_pending,
2343	gomp_team_barrier_clear_task_pending,
2344	gomp_team_barrier_set_waiting_for_tasks,
2345	gomp_team_barrier_waiting_for_tasks,
2346	gomp_team_barrier_done): New inlines.
2347	(gomp_barrier_t): Rewritten.
2348	(gomp_barrier_state_t): New typedef.
2349	(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
2350	gomp_barrier_wait_start): Rewritten.
2351	(gomp_barrier_wait_end): Change second argument to
2352	gomp_barrier_state_t.
2353	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
2354	inlines.
2355	* config/linux/bar.c: Include wait.h instead of libgomp.h and
2356	futex.h.
2357	(gomp_barrier_wait_end): Rewritten.
2358	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
2359	gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
2360	* config/posix/bar.h (gomp_barrier_t): Add generation field.
2361	(gomp_barrier_state_t): New typedef.
2362	(gomp_team_barrier_wait,
2363	gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
2364	(gomp_barrier_wait_start): Or all but low 2 bits from generation
2365	into the return value.  Return gomp_barrier_state_t.
2366	(gomp_team_barrier_set_task_pending,
2367	gomp_team_barrier_clear_task_pending,
2368	gomp_team_barrier_set_waiting_for_tasks,
2369	gomp_team_barrier_waiting_for_tasks,
2370	gomp_team_barrier_done): New inlines.
2371	(gomp_barrier_wait_end): Change second argument to
2372	gomp_barrier_state_t.
2373	(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
2374	inlines.
2375	* config/posix/bar.c (gomp_barrier_init): Clear generation field.
2376	(gomp_barrier_wait_end): Change second argument to
2377	gomp_barrier_state_t.
2378	(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
2379	gomp_team_barrier_wake): New functions.
2380	* config/linux/mutex.c: Include wait.h instead of libgomp.h and
2381	futex.h.
2382	(gomp_futex_wake, gomp_futex_wait): New variables.
2383	(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
2384	* config/linux/lock.c: Rewrite to make locks task owned,
2385	for backwards compatibility provide the old entrypoints
2386	if symbol versioning.  Include wait.h instead of libgomp.h and
2387	futex.h.
2388	(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
2389	* config/posix95/lock.c: Rewrite to make locks task owned,
2390	for backwards compatibility provide the old entrypoints
2391	if symbol versioning.
2392	* config/posix/lock.c: Rewrite to make locks task owned,
2393	for backwards compatibility provide the old entrypoints
2394	if symbol versioning.
2395	* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
2396	(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
2397	* config/posix/proc.c, config/mingw32/proc.c: Similarly.
2398	* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2399	(sys_futex0): Return error code.
2400	(futex_wake, futex_wait): If ENOSYS was returned, clear
2401	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2402	(cpu_relax, atomic_write_barrier): New static inlines.
2403	* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2404	(futex_wake, futex_wait): If ENOSYS was returned, clear
2405	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2406	(cpu_relax, atomic_write_barrier): New static inlines.
2407	* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2408	(sys_futex0): Return error code.
2409	(futex_wake, futex_wait): If ENOSYS was returned, clear
2410	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2411	(cpu_relax, atomic_write_barrier): New static inlines.
2412	* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2413	(sys_futex0): Return error code.
2414	(futex_wake, futex_wait): If ENOSYS was returned, clear
2415	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2416	(cpu_relax, atomic_write_barrier): New static inlines.
2417	* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2418	(sys_futex0): Return error code.
2419	(futex_wake, futex_wait): If ENOSYS was returned, clear
2420	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2421	(cpu_relax, atomic_write_barrier): New static inlines.
2422	* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2423	(sys_futex0): Return error code.
2424	(futex_wake, futex_wait): If ENOSYS was returned, clear
2425	FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2426	(cpu_relax, atomic_write_barrier): New static inlines.
2427	* config/linux/sem.c: Include wait.h instead of libgomp.h and
2428	futex.h.
2429	(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
2430	* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
2431	* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
2432	types.
2433	(omp_nest_lock_t): Change owner into void *, add lock field.
2434	* config/posix95/omp-lock.h: Include semaphore.h.
2435	(omp_lock_25_t, omp_nest_lock_25_t): New types.
2436	(omp_lock_t): Use sem_t instead of mutex if semaphores
2437	aren't broken.
2438	(omp_nest_lock_t): Likewise.  Change owner to void *.
2439	* config/posix/omp-lock.h: Include semaphore.h.
2440	(omp_lock_25_t, omp_nest_lock_25_t): New types.
2441	(omp_lock_t): Use sem_t instead of mutex if semaphores
2442	aren't broken.
2443	(omp_nest_lock_t): Likewise.  Add owner field.
2444
24452008-06-06  Jakub Jelinek  <jakub@redhat.com>
2446
2447	* testsuite/libgomp.c/collapse-1.c: New test.
2448	* testsuite/libgomp.c/collapse-2.c: New test.
2449	* testsuite/libgomp.c/collapse-3.c: New test.
2450	* testsuite/libgomp.c/icv-1.c: New test.
2451	* testsuite/libgomp.c/icv-2.c: New test.
2452	* testsuite/libgomp.c/lib-2.c: New test.
2453	* testsuite/libgomp.c/lock-1.c: New test.
2454	* testsuite/libgomp.c/lock-2.c: New test.
2455	* testsuite/libgomp.c/lock-3.c: New test.
2456	* testsuite/libgomp.c/loop-4.c: New test.
2457	* testsuite/libgomp.c/loop-5.c: New test.
2458	* testsuite/libgomp.c/loop-6.c: New test.
2459	* testsuite/libgomp.c/loop-7.c: New test.
2460	* testsuite/libgomp.c/loop-8.c: New test.
2461	* testsuite/libgomp.c/loop-9.c: New test.
2462	* testsuite/libgomp.c/nested-3.c: New test.
2463	* testsuite/libgomp.c/nestedfn-6.c: New test.
2464	* testsuite/libgomp.c/sort-1.c: New test.
2465	* testsuite/libgomp.c/task-1.c: New test.
2466	* testsuite/libgomp.c/task-2.c: New test.
2467	* testsuite/libgomp.c/task-3.c: New test.
2468	* testsuite/libgomp.c/task-4.c: New test.
2469	* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
2470	to C++ testsuite default compiler options.
2471	* testsuite/libgomp.c++/collapse-1.C: New test.
2472	* testsuite/libgomp.c++/collapse-2.C: New test.
2473	* testsuite/libgomp.c++/ctor-10.C: New test.
2474	* testsuite/libgomp.c++/for-1.C: New test.
2475	* testsuite/libgomp.c++/for-2.C: New test.
2476	* testsuite/libgomp.c++/for-3.C: New test.
2477	* testsuite/libgomp.c++/for-4.C: New test.
2478	* testsuite/libgomp.c++/for-5.C: New test.
2479	* testsuite/libgomp.c++/loop-8.C: New test.
2480	* testsuite/libgomp.c++/loop-9.C: New test.
2481	* testsuite/libgomp.c++/loop-10.C: New test.
2482	* testsuite/libgomp.c++/task-1.C: New test.
2483	* testsuite/libgomp.c++/task-2.C: New test.
2484	* testsuite/libgomp.c++/task-3.C: New test.
2485	* testsuite/libgomp.c++/task-4.C: New test.
2486	* testsuite/libgomp.c++/task-5.C: New test.
2487	* testsuite/libgomp.c++/task-6.C: New test.
2488	* testsuite/libgomp.fortran/allocatable1.f90: New test.
2489	* testsuite/libgomp.fortran/allocatable2.f90: New test.
2490	* testsuite/libgomp.fortran/allocatable3.f90: New test.
2491	* testsuite/libgomp.fortran/allocatable4.f90: New test.
2492	* testsuite/libgomp.fortran/collapse1.f90: New test.
2493	* testsuite/libgomp.fortran/collapse2.f90: New test.
2494	* testsuite/libgomp.fortran/collapse3.f90: New test.
2495	* testsuite/libgomp.fortran/collapse4.f90: New test.
2496	* testsuite/libgomp.fortran/lastprivate1.f90: New test.
2497	* testsuite/libgomp.fortran/lastprivate2.f90: New test.
2498	* testsuite/libgomp.fortran/lib4.f90: New test.
2499	* testsuite/libgomp.fortran/lock-1.f90: New test.
2500	* testsuite/libgomp.fortran/lock-2.f90: New test.
2501	* testsuite/libgomp.fortran/nested1.f90: New test.
2502	* testsuite/libgomp.fortran/nestedfn4.f90: New test.
2503	* testsuite/libgomp.fortran/strassen.f90: New test.
2504	* testsuite/libgomp.fortran/tabs1.f90: New test.
2505	* testsuite/libgomp.fortran/tabs2.f: New test.
2506	* testsuite/libgomp.fortran/task1.f90: New test.
2507	* testsuite/libgomp.fortran/task2.f90: New test.
2508	* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
2509	* testsuite/libgomp.fortran/vla5.f90: Likewise.
2510	* testsuite/libgomp.c/pr26943-2.c: Likewise.
2511	* testsuite/libgomp.c/pr26943-3.c: Likewise.
2512	* testsuite/libgomp.c/pr26943-4.c: Likewise.
2513
25142008-05-23  Jakub Jelinek  <jakub@redhat.com>
2515
2516	PR c++/36308
2517	* testsuite/libgomp.c++/ctor-11.C: New test.
2518	* testsuite/libgomp.c++/ctor-12.C: New test.
2519
25202008-05-15  Janis Johnson  <janis187@us.ibm.com>
2521
2522	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
2523
25242008-05-07  Jakub Jelinek  <jakub@redhat.com>
2525
2526	PR middle-end/36106
2527	* testsuite/libgomp.c/atomic-5.c: New test.
2528	* testsuite/libgomp.c/atomic-6.c: New test.
2529	* testsuite/libgomp.c/autopar-1.c: New test.
2530
25312008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2532
2533	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
2534	(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
2535	(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
2536	(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
2537	* configure: Regenerate.
2538	* Makefile.in, testsuite/Makefile.in: Likewise.
2539
25402008-04-18  Paolo Bonzini  <bonzini@gnu.org>
2541
2542	PR bootstrap/35457
2543	* aclocal.m4: Regenerate.
2544	* configure: Regenerate.
2545
25462008-03-18  Jakub Jelinek  <jakub@redhat.com>
2547
2548	PR middle-end/35611
2549	* testsuite/libgomp.c/atomic-4.c: New test.
2550
2551	PR libgomp/35625
2552	* iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
2553	(gomp_iter_guided_next): Likewise.
2554	* testsuite/libgomp.c/pr35625.c: New test.
2555
25562008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2557
2558	* aclocal.m4: Regenerate.
2559	* configure: Likewise.
2560	* Makefile.in: Likewise.
2561	* testsuite/Makefile.in: Likewise.
2562
25632008-03-13  Jakub Jelinek  <jakub@redhat.com>
2564
2565	PR middle-end/35185
2566	* testsuite/libgomp.c++/pr35185.C: New test.
2567
25682008-03-12  Jakub Jelinek  <jakub@redhat.com>
2569
2570	PR middle-end/35549
2571	* testsuite/libgomp.c/pr35549.c: New test.
2572
25732008-03-06  Jakub Jelinek  <jakub@redhat.com>
2574
2575	* testsuite/libgomp.c/atomic-3.c: New test.
2576
25772008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2578
2579	PR fortran/33197
2580	* testsuite/libgomp.fortran/fortran.exp: Add .f08 and
2581	.F08 file suffixes.
2582
25832008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
2584
2585	PR libgomp/33131
2586	* configure.ac: Add ACX_HEADER_STRING.
2587	* env.c: Include strings.h.
2588	* aclocal.m4: Regenerate.
2589	* config.h.in: Regenerate.
2590	* configure: Regenerate.
2591	* Makefile.in: Regenerate.
2592	* testsuite/Makefile.in: Regenerate.
2593
25942008-02-15  Jakub Jelinek  <jakub@redhat.com>
2595
2596	PR middle-end/35196
2597	* testsuite/libgomp.c/pr35196.c: New test.
2598
2599	PR middle-end/35130
2600	* testsuite/libgomp.fortran/pr35130.f90: New test.
2601	* testsuite/libgomp.c/pr35130.c: New test.
2602
26032008-01-25  Jakub Jelinek  <jakub@redhat.com>
2604
2605	PR middle-end/33880
2606	* testsuite/libgomp.c/pr33880.c: New test.
2607	* testsuite/libgomp.fortran/pr33880.f90: New test.
2608
26092008-01-24  David Edelsohn  <edelsohn@gnu.org>
2610
2611	* configure: Regenerate.
2612
26132008-01-08  Jakub Jelinek  <jakub@redhat.com>
2614
2615	* configure.ac: Move futex checking into ../config/futex.m4.
2616	* configure: Rebuilt.
2617	* aclocal.m4: Rebuilt.
2618	* Makefile.in: Rebuilt.
2619
2620	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
2621	2007-10-15 ../config/tls.m4 change.
2622
26232007-12-19  Jakub Jelinek  <jakub@redhat.com>
2624
2625	PR c++/34513
2626	* testsuite/libgomp.c/pr34513.c: New test.
2627	* testsuite/libgomp.c++/pr34513.C: New test.
2628
26292007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
2630
2631	PR target/32765
2632	* testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
2633
26342007-12-04  Jakub Jelinek  <jakub@redhat.com>
2635
2636	* omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
2637
26382007-12-03  Jakub Jelinek  <jakub@redhat.com>
2639
2640	* testsuite/libgomp.c/private-1.c: New test.
2641
26422007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
2643	    Paolo Bonzini  <bonzini@gnu.org>
2644
2645	* Makefile.am: Use space as vpath separator.  Use 'vpath %'
2646	instead of 'VPATH ='.
2647	* Makefile.in: Regenerate.
2648
26492007-11-23  Matthias Klose  <doko@ubuntu.com>
2650
2651	* configure.ac: Adjust makeinfo version check.
2652	* configure: Regenerate.
2653
26542007-11-10  Jakub Jelinek  <jakub@redhat.com>
2655
2656	PR fortran/34020
2657	* testsuite/libgomp.fortran/pr34020.f90: New test.
2658
26592007-11-06  Jakub Jelinek  <jakub@redhat.com>
2660
2661	PR c++/33894
2662	* testsuite/libgomp.c++/atomic-1.C: New test.
2663
26642007-10-25  Jakub Jelinek  <jakub@redhat.com>
2665
2666	PR libgomp/33275
2667	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
2668	Make x and y integers rather than (implicit) reals.  Add private (j)
2669	clause to the last omp parallel.
2670
26712007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
2672
2673	* configure: Regenerate following changes to ../config/tls.m4.
2674
26752007-09-28  Jakub Jelinek  <jakub@redhat.com>
2676
2677	* testsuite/libgomp.fortran/stack.f90: New test.
2678
26792007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
2680
2681	* config/mingw32/proc.c: New file.
2682
26832007-09-05  Uros Bizjak  <ubizjak@gmail.com>
2684
2685	* testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
2686	(main): Use __get_cpuid to get i386 target fetaures.
2687	* testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
2688	(main): Use __get_cpuid to get x86_64 target fetaures.
2689
26902007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
2691
2692	PR target/32765
2693	* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
2694	* testsuite/libgomp.fortran/crayptr2.f90: Likwise.
2695
26962007-07-12  Jakub Jelinek  <jakub@redhat.com>
2697
2698	PR fortran/32550
2699	* testsuite/libgomp.fortran/pr32550.f90: New test.
2700	* testsuite/libgomp.fortran/crayptr2.f90: New test.
2701
27022007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
2703
2704	* aclocal.m4: Regenerated.
2705
27062007-07-05  Tobias Burnus  <burnus@net-b.de>
2707
2708	PR fortran/32359
2709	* testsuite/libgomp.fortran/pr32359.f90: New.
2710
27112007-07-02  Jakub Jelinek  <jakub@redhat.com>
2712
2713	PR libgomp/32468
2714	* sections.c (GOMP_parallel_sections_start): Only decrease
2715	number of threads to COUNT if dyn_var is true.
2716	* testsuite/libgomp.c/pr32468.c: New test.
2717
27182007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2719
2720	PR libgomp/26308
2721	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2722
27232007-06-21  Jakub Jelinek  <jakub@redhat.com>
2724
2725	PR middle-end/32362
2726	* testsuite/libgomp.c/pr32362-1.c: New test.
2727	* testsuite/libgomp.c/pr32362-2.c: New test.
2728	* testsuite/libgomp.c/pr32362-3.c: New test.
2729
27302007-06-07  Jakub Jelinek  <jakub@redhat.com>
2731
2732	* team.c (gomp_team_start): Fix setting up thread_attr
2733	stack size.
2734
27352007-06-02  Paolo Bonzini  <bonzini@gnu.org>
2736
2737	* configure: Regenerate.
2738
27392007-05-23  Steve Ellcey  <sje@cup.hp.com>
2740
2741	* Makefile.in: Regenerate.
2742	* configure: Regenerate.
2743	* aclocal.m4: Regenerate.
2744	* testsuite/Makefile.in: Regenerate.
2745
27462007-05-04  Jakub Jelinek  <jakub@redhat.com>
2747
2748	* config/linux/proc.c: New file.
2749
2750	PR libgomp/28482
2751	* configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
2752
27532007-04-19  Daniel Franke  <franke.daniel@gmail.com>
2754
2755	* libgomp.texi (GOMP_CPU_AFFINITY): Updated.
2756
27572007-04-16  Matthias Klose  <doko@debian.org>
2758
2759	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
2760	flags if not building with -m64.
2761	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
2762	flag for i?86-*-* targets, if current target matches -m64.
2763
27642007-04-14  Steve Ellcey  <sje@cup.hp.com>
2765
2766	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
2767	* Makefile.in: Regenerate.
2768
27692007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2770
2771	PR testsuite/31369
2772	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
2773	ld_library_path.
2774	* testsuite/libgomp.fortran/fortran.exp: Likewise.
2775
27762007-04-04  Jakub Jelinek  <jakub@redhat.com>
2777
2778	* libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
2779	decls.
2780	(gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
2781	* env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
2782	(parse_affinity): New function.
2783	(initialize_env): Call it and gomp_init_affinity.
2784	* team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
2785	create new pthread_attr_t and call gomp_init_thread_affinity
2786	on it for each thread before passing the attribute to pthread_create.
2787	* config/linux/affinity.c: New file.
2788	* config/posix/affinity.c: New file.
2789	* configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
2790	* configure: Rebuilt.
2791	* config.h.in: Rebuilt.
2792	* Makefile.am (libgomp_la_SOURCES): Add affinity.c.
2793	* Makefile.in: Rebuilt.
2794
27952007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
2796
2797	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
2798	*-*-darwin*.
2799	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
2800	and use it if found.
2801
28022007-03-18  Uros Bizjak  <ubizjak@gmail.com>
2803
2804	* testsuite/config/default.exp: New file.
2805	* testsuite/lib/libgomp.exp: New file.
2806	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
2807	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
2808	load_lib *, load_gcc_lib *): Move to libgomp.exp.
2809	(libgomp_load): Remove.
2810	* testsuite/lib/libgomp.exp (libgomp_init): Compute
2811	always_ld_library_path, not ld_library_path.  Set additional_flags
2812	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
2813	(target_compile): Do not call libgomp_init.  Append lang_library_path
2814	and lang_link_flags to options.
2815	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
2816	ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
2817	here.
2818	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
2819	always_ld_library_path.  Set LD_LIBRARY_PATH here.
2820	* testsuite/libgomp.fortran/fortran.exp: Ditto.
2821	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
2822	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
2823	CX8 flag.
2824	* testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
2825	lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
2826	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
2827	* testsuite/libgomp.c/pr29947-1.c: Ditto.
2828	* testsuite/libgomp.c/atomic-10.c: Ditto.
2829
28302007-03-21  Jakub Jelinek  <jakub@redhat.com>
2831
2832	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
2833	dg-final cleanup-modules line.
2834	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
2835	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
2836	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
2837	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2838	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
2839	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2840	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2841
28422007-03-18  Andreas Schwab  <schwab@suse.de>
2843
2844	* acinclude.m4: Adjust regular expression for ld version
2845	extraction.
2846	* configure: Regenerate.
2847
28482007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2849
2850	* Makefile.am: Add install-pdf target as copied from
2851	automake v1.10 rules.
2852	* Makefile.in: Regenerate
2853
28542007-02-07  Jakub Jelinek  <jakub@redhat.com>
2855
2856	PR libgomp/28486
2857	* configure: Regenerate.
2858
2859	PR c++/30703
2860	* testsuite/libgomp.c++/pr30703.C: New test.
2861
28622007-02-02  Jakub Jelinek  <jakub@redhat.com>
2863
2864	Revert:
2865	2006-07-05  Eric Christopher  <echristo@apple.com>
2866	* configure.ac: Depend addition of -pthread on host OS.
2867	* configure: Regenerate.
2868
28692007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2870
2871	* libgomp.texi: Fix spacing after abbreviations.
2872
28732007-01-31  Daniel Franke <franke.daniel@gmail.com>
2874
2875	PR libgomp/30546
2876	* configure.ac: Add check for makeinfo
2877	* Makefile.am: Redefined target libgomp.info, build libgomp.info only
2878	if an appropiate version of makeinfo is found.
2879	* aclocal.m4: Regenerated.
2880	* configure: Regenerated.
2881	* Makefile.in: Regenerated.
2882	* testsuite/Makefile.in: Regenerated.
2883
28842007-01-29  Daniel Franke <franke.daniel@gmail.com>
2885
2886	PR libgomp/30540
2887	* libgomp.texi: More about implementation-dependent settings.
2888
28892007-01-26  Tobias Burnus  <burnus@net-b.de>
2890
2891	* testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
2892
28932007-01-24  Jakub Jelinek  <jakub@redhat.com>
2894
2895	PR middle-end/30494
2896	* testsuite/libgomp.c/pr30494.c: New test.
2897
28982007-01-15  Tom Tromey  <tromey@redhat.com>
2899
2900	* configure: Rebuilt.
2901	* configure.ac: Fixed comment.
2902
29032007-01-14  Daniel Franke  <franke.daniel@gmail.com>
2904
2905	* libgomp.texi: Document implementation specific default values of
2906	environment variables.
2907
29082006-12-21  Daniel Franke  <franke.daniel@gmail.com>
2909
2910	PR libgomp/28209
2911	* libgomp.texi: New file.
2912	* configure.ac: Add --enable-generated-files-in-srcdir option.
2913	* Makefile.am: Add info, dvi, pdf, html targets. On request, copy
2914	files to srcdir.
2915	* Makefile.in: Regenerated.
2916	* config.h.in: Regenerated.
2917	* testsuite/Makefile.in: Regenerated.
2918	* NOTES: Removed.
2919
29202006-12-04  Daniel Franke  <franke.daniel@gmail.com>
2921
2922	PR libgomp/29949
2923	* env.c (omp_set_num_threads): Set illegal thread count to 1.
2924
29252006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
2926
2927	* configure: Regenerate.
2928
29292006-12-04  Jakub Jelinek  <jakub@redhat.com>
2930
2931	PR libgomp/29947
2932	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
2933	start if there shouldn't be any loop iterations.
2934	(gomp_loop_ordered_static_start): Remove start == end test.
2935	* testsuite/libgomp.c/pr29947-1.c: New test.
2936	* testsuite/libgomp.c/pr29947-2.c: New test.
2937
29382006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2939
2940	* configure.tgt: Force initial-exec TLS model on Linux only.
2941
29422006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
2943
2944	* configure: Regenerated.
2945
29462006-11-09  Uros Bizjak  <ubizjak@gmail.com>
2947
2948	* env.c (parse_schedule): Reject out of range values.
2949	(parse_unsigned_long): Reject out of range, negative or zero values.
2950
29512006-10-29  Jakub Jelinek  <jakub@redhat.com>
2952
2953	PR fortran/29629
2954	* testsuite/libgomp.fortran/pr29629.f90: New test.
2955
29562006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
2957
2958	PR libgomp/29494
2959	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
2960	* config/posix95: New directory.
2961	* config/posix95/omp-lock.h: New file.
2962	* config/posix95/lock.c: Likewise.
2963
29642006-10-14  Geoffrey Keating  <geoffk@apple.com>
2965
2966	* aclocal.m4: Regenerate.
2967	* configure: Regenerate.
2968
29692006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
2970
2971	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
2972	'<' to '<='.
2973
29742006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
2975
2976	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
2977	test.
2978	* configure: Regenerate.
2979	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
2980
29812006-09-26  Jakub Jelinek  <jakub@redhat.com>
2982
2983	PR middle-end/25261
2984	PR middle-end/28790
2985	* testsuite/libgomp.c/nestedfn-4.c: New test.
2986	* testsuite/libgomp.c/nestedfn-5.c: New test.
2987	* testsuite/libgomp.fortran/nestedfn3.f90: New test.
2988
2989	PR fortran/29097
2990	* testsuite/libgomp.fortran/condinc1.f: New test.
2991	* testsuite/libgomp.fortran/condinc2.f: New test.
2992	* testsuite/libgomp.fortran/condinc3.f90: New test.
2993	* testsuite/libgomp.fortran/condinc4.f90: New test.
2994	* testsuite/libgomp.fortran/condinc1.inc: New file.
2995
29962006-09-18  Tom Tromey  <tromey@redhat.com>
2997
2998	* configure: Rebuilt.
2999
30002006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
3001
3002	PR c/28768
3003	PR preprocessor/14634
3004	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
3005	to AC_DEFINE.
3006	* configure: Regenerate.
3007
30082006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
3009
3010	* testsuite/libgomp.fortran/reduction3.f90: Change
3011	-2147483648 to -huge(i)-1 to avoid overflow.
3012	* testsuite/libgomp.fortran/reduction4.f90: Change
3013	Z'ffffffff' to not(0) to avoid overflow.
3014
30152006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
3016
3017	PR libgomp/25938
3018	* Makefile.am (libsubincludedir): New.
3019	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
3020	* Makefile.in: Regenerate.
3021
30222006-08-17  Jakub Jelinek  <jakub@redhat.com>
3023
3024	PR libgomp/28725
3025	* env.c: Include ctype.h.
3026	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
3027	leading and/or trailing whitespace and compare strings case
3028	insensitively.
3029
30302006-07-16  Jakub Jelinek  <jakub@redhat.com>
3031
3032	PR fortran/28390
3033	* testsuite/libgomp.fortran/pr28390.f: New test.
3034
30352006-07-05  Eric Christopher  <echristo@apple.com>
3036
3037	* configure.ac: Depend addition of -pthread on host OS.
3038	* configure: Regenerate.
3039
30402006-06-21  Jakub Jelinek  <jakub@redhat.com>
3041
3042	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
3043	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
3044	defined.
3045
30462006-06-20  Jakub Jelinek  <jakub@redhat.com>
3047
3048	PR libgomp/26175
3049	PR libgomp/26477
3050	* configure.ac: If neither --enable-linux-futex nor
3051	--disable-linux-futex is passed, determine the default by checking
3052	for compiling and/or running against NPTL.  With --enable-linux-futex,
3053	check if SYS_gettid and SYS_futex are defined.
3054	* configure: Rebuilt.
3055
30562006-06-14  Richard Henderson  <rth@redhat.com>
3057
3058	PR libgomp/28008
3059	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
3060	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
3061
30622006-06-09  Richard Henderson  <rth@redhat.com>
3063
3064	* env.c (gomp_nthreads_var): Change to unsigned long.
3065	(gomp_run_sched_chunk): Likewise.
3066	(parse_unsigned_long): Rename from parse_num_threads and generalize.
3067	(initialize_env): Initialize gomp_thread_attr.
3068	* libgomp.h (gomp_nthreads_var): Update decl.
3069	(gomp_run_sched_chunk): Likewise.
3070	(gomp_thread_attr): Declare.
3071	* team.c (gomp_thread_attr): Export.
3072	(initialize_team): Don't initialize it.
3073
30742006-06-09  Jakub Jelinek  <jakub@redhat.com>
3075
3076	PR fortran/27916
3077	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
3078	* testsuite/libgomp.fortran/pr27916-2.f90: New test.
3079
30802006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3081
3082	* config/mingw32/time.c: New file.
3083	* configure.tgt: Use it.
3084
30852006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
3086
3087	* Makefile.am: Add install-html target. Add install-html to .PHONY
3088	* Makefile.in: Regenerate.
3089
30902006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3091
3092	PR libgomp/27612
3093	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
3094	* testsuite/libgomp.c/critical-1.c: Likewise.
3095	* testsuite/libgomp.c/loop-1.c: Likewise.
3096	* testsuite/libgomp.c/loop-2.c: Likewise.
3097	* testsuite/libgomp.c/single-1.c: Likewise.
3098	* testsuite/libgomp.c/ordered-1.c: Likewise.
3099	* testsuite/libgomp.c/ordered-2.c: Likewise.
3100
31012006-05-15  Jakub Jelinek  <jakub@redhat.com>
3102
3103	PR middle-end/27416
3104	* libgomp.fortran/pr27416-1.f90: New test.
3105
31062006-05-03  Jakub Jelinek  <jakub@redhat.com>
3107
3108	PR fortran/27395
3109	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
3110	* testsuite/libgomp.fortran/pr27395-2.f90: New test.
3111
31122006-05-02  Jakub Jelinek  <jakub@redhat.com>
3113
3114	PR c++/26943
3115	* testsuite/libgomp.c/pr26943-1.c: New test.
3116	* testsuite/libgomp.c/pr26943-2.c: New test.
3117	* testsuite/libgomp.c/pr26943-3.c: New test.
3118	* testsuite/libgomp.c/pr26943-4.c: New test.
3119	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
3120	* testsuite/libgomp.c++/pr26943.C: New test.
3121
31222006-05-02  Jakub Jelinek  <jakub@redhat.com>
3123
3124	PR middle-end/27337
3125	* testsuite/libgomp.c++/pr27337.C: New test.
3126
31272006-04-26  Jakub Jelinek  <jakub@redhat.com>
3128
3129	PR c/26171
3130	* testsuite/libgomp.c/pr26171.c: New test.
3131
31322006-04-25  Richard Henderson  <rth@redhat.com>
3133
3134	PR libgomp/25865
3135	* configure.ac: Use GCC_CHECK_TLS.
3136	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
3137	* Makefile.in, aclocal.m4, configure: Regenerate.
3138
31392006-04-10  Matthias Klose  <doko@debian.org>
3140
3141	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
3142	directory names containing underscores.
3143
31442006-03-21  Jakub Jelinek  <jakub@redhat.com>
3145
3146	PR c++/26691
3147	* testsuite/libgomp.c++/pr26691.C: New test.
3148
31492006-03-13  Jakub Jelinek  <jakub@redhat.com>
3150
3151	* testsuite/libgomp.fortran/retval2.f90: New test.
3152
31532006-03-09  Diego Novillo  <dnovillo@redhat.com>
3154
3155	* testsuite/libgomp.c++: New directory.
3156
31572006-02-25  Shantonu Sen  <ssen@opendarwin.org>
3158
3159	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
3160	* config/posix/sem.c: Implement the above.
3161
31622006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
3163
3164	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
3165	define HAVE_BROKEN_POSIX_SEMAPHORES.
3166	* configure: Rebuilt.
3167	* config.h.in: Rebuilt.
3168
31692006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3170
3171	PR bootstrap/26161
3172	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
3173	for the other pthread check.
3174	* configure: Regenerate.
3175	* config.h.in: Regenerate.
3176
31772006-02-15  Jakub Jelinek  <jakub@redhat.com>
3178
3179	PR libgomp/25938
3180	PR libgomp/25984
3181	* Makefile.am (fincludedir): New variable.
3182	(nodist_include_HEADERS): Remove Fortran files.
3183	(nodist_finclude_HEADERS): New variable.
3184	* Makefile.in: Regenerated.
3185
31862006-02-13  Jakub Jelinek  <jakub@redhat.com>
3187
3188	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
3189	Remove tests for returning assumed character length arrays.
3190
31912006-02-12  Roger Sayle  <roger@eyesopen.com>
3192	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
3193
3194	PR libgomp/25936
3195	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
3196
31972006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
3198
3199	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
3200
32012006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3202
3203	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
3204	part of LD_LIBRARY_PATH manually.
3205
32062006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
3207
3208	PR libgomp/25852
3209	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
3210	libgomp_init.
3211
32122005-01-25  Paolo Bonzini  <bonzini@gnu.org>
3213
3214	PR libgomp/25884
3215	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
3216	* configure.ac (PERL): Don't set.
3217	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
3218	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
3219	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
3220	* omp.h.in: Wrap the new configure substitutions with @ characters.
3221	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
3222	* aclocal.m4, configure, Makefile.in: Regenerate.
3223	* mkomp_h.pl: Delete.
3224
32252005-01-24  Paolo Bonzini  <bonzini@gnu.org>
3226
3227	PR libgomp/25259
3228	* configure.ac: Use GCC_HEADER_STDINT.
3229	* libgomp.h: Include gstdint.h.
3230	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
3231	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
3232
32332006-01-24  Richard Henderson  <rth@redhat.com>
3234
3235	PR libgomp/25942
3236	* configure.ac: Add AM_MAINTAINER_MODE.
3237	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
3238
32392006-01-24  Diego Novillo  <dnovillo@redhat.com>
3240
3241	* Makefile.in: Regenerate.
3242	* testsuite/Makefile.in: Regenerate.
3243	* aclocal.m4: Regenerate.
3244
32452006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
3246
3247	* config/posix/proc.c: Conditional include of sys/loadavg.h for
3248	Solaris.
3249	* configure.ac: Add check for loadavg.h.
3250	(link_gomp): Adjust comment.
3251	* configure: Regenerate.
3252	* config.h.in: Regenerate.
3253
32542006-01-21  Steve Ellcey  <sje@cup.hp.com>
3255
3256	PR libgomp/25877
3257	* configure.ac: Remove check for alloca.h.
3258	* configure: Regenerate.
3259	* config.h.in: Regenerate.
3260	* libgomp.h: define gomp_alloca to be __builtin_alloca.
3261	* team.c: Remove use of alloca.h.
3262	Call gomp_alloca instead of alloca.
3263
32642006-01-20  Steve Ellcey  <sje@cup.hp.com>
3265
3266	PR libgomp/25877
3267	* team.c: Add include of alloca.h.
3268	* configure.ac: Add check for alloca.h.
3269	* configure: Regenerate.
3270	* config.h.in: Regenerate.
3271
32722006-01-17  Jakub Jelinek  <jakub@redhat.com>
3273
3274	PR fortran/25219
3275	* testsuite/libgomp.fortran/pr25219.f90: New test.
3276
32772005-12-05  Uros Bizjak  <uros@kss-loka.si>
3278
3279	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
3280	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
3281	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
3282	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
3283	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
3284	testsuite/libgomp.fortran/threadprivate1.f90,
3285	testsuite/libgomp.fortran/threadprivate2.f90,
3286	testsuite/libgomp.fortran/threadprivate3.f90,
3287	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
3288	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
3289	testsuite/libgomp.fortran/omp_parse3.f90: Change required
3290	effective-target to TLS runtime.
3291
3292	* testsuite/libgomp.fortran/pr25162.f: Require
3293	effective-target TLS runtime.
3294
32952005-12-01  Jakub Jelinek  <jakub@redhat.com>
3296
3297	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
3298	* testsuite/libgomp.c/nestedfn-3.c: New test.
3299
33002005-11-30  Jakub Jelinek  <jakub@redhat.com>
3301
3302	PR fortran/25162
3303	* testsuite/libgomp.fortran/pr25162.f: New test.
3304
33052005-11-28  Jakub Jelinek  <jakub@redhat.com>
3306
3307	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
3308	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
3309
33102005-11-25  Jakub Jelinek  <jakub@redhat.com>
3311
3312	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
3313	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
3314	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
3315	single.c, team.c, work.c, config/linux/alpha/futex.h,
3316	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
3317	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
3318	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
3319	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
3320	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
3321	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
3322	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
3323	FSF address.
3324
33252005-11-18  Jakub Jelinek  <jakub@redhat.com>
3326
3327	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
3328	to nodist_noinst_HEADERS.
3329	* Makefile.in: Rebuilt.
3330
3331	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
3332	add integer count field.
3333	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
3334	omp_nest_lock_t type change.
3335	(omp_init_nest_lock): Likewise.  Initialize count to 0.
3336	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
3337	Increment count.
3338	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
3339	Decrement count.
3340	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
3341	Increment count if successful and return the new nesting level.
3342	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
3343	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
3344	* testsuite/libgomp.c/lib-1.c: New test.
3345	* testsuite/libgomp.fortran/lib1.f90: New test.
3346	* testsuite/libgomp.fortran/lib2.f: New test.
3347	* testsuite/libgomp.fortran/lib3.f: New test.
3348
33492005-11-17  Richard Henderson  <rth@redhat.com>
3350
3351	PR 24845
3352	* Makefile.am (nodist_toolexeclib_HEADERS): New.
3353	* configure.ac (link_gomp): New.  Substitute it.
3354	(AC_CONFIG_FILES): Add libgomp.spec.
3355	* libgomp.spec.in: New file.
3356	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
3357	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
3358
33592005-11-18  Jakub Jelinek  <jakub@redhat.com>
3360
3361	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
3362	reduction(-:var) behaving the same as reduction(+:var).
3363	* testsuite/libgomp.c/reduction-4.c: New test.
3364
33652005-11-15  Uros Bizjak  <uros@kss-loka.si>
3366
3367	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
3368	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
3369	testsuite/libgomp.c/copyin-3.c,
3370	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
3371	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
3372	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
3373	testsuite/libgomp.c++/pr24455.C,
3374	testsuite/libgomp.fortran/threadprivate1.f90,
3375	testsuite/libgomp.fortran/threadprivate2.f90,
3376	testsuite/libgomp.fortran/threadprivate3.f90,
3377	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
3378	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
3379	testsuite/libgomp.fortran/omp_parse3.f90: Require
3380	effective-target TLS.
3381
33822005-11-14  Diego Novillo  <dnovillo@redhat.com>
3383
3384	* HEADER: Remove.
3385
33862005-11-13  Jakub Jelinek  <jakub@redhat.com>
3387
3388	PR libgomp/24797
3389	* team.c (initialize_team): Pass NULL rather than free as
3390	pthread_key_create destructor.  Initialize thread specific data
3391	pointer in initial thread to a static local variable rather than
3392	malloced memory.
3393
33942005-11-11  Uros Bizjak  <uros@kss-loka.si>
3395
3396	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
3397	its location to ld_library_path.
3398
33992005-11-10  Diego Novillo  <dnovillo@redhat.com>
3400
3401	* testsuite/libgomp.c/c.exp: Rename from dg.exp.
3402
34032005-11-10  Diego Novillo  <dnovillo@redhat.com>
3404
3405	* testsuite/libgomp.c: Rename from libgomp.dg.
3406
34072005-11-09  Diego Novillo  <dnovillo@redhat.com>
3408
3409	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
3410	threadprivate variable 'i'.
3411
34122005-11-09  Jakub Jelinek  <jakub@redhat.com>
3413
3414	* config/linux/s390/futex.h: New file.
3415	* configure.tgt: Use it.
3416
3417	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
3418	before the parallel.
3419
34202005-11-08  Jakub Jelinek  <jakub@redhat.com>
3421
3422	PR c++/24734
3423	* testsuite/libgomp.c++/master-1.C: New test.
3424
34252005-11-07  Jakub Jelinek  <jakub@redhat.com>
3426
3427	* testsuite/libgomp.dg/copyin-3.c: New test.
3428
34292005-11-07  Jakub Jelinek  <jakub@redhat.com>
3430
3431	* testsuite/libgomp.fortran/retval1.f90: New test.
3432	* testsuite/libgomp.fortran/vla7.f90: New test.
3433
34342005-11-06  Jakub Jelinek  <jakub@redhat.com>
3435
3436	* testsuite/libgomp.fortran/vla2.f90: New test.
3437	* testsuite/libgomp.fortran/vla3.f90: New test.
3438	* testsuite/libgomp.fortran/vla4.f90: New test.
3439	* testsuite/libgomp.fortran/vla5.f90: New test.
3440	* testsuite/libgomp.fortran/vla6.f90: New test.
3441
34422005-11-01  Jakub Jelinek  <jakub@redhat.com>
3443
3444	* config/linux/sparc/futex.h: New file.
3445	* configure.tgt: Use it.
3446	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
3447
3448	* critical.c: Include stdlib.h.
3449	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
3450	ignoring return value.
3451	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
3452	LIBGOMP_CHECK_SYNC_BUILTINS check.
3453	* configure: Rebuilt.
3454
34552005-10-31  Jakub Jelinek  <jakub@redhat.com>
3456
3457	* testsuite/libgomp.fortran/vla1.f90: New test.
3458
34592005-10-31  Richard Henderson  <rth@redhat.com>
3460
3461	* testsuite/libgomp.fortran/character2.f90: Fix race condition
3462	setting 's' in different threads.
3463
34642005-10-31  Jakub Jelinek  <jakub@redhat.com>
3465
3466	* libgomp.h (attribute_hidden, ialias): Define.
3467	* config/posix/proc.c (omp_get_num_procs): Add ialias.
3468	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
3469	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
3470	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
3471	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
3472	omp_test_lock, omp_test_nest_lock): Likewise.
3473	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
3474	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
3475	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
3476	omp_test_lock, omp_test_nest_lock): Likewise.
3477	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
3478	omp_get_dynamic, omp_get_nested): Likewise.
3479	* parallel.c (omp_get_num_threads, omp_get_max_threads,
3480	omp_get_thread_num, omp_in_parallel): Likewise.
3481	* fortran.c (ialias_redirect): Define.
3482	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
3483	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
3484	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
3485	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
3486	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
3487	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
3488	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
3489	omp_get_wtime): Add ialias_redirect.
3490
34912005-10-30  Jakub Jelinek  <jakub@redhat.com>
3492
3493	* fortran.c: Include stdlib.h.
3494
34952005-10-29  Jakub Jelinek  <jakub@redhat.com>
3496
3497	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
3498	* Makefile.in: Regenerated.
3499
35002005-10-28  Jakub Jelinek  <jakub@redhat.com>
3501
3502	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
3503	* libgomp_f.h.in (omp_check_defines): New function.
3504	* env.c: Include libgomp_f.h.
3505	(initialize_env): Call omp_check_defines.
3506
3507	* testsuite/libgomp.dg/copyin-2.c: New test.
3508	* testsuite/libgomp.c++/copyin-2.C: New test.
3509	* testsuite/libgomp.fortran/threadprivate3.f90: New test.
3510
3511	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
3512	* testsuite/libgomp.fortran/sharing2.f90: New test.
3513
3514	* testsuite/libgomp.dg/copyin-1.c: New test.
3515	* testsuite/libgomp.c++/copyin-1.C: New test.
3516
35172005-10-26  Jakub Jelinek  <jakub@redhat.com>
3518
3519	* testsuite/libgomp.fortran/crayptr1.f90: New test.
3520
3521	* testsuite/libgomp.fortran/workshare1.f90: New test.
3522
3523	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
3524	only test.
3525	* libgomp.fortran/sharing1.f90: New test.
3526
35272005-10-24  Jakub Jelinek  <jakub@redhat.com>
3528
3529	PR c++/24502
3530	* testsuite/libgomp.c++/loop-7.C: New test.
3531
3532	* testsuite/libgomp.dg/nestedfn-2.c: New test.
3533
3534	* testsuite/libgomp.dg/nestedfn-1.c: New test.
3535	* testsuite/libgomp.fortran/reduction6.f90: New test.
3536	* testsuite/libgomp.fortran/nestedfn1.f90: New test.
3537
35382005-10-23  Richard Henderson  <rth@redhat.com>
3539
3540	* testsuite/libgomp.c++/ctor-1.C: New.
3541	* testsuite/libgomp.c++/ctor-2.C: New.
3542	* testsuite/libgomp.c++/ctor-3.C: New.
3543	* testsuite/libgomp.c++/ctor-4.C: New.
3544	* testsuite/libgomp.c++/ctor-5.C: New.
3545	* testsuite/libgomp.c++/ctor-6.C: New.
3546	* testsuite/libgomp.c++/ctor-7.C: New.
3547	* testsuite/libgomp.c++/ctor-8.C: New.
3548	* testsuite/libgomp.c++/ctor-9.C: New.
3549
35502005-10-21  Diego Novillo  <dnovillo@redhat.com>
3551
3552	PR 24455
3553	* testsuite/libgomp.c++/pr24455-1.C: New test.
3554	* testsuite/libgomp.c++/pr24455.C: New test.
3555	* testsuite/libgomp.dg/pr24455-1.c: New test.
3556	* testsuite/libgomp.dg/pr24455.c: New test.
3557
35582005-10-20  Richard Henderson  <rth@redhat.com>
3559
3560	* testsuite/libgomp.c++/loop-6.C: New.
3561	* testsuite/libgomp.dg/loop-3.c: New.
3562
35632005-10-20  Jakub Jelinek  <jakub@redhat.com>
3564
3565	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
3566	explicitly private.
3567	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
3568	explicitly shared.
3569
35702005-10-19  Diego Novillo  <dnovillo@redhat.com>
3571
3572	* testsuite/libgomp.fortran/jacobi.f: New test.
3573
35742005-10-19  Richard Henderson  <rth@redhat.com>
3575
3576	* configure.tgt (i?86-linux): Default to with_arch instead of
3577	CFLAGS.  Add -mtune to match target_cpu.
3578	(x86_64-linux): Tune to i686.
3579
3580	* fortran.c (omp_test_nest_lock_): Fix typo.
3581
35822005-10-19  Jakub Jelinek  <jakub@redhat.com>
3583
3584	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
3585	gomp_ordered_sync): Do nothing if team->nthreads == 1.
3586	* testsuite/libgomp.dg/ordered-3.c: New test.
3587
3588	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
3589	Remove volatile keyword.
3590
3591	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
3592	in COMMON block to avoid warnings on 64-bit targets.
3593
35942005-10-18  Diego Novillo  <dnovillo@redhat.com>
3595
3596	* testsuite/libgomp.dg/shared-3.c: New test.
3597
35982005-10-18  Jakub Jelinek  <jakub@redhat.com>
3599
3600	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
3601	* testsuite/libgomp.fortran/reduction5.f90: New test.
3602
36032005-10-18  Jakub Jelinek  <jakub@redhat.com>
3604
3605	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
3606	dg-options.
3607	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
3608	flush loop now that __sync_synchronize has proper memory barrier.
3609	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
3610	Add -ffixed-form to dg-options.
3611
36122005-10-17  Diego Novillo  <dnovillo@redhat.com>
3613
3614	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
3615	from subdirectories.
3616	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
3617	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
3618	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
3619	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
3620	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
3621	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
3622	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
3623	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
3624	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
3625	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
3626	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
3627	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
3628	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
3629	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
3630	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
3631	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
3632	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
3633	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
3634	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
3635	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
3636	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
3637	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
3638	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
3639	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
3640	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
3641
36422005-10-17  Jakub Jelinek  <jakub@redhat.com>
3643
3644	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
3645	lang_library_path exists.  Use find instead of glob to gather tests.
3646	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
3647
36482005-10-17  Diego Novillo  <dnovillo@redhat.com>
3649
3650	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
3651	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
3652	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
3653	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
3654	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
3655	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
3656	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
3657	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
3658	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
3659	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
3660	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
3661	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
3662	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
3663
36642005-10-15  Jakub Jelinek  <jakub@redhat.com>
3665
3666	* testsuite/libgomp.dg/vla-1.c: New test.
3667
3668	* testsuite/libgomp.fortran/reference2.f90: New test.
3669
3670	* testsuite/libgomp.fortran/character2.f90: Remove explicit
3671	declaration of omp_get_thread_num.
3672	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
3673	use omp_lib.
3674
3675	* testsuite/libgomp.fortran/reduction1.f90: New test.
3676	* testsuite/libgomp.fortran/reduction2.f90: New test.
3677	* testsuite/libgomp.fortran/reduction3.f90: New test.
3678	* testsuite/libgomp.fortran/reduction4.f90: New test.
3679
36802005-10-13  Richard Henderson  <rth@redhat.com>
3681
3682	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
3683	* Makefile.in: Regenerate.
3684	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
3685	* libgomp.h: Include bar.h.
3686	(struct gomp_barrier): Remove.
3687	(struct gomp_team): Add barrier.  Replace master_barrier with
3688	master_release.  Replace threads with ordered_release.
3689	(struct gomp_thread): Replace barrier with release.
3690	* ordered.c (gomp_ordered_first): Update for ordered_release change.
3691	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
3692	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
3693	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
3694	(GOMP_single_copy_end): Likewise.
3695	* team.c (gomp_threads_dock): New.
3696	(gomp_barrier_init, gomp_barrier_destroy): Remove.
3697	(gomp_thread_start): Use gomp_barrier_wait.
3698	(new_team, free_team): Update for gomp_team changes.
3699	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
3700	(gomp_team_end): Use gomp_barrier_wait.
3701	(initialize_team): Update for gomp_thread changes.
3702	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
3703	(gomp_work_share_end_nowait): Use atomic ops when available.
3704	* config/linux/bar.c, config/linux/bar.h: New files.
3705	* config/posix/bar.c, config/posix/bar.h: New files.
3706
37072005-10-13  Jakub Jelinek  <jakub@redhat.com>
3708
3709	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
3710	* testsuite/libgomp.dg/single-2.c: New test.
3711
3712	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
3713	lang_link_flags): Unset, so that they aren't inherited from previously
3714	sourced *.exp.
3715
3716	* testsuite/libgomp.fortran/threadprivate1.f90: New test.
3717
37182005-10-12  Richard Henderson  <rth@redhat.com>
3719
3720	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
3721	(libgomp_init): Use lang_test_file, lang_library_path, and
3722	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
3723
3724	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
3725	(lang_test_file, lang_link_flags): New.
3726	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
3727
3728	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
3729	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
3730	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
3731	testsuite/libgomp.c++/parallel-1.C,
3732	testsuite/libgomp.c++/reduction-1.C,
3733	testsuite/libgomp.c++/reduction-2.C,
3734	testsuite/libgomp.c++/reduction-3.C,
3735	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
3736	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
3737	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
3738	New files, largely cribbed from the C testsuite.
3739
37402005-10-12  Jakub Jelinek  <jakub@redhat.com>
3741
3742	* testsuite/libgomp.fortran/character1.f90: New test.
3743	* testsuite/libgomp.fortran/character2.f90: New test.
3744
3745	* testsuite/libgomp.dg/nested-1.c: New test.
3746	* testsuite/libgomp.dg/nested-2.c: New test.
3747	* testsuite/libgomp.fortran/do1.f90: New test.
3748	* testsuite/libgomp.fortran/do2.f90: New test.
3749
3750	* testsuite/libgomp.fortran/reference1.f90: New test.
3751
37522005-10-11  Jakub Jelinek  <jakub@redhat.com>
3753
3754	* testsuite/libgomp.dg/reduction-1.c: New test.
3755	* testsuite/libgomp.dg/reduction-2.c: New test.
3756	* testsuite/libgomp.dg/reduction-3.c: New test.
3757
37582005-10-10  Jakub Jelinek  <jakub@redhat.com>
3759
3760	* testsuite/libgomp.dg/atomic-1.c: New test.
3761	* testsuite/libgomp.dg/atomic-2.c: New test.
3762
37632005-10-09  Richard Henderson  <rth@redhat.com>
3764
3765	* critical.c (atomic_lock): New.
3766	(initialize_critical): Initialize it.
3767	(GOMP_atomic_start, GOMP_atomic_end): New.
3768	* libgomp.map: Export them.
3769	* libgomp_g.h: Declare them.
3770
3771	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
3772
37732005-10-02  Richard Henderson  <rth@redhat.com>
3774
3775	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
3776	to XCFLAGS instead of CFLAGS.
3777
37782005-09-30  Richard Henderson  <rth@redhat.com>
3779
3780	* configure.ac: Determine whether -pthread or -lpthread is needed.
3781	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
3782	* Makefine.in, configure: Rebuild.
3783
37842005-09-28  Richard Henderson  <rth@redhat.com>
3785
3786	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
3787	* testsuite/libgomp.dg/omp-single-3.c: New test.
3788
37892005-09-28  Diego Novillo  <dnovillo@redhat.com>
3790
3791	* testsuite/libgomp.dg/omp-single-2.c: New test.
3792	* testsuite/libgomp.dg/shared-2.c: Fix return code.
3793
37942005-09-27  Richard Henderson  <rth@redhat.com>
3795
3796	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
3797	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
3798
37992005-09-27  Jakub Jelinek  <jakub@redhat.com>
3800
3801	* testsuite/libgomp.dg/omp-loop03.c: New test.
3802
38032005-09-27  Diego Novillo  <dnovillo@redhat.com>
3804
3805	* testsuite/libgomp.dg/omp-parallel-for.c: New test.
3806
38072005-09-27  Diego Novillo  <dnovillo@redhat.com>
3808
3809	* testsuite/libgomp.dg/omp-single-1.c: New test.
3810	* testsuite/libgomp.dg/shared-1.c: Return 0.
3811	Add prototype for abort.
3812	* testsuite/libgomp.dg/shared-2.c: Likewise.
3813
38142005-09-26  Jakub Jelinek  <jakub@redhat.com>
3815
3816	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
3817	constructs.
3818
38192005-09-26  Diego Novillo  <dnovillo@redhat.com>
3820
3821	* testsuite/libgomp.dg/shared-1.c: New test.
3822	* testsuite/libgomp.dg/shared-2.c: New test.
3823
38242005-09-24  Richard Henderson  <rth@redhat.com>
3825
3826	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
3827
38282005-09-24  Richard Henderson  <rth@redhat.com>
3829
3830	* iter.c (gomp_iter_static_next): Round up when computing number
3831	of iterations.  Don't bother distributing a remainder equally.
3832
3833	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
3834	Don't call srand.  Zero b before testing.
3835	(main): New.
3836
38372005-09-24  Jakub Jelinek  <jakub@redhat.com>
3838
3839	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
3840	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.
3841
38422005-09-23  Jakub Jelinek  <jakub@redhat.com>
3843
3844	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
3845	without !$omp end do, followed immediately by subroutine end.
3846
38472005-09-23  Diego Novillo  <dnovillo@redhat.com>
3848
3849	* testsuite/libgomp.dg/omp-parallel-if.c: New test.
3850
38512005-09-22  Richard Henderson  <rth@redhat.com>
3852
3853	* critical.c (GOMP_critical_name_start): Change argument to void**.
3854	Reuse the pointer space if the mutex fits.
3855	(GOMP_critical_name_end): Likewise.
3856	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
3857	* libgomp_g.h (GOMP_critical_name_start): Update decl.
3858	(GOMP_critical_name_end): Likewise.
3859	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
3860	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
3861
38622005-09-20  Richard Henderson  <rth@redhat.com>
3863
3864	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
3865	(create_lock_lock): New.
3866	(initialize_critical): Initialize it.
3867	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
3868	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
3869
38702005-09-20  Diego Novillo  <dnovillo@redhat.com>
3871
3872	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
3873
38742005-09-20  Diego Novillo  <dnovillo@redhat.com>
3875
3876	* testsuite/libgomp.dg/omp-loop01.c: New test.
3877	* testsuite/libgomp.dg/omp-loop02.c: New test.
3878
38792005-09-20  Jakub Jelinek  <jakub@redhat.com>
3880
3881	* configure.ac (AC_PROG_FC): Add.
3882	(USE_FORTRAN): New automake conditional.
3883	* configure: Rebuilt.
3884	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
3885	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
3886	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
3887	Add rules to build them.
3888	* Makefile.in: Rebuilt.
3889	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
3890	OMP_NEST_LOCK_KIND.
3891	* libgomp.map: Add Fortran wrappers.
3892	* libgomp_f.h.in: New file.
3893	* omp_lib.h.in: New file.
3894	* omp_lib.f90.in: New file.
3895	* fortran.c: New file.
3896	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
3897	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
3898	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
3899	libgfortran has been built.
3900	* testsuite/libgomp.fortran/fortran.exp: New file.
3901	* testsuite/libgomp.fortran/omp_cond1.f: New test.
3902	* testsuite/libgomp.fortran/omp_cond2.f: New test.
3903	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
3904	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
3905	* testsuite/libgomp.fortran/omp_hello.f: New test.
3906	* testsuite/libgomp.fortran/omp_orphan.f: New test.
3907	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
3908	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
3909	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
3910	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
3911	* testsuite/libgomp.fortran/omp_reduction.f: New test.
3912	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
3913	* testsuite/libgomp.fortran/omp_workshare2.f: New test.
3914
39152005-08-30  Richard Henderson  <rth@redhat.com>
3916
3917	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
3918	function for when aliases are not usable.
3919	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
3920	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
3921	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
3922	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
3923	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
3924	GOMP_loop_ordered_guided_next): Likewise.
3925	* ordered.c (GOMP_ordered_start): Likewise.
3926
39272005-08-01  Diego Novillo  <dnovillo@redhat.com>
3928
3929	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
3930	* testsuite/libgomp.dg/omp_hello.c: Fix return code
3931	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
3932	* testsuite/libgomp.dg/omp_orphan.c: Likewise
3933	* testsuite/libgomp.dg/omp_reduction.c: Likewise
3934	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
3935	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
3936	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
3937	* testsuite/libgomp.dg/omp_workshare4.c: Likewise
3938
39392005-07-07  Eric Christopher  <echristo@redhat.com>
3940	    Diego Novillo  <dnovillo@redhat.com>
3941
3942	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
3943	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
3944	up code.
3945	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
3946	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
3947	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
3948	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
3949	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
3950	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
3951	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.
3952
39532005-06-13  Diego Novillo  <dnovillo@redhat.com>
3954
3955	* TOPLEVEL.patch: Remove.
3956
39572005-05-16  Richard Henderson  <rth@redhat.com>
3958
3959	* configure.ac: Test for clock_gettime.
3960	* config.h.in, configure: Rebuild.
3961	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
3962	(omp_get_wtime): Use clock_gettime if available.
3963	(omp_get_wtick): Use clock_getres if available.
3964
39652005-05-11  Richard Henderson  <rth@redhat.com>
3966
3967	* config/linux/ia64/futex.h: New file.
3968	* configure.tgt: Use it.
3969
3970	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
3971
39722005-05-07  Richard Henderson  <rth@redhat.com>
3973
3974	* config/linux/powerpc/futex.h: New file.
3975	* configure.tgt: Use it.
3976
3977	* config/linux/i486/futex.h: Merge ...
3978	* config/linux/x86_64/futex.h: ... into ...
3979	* config/linux/x86/futex.h: ... here.
3980	* configure.tgt: Update to match.
3981
39822005-05-06  Richard Henderson  <rth@redhat.com>
3983
3984	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
3985	* config/linux/i486/futex.h: Likewise.
3986	* config/linux/x86_64/futex.h: Likewise.
3987
3988	* config/linux/lock.c: New file.
3989	* config/linux/omp-lock.h: New file.
3990
3991	* critical.c, env.h: Don't include omp.h
3992	* config/posix/lock.c: Include libgomp.h instead of omp.h.
3993	* config/posix/time.c: Likewise.
3994	* config/posix/omp-lock.h: New file.
3995	* libgomp.h: Include omp-lock.h and omp.h.
3996	* Makefile.am (nodist_include_HEADERS): New.
3997	(omp.h): New rule.
3998	* configure.ac (PERL): New.
3999	* mkomp_h.pl: New file.
4000	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
4001	with templates.
4002	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.
4003
4004	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
4005	build directory.  Re-add -march=i486 hack.
4006
4007	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
4008	(libgomp_link_flags): Remove.
4009	(libgomp_initialized): Remove.
4010	(libgomp_init): Don't protect from reinitialization.  Copy code
4011	from libstdc++ for getting the multilib set correctly.
4012
40132005-05-05  Richard Henderson  <rth@redhat.com>
4014
4015	* config/linux/alpha/futex.h: New file.
4016	* configure.tgt (alpha*-*-linux*): Use it.
4017
4018	* config/posix/mutex.c: New file.
4019	* config/posix/sem.c: Use libgomp.h.
4020
4021	* configure.tgt (x86_64-linux): Also test CC for -m32.
4022	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
4023
4024	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
4025	after $gccpath.
4026
4027	* Makefile.am (SUBDIRS): New.
4028	(libgomp_la_LDFLAGS): Add -lpthread.
4029	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
4030	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
4031
4032	* libgomp_g.h: New file.
4033	* libgomp.h: Split out all public declarations to libgomp_g.h.
4034	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
4035	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
4036	* config/linux/sem.h: Likewise.
4037	* config/posix/sem.h: Likewise.
4038
4039	* Makefile.am (AM_LDFLAGS): New.
4040	(libgomp_version_script): Split out from ...
4041	(libgomp_la_LDFLAGS): ... here.
4042	(libgomp_version_info): New.
4043	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
4044	(LIBGOMP_ENABLE): New.
4045	(LIBGOMP_CHECK_LINKER_FEATURES): New.
4046	(LIBGOMP_ENABLE_SYMVERS): New.
4047	* configure.ac (AC_INIT): Version 1.0.
4048	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
4049	(enable-linux-futex): Likewise.  Rename from enable-futex.
4050	(libtool_VERSION): New.
4051	(LIBGOMP_ENABLE_SYMVERS): Use it.
4052	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
4053	* Makefile.in, aclocal.m4, configure: Rebuild.
4054
4055	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
4056	(gomp_mutex_unlock_slow): Fix typo.
4057	* config/linux/sem.c: Similarly.
4058	(gomp_sem_post_slow): Fix typo.
4059	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
4060	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
4061	[__PIC__] (sys_futex0): Don't use tmp output in asm.
4062
4063	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
4064	(libgomp_la_LDFLAGS): Add top_srcdir to path.
4065	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
4066	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
4067	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
4068	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
4069	LDFLAGS.  Pull enable_futex check to top-level.
4070	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
4071	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
4072
4073	First attempt at real configury.
4074	* Makefile, config.h: Remove file.
4075	* Makefile.am, Makefile.in: New file.
4076	* acinclude.m4 aclocal.m4: New file.
4077	* configure.ac, configure.tgt, configure: New file.
4078
4079	* config/posix/lock.c: Rename from sys-lock.c.
4080	* config/posix/mutex.h: Rename from sys-mutex.h.
4081	* config/posix/sem.c: Rename from sys-sem.c.
4082	* config/posix/sem.h: Rename from sys-sem.h.
4083	* config/posix/proc.c: Rename from sys-proc.c.
4084	* config/posix/time.c: Rename from sys-proc.c.
4085
4086	* config/linux/mutex.c: New file.
4087	* config/linux/mutex.h: New file.
4088	* config/linux/sem.c: New file.
4089	* config/linux/sem.h: New file.
4090	* config/linux/i486/futex.h: New file.
4091	* config/linux/x86_64/futex.h: New file.
4092
40932005-05-04  Richard Henderson  <rth@redhat.com>
4094
4095	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
4096	* libgomp.h: Declare them.
4097	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
4098	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
4099
41002005-05-04  Richard Henderson  <rth@redhat.com>
4101
4102	* libgomp-1 code drop
4103
41042005-05-04  Richard Henderson  <rth@redhat.com>
4105
4106	* iter.c (gomp_iter_static_next): Return tri-state on 0.
4107	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
4108	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
4109	(gomp_iter_static_next): Update.
4110	(gomp_ordered_static_next): Update.
4111	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
4112	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
4113	totally empty range.
4114	(gomp_loop_ordered_static_next): Refine test for calling
4115	gomp_ordered_static_next.
4116	* testsuite/ordered-1.c: Add case for more threads than iterations.
4117
4118	* iter.c (gomp_iter_runtime_next_locked): Remove.
4119	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
4120	gomp_loop_guided_start, gomp_loop_ordered_static_start,
4121	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
4122	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
4123	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
4124	gomp_loop_ordered_guided_next): Downcase name, make static, add
4125	an external alias with the old name.
4126	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
4127	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
4128	switch and call one of the above static functions.
4129	* libgomp.h: Update.
4130
4131	* work.c (gomp_work_share_start): Lock the mutex for !first too.
4132	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
4133	GOMP_loop_guided_start, GOMP_loop_runtime_start,
4134	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
4135	GOMP_loop_ordered_guided_start): Update to match.
4136	* sections.c (GOMP_sections_start): Likewise.
4137	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
4138
4139	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
4140	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
4141	Use bounds check instead of modulus.
4142	(gomp_ordered_sync): Split out of GOMP_ordered_start.
4143	(gomp_ordered_last): Don't sync with ordered_owner here.
4144	(gomp_ordered_next): Likewise.
4145	(gomp_ordered_static_loop_next): Likewise.
4146	* loop.c, libgomp.h: Update to match.
4147
4148	* libgomp.h (GOMP_barrier): Declare.
4149
4150	* testsuite/barrier-1.c: New file.
4151	* testsuite/critical-1.c: New file.
4152	* testsuite/ordered-2.c: New file.
4153	* testsuite/ordered-1.c: New file.
4154	* testsuite/sections-1.c: New file.
4155	* testsuite/single-1.c: New file.
4156	* testsuite/Makefile (TESTS): Add them.
4157
41582005-05-04  Richard Henderson  <rth@redhat.com>
4159
4160	* libgomp.h (struct gomp_work_share): Add ordered_owner.
4161	* loop.c (GOMP_loop_static_start): If not the startup thread,
4162	acquire the mutex to wait for initialization complete.
4163	(GOMP_loop_ordered_static_start): Likewise.
4164	(GOMP_loop_ordered_runtime_start): Likewise.
4165	(GOMP_loop_ordered_static_first): Remove.
4166	(GOMP_loop_ordered_dynamic_first): Remove.
4167	(GOMP_loop_ordered_guided_first): Remove.
4168	(GOMP_loop_ordered_runtime_first): Remove.
4169	* ordered.c (gomp_ordered_loop_first): Post to own release when
4170	we're the first thread.
4171	(gomp_ordered_loop_last): Wait on release if not owner.
4172	(gomp_ordered_loop_next): Likewise.
4173	(gomp_ordered_static_loop_init): New.
4174	(gomp_ordered_static_loop_next): Use ordered_owner.
4175	(GOMP_ordered_start): Likewise.
4176	* work.c (gomp_new_work_share): Initialize ordered_owner.
4177
41782005-05-03  Richard Henderson  <rth@redhat.com>
4179
4180	* Makefile (OPT): New.
4181	(CFLAGS): Use it.
4182
4183	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
4184	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
4185	* libgomp.h, libgomp.map, NOTES: Update to match.
4186
4187	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
4188	Add initialized and thr members.
4189	(gomp_thread_start): Pause when initially spawned to wait for
4190	the whole team to be created.
4191	(gomp_team_start): Release team members at the end.
4192
4193	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
4194	(f_foo_1): Use GOMP_loop_end.
4195	(f_foo_2): Use GOMP_loop_end_nowait.
4196
4197	* testsuite/loop-2.c: New file.
4198	* testsuite/Makefile (TESTS): Add it.
4199
42002005-05-03  Richard Henderson  <rth@redhat.com>
4201
4202	* iter.c (gomp_iter_static_next): Fix overflow check typo.
4203	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
4204	* team.c (new_team): Initialize oldest_live_gen to 1 if no
4205	initial work_share.
4206
4207	* testsuite/Makefile: New file.
4208	* testsuite/loop-1.c: New file.
4209
42102005-05-03  Richard Henderson  <rth@redhat.com>
4211
4212	Initial implementation and checkin.
4213