OSDN Git Service

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