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