OSDN Git Service

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