OSDN Git Service

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