OSDN Git Service

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