OSDN Git Service

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