OSDN Git Service

PR middle-end/52547
[pf3gnuchains/gcc-fork.git] / libgomp / ChangeLog
1 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
2
3         PR middle-end/52547
4         * testsuite/libgomp.c/pr52547.c: New test.
5
6 2012-03-22  Release Manager
7
8         * GCC 4.7.0 released.
9
10 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
11
12         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13
14 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
15
16         PR libstdc++/52188
17         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
18         Remove ENABLE_SYMVERS_SOL2.
19         * configure: Regenerate.
20         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
21         (PREPROCESS): New variable.
22         (libgomp.ver): New target.
23         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
24         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
25         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
26         Use libgomp.ver.
27         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
28         * Makefile.in: Regenerate.
29
30 2012-02-14  Walter Lee  <walt@tilera.com>
31
32         * configure.tgt: Handle tilegx and tilepro.
33         * config/linux/tile/futex.h: New file.
34
35 2012-02-08  Richard Guenther  <rguenther@suse.de>
36
37         PR tree-optimization/46886
38         * testsuite/libgomp.c/pr46886.c: New testcase.
39
40 2012-01-25  Matthias Klose  <doko@ubuntu.com>
41
42         * config/linux/arm: Remove empty directory.
43         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
44
45 2011-12-09  Alan Modra  <amodra@gmail.com>
46
47         PR libgomp/51376
48         * task.c (GOMP_taskwait): Don't access task->children outside of
49         task_lock mutex region.
50         (GOMP_task): Likewise.
51
52 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
53
54         PR libgomp/51132
55         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
56         to file scope.
57         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
58         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
59         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
60         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
61         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
62
63 2011-12-02  Alan Modra  <amodra@gmail.com>
64
65         * config/linux/affinity.c: Use atomic rather than sync builtin.
66         * config/linux/lock.c: Likewise.
67         * config/linux/ptrlock.h: Likewise.
68         * config/linux/ptrlock.c: Likewise.
69         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
70         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
71         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
72         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
73         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
74         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
75         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
76         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
77         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
78         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
79
80 2011-11-30  Alan Modra  <amodra@gmail.com>
81
82         PR libgomp/51298
83         * config/linux/bar.h: Use atomic rather than sync builtins.
84         * config/linux/bar.c: Likewise.  Add missing acquire
85         synchronisation on generation field.
86         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
87         double unlock.
88
89 2011-11-30  Alan Modra  <amodra@gmail.com>
90
91         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
92         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
93         * config/linux/mutex.h: Use atomic rather than sync builtins.
94         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
95         * config/linux/omp-lock.h: Comment fix.
96         * config/linux/arm/mutex.h: Delete.
97         * config/linux/powerpc/mutex.h: Delete.
98         * config/linux/ia64/mutex.h: Delete.
99         * config/linux/mips/mutex.h: Delete.
100
101 2011-11-30  Alan Modra  <amodra@gmail.com>
102
103         PR libgomp/51249
104         * config/linux/sem.h: Rewrite.
105         * config/linux/sem.c: Rewrite.
106
107 2011-11-28  Richard Henderson  <rth@redhat.com>
108
109         * libgomp.h (enum memmodel): New.
110
111 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
112
113         * configure: Regenerate.
114
115 2011-10-10  Matthias Klose  <doko@ubuntu.com>
116
117         * config/posix95: Remove empty directory.
118
119 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
120
121         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
122
123 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
124
125         PR fortran/49792
126         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
127         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
128
129 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
130
131         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
132
133 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
134
135         PR libgomp/49965
136         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
137
138 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
139
140         * config/linux/proc.h: New.
141         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
142         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
143         (gomp_init_num_threads): Update call to cpuset_popcount.
144         (get_num_procs): Ditto.
145         * config/linux/affinity.c (gomp_init_affinity): Call
146         gomp_cpuset_popcount.
147
148 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
149
150         PR fortran/42041
151         PR fortran/46752
152         * omp.h.in (omp_in_final): New prototype.
153         * omp_lib.f90.in (omp_in_final): New interface.
154         (omp_integer_kind, omp_logical_kind): Remove
155         and replace all its uses in the module with 4.
156         (openmp_version): Change to 201107.
157         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
158         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
159         kind for the parameters.
160         (omp_in_final): New external.
161         (openmp_version): Change to 201107.
162         * task.c (omp_in_final): New function.
163         (gomp_init_task): Initialize final_task.
164         (GOMP_task): Remove unused attribute from flags.  Handle final
165         tasks.
166         (GOMP_taskyield): New function.
167         (omp_in_final): Return true if if (false) or final (true) task
168         or descendant of final (true).
169         * fortran.c (omp_in_final_): New function.
170         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
171         (GOMP_3.0): Export GOMP_taskyield.
172         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
173         variables.
174         (parse_unsigned_long_list): New function.
175         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
176         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
177         even if parse_affinity returned false.
178         * config/linux/affinity.c (gomp_init_affinity): Handle
179         gomp_cpu_affinity_len == 0.
180         * libgomp_g.h (GOMP_taskyield): New prototype.
181         * libgomp.h (struct gomp_task): Add final_task field.
182         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
183         * team.c (gomp_team_start): Override new task's nthreads_var icv
184         if list form OMP_NUM_THREADS has been used and it has value for
185         the new nesting level.
186
187         * testsuite/libgomp.c/atomic-11.c: New test.
188         * testsuite/libgomp.c/atomic-12.c: New test.
189         * testsuite/libgomp.c/atomic-13.c: New test.
190         * testsuite/libgomp.c/atomic-14.c: New test.
191         * testsuite/libgomp.c/reduction-6.c: New test.
192         * testsuite/libgomp.c/task-5.c: New test.
193         * testsuite/libgomp.c++/atomic-2.C: New test.
194         * testsuite/libgomp.c++/atomic-3.C: New test.
195         * testsuite/libgomp.c++/atomic-4.C: New test.
196         * testsuite/libgomp.c++/atomic-5.C: New test.
197         * testsuite/libgomp.c++/atomic-6.C: New test.
198         * testsuite/libgomp.c++/atomic-7.C: New test.
199         * testsuite/libgomp.c++/atomic-8.C: New test.
200         * testsuite/libgomp.c++/atomic-9.C: New test.
201         * testsuite/libgomp.c++/task-8.C: New test.
202         * testsuite/libgomp.c++/reduction-4.C: New test.
203         * testsuite/libgomp.fortran/allocatable7.f90: New test.
204         * testsuite/libgomp.fortran/allocatable8.f90: New test.
205         * testsuite/libgomp.fortran/crayptr3.f90: New test.
206         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
207         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
208         * testsuite/libgomp.fortran/pointer1.f90: New test.
209         * testsuite/libgomp.fortran/pointer2.f90: New test.
210         * testsuite/libgomp.fortran/task4.f90: New test.
211
212 2011-08-02  Tobias Burnus  <burnus@net-b.de>
213
214         * libgomp.texi: Update OpenMP spec references to 3.1.
215         (omp_in_final,OMP_PROC_BIND): New sections.
216         (OMP_NUM_THREADS): Document that the value can be now a list.
217         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
218
219 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
220
221         * config/linux/x86/futex.h: Check __x86_64__ instead of
222         __LP64__.
223
224 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
225
226         PR middle-end/49897
227         PR middle-end/49898
228         * testsuite/libgomp.c/pr49897-1.c: New test.
229         * testsuite/libgomp.c/pr49897-2.c: New test.
230         * testsuite/libgomp.c/pr49898-1.c: New test.
231         * testsuite/libgomp.c/pr49898-2.c: New test.
232
233 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
234
235         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
236         for ia32 instead of ilp32.
237
238         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
239         * testsuite/libgomp.c/atomic-6.c: Likewise.
240
241 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
242
243         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
244         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
245
246 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
247
248         PR libgomp/45351
249         * config/osf/sem.h: New file.
250         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
251
252 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
253
254         PR target/49541
255         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
256         ldflags.
257
258 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
259
260         * config/linux/wait.h (do_spin): New inline, largely copied
261         from do_wait, just don't do futex_wait here, instead return true if
262         it should be done.
263         (do_wait): Implement using do_spin.
264         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
265         to prototype.
266         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
267         __sync_bool_compare_and_swap, pass the oldval to
268         gomp_mutex_lock_slow.
269         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
270         If all mutex contenders are just spinning and not sleeping, don't
271         change state to 2 unnecessarily.  Optimize the loop when state has
272         already become 2 to use just one atomic operation per loop instead
273         of two.
274         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
275         to prototype.
276         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
277         __sync_bool_compare_and_swap, pass the oldval to
278         gomp_mutex_lock_slow.
279
280 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
281
282         PR libgomp/49490
283         * iter.c (gomp_iter_static_next): For chunk size 0
284         only use n ceil/ nthreads size for the first
285         n % nthreads threads in the team instead of
286         all threads except for the last few ones which
287         get less work or none at all.
288         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
289         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
290         chunk argument, set run_sched_modifier to 0 for static
291         resp. 1 for other kinds.  If chunk argument is 0
292         and not static, set value to 1.
293
294 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
295
296         PR c++/49043
297         * testsuite/libgomp.c++/pr49043.C: New test.
298
299         PR c++/48869
300         * testsuite/libgomp.c++/pr48869.C: New test.
301
302 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
303
304         PR fortran/48894
305         * fortran.c: Include limits.h.
306         (TO_INT): Define.
307         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
308         *set.
309         (omp_set_num_threads_8_, omp_set_schedule_8_,
310         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
311         omp_get_team_size_8_): Use TO_INT macro.
312         * testsuite/libgomp.fortran/pr48894.f90: New test.
313
314 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
315
316         PR middle-end/48591
317         * testsuite/libgomp.c/pr48591.c: New test.
318
319 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
320
321         PR bootstrap/48135
322         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
323         * configure: Regenerate.
324
325 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
326
327         PR fortran/47886
328         * testsuite/libgomp.fortran/task3.f90: New test.
329
330 2011-02-24  Tobias Burnus  <burnus@net-b.de>
331
332         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
333
334 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
335
336         PR libgomp/47854
337         * libgomp.texi (omp_get_wtime): Don't say time in the past
338         must be Unix Epoch.
339
340 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
341
342         PR libgomp/47804
343         * testsuite/libgomp.fortran/fortran.exp: Check for both
344         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
345         but $blddir != "", still append ${blddir}/${lang_library_path}
346         to ld_library_path.
347
348 2011-02-16  Tobias Burnus  <burnus@net-b.de>
349
350         PR libgomp/47758
351         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
352         of libquadmath.a before adding its libpath to ldflags.
353
354 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
355
356         PR libgomp/47731
357         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
358         to FUTEX_WAIT futex syscall.
359         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
360
361 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
362
363         * configure: Regenerate.
364
365 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
366
367         PR libstdc++/36104
368         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
369
370 2011-01-16  Gerald Pfeifer
371
372         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
373
374 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
375
376         PR fortran/46874
377         * libgomp.fortran/allocatable6.f90: New test.
378
379 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
380
381         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
382         * configure: Regenerate.
383
384 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
385
386         PR target/40125
387         PR lto/46695
388         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
389         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
390         * aclocal.m4: Regenerate.
391         * configure: Regenerate.
392         * Makefile.in: Regenerate.
393         * testsuite/Makefile.in: Regenerate.
394
395 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
396
397         PR fortran/46753
398         * libgomp.fortran/pr46753.f90: New test.
399
400         PR libgomp/43706
401         * env.c (initialize_env): Default to spin count 300000
402         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
403         is specified.
404
405         PR libgomp/45240
406         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
407         at the end if sync builtins aren't supported.
408
409 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
410
411         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
412
413 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
414
415         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
416
417 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
418
419         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
420
421 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
422             Tobias Burnus  <burnus@net-b.de>
423
424         PR fortran/32049
425         * configure.ac:
426         * configure: Regenerate.
427
428 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
429
430         * config/linux/futex.h: New.
431         * config/linux/arm/mutex.h: New.
432         * configure.tgt (arm*-*-linux*): Add config path.
433
434 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
435
436         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
437
438 2010-09-23  Tobias Burnus  <burnus@net-b.de>
439
440         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
441         Change Fortran datatype to LOGICAL.
442         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
443         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
444
445 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
446
447         * configure: Regenerate.
448
449 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
450
451         * libgomp.texi: Add function keyword to a couple of Fortran
452         interfaces, use integer instead of int for Fortran.
453
454 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
455
456         * libgomp.texi: Fix spelling and pasto problems throughout.
457         Adjust prototypes to match code.
458
459 2010-07-24  Tobias Burnus  <burnus@net-b.de>
460
461         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
462         silence -fwhole-file warning.
463
464 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
465
466         * configure.tgt (*-*-solaris2.[56]*): Removed.
467
468 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
469
470         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
471         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
472         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
473         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
474         targetting solaris2*.
475         * configure: Regenerate.
476         * config.h.in: Regenerate.
477
478         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
479         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
480         Add libgomp_version_dep.
481         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
482         versioning.
483         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
484         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
485         * Makefile.in: Regenerate.
486
487         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
488         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
489         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
490         to common block, protected by
491         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
492
493 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
494
495         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
496
497 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
498
499         PR bootstrap/43170
500         * configure: Regenerate.
501
502 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
503
504         PR other/43620
505         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
506         * configure: Regenerate.
507         * Makefile.in: Regenerate.
508         * testsuite/Makefile.in: Regenerate.
509
510 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
511
512         PR c/43893
513         * testsuite/libgomp.c/pr43893.c: New test.
514         * testsuite/libgomp.c++/pr43893.C: New test.
515
516 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
517
518         PR middle-end/43570
519         * testsuite/libgomp.fortran/vla8.f90: New test.
520
521 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
522
523         PR libgomp/43706
524         * config/linux/affinity.c (gomp_init_affinity): Decrease
525         gomp_available_cpus if affinity mask confines the process to fewer
526         CPUs.
527         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
528         non-NULL, just return gomp_available_cpus.
529
530         PR libgomp/43569
531         * sections.c (gomp_sections_init): Initialize ws->mode.
532
533 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
534
535         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
536         not unused bar variable.
537         * configure: Regenerate.
538
539 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
540
541         * Makefile.in: Regenerate.
542         * aclocal.m4: Regenerate.
543         * testsuite/Makefile.in: Regenerate.
544
545 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
546
547         PR libgomp/42942
548         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
549         (initialize_env): Adjust callers.
550         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
551         when the argument is 0.
552
553         * testsuite/libgomp.c/pr42942.c: New test.
554
555 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
556
557         PR middle-end/42644
558         PR middle-end/42130
559         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
560         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
561
562 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
563
564         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
565         * testsuite/libgomp.c++/task-6.C: Likewise.
566
567 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
568
569         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
570
571 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
572
573         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
574         * configure: Regenerate.
575
576 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
577
578         PR fortran/42866
579         * testsuite/libgomp.fortran/allocatable5.f90: New test.
580
581 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
582
583         * configure.ac: Test for executability of GFORTRAN.
584         * configure: Regenerate.
585
586 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
587
588         * configure: Regenerate.
589
590 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
591
592         PR libgomp/42602
593         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
594
595 2010-01-03  Richard Guenther  <rguenther@suse.de>
596
597         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
598
599 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
600
601         * testsuite/libgomp.graphite/pr4118.c: New.
602
603 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
604
605         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
606         for darwin, protect the test with require-effective-target tls_runtime.
607         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
608
609 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
610
611         PR target/41605
612         * testsuite/lib/libgomp.exp: Provide -B options to allow for
613         link spec %s substitutions for static libraries.
614
615 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
616
617         PR testsuite/42135
618         * libgomp.graphite/force-parallel-2.c: Reduce array size.
619
620 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
621
622         * Makefile.in: Regenerate.
623         * configure: Regenerate.
624         * testsuite/Makefile.in: Regenerate.
625
626 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
627
628         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
629         settings for LC_ALL and LANG.
630
631 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
632
633         PR fortran/42162
634         * testsuite/libgomp.fortran/pr42162.f90: New test.
635
636 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
637
638         PR middle-end/42029
639         * testsuite/libgomp.c/pr42029.c: New test.
640
641 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
642
643         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
644         *s.  Accept ld version without text in ()s.
645         * configure: Regenerated.
646
647 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
648
649         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
650
651 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
652
653         PR libgomp/41418
654         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
655         or a hyphen (happens with fortran language disabled).
656         * configure: Regenerate.
657
658 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
659
660         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
661         use sed script portable to Solaris /bin/sed for extracting ld
662         version.
663         * configure: Regenerate.
664
665 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
666
667         * testsuite/libgomp.graphite/bounds.c: New test.
668
669 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
670
671         * Makefile.am (libgomp_la_LINK): New.
672         * Makefile.in: Regenerate.
673
674 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
675
676         * configure.ac (AC_PREREQ): Bump to 2.64.
677
678 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
679
680         * Makefile.am (install-html, install-pdf): Remove.
681         * Makefile.in: Regenerate.
682
683         * Makefile.in: Regenerate.
684         * aclocal.m4: Regenerate.
685         * config.h.in: Regenerate.
686         * configure: Regenerate.
687         * testsuite/Makefile.in: Regenerate.
688
689 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
690
691         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
692         * Makefile.in: Regenerate.
693
694 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
695
696         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
697         * Makefile.in: Regenerate.
698
699 2009-08-19  Tobias Burnus  <burnus@net-b.de>
700
701         PR fortran/41102
702         omp_lib.h.in: Fix -std=f95 errors.
703
704
705 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
706
707         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
708         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
709         * testsuite/libgomp.graphite/graphite.exp: New.
710
711 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
712
713         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
714         only build.
715
716 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
717
718         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
719         needed memory barrier semantics.
720         * config/linux/mips/mutex.h: New file.
721
722 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
723
724         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
725
726 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
727
728         * configure: Regenerate.
729
730 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
731
732         PR testsuite/40699
733         PR testsuite/40707
734         PR testsuite/40709
735         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
736         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
737         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
738
739 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
740
741         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
742         options when choosing a multilib.
743
744 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
745
746         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
747         ld_library_path.  Use add_path.  Add just find_libgcc_s to
748         ld_library_path, not every libgcc multilib directory.
749         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
750         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
751         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
752         Use add_path.
753         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
754
755 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
756
757         * Makefile.am (LTLDFLAGS): Define.
758         (LINK): Define.
759         * Makefile.in: Regenerate.
760
761 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
762
763         PR fortran/39718
764         * testsuite/libgomp.fortran/fortran.exp: Don't link with
765         libgfortranbegin, check existence of libgfortran.a instead of
766         libgfortranbegin.a.
767
768 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
769
770         PR libgomp/40174
771         * team.c (gomp_thread_start): Destroy thr->release semaphore.
772         (gomp_free_pool_helper): Likewise.
773
774 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
775             Jakub Jelinek  <jakub@redhat.com>
776
777         PR fortran/35423
778         * testsuite/libgomp.fortran/workshare2.f90: New test.
779
780 2009-04-09  Nick Clifton  <nickc@redhat.com>
781
782         * iter.c: Change copyright header to refer to version 3 of the
783         GNU General Public License with version 3.1 of the GCC Runtime
784         Library Exception and to point readers at the COPYING3 and
785         COPYING3.RUNTIME files and the FSF's license web page.
786         * alloc.c: Likewise.
787         * barrier.c: Likewise.
788         * config/bsd/proc.c: Likewise.
789         * config/linux/affinity.c: Likewise.
790         * config/linux/alpha/futex.h: Likewise.
791         * config/linux/bar.c: Likewise.
792         * config/linux/bar.h: Likewise.
793         * config/linux/ia64/futex.h: Likewise.
794         * config/linux/ia64/mutex.h: Likewise.
795         * config/linux/lock.c: Likewise.
796         * config/linux/mips/futex.h: Likewise.
797         * config/linux/mutex.c: Likewise.
798         * config/linux/mutex.h: Likewise.
799         * config/linux/powerpc/futex.h: Likewise.
800         * config/linux/proc.c: Likewise.
801         * config/linux/ptrlock.c: Likewise.
802         * config/linux/ptrlock.h: Likewise.
803         * config/linux/s390/futex.h: Likewise.
804         * config/linux/sem.c: Likewise.
805         * config/linux/sem.h: Likewise.
806         * config/linux/sparc/futex.h: Likewise.
807         * config/linux/wait.h: Likewise.
808         * config/linux/x86/futex.h: Likewise.
809         * config/mingw32/proc.c: Likewise.
810         * config/mingw32/time.c: Likewise.
811         * config/posix/affinity.c: Likewise.
812         * config/posix/bar.c: Likewise.
813         * config/posix/bar.h: Likewise.
814         * config/posix/lock.c: Likewise.
815         * config/posix/mutex.h: Likewise.
816         * config/posix/proc.c: Likewise.
817         * config/posix/ptrlock.h: Likewise.
818         * config/posix/sem.c: Likewise.
819         * config/posix/sem.h: Likewise.
820         * config/posix/time.c: Likewise.
821         * config/posix95/lock.c: Likewise.
822         * critical.c: Likewise.
823         * env.c: Likewise.
824         * error.c: Likewise.
825         * fortran.c: Likewise.
826         * iter_ull.c: Likewise.
827         * libgomp.h: Likewise.
828         * libgomp_f.h.in: Likewise.
829         * libgomp_g.h: Likewise.
830         * loop.c: Likewise.
831         * loop_ull.c: Likewise.
832         * omp.h.in: Likewise.
833         * omp_lib.f90.in: Likewise.
834         * omp_lib.h.in: Likewise.
835         * ordered.c: Likewise.
836         * parallel.c: Likewise.
837         * sections.c: Likewise.
838         * single.c: Likewise.
839         * task.c: Likewise.
840         * team.c: Likewise.
841         * work.c: Likewise.
842
843 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
844
845         * testsuite/config/default.exp: Change copyright header to refer to
846         version 3 of the GNU General Public License and to point readers
847         at the COPYING3 file and the FSF's license web page.
848
849 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
850
851         PR middle-end/39573
852         * libgomp.c++/pr39573.C: New test.
853
854 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
855
856         PR other/39591
857         * testsuite/libgomp.c/pr39591-1.c: New test.
858         * testsuite/libgomp.c/pr39591-2.c: New test.
859         * testsuite/libgomp.c/pr39591-3.c: New test.
860
861 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
862
863         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
864         * testsuite/libgomp.c/atomic-6.c: Ditto.
865
866 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
867
868         PR c/39495
869         * testsuite/libgomp.c/loop-12.c: New test.
870         * testsuite/libgomp.c/loop-11.c: New test.
871         * testsuite/libgomp.c++/loop-11.C: New test.
872         * testsuite/libgomp.c++/loop-12.C: New test.
873         * testsuite/libgomp.c++/for-8.C: New test.
874
875 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
876
877         * configure: Regenerate.
878
879 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
880
881         PR middle-end/39154
882         * testsuite/libgomp.c/pr39154.c: New test.
883
884 2009-01-30  Ian Lance Taylor  <iant@google.com>
885
886         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
887         libgomp_ld_is_gold.  Get gold version number.
888         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
889         * configure: Rebuild.
890
891 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
892
893         * testsuite/lib/libgomp.exp: Add -B option for targets that
894         use libgfortran.a%s in their specs.
895
896 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
897
898         PR libgomp/38086
899         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
900         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
901         HAVE_AS_SYMVER_DIRECTIVE is not defined.
902         * configure: Regenerated.
903         * config.h.in: Likewise.
904
905 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
906
907         PR c++/38650
908         * testsuite/libgomp.c/pr38650.c: New test.
909         * testsuite/libgomp.c++/pr38650.C: New test.
910
911 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
912
913         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
914
915 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
916
917         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
918
919 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
920
921         * configure: Regenerate.
922
923 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
924
925         PR middle-end/36802
926         * testsuite/libgomp.c/pr36802-1.c: New test.
927         * testsuite/libgomp.c/pr36802-2.c: New test.
928         * testsuite/libgomp.c/pr36802-3.c: New test.
929
930 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
931
932         PR libgomp/38270
933         * config/linux/powerpc/mutex.h: New.
934
935 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
936
937         PR c++/38257
938         * testsuite/libgomp.c++/for-7.C: New test.
939
940         PR c++/38348
941         * testsuite/libgomp.c++/for-6.C: New test.
942
943 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
944
945         PR testsuite/28870
946         * testsuite/lib/libgomp.exp: Include new timeout library files.
947         (libgomp_target_compile): Set timeout value from new proc.
948
949 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
950
951         PR libgomp/37938
952         * config/linux/ia64/mutex.h: New.
953
954 2008-11-04  Tobias Burnus  <burnus@net-b.de>
955
956         PR libgomp/37935
957         * libgomp.texi (Runtime library routines, environment variables):
958         Update for OpenMP version 3.0.
959
960 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
961             Steve Ellcey  <sje@cup.hp.com>
962
963         * configure: Regenerate for new libtool.
964         * Makefile.in: Ditto.
965         * testsuite/Makefile.in: Ditto.
966
967 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
968             Andreas Tobler  <a.tobler@schweiz.org>
969
970         * config/bsd/proc.c: New file.
971         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
972         * configure.ac: Check for header <sys/sysctl.h>
973         * configure: Regenerate.
974         * config.h.in: Likewise.
975
976 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
977
978         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
979
980 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
981
982         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
983         * Makefile.in: Regenerated.
984         * testsuite/Makefile.in: Regenerated.
985
986 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
987
988         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
989         depend on blddir if blddir exists.
990         (libgomp_target_compile): Likewise.
991         * testsuite/libgomp.c++/c++.exp: Likewise.
992         * testsuite/libgomp.fortran/fortran.exp: Likewise.
993
994 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
995
996         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
997         Do not list GPL as Invariant Section.
998
999 2008-07-28  Ilie Garbacea  <ilie@mips.com>
1000             Chao-ying Fu  <fu@mips.com>
1001
1002         * configure.tgt: Enable futex for MIPS.
1003         * config/linux/mips/futex.h: New file.
1004
1005 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
1006
1007         * team.c (gomp_team_end): Free team immediately if it has
1008         just one thread.
1009
1010 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
1011
1012         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
1013         * testsuite/libgomp.fortran/fortran.exp: Same.
1014         * testsuite/libgomp.c/c.exp: Same.
1015         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
1016         directory to library path first.
1017
1018 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
1019
1020         * env.c (parse_stacksize): Add cast to avoid warning.
1021         (parse_spincount): Likewise.
1022
1023 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
1024
1025         * testsuite/libgomp.c/loop-10.c: New test.
1026         * libgomp.c/loop-3.c (main): Add lastprivate clause.
1027         * libgomp.c++/loop-6.C (main): Likewise.
1028
1029         PR debug/36617
1030         * testsuite/libgomp.c/debug-1.c: New test.
1031
1032 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
1033
1034         * testsuite/libgomp.c/nqueens-1.c: New test.
1035
1036         PR c++/36523
1037         * testsuite/libgomp.c++/task-7.C: New function.
1038
1039 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1040
1041         * configure: Regenerate.
1042
1043 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1044
1045         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
1046         mutex when HAVE_SYNC_BUILTINS isn't defined.
1047
1048 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1049
1050         * libgomp.texi (omp_test_lock): Fix typo.
1051
1052 2008-06-12  Tobias Burnus  <burnus@net-b.de>
1053
1054         * omp_lib.f90.in: Add "implicit none".
1055
1056 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
1057
1058         PR middle-end/36506
1059         * testsuite/libgomp.c/reduction-5.c: New test.
1060
1061 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
1062
1063         * libgomp.h (struct gomp_task): Add in_tied_task field.
1064         * task.c (gomp_init_task): Initialize it.
1065         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
1066         unconditionally.  Don't call gomp_team_barrier_wake if
1067         current task is implicit or if(0) from implicit and number of
1068         running tasks is equal to nthreads - 1.
1069
1070         PR libgomp/36471
1071         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
1072         omp_get_team_size_8): Fix pastos.
1073
1074         PR libgomp/36469
1075         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
1076         * configure: Regenerated.
1077         * config.h.in: Regenerated.
1078         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
1079         defined.
1080
1081 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
1082
1083         PR bootstrap/36452
1084         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
1085         (GOMP_loop_ull_dynamic_start): Likewise.
1086         (GOMP_loop_ull_guided_start): Likewise.
1087         (GOMP_loop_ull_ordered_static_start): Likewise.
1088         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
1089         (GOMP_loop_ull_ordered_guided_start): Likewise.
1090
1091 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
1092             Richard Henderson  <rth@redhat.com>
1093             Ulrich Drepper  <drepper@redhat.com>
1094             Jakob Blomer  <jakob.blomer@ira.uka.de>
1095
1096         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
1097         Substitute also OMP_*LOCK_25*.
1098         * configure: Regenerated.
1099         * config.h.in: Regenerated.
1100         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
1101         ptrlock.c and task.c.
1102         * Makefile.in: Regenerated.
1103         * testsuite/Makefile.in: Regenerated.
1104         * task.c: New file.
1105         * loop_ull.c: New file.
1106         * iter_ull.c: New file.
1107         * libgomp.h: Include ptrlock.h.
1108         (enum gomp_task_kind): New type.
1109         (struct gomp_team): Add task_lock, task_queue, task_count,
1110         task_running_count, single_count fields.  Add
1111         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
1112         Remove work_share_lock, generation_mask,
1113         oldest_live_gen, num_live_gen and init_work_shares fields, add
1114         work work_share_list_alloc, work_share_list_free and work_share_chunk
1115         fields.  Change work_shares from pointer to pointers into an array.
1116         Change ordered_release field into gomp_sem_t ** from flexible array
1117         member.  Add implicit_task and initial_work_shares fields.
1118         Move close to the end of the struct.
1119         (struct gomp_team_state): Add single_count, last_work_share,
1120         active_level and level fields, remove work_share_generation.
1121         (gomp_barrier_handle_tasks): New prototype.
1122         (gomp_finish_task): New inline function.
1123         (struct gomp_work_share): Move chunk_size, end, incr into
1124         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
1125         next_ll fields.  Reshuffle fields.  Add next_alloc,
1126         next_ws, next_free and inline_ordered_team_ids fields, change
1127         ordered_team_ids into pointer from flexible array member.
1128         Add mode field.  Put lock and next into a different cache line
1129         from most of the write-once fields.
1130         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
1131         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
1132         gomp_iter_ull_guided_next): New prototypes.
1133         (gomp_new_icv): New prototype.
1134         (struct gomp_thread): Add thread_pool and task fields.
1135         (struct gomp_thread_pool): New type.
1136         (gomp_new_team): New prototype.
1137         (gomp_team_start): Change type of last argument.
1138         (gomp_new_work_share): Removed.
1139         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
1140         (gomp_work_share_init_done): New static inline.
1141         (gomp_throttled_spin_count_var, gomp_available_cpus,
1142         gomp_managed_threads): New extern decls.
1143         (gomp_init_task): New prototype.
1144         (gomp_spin_count_var): New extern var decl.
1145         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
1146         or no alias support, or if not PIC.
1147         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
1148         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
1149         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
1150         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
1151         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
1152         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
1153         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
1154         gomp_test_nest_lock_25): New prototypes.
1155         (omp_lock_symver, strong_alias): Define.
1156         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
1157         decls.
1158         (gomp_end_task): New.
1159         (struct gomp_task_icv, gomp_global_icv): New.
1160         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
1161         (struct gomp_task): New.
1162         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
1163         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
1164         (gomp_icv): New.
1165         (gomp_schedule_type): Reorder enum to match
1166         omp_sched_t.
1167         * team.c (struct gomp_thread_start_data): Add thread_pool and task
1168         fields.
1169         (gomp_thread_start): Add gomp_team_barrier_wait call.
1170         For non-nested case remove clearing of docked thread thr fields.
1171         Use pool fields instead of global gomp_* variables.  Use
1172         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
1173         Create tasks for each member thread.
1174         (free_team): Only destroy team barrier, task_lock here and free it.
1175         (gomp_free_thread): Free last_team if non-NULL.
1176         (gomp_team_end): Call gomp_team_barrier_wait instead of
1177         gomp_barrier_wait.  For nested case call one extra
1178         gomp_barrier_wait.  Move here some destruction from free_team.
1179         Call free_team on pool->last_team if any, rather than freeing
1180         current team.  Destroy work_share_list_free_lock ifndef
1181         HAVE_SYNC_BUILTINS.
1182         (gomp_new_icv): New function.
1183         (gomp_threads, gomp_threads_size, gomp_threads_used,
1184         gomp_threads_dock): Removed.
1185         (gomp_thread_destructor): New variable.
1186         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
1187         functions.
1188         (gomp_team_start): Create new pool if current thread doesn't have
1189         one.  Use pool fields instead of global gomp_* variables.
1190         Initialize thread_pool field for new threads.  Clear single_count.
1191         Change last argument from ws to team, don't create
1192         new team, set ts.work_share to &team->work_shares[0] and clear
1193         ts.last_work_share.  Don't clear ts.work_share_generation.
1194         If number of threads changed, adjust atomically gomp_managed_threads.
1195         Use gomp_init_task instead of gomp_new_task,
1196         set thr->task to the corresponding implicit_task array entry.
1197         Create tasks for each member thread.  Initialize ts.level.
1198         (initialize_team): Call pthread_key_create on
1199         gomp_thread_destructor.
1200         (team_destructor): New function.
1201         (new_team): Removed.
1202         (gomp_new_team): New function.
1203         (free_team): Free gomp_work_share blocks chained through next_alloc,
1204         instead of freeing work_shares and destroying work_share_lock.
1205         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
1206         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
1207         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
1208         of gomp_barrier_wait.
1209         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
1210         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
1211         if gomp_work_share_start returned true.  Don't unlock ws->lock.
1212         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
1213         of gomp_barrier_wait.
1214         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
1215         gomp_work_share_init_done if gomp_work_share_start returned true.
1216         Don't unlock ws->lock.
1217         * work.c: Include stddef.h.
1218         (free_work_share): Use work_share_list_free_lock instead
1219         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
1220         Call gomp_fini_work_share and then either free ws if orphaned, or
1221         put it into work_share_list_free list of the current team.
1222         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
1223         functions.
1224         (gomp_work_share_start, gomp_work_share_end,
1225         gomp_work_share_end_nowait): Rewritten.
1226         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
1227         (openmp_version): Set to 200805.
1228         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
1229         omp_sched_guided, omp_sched_auto): New parameters.
1230         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1231         omp_set_max_active_levels, omp_get_max_active_levels,
1232         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
1233         omp_get_active_level): New interfaces.
1234         * omp_lib.h.in (openmp_version): Set to 200805.
1235         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
1236         omp_sched_guided, omp_sched_auto): New parameters.
1237         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1238         omp_set_max_active_levels, omp_get_max_active_levels,
1239         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
1240         omp_get_active_level): New externals.
1241         * loop.c: Include limits.h.
1242         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
1243         GFS_AUTO.
1244         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
1245         Likewise.  Use gomp_icv.
1246         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
1247         ts.static_trip here.
1248         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
1249         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
1250         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
1251         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
1252         don't unlock ws->lock, otherwise lock it.
1253         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
1254         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
1255         (gomp_parallel_loop_start): Call gomp_new_team instead of
1256         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
1257         Adjust gomp_team_start caller.  Pass 0 as second argument to
1258         gomp_resolve_num_threads.
1259         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
1260         If adding ws->chunk_size nthreads + 1 times after end won't
1261         overflow, set ws->mode to 1.
1262         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
1263         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
1264         GOMP_loop_ull_ordered_static_start,
1265         GOMP_loop_ull_ordered_dynamic_start,
1266         GOMP_loop_ull_ordered_guided_start,
1267         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
1268         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
1269         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
1270         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
1271         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
1272         prototypes.
1273         * libgomp.map: Export lock routines also @@OMP_2.0.
1274         (GOMP_loop_ordered_dynamic_first,
1275         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
1276         GOMP_loop_ordered_static_first): Remove.
1277         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
1278         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
1279         GOMP_loop_ull_ordered_dynamic_next,
1280         GOMP_loop_ull_ordered_dynamic_start,
1281         GOMP_loop_ull_ordered_guided_next,
1282         GOMP_loop_ull_ordered_guided_start,
1283         GOMP_loop_ull_ordered_runtime_next,
1284         GOMP_loop_ull_ordered_runtime_start,
1285         GOMP_loop_ull_ordered_static_next,
1286         GOMP_loop_ull_ordered_static_start,
1287         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
1288         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
1289         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
1290         (omp_set_schedule, omp_get_schedule,
1291         omp_get_thread_limit, omp_set_max_active_levels,
1292         omp_get_max_active_levels, omp_get_level,
1293         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
1294         omp_set_schedule_, omp_set_schedule_8_,
1295         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
1296         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
1297         omp_get_max_active_levels_, omp_get_level_,
1298         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
1299         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
1300         New exports @@OMP_3.0.
1301         * omp.h.in (omp_sched_t): New type.
1302         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1303         omp_set_max_active_levels, omp_get_max_active_levels,
1304         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
1305         omp_get_active_level): New prototypes.
1306         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
1307         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
1308         gomp_thread_limit_var, gomp_remaining_threads_count,
1309         gomp_remaining_threads_lock): New variables.
1310         (parse_spincount): New function.
1311         (initialize_env): Call gomp_init_num_threads unconditionally.
1312         Initialize gomp_available_cpus.  Call parse_spincount,
1313         initialize gomp_{,throttled_}spin_count_var
1314         depending on presence and value of OMP_WAIT_POLICY and
1315         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
1316         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
1317         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
1318         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
1319         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
1320         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
1321         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
1322         (gomp_global_icv): New.
1323         (parse_schedule): Use it.  Parse "auto".
1324         (omp_set_num_threads): Use gomp_icv.
1325         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
1326         Likewise.
1327         (omp_get_max_threads): Move from parallel.c.
1328         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1329         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
1330         add ialias.
1331         (parse_stacksize, parse_wait_policy): New functions.
1332         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
1333         both wrappers for compatibility and new locks.
1334         (omp_set_schedule, omp_get_schedule,
1335         omp_get_thread_limit, omp_set_max_active_levels,
1336         omp_get_max_active_levels, omp_get_level,
1337         omp_get_ancestor_thread_num, omp_get_team_size,
1338         omp_get_active_level): New ialias_redirect.
1339         (omp_set_schedule_, omp_set_schedule_8_,
1340         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
1341         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
1342         omp_get_max_active_levels_, omp_get_level_,
1343         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
1344         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
1345         New functions.
1346         * parallel.c: Include limits.h.
1347         (gomp_resolve_num_threads): Add count argument.  Rewritten.
1348         (GOMP_parallel_start): Call gomp_new_team and pass that as last
1349         argument to gomp_team_start.  Pass 0 as second argument to
1350         gomp_resolve_num_threads.
1351         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
1352         if gomp_thread_limit_var != ULONG_MAX.
1353         (omp_in_parallel): Implement using ts.active_level.
1354         (omp_get_max_threads): Move to env.c.
1355         (omp_get_level, omp_get_ancestor_thread_num,
1356         omp_get_team_size, omp_get_active_level): New functions,
1357         add ialias.
1358         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
1359         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
1360         gomp_iter_dynamic_next instead of the _locked variant and don't take
1361         lock around it, otherwise acquire it before calling
1362         gomp_iter_dynamic_next_locked.
1363         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
1364         gomp_iter_dynamic_next instead of the _locked variant and don't take
1365         lock around it.
1366         (GOMP_parallel_sections_start): Call gomp_new_team instead of
1367         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
1368         Adjust gomp_team_start caller.  Pass count as second argument to
1369         gomp_resolve_num_threads, don't adjust num_threads after the call.
1370         Use gomp_icv.
1371         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
1372         ws->chunk_size by incr.
1373         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
1374         code.
1375         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
1376         types.
1377         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
1378         (omp_check_defines): Check even the compat defines.
1379         * config/linux/ptrlock.c: New file.
1380         * config/linux/ptrlock.h: New file.
1381         * config/linux/wait.h: New file.
1382         * config/posix/ptrlock.c: New file.
1383         * config/posix/ptrlock.h: New file.
1384         * config/linux/bar.h (gomp_team_barrier_wait,
1385         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
1386         (gomp_team_barrier_set_task_pending,
1387         gomp_team_barrier_clear_task_pending,
1388         gomp_team_barrier_set_waiting_for_tasks,
1389         gomp_team_barrier_waiting_for_tasks,
1390         gomp_team_barrier_done): New inlines.
1391         (gomp_barrier_t): Rewritten.
1392         (gomp_barrier_state_t): New typedef.
1393         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
1394         gomp_barrier_wait_start): Rewritten.
1395         (gomp_barrier_wait_end): Change second argument to
1396         gomp_barrier_state_t.
1397         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
1398         inlines.
1399         * config/linux/bar.c: Include wait.h instead of libgomp.h and
1400         futex.h.
1401         (gomp_barrier_wait_end): Rewritten.
1402         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
1403         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
1404         * config/posix/bar.h (gomp_barrier_t): Add generation field.
1405         (gomp_barrier_state_t): New typedef.
1406         (gomp_team_barrier_wait,
1407         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
1408         (gomp_barrier_wait_start): Or all but low 2 bits from generation
1409         into the return value.  Return gomp_barrier_state_t.
1410         (gomp_team_barrier_set_task_pending,
1411         gomp_team_barrier_clear_task_pending,
1412         gomp_team_barrier_set_waiting_for_tasks,
1413         gomp_team_barrier_waiting_for_tasks,
1414         gomp_team_barrier_done): New inlines.
1415         (gomp_barrier_wait_end): Change second argument to
1416         gomp_barrier_state_t.
1417         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
1418         inlines.
1419         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
1420         (gomp_barrier_wait_end): Change second argument to
1421         gomp_barrier_state_t.
1422         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
1423         gomp_team_barrier_wake): New functions.
1424         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
1425         futex.h.
1426         (gomp_futex_wake, gomp_futex_wait): New variables.
1427         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
1428         * config/linux/lock.c: Rewrite to make locks task owned,
1429         for backwards compatibility provide the old entrypoints
1430         if symbol versioning.  Include wait.h instead of libgomp.h and
1431         futex.h.
1432         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
1433         * config/posix95/lock.c: Rewrite to make locks task owned,
1434         for backwards compatibility provide the old entrypoints
1435         if symbol versioning.
1436         * config/posix/lock.c: Rewrite to make locks task owned,
1437         for backwards compatibility provide the old entrypoints
1438         if symbol versioning.
1439         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
1440         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
1441         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
1442         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1443         (sys_futex0): Return error code.
1444         (futex_wake, futex_wait): If ENOSYS was returned, clear
1445         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1446         (cpu_relax, atomic_write_barrier): New static inlines.
1447         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1448         (futex_wake, futex_wait): If ENOSYS was returned, clear
1449         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1450         (cpu_relax, atomic_write_barrier): New static inlines.
1451         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1452         (sys_futex0): Return error code.
1453         (futex_wake, futex_wait): If ENOSYS was returned, clear
1454         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1455         (cpu_relax, atomic_write_barrier): New static inlines.
1456         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1457         (sys_futex0): Return error code.
1458         (futex_wake, futex_wait): If ENOSYS was returned, clear
1459         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1460         (cpu_relax, atomic_write_barrier): New static inlines.
1461         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1462         (sys_futex0): Return error code.
1463         (futex_wake, futex_wait): If ENOSYS was returned, clear
1464         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1465         (cpu_relax, atomic_write_barrier): New static inlines.
1466         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1467         (sys_futex0): Return error code.
1468         (futex_wake, futex_wait): If ENOSYS was returned, clear
1469         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1470         (cpu_relax, atomic_write_barrier): New static inlines.
1471         * config/linux/sem.c: Include wait.h instead of libgomp.h and
1472         futex.h.
1473         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
1474         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
1475         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
1476         types.
1477         (omp_nest_lock_t): Change owner into void *, add lock field.
1478         * config/posix95/omp-lock.h: Include semaphore.h.
1479         (omp_lock_25_t, omp_nest_lock_25_t): New types.
1480         (omp_lock_t): Use sem_t instead of mutex if semaphores
1481         aren't broken.
1482         (omp_nest_lock_t): Likewise.  Change owner to void *.
1483         * config/posix/omp-lock.h: Include semaphore.h.
1484         (omp_lock_25_t, omp_nest_lock_25_t): New types.
1485         (omp_lock_t): Use sem_t instead of mutex if semaphores
1486         aren't broken.
1487         (omp_nest_lock_t): Likewise.  Add owner field.
1488
1489 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
1490
1491         * testsuite/libgomp.c/collapse-1.c: New test.
1492         * testsuite/libgomp.c/collapse-2.c: New test.
1493         * testsuite/libgomp.c/collapse-3.c: New test.
1494         * testsuite/libgomp.c/icv-1.c: New test.
1495         * testsuite/libgomp.c/icv-2.c: New test.
1496         * testsuite/libgomp.c/lib-2.c: New test.
1497         * testsuite/libgomp.c/lock-1.c: New test.
1498         * testsuite/libgomp.c/lock-2.c: New test.
1499         * testsuite/libgomp.c/lock-3.c: New test.
1500         * testsuite/libgomp.c/loop-4.c: New test.
1501         * testsuite/libgomp.c/loop-5.c: New test.
1502         * testsuite/libgomp.c/loop-6.c: New test.
1503         * testsuite/libgomp.c/loop-7.c: New test.
1504         * testsuite/libgomp.c/loop-8.c: New test.
1505         * testsuite/libgomp.c/loop-9.c: New test.
1506         * testsuite/libgomp.c/nested-3.c: New test.
1507         * testsuite/libgomp.c/nestedfn-6.c: New test.
1508         * testsuite/libgomp.c/sort-1.c: New test.
1509         * testsuite/libgomp.c/task-1.c: New test.
1510         * testsuite/libgomp.c/task-2.c: New test.
1511         * testsuite/libgomp.c/task-3.c: New test.
1512         * testsuite/libgomp.c/task-4.c: New test.
1513         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
1514         to C++ testsuite default compiler options.
1515         * testsuite/libgomp.c++/collapse-1.C: New test.
1516         * testsuite/libgomp.c++/collapse-2.C: New test.
1517         * testsuite/libgomp.c++/ctor-10.C: New test.
1518         * testsuite/libgomp.c++/for-1.C: New test.
1519         * testsuite/libgomp.c++/for-2.C: New test.
1520         * testsuite/libgomp.c++/for-3.C: New test.
1521         * testsuite/libgomp.c++/for-4.C: New test.
1522         * testsuite/libgomp.c++/for-5.C: New test.
1523         * testsuite/libgomp.c++/loop-8.C: New test.
1524         * testsuite/libgomp.c++/loop-9.C: New test.
1525         * testsuite/libgomp.c++/loop-10.C: New test.
1526         * testsuite/libgomp.c++/task-1.C: New test.
1527         * testsuite/libgomp.c++/task-2.C: New test.
1528         * testsuite/libgomp.c++/task-3.C: New test.
1529         * testsuite/libgomp.c++/task-4.C: New test.
1530         * testsuite/libgomp.c++/task-5.C: New test.
1531         * testsuite/libgomp.c++/task-6.C: New test.
1532         * testsuite/libgomp.fortran/allocatable1.f90: New test.
1533         * testsuite/libgomp.fortran/allocatable2.f90: New test.
1534         * testsuite/libgomp.fortran/allocatable3.f90: New test.
1535         * testsuite/libgomp.fortran/allocatable4.f90: New test.
1536         * testsuite/libgomp.fortran/collapse1.f90: New test.
1537         * testsuite/libgomp.fortran/collapse2.f90: New test.
1538         * testsuite/libgomp.fortran/collapse3.f90: New test.
1539         * testsuite/libgomp.fortran/collapse4.f90: New test.
1540         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
1541         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
1542         * testsuite/libgomp.fortran/lib4.f90: New test.
1543         * testsuite/libgomp.fortran/lock-1.f90: New test.
1544         * testsuite/libgomp.fortran/lock-2.f90: New test.
1545         * testsuite/libgomp.fortran/nested1.f90: New test.
1546         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
1547         * testsuite/libgomp.fortran/strassen.f90: New test.
1548         * testsuite/libgomp.fortran/tabs1.f90: New test.
1549         * testsuite/libgomp.fortran/tabs2.f: New test.
1550         * testsuite/libgomp.fortran/task1.f90: New test.
1551         * testsuite/libgomp.fortran/task2.f90: New test.
1552         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
1553         * testsuite/libgomp.fortran/vla5.f90: Likewise.
1554         * testsuite/libgomp.c/pr26943-2.c: Likewise.
1555         * testsuite/libgomp.c/pr26943-3.c: Likewise.
1556         * testsuite/libgomp.c/pr26943-4.c: Likewise.
1557
1558 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
1559
1560         PR c++/36308
1561         * testsuite/libgomp.c++/ctor-11.C: New test.
1562         * testsuite/libgomp.c++/ctor-12.C: New test.
1563
1564 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
1565
1566         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
1567
1568 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
1569
1570         PR middle-end/36106
1571         * testsuite/libgomp.c/atomic-5.c: New test.
1572         * testsuite/libgomp.c/atomic-6.c: New test.
1573         * testsuite/libgomp.c/autopar-1.c: New test.
1574
1575 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1576
1577         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
1578         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
1579         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
1580         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
1581         * configure: Regenerate.
1582         * Makefile.in, testsuite/Makefile.in: Likewise.
1583
1584 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
1585
1586         PR bootstrap/35457
1587         * aclocal.m4: Regenerate.
1588         * configure: Regenerate.
1589
1590 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
1591
1592         PR middle-end/35611
1593         * testsuite/libgomp.c/atomic-4.c: New test.
1594
1595         PR libgomp/35625
1596         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
1597         (gomp_iter_guided_next): Likewise.
1598         * testsuite/libgomp.c/pr35625.c: New test.
1599
1600 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1601
1602         * aclocal.m4: Regenerate.
1603         * configure: Likewise.
1604         * Makefile.in: Likewise.
1605         * testsuite/Makefile.in: Likewise.
1606
1607 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
1608
1609         PR middle-end/35185
1610         * testsuite/libgomp.c++/pr35185.C: New test.
1611
1612 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
1613
1614         PR middle-end/35549
1615         * testsuite/libgomp.c/pr35549.c: New test.
1616
1617 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
1618
1619         * testsuite/libgomp.c/atomic-3.c: New test.
1620
1621 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1622
1623         PR fortran/33197
1624         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
1625         .F08 file suffixes.
1626
1627 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
1628
1629         PR libgomp/33131
1630         * configure.ac: Add ACX_HEADER_STRING.
1631         * env.c: Include strings.h.
1632         * aclocal.m4: Regenerate.
1633         * config.h.in: Regenerate.
1634         * configure: Regenerate.
1635         * Makefile.in: Regenerate.
1636         * testsuite/Makefile.in: Regenerate.
1637
1638 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
1639
1640         PR middle-end/35196
1641         * testsuite/libgomp.c/pr35196.c: New test.
1642
1643         PR middle-end/35130
1644         * testsuite/libgomp.fortran/pr35130.f90: New test.
1645         * testsuite/libgomp.c/pr35130.c: New test.
1646
1647 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
1648
1649         PR middle-end/33880
1650         * testsuite/libgomp.c/pr33880.c: New test.
1651         * testsuite/libgomp.fortran/pr33880.f90: New test.
1652
1653 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
1654
1655         * configure: Regenerate.
1656
1657 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
1658
1659         * configure.ac: Move futex checking into ../config/futex.m4.
1660         * configure: Rebuilt.
1661         * aclocal.m4: Rebuilt.
1662         * Makefile.in: Rebuilt.
1663
1664         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
1665         2007-10-15 ../config/tls.m4 change.
1666
1667 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
1668
1669         PR c++/34513
1670         * testsuite/libgomp.c/pr34513.c: New test.
1671         * testsuite/libgomp.c++/pr34513.C: New test.
1672
1673 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
1674
1675         PR target/32765
1676         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
1677
1678 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
1679
1680         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
1681
1682 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
1683
1684         * testsuite/libgomp.c/private-1.c: New test.
1685
1686 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
1687             Paolo Bonzini  <bonzini@gnu.org>
1688
1689         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
1690         instead of 'VPATH ='.
1691         * Makefile.in: Regenerate.
1692
1693 2007-11-23  Matthias Klose  <doko@ubuntu.com>
1694
1695         * configure.ac: Adjust makeinfo version check.
1696         * configure: Regenerate.
1697
1698 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
1699
1700         PR fortran/34020
1701         * testsuite/libgomp.fortran/pr34020.f90: New test.
1702
1703 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
1704
1705         PR c++/33894
1706         * testsuite/libgomp.c++/atomic-1.C: New test.
1707
1708 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
1709
1710         PR libgomp/33275
1711         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
1712         Make x and y integers rather than (implicit) reals.  Add private (j)
1713         clause to the last omp parallel.
1714
1715 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
1716
1717         * configure: Regenerate following changes to ../config/tls.m4.
1718
1719 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
1720
1721         * testsuite/libgomp.fortran/stack.f90: New test.
1722
1723 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
1724
1725         * config/mingw32/proc.c: New file.
1726
1727 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
1728
1729         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
1730         (main): Use __get_cpuid to get i386 target fetaures.
1731         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
1732         (main): Use __get_cpuid to get x86_64 target fetaures.
1733
1734 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
1735
1736         PR target/32765
1737         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
1738         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
1739
1740 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
1741
1742         PR fortran/32550
1743         * testsuite/libgomp.fortran/pr32550.f90: New test.
1744         * testsuite/libgomp.fortran/crayptr2.f90: New test.
1745
1746 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
1747
1748         * aclocal.m4: Regenerated.
1749
1750 2007-07-05  Tobias Burnus  <burnus@net-b.de>
1751
1752         PR fortran/32359
1753         * testsuite/libgomp.fortran/pr32359.f90: New.
1754
1755 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
1756
1757         PR libgomp/32468
1758         * sections.c (GOMP_parallel_sections_start): Only decrease
1759         number of threads to COUNT if dyn_var is true.
1760         * testsuite/libgomp.c/pr32468.c: New test.
1761
1762 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1763
1764         PR libgomp/26308
1765         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
1766
1767 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
1768
1769         PR middle-end/32362
1770         * testsuite/libgomp.c/pr32362-1.c: New test.
1771         * testsuite/libgomp.c/pr32362-2.c: New test.
1772         * testsuite/libgomp.c/pr32362-3.c: New test.
1773
1774 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
1775
1776         * team.c (gomp_team_start): Fix setting up thread_attr
1777         stack size.
1778
1779 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
1780
1781         * configure: Regenerate.
1782
1783 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
1784
1785         * Makefile.in: Regenerate.
1786         * configure: Regenerate.
1787         * aclocal.m4: Regenerate.
1788         * testsuite/Makefile.in: Regenerate.
1789
1790 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
1791
1792         * config/linux/proc.c: New file.
1793
1794         PR libgomp/28482
1795         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
1796
1797 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
1798
1799         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
1800
1801 2007-04-16  Matthias Klose  <doko@debian.org>
1802
1803         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
1804         flags if not building with -m64.
1805         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
1806         flag for i?86-*-* targets, if current target matches -m64.
1807
1808 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
1809
1810         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
1811         * Makefile.in: Regenerate.
1812
1813 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1814
1815         PR testsuite/31369
1816         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
1817         ld_library_path.
1818         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1819
1820 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
1821
1822         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
1823         decls.
1824         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
1825         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
1826         (parse_affinity): New function.
1827         (initialize_env): Call it and gomp_init_affinity.
1828         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
1829         create new pthread_attr_t and call gomp_init_thread_affinity
1830         on it for each thread before passing the attribute to pthread_create.
1831         * config/linux/affinity.c: New file.
1832         * config/posix/affinity.c: New file.
1833         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
1834         * configure: Rebuilt.
1835         * config.h.in: Rebuilt.
1836         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
1837         * Makefile.in: Rebuilt.
1838
1839 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
1840
1841         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
1842         *-*-darwin*.
1843         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
1844         and use it if found.
1845
1846 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
1847
1848         * testsuite/config/default.exp: New file.
1849         * testsuite/lib/libgomp.exp: New file.
1850         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
1851         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
1852         load_lib *, load_gcc_lib *): Move to libgomp.exp.
1853         (libgomp_load): Remove.
1854         * testsuite/lib/libgomp.exp (libgomp_init): Compute
1855         always_ld_library_path, not ld_library_path.  Set additional_flags
1856         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
1857         (target_compile): Do not call libgomp_init.  Append lang_library_path
1858         and lang_link_flags to options.
1859         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
1860         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
1861         here.
1862         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
1863         always_ld_library_path.  Set LD_LIBRARY_PATH here.
1864         * testsuite/libgomp.fortran/fortran.exp: Ditto.
1865         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
1866         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
1867         CX8 flag.
1868         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
1869         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
1870         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
1871         * testsuite/libgomp.c/pr29947-1.c: Ditto.
1872         * testsuite/libgomp.c/atomic-10.c: Ditto.
1873
1874 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
1875
1876         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
1877         dg-final cleanup-modules line.
1878         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
1879         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
1880         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
1881         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1882         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1883         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1884         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1885
1886 2007-03-18  Andreas Schwab  <schwab@suse.de>
1887
1888         * acinclude.m4: Adjust regular expression for ld version
1889         extraction.
1890         * configure: Regenerate.
1891
1892 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
1893
1894         * Makefile.am: Add install-pdf target as copied from
1895         automake v1.10 rules.
1896         * Makefile.in: Regenerate
1897
1898 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
1899
1900         PR libgomp/28486
1901         * configure: Regenerate.
1902
1903         PR c++/30703
1904         * testsuite/libgomp.c++/pr30703.C: New test.
1905
1906 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
1907
1908         Revert:
1909         2006-07-05  Eric Christopher  <echristo@apple.com>
1910         * configure.ac: Depend addition of -pthread on host OS.
1911         * configure: Regenerate.
1912
1913 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1914
1915         * libgomp.texi: Fix spacing after abbreviations.
1916
1917 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
1918
1919         PR libgomp/30546
1920         * configure.ac: Add check for makeinfo
1921         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
1922         if an appropiate version of makeinfo is found.
1923         * aclocal.m4: Regenerated.
1924         * configure: Regenerated.
1925         * Makefile.in: Regenerated.
1926         * testsuite/Makefile.in: Regenerated.
1927
1928 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
1929
1930         PR libgomp/30540
1931         * libgomp.texi: More about implementation-dependent settings.
1932
1933 2007-01-26  Tobias Burnus  <burnus@net-b.de>
1934
1935         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
1936
1937 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
1938
1939         PR middle-end/30494
1940         * testsuite/libgomp.c/pr30494.c: New test.
1941
1942 2007-01-15  Tom Tromey  <tromey@redhat.com>
1943
1944         * configure: Rebuilt.
1945         * configure.ac: Fixed comment.
1946
1947 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
1948
1949         * libgomp.texi: Document implementation specific default values of
1950         environment variables.
1951
1952 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
1953
1954         PR libgomp/28209
1955         * libgomp.texi: New file.
1956         * configure.ac: Add --enable-generated-files-in-srcdir option.
1957         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
1958         files to srcdir.
1959         * Makefile.in: Regenerated.
1960         * config.h.in: Regenerated.
1961         * testsuite/Makefile.in: Regenerated.
1962         * NOTES: Removed.
1963
1964 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
1965
1966         PR libgomp/29949
1967         * env.c (omp_set_num_threads): Set illegal thread count to 1.
1968
1969 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1970
1971         * configure: Regenerate.
1972
1973 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
1974
1975         PR libgomp/29947
1976         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
1977         start if there shouldn't be any loop iterations.
1978         (gomp_loop_ordered_static_start): Remove start == end test.
1979         * testsuite/libgomp.c/pr29947-1.c: New test.
1980         * testsuite/libgomp.c/pr29947-2.c: New test.
1981
1982 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1983
1984         * configure.tgt: Force initial-exec TLS model on Linux only.
1985
1986 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
1987
1988         * configure: Regenerated.
1989
1990 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
1991
1992         * env.c (parse_schedule): Reject out of range values.
1993         (parse_unsigned_long): Reject out of range, negative or zero values.
1994
1995 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
1996
1997         PR fortran/29629
1998         * testsuite/libgomp.fortran/pr29629.f90: New test.
1999
2000 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
2001
2002         PR libgomp/29494
2003         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
2004         * config/posix95: New directory.
2005         * config/posix95/omp-lock.h: New file.
2006         * config/posix95/lock.c: Likewise.
2007
2008 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
2009
2010         * aclocal.m4: Regenerate.
2011         * configure: Regenerate.
2012
2013 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
2014
2015         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
2016         '<' to '<='.
2017
2018 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
2019
2020         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
2021         test.
2022         * configure: Regenerate.
2023         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
2024
2025 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
2026
2027         PR middle-end/25261
2028         PR middle-end/28790
2029         * testsuite/libgomp.c/nestedfn-4.c: New test.
2030         * testsuite/libgomp.c/nestedfn-5.c: New test.
2031         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
2032
2033         PR fortran/29097
2034         * testsuite/libgomp.fortran/condinc1.f: New test.
2035         * testsuite/libgomp.fortran/condinc2.f: New test.
2036         * testsuite/libgomp.fortran/condinc3.f90: New test.
2037         * testsuite/libgomp.fortran/condinc4.f90: New test.
2038         * testsuite/libgomp.fortran/condinc1.inc: New file.
2039
2040 2006-09-18  Tom Tromey  <tromey@redhat.com>
2041
2042         * configure: Rebuilt.
2043
2044 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
2045
2046         PR c/28768
2047         PR preprocessor/14634
2048         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
2049         to AC_DEFINE.
2050         * configure: Regenerate.
2051
2052 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
2053
2054         * testsuite/libgomp.fortran/reduction3.f90: Change
2055         -2147483648 to -huge(i)-1 to avoid overflow.
2056         * testsuite/libgomp.fortran/reduction4.f90: Change
2057         Z'ffffffff' to not(0) to avoid overflow.
2058
2059 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
2060
2061         PR libgomp/25938
2062         * Makefile.am (libsubincludedir): New.
2063         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
2064         * Makefile.in: Regenerate.
2065
2066 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
2067
2068         PR libgomp/28725
2069         * env.c: Include ctype.h.
2070         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
2071         leading and/or trailing whitespace and compare strings case
2072         insensitively.
2073
2074 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
2075
2076         PR fortran/28390
2077         * testsuite/libgomp.fortran/pr28390.f: New test.
2078
2079 2006-07-05  Eric Christopher  <echristo@apple.com>
2080
2081         * configure.ac: Depend addition of -pthread on host OS.
2082         * configure: Regenerate.
2083
2084 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
2085
2086         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
2087         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
2088         defined.
2089
2090 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
2091
2092         PR libgomp/26175
2093         PR libgomp/26477
2094         * configure.ac: If neither --enable-linux-futex nor
2095         --disable-linux-futex is passed, determine the default by checking
2096         for compiling and/or running against NPTL.  With --enable-linux-futex,
2097         check if SYS_gettid and SYS_futex are defined.
2098         * configure: Rebuilt.
2099
2100 2006-06-14  Richard Henderson  <rth@redhat.com>
2101
2102         PR libgomp/28008
2103         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
2104         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
2105
2106 2006-06-09  Richard Henderson  <rth@redhat.com>
2107
2108         * env.c (gomp_nthreads_var): Change to unsigned long.
2109         (gomp_run_sched_chunk): Likewise.
2110         (parse_unsigned_long): Rename from parse_num_threads and generalize.
2111         (initialize_env): Initialize gomp_thread_attr.
2112         * libgomp.h (gomp_nthreads_var): Update decl.
2113         (gomp_run_sched_chunk): Likewise.
2114         (gomp_thread_attr): Declare.
2115         * team.c (gomp_thread_attr): Export.
2116         (initialize_team): Don't initialize it.
2117
2118 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
2119
2120         PR fortran/27916
2121         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
2122         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
2123
2124 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2125
2126         * config/mingw32/time.c: New file.
2127         * configure.tgt: Use it.
2128
2129 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
2130
2131         * Makefile.am: Add install-html target. Add install-html to .PHONY
2132         * Makefile.in: Regenerate.
2133
2134 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2135
2136         PR libgomp/27612
2137         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
2138         * testsuite/libgomp.c/critical-1.c: Likewise.
2139         * testsuite/libgomp.c/loop-1.c: Likewise.
2140         * testsuite/libgomp.c/loop-2.c: Likewise.
2141         * testsuite/libgomp.c/single-1.c: Likewise.
2142         * testsuite/libgomp.c/ordered-1.c: Likewise.
2143         * testsuite/libgomp.c/ordered-2.c: Likewise.
2144
2145 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
2146
2147         PR middle-end/27416
2148         * libgomp.fortran/pr27416-1.f90: New test.
2149
2150 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
2151
2152         PR fortran/27395
2153         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
2154         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
2155
2156 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
2157
2158         PR c++/26943
2159         * testsuite/libgomp.c/pr26943-1.c: New test.
2160         * testsuite/libgomp.c/pr26943-2.c: New test.
2161         * testsuite/libgomp.c/pr26943-3.c: New test.
2162         * testsuite/libgomp.c/pr26943-4.c: New test.
2163         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
2164         * testsuite/libgomp.c++/pr26943.C: New test.
2165
2166 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
2167
2168         PR middle-end/27337
2169         * testsuite/libgomp.c++/pr27337.C: New test.
2170
2171 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
2172
2173         PR c/26171
2174         * testsuite/libgomp.c/pr26171.c: New test.
2175
2176 2006-04-25  Richard Henderson  <rth@redhat.com>
2177
2178         PR libgomp/25865
2179         * configure.ac: Use GCC_CHECK_TLS.
2180         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
2181         * Makefile.in, aclocal.m4, configure: Regenerate.
2182
2183 2006-04-10  Matthias Klose  <doko@debian.org>
2184
2185         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
2186         directory names containing underscores.
2187
2188 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
2189
2190         PR c++/26691
2191         * testsuite/libgomp.c++/pr26691.C: New test.
2192
2193 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
2194
2195         * testsuite/libgomp.fortran/retval2.f90: New test.
2196
2197 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
2198
2199         * testsuite/libgomp.c++: New directory.
2200
2201 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
2202
2203         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
2204         * config/posix/sem.c: Implement the above.
2205
2206 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
2207
2208         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
2209         define HAVE_BROKEN_POSIX_SEMAPHORES.
2210         * configure: Rebuilt.
2211         * config.h.in: Rebuilt.
2212
2213 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2214
2215         PR bootstrap/26161
2216         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
2217         for the other pthread check.
2218         * configure: Regenerate.
2219         * config.h.in: Regenerate.
2220
2221 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
2222
2223         PR libgomp/25938
2224         PR libgomp/25984
2225         * Makefile.am (fincludedir): New variable.
2226         (nodist_include_HEADERS): Remove Fortran files.
2227         (nodist_finclude_HEADERS): New variable.
2228         * Makefile.in: Regenerated.
2229
2230 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
2231
2232         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
2233         Remove tests for returning assumed character length arrays.
2234
2235 2006-02-12  Roger Sayle  <roger@eyesopen.com>
2236             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2237
2238         PR libgomp/25936
2239         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
2240
2241 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
2242
2243         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
2244
2245 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2246
2247         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
2248         part of LD_LIBRARY_PATH manually.
2249
2250 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
2251
2252         PR libgomp/25852
2253         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
2254         libgomp_init.
2255
2256 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
2257
2258         PR libgomp/25884
2259         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
2260         * configure.ac (PERL): Don't set.
2261         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
2262         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
2263         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
2264         * omp.h.in: Wrap the new configure substitutions with @ characters.
2265         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
2266         * aclocal.m4, configure, Makefile.in: Regenerate.
2267         * mkomp_h.pl: Delete.
2268
2269 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
2270
2271         PR libgomp/25259
2272         * configure.ac: Use GCC_HEADER_STDINT.
2273         * libgomp.h: Include gstdint.h.
2274         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
2275         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
2276
2277 2006-01-24  Richard Henderson  <rth@redhat.com>
2278
2279         PR libgomp/25942
2280         * configure.ac: Add AM_MAINTAINER_MODE.
2281         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
2282
2283 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
2284
2285         * Makefile.in: Regenerate.
2286         * testsuite/Makefile.in: Regenerate.
2287         * aclocal.m4: Regenerate.
2288
2289 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
2290
2291         * config/posix/proc.c: Conditional include of sys/loadavg.h for
2292         Solaris.
2293         * configure.ac: Add check for loadavg.h.
2294         (link_gomp): Adjust comment.
2295         * configure: Regenerate.
2296         * config.h.in: Regenerate.
2297
2298 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
2299
2300         PR libgomp/25877
2301         * configure.ac: Remove check for alloca.h.
2302         * configure: Regenerate.
2303         * config.h.in: Regenerate.
2304         * libgomp.h: define gomp_alloca to be __builtin_alloca.
2305         * team.c: Remove use of alloca.h.
2306         Call gomp_alloca instead of alloca.
2307
2308 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
2309
2310         PR libgomp/25877
2311         * team.c: Add include of alloca.h.
2312         * configure.ac: Add check for alloca.h.
2313         * configure: Regenerate.
2314         * config.h.in: Regenerate.
2315
2316 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
2317
2318         PR fortran/25219
2319         * testsuite/libgomp.fortran/pr25219.f90: New test.
2320
2321 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
2322
2323         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
2324         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
2325         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
2326         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
2327         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
2328         testsuite/libgomp.fortran/threadprivate1.f90,
2329         testsuite/libgomp.fortran/threadprivate2.f90,
2330         testsuite/libgomp.fortran/threadprivate3.f90,
2331         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
2332         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
2333         testsuite/libgomp.fortran/omp_parse3.f90: Change required
2334         effective-target to TLS runtime.
2335
2336         * testsuite/libgomp.fortran/pr25162.f: Require
2337         effective-target TLS runtime.
2338
2339 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
2340
2341         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
2342         * testsuite/libgomp.c/nestedfn-3.c: New test.
2343
2344 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
2345
2346         PR fortran/25162
2347         * testsuite/libgomp.fortran/pr25162.f: New test.
2348
2349 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
2350
2351         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
2352         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
2353
2354 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
2355
2356         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
2357         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
2358         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
2359         single.c, team.c, work.c, config/linux/alpha/futex.h,
2360         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
2361         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
2362         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
2363         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
2364         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
2365         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
2366         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
2367         FSF address.
2368
2369 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
2370
2371         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
2372         to nodist_noinst_HEADERS.
2373         * Makefile.in: Rebuilt.
2374
2375         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
2376         add integer count field.
2377         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
2378         omp_nest_lock_t type change.
2379         (omp_init_nest_lock): Likewise.  Initialize count to 0.
2380         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
2381         Increment count.
2382         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
2383         Decrement count.
2384         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
2385         Increment count if successful and return the new nesting level.
2386         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
2387         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
2388         * testsuite/libgomp.c/lib-1.c: New test.
2389         * testsuite/libgomp.fortran/lib1.f90: New test.
2390         * testsuite/libgomp.fortran/lib2.f: New test.
2391         * testsuite/libgomp.fortran/lib3.f: New test.
2392
2393 2005-11-17  Richard Henderson  <rth@redhat.com>
2394
2395         PR 24845
2396         * Makefile.am (nodist_toolexeclib_HEADERS): New.
2397         * configure.ac (link_gomp): New.  Substitute it.
2398         (AC_CONFIG_FILES): Add libgomp.spec.
2399         * libgomp.spec.in: New file.
2400         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
2401         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
2402
2403 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
2404
2405         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
2406         reduction(-:var) behaving the same as reduction(+:var).
2407         * testsuite/libgomp.c/reduction-4.c: New test.
2408
2409 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
2410
2411         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
2412         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
2413         testsuite/libgomp.c/copyin-3.c,
2414         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
2415         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
2416         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
2417         testsuite/libgomp.c++/pr24455.C,
2418         testsuite/libgomp.fortran/threadprivate1.f90,
2419         testsuite/libgomp.fortran/threadprivate2.f90,
2420         testsuite/libgomp.fortran/threadprivate3.f90,
2421         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
2422         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
2423         testsuite/libgomp.fortran/omp_parse3.f90: Require
2424         effective-target TLS.
2425
2426 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
2427
2428         * HEADER: Remove.
2429
2430 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
2431
2432         PR libgomp/24797
2433         * team.c (initialize_team): Pass NULL rather than free as
2434         pthread_key_create destructor.  Initialize thread specific data
2435         pointer in initial thread to a static local variable rather than
2436         malloced memory.
2437
2438 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
2439
2440         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
2441         its location to ld_library_path.
2442
2443 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
2444
2445         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
2446
2447 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
2448
2449         * testsuite/libgomp.c: Rename from libgomp.dg.
2450
2451 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
2452
2453         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
2454         threadprivate variable 'i'.
2455
2456 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
2457
2458         * config/linux/s390/futex.h: New file.
2459         * configure.tgt: Use it.
2460
2461         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
2462         before the parallel.
2463
2464 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
2465
2466         PR c++/24734
2467         * testsuite/libgomp.c++/master-1.C: New test.
2468
2469 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
2470
2471         * testsuite/libgomp.dg/copyin-3.c: New test.
2472
2473 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
2474
2475         * testsuite/libgomp.fortran/retval1.f90: New test.
2476         * testsuite/libgomp.fortran/vla7.f90: New test.
2477
2478 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
2479
2480         * testsuite/libgomp.fortran/vla2.f90: New test.
2481         * testsuite/libgomp.fortran/vla3.f90: New test.
2482         * testsuite/libgomp.fortran/vla4.f90: New test.
2483         * testsuite/libgomp.fortran/vla5.f90: New test.
2484         * testsuite/libgomp.fortran/vla6.f90: New test.
2485
2486 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
2487
2488         * config/linux/sparc/futex.h: New file.
2489         * configure.tgt: Use it.
2490         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
2491
2492         * critical.c: Include stdlib.h.
2493         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
2494         ignoring return value.
2495         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
2496         LIBGOMP_CHECK_SYNC_BUILTINS check.
2497         * configure: Rebuilt.
2498
2499 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
2500
2501         * testsuite/libgomp.fortran/vla1.f90: New test.
2502
2503 2005-10-31  Richard Henderson  <rth@redhat.com>
2504
2505         * testsuite/libgomp.fortran/character2.f90: Fix race condition
2506         setting 's' in different threads.
2507
2508 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
2509
2510         * libgomp.h (attribute_hidden, ialias): Define.
2511         * config/posix/proc.c (omp_get_num_procs): Add ialias.
2512         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
2513         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
2514         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
2515         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
2516         omp_test_lock, omp_test_nest_lock): Likewise.
2517         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
2518         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
2519         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
2520         omp_test_lock, omp_test_nest_lock): Likewise.
2521         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
2522         omp_get_dynamic, omp_get_nested): Likewise.
2523         * parallel.c (omp_get_num_threads, omp_get_max_threads,
2524         omp_get_thread_num, omp_in_parallel): Likewise.
2525         * fortran.c (ialias_redirect): Define.
2526         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
2527         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
2528         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
2529         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
2530         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
2531         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
2532         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
2533         omp_get_wtime): Add ialias_redirect.
2534
2535 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
2536
2537         * fortran.c: Include stdlib.h.
2538
2539 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
2540
2541         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
2542         * Makefile.in: Regenerated.
2543
2544 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
2545
2546         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
2547         * libgomp_f.h.in (omp_check_defines): New function.
2548         * env.c: Include libgomp_f.h.
2549         (initialize_env): Call omp_check_defines.
2550
2551         * testsuite/libgomp.dg/copyin-2.c: New test.
2552         * testsuite/libgomp.c++/copyin-2.C: New test.
2553         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
2554
2555         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
2556         * testsuite/libgomp.fortran/sharing2.f90: New test.
2557
2558         * testsuite/libgomp.dg/copyin-1.c: New test.
2559         * testsuite/libgomp.c++/copyin-1.C: New test.
2560
2561 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
2562
2563         * testsuite/libgomp.fortran/crayptr1.f90: New test.
2564
2565         * testsuite/libgomp.fortran/workshare1.f90: New test.
2566
2567         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
2568         only test.
2569         * libgomp.fortran/sharing1.f90: New test.
2570
2571 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
2572
2573         PR c++/24502
2574         * testsuite/libgomp.c++/loop-7.C: New test.
2575
2576         * testsuite/libgomp.dg/nestedfn-2.c: New test.
2577
2578         * testsuite/libgomp.dg/nestedfn-1.c: New test.
2579         * testsuite/libgomp.fortran/reduction6.f90: New test.
2580         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
2581
2582 2005-10-23  Richard Henderson  <rth@redhat.com>
2583
2584         * testsuite/libgomp.c++/ctor-1.C: New.
2585         * testsuite/libgomp.c++/ctor-2.C: New.
2586         * testsuite/libgomp.c++/ctor-3.C: New.
2587         * testsuite/libgomp.c++/ctor-4.C: New.
2588         * testsuite/libgomp.c++/ctor-5.C: New.
2589         * testsuite/libgomp.c++/ctor-6.C: New.
2590         * testsuite/libgomp.c++/ctor-7.C: New.
2591         * testsuite/libgomp.c++/ctor-8.C: New.
2592         * testsuite/libgomp.c++/ctor-9.C: New.
2593
2594 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
2595
2596         PR 24455
2597         * testsuite/libgomp.c++/pr24455-1.C: New test.
2598         * testsuite/libgomp.c++/pr24455.C: New test.
2599         * testsuite/libgomp.dg/pr24455-1.c: New test.
2600         * testsuite/libgomp.dg/pr24455.c: New test.
2601
2602 2005-10-20  Richard Henderson  <rth@redhat.com>
2603
2604         * testsuite/libgomp.c++/loop-6.C: New.
2605         * testsuite/libgomp.dg/loop-3.c: New.
2606
2607 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
2608
2609         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
2610         explicitly private.
2611         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
2612         explicitly shared.
2613
2614 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
2615
2616         * testsuite/libgomp.fortran/jacobi.f: New test.
2617
2618 2005-10-19  Richard Henderson  <rth@redhat.com>
2619
2620         * configure.tgt (i?86-linux): Default to with_arch instead of
2621         CFLAGS.  Add -mtune to match target_cpu.
2622         (x86_64-linux): Tune to i686.
2623
2624         * fortran.c (omp_test_nest_lock_): Fix typo.
2625
2626 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
2627
2628         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
2629         gomp_ordered_sync): Do nothing if team->nthreads == 1.
2630         * testsuite/libgomp.dg/ordered-3.c: New test.
2631
2632         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
2633         Remove volatile keyword.
2634
2635         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
2636         in COMMON block to avoid warnings on 64-bit targets.
2637
2638 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
2639
2640         * testsuite/libgomp.dg/shared-3.c: New test.
2641
2642 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
2643
2644         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
2645         * testsuite/libgomp.fortran/reduction5.f90: New test.
2646
2647 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
2648
2649         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
2650         dg-options.
2651         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
2652         flush loop now that __sync_synchronize has proper memory barrier.
2653         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
2654         Add -ffixed-form to dg-options.
2655
2656 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
2657
2658         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
2659         from subdirectories.
2660         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
2661         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
2662         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
2663         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
2664         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
2665         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
2666         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
2667         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
2668         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
2669         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
2670         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
2671         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
2672         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
2673         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
2674         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
2675         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
2676         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
2677         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
2678         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
2679         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
2680         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
2681         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
2682         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
2683         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
2684         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
2685
2686 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
2687
2688         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
2689         lang_library_path exists.  Use find instead of glob to gather tests.
2690         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
2691
2692 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
2693
2694         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
2695         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
2696         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
2697         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
2698         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
2699         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
2700         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
2701         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
2702         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
2703         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
2704         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
2705         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
2706         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
2707
2708 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
2709
2710         * testsuite/libgomp.dg/vla-1.c: New test.
2711
2712         * testsuite/libgomp.fortran/reference2.f90: New test.
2713
2714         * testsuite/libgomp.fortran/character2.f90: Remove explicit
2715         declaration of omp_get_thread_num.
2716         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
2717         use omp_lib.
2718
2719         * testsuite/libgomp.fortran/reduction1.f90: New test.
2720         * testsuite/libgomp.fortran/reduction2.f90: New test.
2721         * testsuite/libgomp.fortran/reduction3.f90: New test.
2722         * testsuite/libgomp.fortran/reduction4.f90: New test.
2723
2724 2005-10-13  Richard Henderson  <rth@redhat.com>
2725
2726         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
2727         * Makefile.in: Regenerate.
2728         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
2729         * libgomp.h: Include bar.h.
2730         (struct gomp_barrier): Remove.
2731         (struct gomp_team): Add barrier.  Replace master_barrier with
2732         master_release.  Replace threads with ordered_release.
2733         (struct gomp_thread): Replace barrier with release.
2734         * ordered.c (gomp_ordered_first): Update for ordered_release change.
2735         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
2736         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
2737         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
2738         (GOMP_single_copy_end): Likewise.
2739         * team.c (gomp_threads_dock): New.
2740         (gomp_barrier_init, gomp_barrier_destroy): Remove.
2741         (gomp_thread_start): Use gomp_barrier_wait.
2742         (new_team, free_team): Update for gomp_team changes.
2743         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
2744         (gomp_team_end): Use gomp_barrier_wait.
2745         (initialize_team): Update for gomp_thread changes.
2746         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
2747         (gomp_work_share_end_nowait): Use atomic ops when available.
2748         * config/linux/bar.c, config/linux/bar.h: New files.
2749         * config/posix/bar.c, config/posix/bar.h: New files.
2750
2751 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
2752
2753         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
2754         * testsuite/libgomp.dg/single-2.c: New test.
2755
2756         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
2757         lang_link_flags): Unset, so that they aren't inherited from previously
2758         sourced *.exp.
2759
2760         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
2761
2762 2005-10-12  Richard Henderson  <rth@redhat.com>
2763
2764         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
2765         (libgomp_init): Use lang_test_file, lang_library_path, and
2766         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
2767
2768         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
2769         (lang_test_file, lang_link_flags): New.
2770         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
2771
2772         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
2773         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
2774         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
2775         testsuite/libgomp.c++/parallel-1.C,
2776         testsuite/libgomp.c++/reduction-1.C,
2777         testsuite/libgomp.c++/reduction-2.C,
2778         testsuite/libgomp.c++/reduction-3.C,
2779         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
2780         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
2781         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
2782         New files, largely cribbed from the C testsuite.
2783
2784 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
2785
2786         * testsuite/libgomp.fortran/character1.f90: New test.
2787         * testsuite/libgomp.fortran/character2.f90: New test.
2788
2789         * testsuite/libgomp.dg/nested-1.c: New test.
2790         * testsuite/libgomp.dg/nested-2.c: New test.
2791         * testsuite/libgomp.fortran/do1.f90: New test.
2792         * testsuite/libgomp.fortran/do2.f90: New test.
2793
2794         * testsuite/libgomp.fortran/reference1.f90: New test.
2795
2796 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
2797
2798         * testsuite/libgomp.dg/reduction-1.c: New test.
2799         * testsuite/libgomp.dg/reduction-2.c: New test.
2800         * testsuite/libgomp.dg/reduction-3.c: New test.
2801
2802 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
2803
2804         * testsuite/libgomp.dg/atomic-1.c: New test.
2805         * testsuite/libgomp.dg/atomic-2.c: New test.
2806
2807 2005-10-09  Richard Henderson  <rth@redhat.com>
2808
2809         * critical.c (atomic_lock): New.
2810         (initialize_critical): Initialize it.
2811         (GOMP_atomic_start, GOMP_atomic_end): New.
2812         * libgomp.map: Export them.
2813         * libgomp_g.h: Declare them.
2814
2815         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
2816
2817 2005-10-02  Richard Henderson  <rth@redhat.com>
2818
2819         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
2820         to XCFLAGS instead of CFLAGS.
2821
2822 2005-09-30  Richard Henderson  <rth@redhat.com>
2823
2824         * configure.ac: Determine whether -pthread or -lpthread is needed.
2825         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
2826         * Makefine.in, configure: Rebuild.
2827
2828 2005-09-28  Richard Henderson  <rth@redhat.com>
2829
2830         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
2831         * testsuite/libgomp.dg/omp-single-3.c: New test.
2832
2833 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
2834
2835         * testsuite/libgomp.dg/omp-single-2.c: New test.
2836         * testsuite/libgomp.dg/shared-2.c: Fix return code.
2837
2838 2005-09-27  Richard Henderson  <rth@redhat.com>
2839
2840         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
2841         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
2842
2843 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
2844
2845         * testsuite/libgomp.dg/omp-loop03.c: New test.
2846
2847 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
2848
2849         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
2850
2851 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
2852
2853         * testsuite/libgomp.dg/omp-single-1.c: New test.
2854         * testsuite/libgomp.dg/shared-1.c: Return 0.
2855         Add prototype for abort.
2856         * testsuite/libgomp.dg/shared-2.c: Likewise.
2857
2858 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
2859
2860         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
2861         constructs.
2862
2863 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
2864
2865         * testsuite/libgomp.dg/shared-1.c: New test.
2866         * testsuite/libgomp.dg/shared-2.c: New test.
2867
2868 2005-09-24  Richard Henderson  <rth@redhat.com>
2869
2870         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
2871
2872 2005-09-24  Richard Henderson  <rth@redhat.com>
2873
2874         * iter.c (gomp_iter_static_next): Round up when computing number
2875         of iterations.  Don't bother distributing a remainder equally.
2876
2877         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
2878         Don't call srand.  Zero b before testing.
2879         (main): New.
2880
2881 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
2882
2883         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
2884         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
2885
2886 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
2887
2888         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
2889         without !$omp end do, followed immediately by subroutine end.
2890
2891 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
2892
2893         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
2894
2895 2005-09-22  Richard Henderson  <rth@redhat.com>
2896
2897         * critical.c (GOMP_critical_name_start): Change argument to void**.
2898         Reuse the pointer space if the mutex fits.
2899         (GOMP_critical_name_end): Likewise.
2900         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
2901         * libgomp_g.h (GOMP_critical_name_start): Update decl.
2902         (GOMP_critical_name_end): Likewise.
2903         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
2904         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
2905
2906 2005-09-20  Richard Henderson  <rth@redhat.com>
2907
2908         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
2909         (create_lock_lock): New.
2910         (initialize_critical): Initialize it.
2911         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
2912         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
2913
2914 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
2915
2916         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
2917
2918 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
2919
2920         * testsuite/libgomp.dg/omp-loop01.c: New test.
2921         * testsuite/libgomp.dg/omp-loop02.c: New test.
2922
2923 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
2924
2925         * configure.ac (AC_PROG_FC): Add.
2926         (USE_FORTRAN): New automake conditional.
2927         * configure: Rebuilt.
2928         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
2929         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
2930         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
2931         Add rules to build them.
2932         * Makefile.in: Rebuilt.
2933         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
2934         OMP_NEST_LOCK_KIND.
2935         * libgomp.map: Add Fortran wrappers.
2936         * libgomp_f.h.in: New file.
2937         * omp_lib.h.in: New file.
2938         * omp_lib.f90.in: New file.
2939         * fortran.c: New file.
2940         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
2941         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
2942         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
2943         libgfortran has been built.
2944         * testsuite/libgomp.fortran/fortran.exp: New file.
2945         * testsuite/libgomp.fortran/omp_cond1.f: New test.
2946         * testsuite/libgomp.fortran/omp_cond2.f: New test.
2947         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
2948         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
2949         * testsuite/libgomp.fortran/omp_hello.f: New test.
2950         * testsuite/libgomp.fortran/omp_orphan.f: New test.
2951         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
2952         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
2953         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
2954         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
2955         * testsuite/libgomp.fortran/omp_reduction.f: New test.
2956         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
2957         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
2958
2959 2005-08-30  Richard Henderson  <rth@redhat.com>
2960
2961         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
2962         function for when aliases are not usable.
2963         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
2964         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
2965         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
2966         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
2967         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
2968         GOMP_loop_ordered_guided_next): Likewise.
2969         * ordered.c (GOMP_ordered_start): Likewise.
2970
2971 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
2972
2973         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
2974         * testsuite/libgomp.dg/omp_hello.c: Fix return code
2975         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
2976         * testsuite/libgomp.dg/omp_orphan.c: Likewise
2977         * testsuite/libgomp.dg/omp_reduction.c: Likewise
2978         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
2979         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
2980         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
2981         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
2982
2983 2005-07-07  Eric Christopher  <echristo@redhat.com>
2984             Diego Novillo  <dnovillo@redhat.com>
2985
2986         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
2987         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
2988         up code.
2989         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
2990         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
2991         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
2992         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
2993         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
2994         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
2995         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
2996
2997 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
2998
2999         * TOPLEVEL.patch: Remove.
3000
3001 2005-05-16  Richard Henderson  <rth@redhat.com>
3002
3003         * configure.ac: Test for clock_gettime.
3004         * config.h.in, configure: Rebuild.
3005         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
3006         (omp_get_wtime): Use clock_gettime if available.
3007         (omp_get_wtick): Use clock_getres if available.
3008
3009 2005-05-11  Richard Henderson  <rth@redhat.com>
3010
3011         * config/linux/ia64/futex.h: New file.
3012         * configure.tgt: Use it.
3013
3014         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
3015
3016 2005-05-07  Richard Henderson  <rth@redhat.com>
3017
3018         * config/linux/powerpc/futex.h: New file.
3019         * configure.tgt: Use it.
3020
3021         * config/linux/i486/futex.h: Merge ...
3022         * config/linux/x86_64/futex.h: ... into ...
3023         * config/linux/x86/futex.h: ... here.
3024         * configure.tgt: Update to match.
3025
3026 2005-05-06  Richard Henderson  <rth@redhat.com>
3027
3028         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
3029         * config/linux/i486/futex.h: Likewise.
3030         * config/linux/x86_64/futex.h: Likewise.
3031
3032         * config/linux/lock.c: New file.
3033         * config/linux/omp-lock.h: New file.
3034
3035         * critical.c, env.h: Don't include omp.h
3036         * config/posix/lock.c: Include libgomp.h instead of omp.h.
3037         * config/posix/time.c: Likewise.
3038         * config/posix/omp-lock.h: New file.
3039         * libgomp.h: Include omp-lock.h and omp.h.
3040         * Makefile.am (nodist_include_HEADERS): New.
3041         (omp.h): New rule.
3042         * configure.ac (PERL): New.
3043         * mkomp_h.pl: New file.
3044         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
3045         with templates.
3046         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
3047
3048         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
3049         build directory.  Re-add -march=i486 hack.
3050
3051         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
3052         (libgomp_link_flags): Remove.
3053         (libgomp_initialized): Remove.
3054         (libgomp_init): Don't protect from reinitialization.  Copy code
3055         from libstdc++ for getting the multilib set correctly.
3056
3057 2005-05-05  Richard Henderson  <rth@redhat.com>
3058
3059         * config/linux/alpha/futex.h: New file.
3060         * configure.tgt (alpha*-*-linux*): Use it.
3061
3062         * config/posix/mutex.c: New file.
3063         * config/posix/sem.c: Use libgomp.h.
3064
3065         * configure.tgt (x86_64-linux): Also test CC for -m32.
3066         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
3067
3068         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
3069         after $gccpath.
3070
3071         * Makefile.am (SUBDIRS): New.
3072         (libgomp_la_LDFLAGS): Add -lpthread.
3073         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
3074         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
3075
3076         * libgomp_g.h: New file.
3077         * libgomp.h: Split out all public declarations to libgomp_g.h.
3078         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
3079         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
3080         * config/linux/sem.h: Likewise.
3081         * config/posix/sem.h: Likewise.
3082
3083         * Makefile.am (AM_LDFLAGS): New.
3084         (libgomp_version_script): Split out from ...
3085         (libgomp_la_LDFLAGS): ... here.
3086         (libgomp_version_info): New.
3087         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
3088         (LIBGOMP_ENABLE): New.
3089         (LIBGOMP_CHECK_LINKER_FEATURES): New.
3090         (LIBGOMP_ENABLE_SYMVERS): New.
3091         * configure.ac (AC_INIT): Version 1.0.
3092         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
3093         (enable-linux-futex): Likewise.  Rename from enable-futex.
3094         (libtool_VERSION): New.
3095         (LIBGOMP_ENABLE_SYMVERS): Use it.
3096         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
3097         * Makefile.in, aclocal.m4, configure: Rebuild.
3098
3099         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
3100         (gomp_mutex_unlock_slow): Fix typo.
3101         * config/linux/sem.c: Similarly.
3102         (gomp_sem_post_slow): Fix typo.
3103         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
3104         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
3105         [__PIC__] (sys_futex0): Don't use tmp output in asm.
3106
3107         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
3108         (libgomp_la_LDFLAGS): Add top_srcdir to path.
3109         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
3110         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
3111         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
3112         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
3113         LDFLAGS.  Pull enable_futex check to top-level.
3114         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
3115         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
3116
3117         First attempt at real configury.
3118         * Makefile, config.h: Remove file.
3119         * Makefile.am, Makefile.in: New file.
3120         * acinclude.m4 aclocal.m4: New file.
3121         * configure.ac, configure.tgt, configure: New file.
3122
3123         * config/posix/lock.c: Rename from sys-lock.c.
3124         * config/posix/mutex.h: Rename from sys-mutex.h.
3125         * config/posix/sem.c: Rename from sys-sem.c.
3126         * config/posix/sem.h: Rename from sys-sem.h.
3127         * config/posix/proc.c: Rename from sys-proc.c.
3128         * config/posix/time.c: Rename from sys-proc.c.
3129
3130         * config/linux/mutex.c: New file.
3131         * config/linux/mutex.h: New file.
3132         * config/linux/sem.c: New file.
3133         * config/linux/sem.h: New file.
3134         * config/linux/i486/futex.h: New file.
3135         * config/linux/x86_64/futex.h: New file.
3136
3137 2005-05-04  Richard Henderson  <rth@redhat.com>
3138
3139         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
3140         * libgomp.h: Declare them.
3141         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
3142         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
3143
3144 2005-05-04  Richard Henderson  <rth@redhat.com>
3145
3146         * libgomp-1 code drop
3147
3148 2005-05-04  Richard Henderson  <rth@redhat.com>
3149
3150         * iter.c (gomp_iter_static_next): Return tri-state on 0.
3151         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
3152         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
3153         (gomp_iter_static_next): Update.
3154         (gomp_ordered_static_next): Update.
3155         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
3156         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
3157         totally empty range.
3158         (gomp_loop_ordered_static_next): Refine test for calling
3159         gomp_ordered_static_next.
3160         * testsuite/ordered-1.c: Add case for more threads than iterations.
3161
3162         * iter.c (gomp_iter_runtime_next_locked): Remove.
3163         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
3164         gomp_loop_guided_start, gomp_loop_ordered_static_start,
3165         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3166         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
3167         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
3168         gomp_loop_ordered_guided_next): Downcase name, make static, add
3169         an external alias with the old name.
3170         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3171         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
3172         switch and call one of the above static functions.
3173         * libgomp.h: Update.
3174
3175         * work.c (gomp_work_share_start): Lock the mutex for !first too.
3176         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
3177         GOMP_loop_guided_start, GOMP_loop_runtime_start,
3178         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
3179         GOMP_loop_ordered_guided_start): Update to match.
3180         * sections.c (GOMP_sections_start): Likewise.
3181         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
3182
3183         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
3184         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
3185         Use bounds check instead of modulus.
3186         (gomp_ordered_sync): Split out of GOMP_ordered_start.
3187         (gomp_ordered_last): Don't sync with ordered_owner here.
3188         (gomp_ordered_next): Likewise.
3189         (gomp_ordered_static_loop_next): Likewise.
3190         * loop.c, libgomp.h: Update to match.
3191
3192         * libgomp.h (GOMP_barrier): Declare.
3193
3194         * testsuite/barrier-1.c: New file.
3195         * testsuite/critical-1.c: New file.
3196         * testsuite/ordered-2.c: New file.
3197         * testsuite/ordered-1.c: New file.
3198         * testsuite/sections-1.c: New file.
3199         * testsuite/single-1.c: New file.
3200         * testsuite/Makefile (TESTS): Add them.
3201
3202 2005-05-04  Richard Henderson  <rth@redhat.com>
3203
3204         * libgomp.h (struct gomp_work_share): Add ordered_owner.
3205         * loop.c (GOMP_loop_static_start): If not the startup thread,
3206         acquire the mutex to wait for initialization complete.
3207         (GOMP_loop_ordered_static_start): Likewise.
3208         (GOMP_loop_ordered_runtime_start): Likewise.
3209         (GOMP_loop_ordered_static_first): Remove.
3210         (GOMP_loop_ordered_dynamic_first): Remove.
3211         (GOMP_loop_ordered_guided_first): Remove.
3212         (GOMP_loop_ordered_runtime_first): Remove.
3213         * ordered.c (gomp_ordered_loop_first): Post to own release when
3214         we're the first thread.
3215         (gomp_ordered_loop_last): Wait on release if not owner.
3216         (gomp_ordered_loop_next): Likewise.
3217         (gomp_ordered_static_loop_init): New.
3218         (gomp_ordered_static_loop_next): Use ordered_owner.
3219         (GOMP_ordered_start): Likewise.
3220         * work.c (gomp_new_work_share): Initialize ordered_owner.
3221
3222 2005-05-03  Richard Henderson  <rth@redhat.com>
3223
3224         * Makefile (OPT): New.
3225         (CFLAGS): Use it.
3226
3227         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
3228         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
3229         * libgomp.h, libgomp.map, NOTES: Update to match.
3230
3231         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
3232         Add initialized and thr members.
3233         (gomp_thread_start): Pause when initially spawned to wait for
3234         the whole team to be created.
3235         (gomp_team_start): Release team members at the end.
3236
3237         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
3238         (f_foo_1): Use GOMP_loop_end.
3239         (f_foo_2): Use GOMP_loop_end_nowait.
3240
3241         * testsuite/loop-2.c: New file.
3242         * testsuite/Makefile (TESTS): Add it.
3243
3244 2005-05-03  Richard Henderson  <rth@redhat.com>
3245
3246         * iter.c (gomp_iter_static_next): Fix overflow check typo.
3247         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
3248         * team.c (new_team): Initialize oldest_live_gen to 1 if no
3249         initial work_share.
3250
3251         * testsuite/Makefile: New file.
3252         * testsuite/loop-1.c: New file.
3253
3254 2005-05-03  Richard Henderson  <rth@redhat.com>
3255
3256         Initial implementation and checkin.