OSDN Git Service

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