OSDN Git Service

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