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