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