1 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
4 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8 * Makefile.in: Regenerate.
9 * configure: Regenerate.
10 * testsuite/Makefile.in: Regenerate.
12 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
14 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
15 settings for LC_ALL and LANG.
17 2009-11-25 Jakub Jelinek <jakub@redhat.com>
20 * testsuite/libgomp.fortran/pr42162.f90: New test.
22 2009-11-13 Jakub Jelinek <jakub@redhat.com>
25 * testsuite/libgomp.c/pr42029.c: New test.
27 2009-10-26 Jakub Jelinek <jakub@redhat.com>
29 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
30 *s. Accept ld version without text in ()s.
31 * configure: Regenerated.
33 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
35 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
37 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
40 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
41 or a hyphen (happens with fortran language disabled).
42 * configure: Regenerate.
44 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
46 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
47 use sed script portable to Solaris /bin/sed for extracting ld
49 * configure: Regenerate.
51 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
53 * testsuite/libgomp.graphite/bounds.c: New test.
55 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57 * Makefile.am (libgomp_la_LINK): New.
58 * Makefile.in: Regenerate.
60 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62 * configure.ac (AC_PREREQ): Bump to 2.64.
64 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
66 * Makefile.am (install-html, install-pdf): Remove.
67 * Makefile.in: Regenerate.
69 * Makefile.in: Regenerate.
70 * aclocal.m4: Regenerate.
71 * config.h.in: Regenerate.
72 * configure: Regenerate.
73 * testsuite/Makefile.in: Regenerate.
75 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
78 * Makefile.in: Regenerate.
80 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
82 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
83 * Makefile.in: Regenerate.
85 2009-08-19 Tobias Burnus <burnus@net-b.de>
88 omp_lib.h.in: Fix -std=f95 errors.
91 2009-08-14 David Edelsohn <edelsohn@gnu.org>
93 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
94 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
95 * testsuite/libgomp.graphite/graphite.exp: New.
97 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
99 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
102 2009-08-04 David Daney <ddaney@caviumnetworks.com>
104 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
105 needed memory barrier semantics.
106 * config/linux/mips/mutex.h: New file.
108 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
110 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
112 2009-07-16 Joseph Myers <joseph@codesourcery.com>
114 * configure: Regenerate.
116 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
121 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
122 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
123 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
125 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
127 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
128 options when choosing a multilib.
130 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
132 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
133 ld_library_path. Use add_path. Add just find_libgcc_s to
134 ld_library_path, not every libgcc multilib directory.
135 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
136 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
137 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
139 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
141 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
143 * Makefile.am (LTLDFLAGS): Define.
145 * Makefile.in: Regenerate.
147 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
150 * testsuite/libgomp.fortran/fortran.exp: Don't link with
151 libgfortranbegin, check existence of libgfortran.a instead of
154 2009-05-20 Jakub Jelinek <jakub@redhat.com>
157 * team.c (gomp_thread_start): Destroy thr->release semaphore.
158 (gomp_free_pool_helper): Likewise.
160 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
161 Jakub Jelinek <jakub@redhat.com>
164 * testsuite/libgomp.fortran/workshare2.f90: New test.
166 2009-04-09 Nick Clifton <nickc@redhat.com>
168 * iter.c: Change copyright header to refer to version 3 of the
169 GNU General Public License with version 3.1 of the GCC Runtime
170 Library Exception and to point readers at the COPYING3 and
171 COPYING3.RUNTIME files and the FSF's license web page.
173 * barrier.c: Likewise.
174 * config/bsd/proc.c: Likewise.
175 * config/linux/affinity.c: Likewise.
176 * config/linux/alpha/futex.h: Likewise.
177 * config/linux/bar.c: Likewise.
178 * config/linux/bar.h: Likewise.
179 * config/linux/ia64/futex.h: Likewise.
180 * config/linux/ia64/mutex.h: Likewise.
181 * config/linux/lock.c: Likewise.
182 * config/linux/mips/futex.h: Likewise.
183 * config/linux/mutex.c: Likewise.
184 * config/linux/mutex.h: Likewise.
185 * config/linux/powerpc/futex.h: Likewise.
186 * config/linux/proc.c: Likewise.
187 * config/linux/ptrlock.c: Likewise.
188 * config/linux/ptrlock.h: Likewise.
189 * config/linux/s390/futex.h: Likewise.
190 * config/linux/sem.c: Likewise.
191 * config/linux/sem.h: Likewise.
192 * config/linux/sparc/futex.h: Likewise.
193 * config/linux/wait.h: Likewise.
194 * config/linux/x86/futex.h: Likewise.
195 * config/mingw32/proc.c: Likewise.
196 * config/mingw32/time.c: Likewise.
197 * config/posix/affinity.c: Likewise.
198 * config/posix/bar.c: Likewise.
199 * config/posix/bar.h: Likewise.
200 * config/posix/lock.c: Likewise.
201 * config/posix/mutex.h: Likewise.
202 * config/posix/proc.c: Likewise.
203 * config/posix/ptrlock.h: Likewise.
204 * config/posix/sem.c: Likewise.
205 * config/posix/sem.h: Likewise.
206 * config/posix/time.c: Likewise.
207 * config/posix95/lock.c: Likewise.
208 * critical.c: Likewise.
211 * fortran.c: Likewise.
212 * iter_ull.c: Likewise.
213 * libgomp.h: Likewise.
214 * libgomp_f.h.in: Likewise.
215 * libgomp_g.h: Likewise.
217 * loop_ull.c: Likewise.
218 * omp.h.in: Likewise.
219 * omp_lib.f90.in: Likewise.
220 * omp_lib.h.in: Likewise.
221 * ordered.c: Likewise.
222 * parallel.c: Likewise.
223 * sections.c: Likewise.
224 * single.c: Likewise.
229 2009-04-09 Jakub Jelinek <jakub@redhat.com>
231 * testsuite/config/default.exp: Change copyright header to refer to
232 version 3 of the GNU General Public License and to point readers
233 at the COPYING3 file and the FSF's license web page.
235 2009-04-08 Jakub Jelinek <jakub@redhat.com>
238 * libgomp.c++/pr39573.C: New test.
240 2009-04-01 Jakub Jelinek <jakub@redhat.com>
243 * testsuite/libgomp.c/pr39591-1.c: New test.
244 * testsuite/libgomp.c/pr39591-2.c: New test.
245 * testsuite/libgomp.c/pr39591-3.c: New test.
247 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
249 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
250 * testsuite/libgomp.c/atomic-6.c: Ditto.
252 2009-03-23 Jakub Jelinek <jakub@redhat.com>
255 * testsuite/libgomp.c/loop-12.c: New test.
256 * testsuite/libgomp.c/loop-11.c: New test.
257 * testsuite/libgomp.c++/loop-11.C: New test.
258 * testsuite/libgomp.c++/loop-12.C: New test.
259 * testsuite/libgomp.c++/for-8.C: New test.
261 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
263 * configure: Regenerate.
265 2009-02-11 Jakub Jelinek <jakub@redhat.com>
268 * testsuite/libgomp.c/pr39154.c: New test.
270 2009-01-30 Ian Lance Taylor <iant@google.com>
272 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
273 libgomp_ld_is_gold. Get gold version number.
274 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
275 * configure: Rebuild.
277 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
279 * testsuite/lib/libgomp.exp: Add -B option for targets that
280 use libgfortran.a%s in their specs.
282 2009-01-07 Jakub Jelinek <jakub@redhat.com>
285 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
286 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
287 HAVE_AS_SYMVER_DIRECTIVE is not defined.
288 * configure: Regenerated.
289 * config.h.in: Likewise.
291 2008-12-28 Jakub Jelinek <jakub@redhat.com>
294 * testsuite/libgomp.c/pr38650.c: New test.
295 * testsuite/libgomp.c++/pr38650.C: New test.
297 2008-12-27 Jakub Jelinek <jakub@redhat.com>
299 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
301 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
303 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
305 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
307 * configure: Regenerate.
309 2008-12-08 Jakub Jelinek <jakub@redhat.com>
312 * testsuite/libgomp.c/pr36802-1.c: New test.
313 * testsuite/libgomp.c/pr36802-2.c: New test.
314 * testsuite/libgomp.c/pr36802-3.c: New test.
316 2008-12-01 Janis Johnson <janis187@us.ibm.com>
319 * config/linux/powerpc/mutex.h: New.
321 2008-12-01 Jakub Jelinek <jakub@redhat.com>
324 * testsuite/libgomp.c++/for-7.C: New test.
327 * testsuite/libgomp.c++/for-6.C: New test.
329 2008-11-26 Janis Johnson <janis187@us.ibm.com>
332 * testsuite/lib/libgomp.exp: Include new timeout library files.
333 (libgomp_target_compile): Set timeout value from new proc.
335 2008-11-13 Steve Ellcey <sje@cup.hp.com>
338 * config/linux/ia64/mutex.h: New.
340 2008-11-04 Tobias Burnus <burnus@net-b.de>
343 * libgomp.texi (Runtime library routines, environment variables):
344 Update for OpenMP version 3.0.
346 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
347 Steve Ellcey <sje@cup.hp.com>
349 * configure: Regenerate for new libtool.
350 * Makefile.in: Ditto.
351 * testsuite/Makefile.in: Ditto.
353 2008-09-19 Jakub Jelinek <jakub@redhat.com>
354 Andreas Tobler <a.tobler@schweiz.org>
356 * config/bsd/proc.c: New file.
357 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
358 * configure.ac: Check for header <sys/sysctl.h>
359 * configure: Regenerate.
360 * config.h.in: Likewise.
362 2008-09-05 Janis Johnson <janis187@us.ibm.com>
364 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
366 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
368 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
369 * Makefile.in: Regenerated.
370 * testsuite/Makefile.in: Regenerated.
372 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
374 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
375 depend on blddir if blddir exists.
376 (libgomp_target_compile): Likewise.
377 * testsuite/libgomp.c++/c++.exp: Likewise.
378 * testsuite/libgomp.fortran/fortran.exp: Likewise.
380 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
382 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
383 Do not list GPL as Invariant Section.
385 2008-07-28 Ilie Garbacea <ilie@mips.com>
386 Chao-ying Fu <fu@mips.com>
388 * configure.tgt: Enable futex for MIPS.
389 * config/linux/mips/futex.h: New file.
391 2008-07-16 Jakub Jelinek <jakub@redhat.com>
393 * team.c (gomp_team_end): Free team immediately if it has
396 2008-07-08 David Edelsohn <edelsohn@gnu.org>
398 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
399 * testsuite/libgomp.fortran/fortran.exp: Same.
400 * testsuite/libgomp.c/c.exp: Same.
401 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
402 directory to library path first.
404 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
406 * env.c (parse_stacksize): Add cast to avoid warning.
407 (parse_spincount): Likewise.
409 2008-06-27 Jakub Jelinek <jakub@redhat.com>
411 * testsuite/libgomp.c/loop-10.c: New test.
412 * libgomp.c/loop-3.c (main): Add lastprivate clause.
413 * libgomp.c++/loop-6.C (main): Likewise.
416 * testsuite/libgomp.c/debug-1.c: New test.
418 2008-06-19 Jakub Jelinek <jakub@redhat.com>
420 * testsuite/libgomp.c/nqueens-1.c: New test.
423 * testsuite/libgomp.c++/task-7.C: New function.
425 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
427 * configure: Regenerate.
429 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
431 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
432 mutex when HAVE_SYNC_BUILTINS isn't defined.
434 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
436 * libgomp.texi (omp_test_lock): Fix typo.
438 2008-06-12 Tobias Burnus <burnus@net-b.de>
440 * omp_lib.f90.in: Add "implicit none".
442 2008-06-12 Jakub Jelinek <jakub@redhat.com>
445 * testsuite/libgomp.c/reduction-5.c: New test.
447 2008-06-11 Jakub Jelinek <jakub@redhat.com>
449 * libgomp.h (struct gomp_task): Add in_tied_task field.
450 * task.c (gomp_init_task): Initialize it.
451 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
452 unconditionally. Don't call gomp_team_barrier_wake if
453 current task is implicit or if(0) from implicit and number of
454 running tasks is equal to nthreads - 1.
457 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
458 omp_get_team_size_8): Fix pastos.
461 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
462 * configure: Regenerated.
463 * config.h.in: Regenerated.
464 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
467 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
470 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
471 (GOMP_loop_ull_dynamic_start): Likewise.
472 (GOMP_loop_ull_guided_start): Likewise.
473 (GOMP_loop_ull_ordered_static_start): Likewise.
474 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
475 (GOMP_loop_ull_ordered_guided_start): Likewise.
477 2008-06-06 Jakub Jelinek <jakub@redhat.com>
478 Richard Henderson <rth@redhat.com>
479 Ulrich Drepper <drepper@redhat.com>
480 Jakob Blomer <jakob.blomer@ira.uka.de>
482 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
483 Substitute also OMP_*LOCK_25*.
484 * configure: Regenerated.
485 * config.h.in: Regenerated.
486 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
487 ptrlock.c and task.c.
488 * Makefile.in: Regenerated.
489 * testsuite/Makefile.in: Regenerated.
491 * loop_ull.c: New file.
492 * iter_ull.c: New file.
493 * libgomp.h: Include ptrlock.h.
494 (enum gomp_task_kind): New type.
495 (struct gomp_team): Add task_lock, task_queue, task_count,
496 task_running_count, single_count fields. Add
497 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
498 Remove work_share_lock, generation_mask,
499 oldest_live_gen, num_live_gen and init_work_shares fields, add
500 work work_share_list_alloc, work_share_list_free and work_share_chunk
501 fields. Change work_shares from pointer to pointers into an array.
502 Change ordered_release field into gomp_sem_t ** from flexible array
503 member. Add implicit_task and initial_work_shares fields.
504 Move close to the end of the struct.
505 (struct gomp_team_state): Add single_count, last_work_share,
506 active_level and level fields, remove work_share_generation.
507 (gomp_barrier_handle_tasks): New prototype.
508 (gomp_finish_task): New inline function.
509 (struct gomp_work_share): Move chunk_size, end, incr into
510 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
511 next_ll fields. Reshuffle fields. Add next_alloc,
512 next_ws, next_free and inline_ordered_team_ids fields, change
513 ordered_team_ids into pointer from flexible array member.
514 Add mode field. Put lock and next into a different cache line
515 from most of the write-once fields.
516 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
517 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
518 gomp_iter_ull_guided_next): New prototypes.
519 (gomp_new_icv): New prototype.
520 (struct gomp_thread): Add thread_pool and task fields.
521 (struct gomp_thread_pool): New type.
522 (gomp_new_team): New prototype.
523 (gomp_team_start): Change type of last argument.
524 (gomp_new_work_share): Removed.
525 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
526 (gomp_work_share_init_done): New static inline.
527 (gomp_throttled_spin_count_var, gomp_available_cpus,
528 gomp_managed_threads): New extern decls.
529 (gomp_init_task): New prototype.
530 (gomp_spin_count_var): New extern var decl.
531 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
532 or no alias support, or if not PIC.
533 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
534 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
535 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
536 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
537 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
538 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
539 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
540 gomp_test_nest_lock_25): New prototypes.
541 (omp_lock_symver, strong_alias): Define.
542 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
544 (gomp_end_task): New.
545 (struct gomp_task_icv, gomp_global_icv): New.
546 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
547 (struct gomp_task): New.
548 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
549 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
551 (gomp_schedule_type): Reorder enum to match
553 * team.c (struct gomp_thread_start_data): Add thread_pool and task
555 (gomp_thread_start): Add gomp_team_barrier_wait call.
556 For non-nested case remove clearing of docked thread thr fields.
557 Use pool fields instead of global gomp_* variables. Use
558 gomp_barrier_wait_last when needed. Initialize ts.active_level.
559 Create tasks for each member thread.
560 (free_team): Only destroy team barrier, task_lock here and free it.
561 (gomp_free_thread): Free last_team if non-NULL.
562 (gomp_team_end): Call gomp_team_barrier_wait instead of
563 gomp_barrier_wait. For nested case call one extra
564 gomp_barrier_wait. Move here some destruction from free_team.
565 Call free_team on pool->last_team if any, rather than freeing
566 current team. Destroy work_share_list_free_lock ifndef
568 (gomp_new_icv): New function.
569 (gomp_threads, gomp_threads_size, gomp_threads_used,
570 gomp_threads_dock): Removed.
571 (gomp_thread_destructor): New variable.
572 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
574 (gomp_team_start): Create new pool if current thread doesn't have
575 one. Use pool fields instead of global gomp_* variables.
576 Initialize thread_pool field for new threads. Clear single_count.
577 Change last argument from ws to team, don't create
578 new team, set ts.work_share to &team->work_shares[0] and clear
579 ts.last_work_share. Don't clear ts.work_share_generation.
580 If number of threads changed, adjust atomically gomp_managed_threads.
581 Use gomp_init_task instead of gomp_new_task,
582 set thr->task to the corresponding implicit_task array entry.
583 Create tasks for each member thread. Initialize ts.level.
584 (initialize_team): Call pthread_key_create on
585 gomp_thread_destructor.
586 (team_destructor): New function.
588 (gomp_new_team): New function.
589 (free_team): Free gomp_work_share blocks chained through next_alloc,
590 instead of freeing work_shares and destroying work_share_lock.
591 (gomp_team_end): Call gomp_fini_work_share. If number of threads
592 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
593 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
594 of gomp_barrier_wait.
595 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
596 instead of gomp_barrier_wait. Call gomp_work_share_init_done
597 if gomp_work_share_start returned true. Don't unlock ws->lock.
598 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
599 of gomp_barrier_wait.
600 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
601 gomp_work_share_init_done if gomp_work_share_start returned true.
602 Don't unlock ws->lock.
603 * work.c: Include stddef.h.
604 (free_work_share): Use work_share_list_free_lock instead
605 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
606 Call gomp_fini_work_share and then either free ws if orphaned, or
607 put it into work_share_list_free list of the current team.
608 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
610 (gomp_work_share_start, gomp_work_share_end,
611 gomp_work_share_end_nowait): Rewritten.
612 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
613 (openmp_version): Set to 200805.
614 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
615 omp_sched_guided, omp_sched_auto): New parameters.
616 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
617 omp_set_max_active_levels, omp_get_max_active_levels,
618 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
619 omp_get_active_level): New interfaces.
620 * omp_lib.h.in (openmp_version): Set to 200805.
621 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
622 omp_sched_guided, omp_sched_auto): New parameters.
623 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
624 omp_set_max_active_levels, omp_get_max_active_levels,
625 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
626 omp_get_active_level): New externals.
627 * loop.c: Include limits.h.
628 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
630 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
631 Likewise. Use gomp_icv.
632 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
634 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
635 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
636 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
637 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
638 don't unlock ws->lock, otherwise lock it.
639 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
640 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
641 (gomp_parallel_loop_start): Call gomp_new_team instead of
642 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
643 Adjust gomp_team_start caller. Pass 0 as second argument to
644 gomp_resolve_num_threads.
645 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
646 If adding ws->chunk_size nthreads + 1 times after end won't
647 overflow, set ws->mode to 1.
648 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
649 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
650 GOMP_loop_ull_ordered_static_start,
651 GOMP_loop_ull_ordered_dynamic_start,
652 GOMP_loop_ull_ordered_guided_start,
653 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
654 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
655 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
656 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
657 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
659 * libgomp.map: Export lock routines also @@OMP_2.0.
660 (GOMP_loop_ordered_dynamic_first,
661 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
662 GOMP_loop_ordered_static_first): Remove.
663 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
664 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
665 GOMP_loop_ull_ordered_dynamic_next,
666 GOMP_loop_ull_ordered_dynamic_start,
667 GOMP_loop_ull_ordered_guided_next,
668 GOMP_loop_ull_ordered_guided_start,
669 GOMP_loop_ull_ordered_runtime_next,
670 GOMP_loop_ull_ordered_runtime_start,
671 GOMP_loop_ull_ordered_static_next,
672 GOMP_loop_ull_ordered_static_start,
673 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
674 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
675 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
676 (omp_set_schedule, omp_get_schedule,
677 omp_get_thread_limit, omp_set_max_active_levels,
678 omp_get_max_active_levels, omp_get_level,
679 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
680 omp_set_schedule_, omp_set_schedule_8_,
681 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
682 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
683 omp_get_max_active_levels_, omp_get_level_,
684 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
685 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
686 New exports @@OMP_3.0.
687 * omp.h.in (omp_sched_t): New type.
688 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
689 omp_set_max_active_levels, omp_get_max_active_levels,
690 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
691 omp_get_active_level): New prototypes.
692 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
693 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
694 gomp_thread_limit_var, gomp_remaining_threads_count,
695 gomp_remaining_threads_lock): New variables.
696 (parse_spincount): New function.
697 (initialize_env): Call gomp_init_num_threads unconditionally.
698 Initialize gomp_available_cpus. Call parse_spincount,
699 initialize gomp_{,throttled_}spin_count_var
700 depending on presence and value of OMP_WAIT_POLICY and
701 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
702 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
703 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
704 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
705 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
706 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
707 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
708 (gomp_global_icv): New.
709 (parse_schedule): Use it. Parse "auto".
710 (omp_set_num_threads): Use gomp_icv.
711 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
713 (omp_get_max_threads): Move from parallel.c.
714 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
715 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
717 (parse_stacksize, parse_wait_policy): New functions.
718 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
719 both wrappers for compatibility and new locks.
720 (omp_set_schedule, omp_get_schedule,
721 omp_get_thread_limit, omp_set_max_active_levels,
722 omp_get_max_active_levels, omp_get_level,
723 omp_get_ancestor_thread_num, omp_get_team_size,
724 omp_get_active_level): New ialias_redirect.
725 (omp_set_schedule_, omp_set_schedule_8_,
726 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
727 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
728 omp_get_max_active_levels_, omp_get_level_,
729 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
730 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
732 * parallel.c: Include limits.h.
733 (gomp_resolve_num_threads): Add count argument. Rewritten.
734 (GOMP_parallel_start): Call gomp_new_team and pass that as last
735 argument to gomp_team_start. Pass 0 as second argument to
736 gomp_resolve_num_threads.
737 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
738 if gomp_thread_limit_var != ULONG_MAX.
739 (omp_in_parallel): Implement using ts.active_level.
740 (omp_get_max_threads): Move to env.c.
741 (omp_get_level, omp_get_ancestor_thread_num,
742 omp_get_team_size, omp_get_active_level): New functions,
744 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
745 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
746 gomp_iter_dynamic_next instead of the _locked variant and don't take
747 lock around it, otherwise acquire it before calling
748 gomp_iter_dynamic_next_locked.
749 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
750 gomp_iter_dynamic_next instead of the _locked variant and don't take
752 (GOMP_parallel_sections_start): Call gomp_new_team instead of
753 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
754 Adjust gomp_team_start caller. Pass count as second argument to
755 gomp_resolve_num_threads, don't adjust num_threads after the call.
757 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
758 ws->chunk_size by incr.
759 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
761 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
763 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
764 (omp_check_defines): Check even the compat defines.
765 * config/linux/ptrlock.c: New file.
766 * config/linux/ptrlock.h: New file.
767 * config/linux/wait.h: New file.
768 * config/posix/ptrlock.c: New file.
769 * config/posix/ptrlock.h: New file.
770 * config/linux/bar.h (gomp_team_barrier_wait,
771 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
772 (gomp_team_barrier_set_task_pending,
773 gomp_team_barrier_clear_task_pending,
774 gomp_team_barrier_set_waiting_for_tasks,
775 gomp_team_barrier_waiting_for_tasks,
776 gomp_team_barrier_done): New inlines.
777 (gomp_barrier_t): Rewritten.
778 (gomp_barrier_state_t): New typedef.
779 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
780 gomp_barrier_wait_start): Rewritten.
781 (gomp_barrier_wait_end): Change second argument to
782 gomp_barrier_state_t.
783 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
785 * config/linux/bar.c: Include wait.h instead of libgomp.h and
787 (gomp_barrier_wait_end): Rewritten.
788 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
789 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
790 * config/posix/bar.h (gomp_barrier_t): Add generation field.
791 (gomp_barrier_state_t): New typedef.
792 (gomp_team_barrier_wait,
793 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
794 (gomp_barrier_wait_start): Or all but low 2 bits from generation
795 into the return value. Return gomp_barrier_state_t.
796 (gomp_team_barrier_set_task_pending,
797 gomp_team_barrier_clear_task_pending,
798 gomp_team_barrier_set_waiting_for_tasks,
799 gomp_team_barrier_waiting_for_tasks,
800 gomp_team_barrier_done): New inlines.
801 (gomp_barrier_wait_end): Change second argument to
802 gomp_barrier_state_t.
803 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
805 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
806 (gomp_barrier_wait_end): Change second argument to
807 gomp_barrier_state_t.
808 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
809 gomp_team_barrier_wake): New functions.
810 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
812 (gomp_futex_wake, gomp_futex_wait): New variables.
813 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
814 * config/linux/lock.c: Rewrite to make locks task owned,
815 for backwards compatibility provide the old entrypoints
816 if symbol versioning. Include wait.h instead of libgomp.h and
818 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
819 * config/posix95/lock.c: Rewrite to make locks task owned,
820 for backwards compatibility provide the old entrypoints
821 if symbol versioning.
822 * config/posix/lock.c: Rewrite to make locks task owned,
823 for backwards compatibility provide the old entrypoints
824 if symbol versioning.
825 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
826 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
827 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
828 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
829 (sys_futex0): Return error code.
830 (futex_wake, futex_wait): If ENOSYS was returned, clear
831 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
832 (cpu_relax, atomic_write_barrier): New static inlines.
833 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
834 (futex_wake, futex_wait): If ENOSYS was returned, clear
835 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
836 (cpu_relax, atomic_write_barrier): New static inlines.
837 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
838 (sys_futex0): Return error code.
839 (futex_wake, futex_wait): If ENOSYS was returned, clear
840 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
841 (cpu_relax, atomic_write_barrier): New static inlines.
842 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
843 (sys_futex0): Return error code.
844 (futex_wake, futex_wait): If ENOSYS was returned, clear
845 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
846 (cpu_relax, atomic_write_barrier): New static inlines.
847 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
848 (sys_futex0): Return error code.
849 (futex_wake, futex_wait): If ENOSYS was returned, clear
850 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
851 (cpu_relax, atomic_write_barrier): New static inlines.
852 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
853 (sys_futex0): Return error code.
854 (futex_wake, futex_wait): If ENOSYS was returned, clear
855 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
856 (cpu_relax, atomic_write_barrier): New static inlines.
857 * config/linux/sem.c: Include wait.h instead of libgomp.h and
859 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
860 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
861 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
863 (omp_nest_lock_t): Change owner into void *, add lock field.
864 * config/posix95/omp-lock.h: Include semaphore.h.
865 (omp_lock_25_t, omp_nest_lock_25_t): New types.
866 (omp_lock_t): Use sem_t instead of mutex if semaphores
868 (omp_nest_lock_t): Likewise. Change owner to void *.
869 * config/posix/omp-lock.h: Include semaphore.h.
870 (omp_lock_25_t, omp_nest_lock_25_t): New types.
871 (omp_lock_t): Use sem_t instead of mutex if semaphores
873 (omp_nest_lock_t): Likewise. Add owner field.
875 2008-06-06 Jakub Jelinek <jakub@redhat.com>
877 * testsuite/libgomp.c/collapse-1.c: New test.
878 * testsuite/libgomp.c/collapse-2.c: New test.
879 * testsuite/libgomp.c/collapse-3.c: New test.
880 * testsuite/libgomp.c/icv-1.c: New test.
881 * testsuite/libgomp.c/icv-2.c: New test.
882 * testsuite/libgomp.c/lib-2.c: New test.
883 * testsuite/libgomp.c/lock-1.c: New test.
884 * testsuite/libgomp.c/lock-2.c: New test.
885 * testsuite/libgomp.c/lock-3.c: New test.
886 * testsuite/libgomp.c/loop-4.c: New test.
887 * testsuite/libgomp.c/loop-5.c: New test.
888 * testsuite/libgomp.c/loop-6.c: New test.
889 * testsuite/libgomp.c/loop-7.c: New test.
890 * testsuite/libgomp.c/loop-8.c: New test.
891 * testsuite/libgomp.c/loop-9.c: New test.
892 * testsuite/libgomp.c/nested-3.c: New test.
893 * testsuite/libgomp.c/nestedfn-6.c: New test.
894 * testsuite/libgomp.c/sort-1.c: New test.
895 * testsuite/libgomp.c/task-1.c: New test.
896 * testsuite/libgomp.c/task-2.c: New test.
897 * testsuite/libgomp.c/task-3.c: New test.
898 * testsuite/libgomp.c/task-4.c: New test.
899 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
900 to C++ testsuite default compiler options.
901 * testsuite/libgomp.c++/collapse-1.C: New test.
902 * testsuite/libgomp.c++/collapse-2.C: New test.
903 * testsuite/libgomp.c++/ctor-10.C: New test.
904 * testsuite/libgomp.c++/for-1.C: New test.
905 * testsuite/libgomp.c++/for-2.C: New test.
906 * testsuite/libgomp.c++/for-3.C: New test.
907 * testsuite/libgomp.c++/for-4.C: New test.
908 * testsuite/libgomp.c++/for-5.C: New test.
909 * testsuite/libgomp.c++/loop-8.C: New test.
910 * testsuite/libgomp.c++/loop-9.C: New test.
911 * testsuite/libgomp.c++/loop-10.C: New test.
912 * testsuite/libgomp.c++/task-1.C: New test.
913 * testsuite/libgomp.c++/task-2.C: New test.
914 * testsuite/libgomp.c++/task-3.C: New test.
915 * testsuite/libgomp.c++/task-4.C: New test.
916 * testsuite/libgomp.c++/task-5.C: New test.
917 * testsuite/libgomp.c++/task-6.C: New test.
918 * testsuite/libgomp.fortran/allocatable1.f90: New test.
919 * testsuite/libgomp.fortran/allocatable2.f90: New test.
920 * testsuite/libgomp.fortran/allocatable3.f90: New test.
921 * testsuite/libgomp.fortran/allocatable4.f90: New test.
922 * testsuite/libgomp.fortran/collapse1.f90: New test.
923 * testsuite/libgomp.fortran/collapse2.f90: New test.
924 * testsuite/libgomp.fortran/collapse3.f90: New test.
925 * testsuite/libgomp.fortran/collapse4.f90: New test.
926 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
927 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
928 * testsuite/libgomp.fortran/lib4.f90: New test.
929 * testsuite/libgomp.fortran/lock-1.f90: New test.
930 * testsuite/libgomp.fortran/lock-2.f90: New test.
931 * testsuite/libgomp.fortran/nested1.f90: New test.
932 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
933 * testsuite/libgomp.fortran/strassen.f90: New test.
934 * testsuite/libgomp.fortran/tabs1.f90: New test.
935 * testsuite/libgomp.fortran/tabs2.f: New test.
936 * testsuite/libgomp.fortran/task1.f90: New test.
937 * testsuite/libgomp.fortran/task2.f90: New test.
938 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
939 * testsuite/libgomp.fortran/vla5.f90: Likewise.
940 * testsuite/libgomp.c/pr26943-2.c: Likewise.
941 * testsuite/libgomp.c/pr26943-3.c: Likewise.
942 * testsuite/libgomp.c/pr26943-4.c: Likewise.
944 2008-05-23 Jakub Jelinek <jakub@redhat.com>
947 * testsuite/libgomp.c++/ctor-11.C: New test.
948 * testsuite/libgomp.c++/ctor-12.C: New test.
950 2008-05-15 Janis Johnson <janis187@us.ibm.com>
952 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
954 2008-05-07 Jakub Jelinek <jakub@redhat.com>
957 * testsuite/libgomp.c/atomic-5.c: New test.
958 * testsuite/libgomp.c/atomic-6.c: New test.
959 * testsuite/libgomp.c/autopar-1.c: New test.
961 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
963 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
964 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
965 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
966 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
967 * configure: Regenerate.
968 * Makefile.in, testsuite/Makefile.in: Likewise.
970 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
973 * aclocal.m4: Regenerate.
974 * configure: Regenerate.
976 2008-03-18 Jakub Jelinek <jakub@redhat.com>
979 * testsuite/libgomp.c/atomic-4.c: New test.
982 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
983 (gomp_iter_guided_next): Likewise.
984 * testsuite/libgomp.c/pr35625.c: New test.
986 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
988 * aclocal.m4: Regenerate.
989 * configure: Likewise.
990 * Makefile.in: Likewise.
991 * testsuite/Makefile.in: Likewise.
993 2008-03-13 Jakub Jelinek <jakub@redhat.com>
996 * testsuite/libgomp.c++/pr35185.C: New test.
998 2008-03-12 Jakub Jelinek <jakub@redhat.com>
1001 * testsuite/libgomp.c/pr35549.c: New test.
1003 2008-03-06 Jakub Jelinek <jakub@redhat.com>
1005 * testsuite/libgomp.c/atomic-3.c: New test.
1007 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1010 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
1013 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
1016 * configure.ac: Add ACX_HEADER_STRING.
1017 * env.c: Include strings.h.
1018 * aclocal.m4: Regenerate.
1019 * config.h.in: Regenerate.
1020 * configure: Regenerate.
1021 * Makefile.in: Regenerate.
1022 * testsuite/Makefile.in: Regenerate.
1024 2008-02-15 Jakub Jelinek <jakub@redhat.com>
1027 * testsuite/libgomp.c/pr35196.c: New test.
1030 * testsuite/libgomp.fortran/pr35130.f90: New test.
1031 * testsuite/libgomp.c/pr35130.c: New test.
1033 2008-01-25 Jakub Jelinek <jakub@redhat.com>
1036 * testsuite/libgomp.c/pr33880.c: New test.
1037 * testsuite/libgomp.fortran/pr33880.f90: New test.
1039 2008-01-24 David Edelsohn <edelsohn@gnu.org>
1041 * configure: Regenerate.
1043 2008-01-08 Jakub Jelinek <jakub@redhat.com>
1045 * configure.ac: Move futex checking into ../config/futex.m4.
1046 * configure: Rebuilt.
1047 * aclocal.m4: Rebuilt.
1048 * Makefile.in: Rebuilt.
1050 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
1051 2007-10-15 ../config/tls.m4 change.
1053 2007-12-19 Jakub Jelinek <jakub@redhat.com>
1056 * testsuite/libgomp.c/pr34513.c: New test.
1057 * testsuite/libgomp.c++/pr34513.C: New test.
1059 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
1062 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
1064 2007-12-04 Jakub Jelinek <jakub@redhat.com>
1066 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
1068 2007-12-03 Jakub Jelinek <jakub@redhat.com>
1070 * testsuite/libgomp.c/private-1.c: New test.
1072 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
1073 Paolo Bonzini <bonzini@gnu.org>
1075 * Makefile.am: Use space as vpath separator. Use 'vpath %'
1076 instead of 'VPATH ='.
1077 * Makefile.in: Regenerate.
1079 2007-11-23 Matthias Klose <doko@ubuntu.com>
1081 * configure.ac: Adjust makeinfo version check.
1082 * configure: Regenerate.
1084 2007-11-10 Jakub Jelinek <jakub@redhat.com>
1087 * testsuite/libgomp.fortran/pr34020.f90: New test.
1089 2007-11-06 Jakub Jelinek <jakub@redhat.com>
1092 * testsuite/libgomp.c++/atomic-1.C: New test.
1094 2007-10-25 Jakub Jelinek <jakub@redhat.com>
1097 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
1098 Make x and y integers rather than (implicit) reals. Add private (j)
1099 clause to the last omp parallel.
1101 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
1103 * configure: Regenerate following changes to ../config/tls.m4.
1105 2007-09-28 Jakub Jelinek <jakub@redhat.com>
1107 * testsuite/libgomp.fortran/stack.f90: New test.
1109 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
1111 * config/mingw32/proc.c: New file.
1113 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
1115 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
1116 (main): Use __get_cpuid to get i386 target fetaures.
1117 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
1118 (main): Use __get_cpuid to get x86_64 target fetaures.
1120 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
1123 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
1124 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
1126 2007-07-12 Jakub Jelinek <jakub@redhat.com>
1129 * testsuite/libgomp.fortran/pr32550.f90: New test.
1130 * testsuite/libgomp.fortran/crayptr2.f90: New test.
1132 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
1134 * aclocal.m4: Regenerated.
1136 2007-07-05 Tobias Burnus <burnus@net-b.de>
1139 * testsuite/libgomp.fortran/pr32359.f90: New.
1141 2007-07-02 Jakub Jelinek <jakub@redhat.com>
1144 * sections.c (GOMP_parallel_sections_start): Only decrease
1145 number of threads to COUNT if dyn_var is true.
1146 * testsuite/libgomp.c/pr32468.c: New test.
1148 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1151 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
1153 2007-06-21 Jakub Jelinek <jakub@redhat.com>
1156 * testsuite/libgomp.c/pr32362-1.c: New test.
1157 * testsuite/libgomp.c/pr32362-2.c: New test.
1158 * testsuite/libgomp.c/pr32362-3.c: New test.
1160 2007-06-07 Jakub Jelinek <jakub@redhat.com>
1162 * team.c (gomp_team_start): Fix setting up thread_attr
1165 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
1167 * configure: Regenerate.
1169 2007-05-23 Steve Ellcey <sje@cup.hp.com>
1171 * Makefile.in: Regenerate.
1172 * configure: Regenerate.
1173 * aclocal.m4: Regenerate.
1174 * testsuite/Makefile.in: Regenerate.
1176 2007-05-04 Jakub Jelinek <jakub@redhat.com>
1178 * config/linux/proc.c: New file.
1181 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
1183 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
1185 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
1187 2007-04-16 Matthias Klose <doko@debian.org>
1189 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
1190 flags if not building with -m64.
1191 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
1192 flag for i?86-*-* targets, if current target matches -m64.
1194 2007-04-14 Steve Ellcey <sje@cup.hp.com>
1196 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
1197 * Makefile.in: Regenerate.
1199 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1202 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
1204 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1206 2007-04-04 Jakub Jelinek <jakub@redhat.com>
1208 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
1210 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
1211 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
1212 (parse_affinity): New function.
1213 (initialize_env): Call it and gomp_init_affinity.
1214 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
1215 create new pthread_attr_t and call gomp_init_thread_affinity
1216 on it for each thread before passing the attribute to pthread_create.
1217 * config/linux/affinity.c: New file.
1218 * config/posix/affinity.c: New file.
1219 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
1220 * configure: Rebuilt.
1221 * config.h.in: Rebuilt.
1222 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
1223 * Makefile.in: Rebuilt.
1225 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
1227 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
1229 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
1230 and use it if found.
1232 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
1234 * testsuite/config/default.exp: New file.
1235 * testsuite/lib/libgomp.exp: New file.
1236 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
1237 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
1238 load_lib *, load_gcc_lib *): Move to libgomp.exp.
1239 (libgomp_load): Remove.
1240 * testsuite/lib/libgomp.exp (libgomp_init): Compute
1241 always_ld_library_path, not ld_library_path. Set additional_flags
1242 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
1243 (target_compile): Do not call libgomp_init. Append lang_library_path
1244 and lang_link_flags to options.
1245 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
1246 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
1248 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
1249 always_ld_library_path. Set LD_LIBRARY_PATH here.
1250 * testsuite/libgomp.fortran/fortran.exp: Ditto.
1251 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
1252 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
1254 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
1255 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
1256 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
1257 * testsuite/libgomp.c/pr29947-1.c: Ditto.
1258 * testsuite/libgomp.c/atomic-10.c: Ditto.
1260 2007-03-21 Jakub Jelinek <jakub@redhat.com>
1262 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
1263 dg-final cleanup-modules line.
1264 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
1265 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
1266 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
1267 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1268 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1269 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1270 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1272 2007-03-18 Andreas Schwab <schwab@suse.de>
1274 * acinclude.m4: Adjust regular expression for ld version
1276 * configure: Regenerate.
1278 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
1280 * Makefile.am: Add install-pdf target as copied from
1281 automake v1.10 rules.
1282 * Makefile.in: Regenerate
1284 2007-02-07 Jakub Jelinek <jakub@redhat.com>
1287 * configure: Regenerate.
1290 * testsuite/libgomp.c++/pr30703.C: New test.
1292 2007-02-02 Jakub Jelinek <jakub@redhat.com>
1295 2006-07-05 Eric Christopher <echristo@apple.com>
1296 * configure.ac: Depend addition of -pthread on host OS.
1297 * configure: Regenerate.
1299 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1301 * libgomp.texi: Fix spacing after abbreviations.
1303 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
1306 * configure.ac: Add check for makeinfo
1307 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
1308 if an appropiate version of makeinfo is found.
1309 * aclocal.m4: Regenerated.
1310 * configure: Regenerated.
1311 * Makefile.in: Regenerated.
1312 * testsuite/Makefile.in: Regenerated.
1314 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
1317 * libgomp.texi: More about implementation-dependent settings.
1319 2007-01-26 Tobias Burnus <burnus@net-b.de>
1321 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
1323 2007-01-24 Jakub Jelinek <jakub@redhat.com>
1326 * testsuite/libgomp.c/pr30494.c: New test.
1328 2007-01-15 Tom Tromey <tromey@redhat.com>
1330 * configure: Rebuilt.
1331 * configure.ac: Fixed comment.
1333 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
1335 * libgomp.texi: Document implementation specific default values of
1336 environment variables.
1338 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
1341 * libgomp.texi: New file.
1342 * configure.ac: Add --enable-generated-files-in-srcdir option.
1343 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
1345 * Makefile.in: Regenerated.
1346 * config.h.in: Regenerated.
1347 * testsuite/Makefile.in: Regenerated.
1350 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
1353 * env.c (omp_set_num_threads): Set illegal thread count to 1.
1355 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1357 * configure: Regenerate.
1359 2006-12-04 Jakub Jelinek <jakub@redhat.com>
1362 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
1363 start if there shouldn't be any loop iterations.
1364 (gomp_loop_ordered_static_start): Remove start == end test.
1365 * testsuite/libgomp.c/pr29947-1.c: New test.
1366 * testsuite/libgomp.c/pr29947-2.c: New test.
1368 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1370 * configure.tgt: Force initial-exec TLS model on Linux only.
1372 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
1374 * configure: Regenerated.
1376 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
1378 * env.c (parse_schedule): Reject out of range values.
1379 (parse_unsigned_long): Reject out of range, negative or zero values.
1381 2006-10-29 Jakub Jelinek <jakub@redhat.com>
1384 * testsuite/libgomp.fortran/pr29629.f90: New test.
1386 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
1389 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
1390 * config/posix95: New directory.
1391 * config/posix95/omp-lock.h: New file.
1392 * config/posix95/lock.c: Likewise.
1394 2006-10-14 Geoffrey Keating <geoffk@apple.com>
1396 * aclocal.m4: Regenerate.
1397 * configure: Regenerate.
1399 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
1401 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
1404 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
1406 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
1408 * configure: Regenerate.
1409 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
1411 2006-09-26 Jakub Jelinek <jakub@redhat.com>
1415 * testsuite/libgomp.c/nestedfn-4.c: New test.
1416 * testsuite/libgomp.c/nestedfn-5.c: New test.
1417 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
1420 * testsuite/libgomp.fortran/condinc1.f: New test.
1421 * testsuite/libgomp.fortran/condinc2.f: New test.
1422 * testsuite/libgomp.fortran/condinc3.f90: New test.
1423 * testsuite/libgomp.fortran/condinc4.f90: New test.
1424 * testsuite/libgomp.fortran/condinc1.inc: New file.
1426 2006-09-18 Tom Tromey <tromey@redhat.com>
1428 * configure: Rebuilt.
1430 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
1433 PR preprocessor/14634
1434 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
1436 * configure: Regenerate.
1438 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
1440 * testsuite/libgomp.fortran/reduction3.f90: Change
1441 -2147483648 to -huge(i)-1 to avoid overflow.
1442 * testsuite/libgomp.fortran/reduction4.f90: Change
1443 Z'ffffffff' to not(0) to avoid overflow.
1445 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
1448 * Makefile.am (libsubincludedir): New.
1449 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
1450 * Makefile.in: Regenerate.
1452 2006-08-17 Jakub Jelinek <jakub@redhat.com>
1455 * env.c: Include ctype.h.
1456 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
1457 leading and/or trailing whitespace and compare strings case
1460 2006-07-16 Jakub Jelinek <jakub@redhat.com>
1463 * testsuite/libgomp.fortran/pr28390.f: New test.
1465 2006-07-05 Eric Christopher <echristo@apple.com>
1467 * configure.ac: Depend addition of -pthread on host OS.
1468 * configure: Regenerate.
1470 2006-06-21 Jakub Jelinek <jakub@redhat.com>
1472 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
1473 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
1476 2006-06-20 Jakub Jelinek <jakub@redhat.com>
1480 * configure.ac: If neither --enable-linux-futex nor
1481 --disable-linux-futex is passed, determine the default by checking
1482 for compiling and/or running against NPTL. With --enable-linux-futex,
1483 check if SYS_gettid and SYS_futex are defined.
1484 * configure: Rebuilt.
1486 2006-06-14 Richard Henderson <rth@redhat.com>
1489 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
1490 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
1492 2006-06-09 Richard Henderson <rth@redhat.com>
1494 * env.c (gomp_nthreads_var): Change to unsigned long.
1495 (gomp_run_sched_chunk): Likewise.
1496 (parse_unsigned_long): Rename from parse_num_threads and generalize.
1497 (initialize_env): Initialize gomp_thread_attr.
1498 * libgomp.h (gomp_nthreads_var): Update decl.
1499 (gomp_run_sched_chunk): Likewise.
1500 (gomp_thread_attr): Declare.
1501 * team.c (gomp_thread_attr): Export.
1502 (initialize_team): Don't initialize it.
1504 2006-06-09 Jakub Jelinek <jakub@redhat.com>
1507 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
1508 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
1510 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1512 * config/mingw32/time.c: New file.
1513 * configure.tgt: Use it.
1515 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
1517 * Makefile.am: Add install-html target. Add install-html to .PHONY
1518 * Makefile.in: Regenerate.
1520 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1523 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
1524 * testsuite/libgomp.c/critical-1.c: Likewise.
1525 * testsuite/libgomp.c/loop-1.c: Likewise.
1526 * testsuite/libgomp.c/loop-2.c: Likewise.
1527 * testsuite/libgomp.c/single-1.c: Likewise.
1528 * testsuite/libgomp.c/ordered-1.c: Likewise.
1529 * testsuite/libgomp.c/ordered-2.c: Likewise.
1531 2006-05-15 Jakub Jelinek <jakub@redhat.com>
1534 * libgomp.fortran/pr27416-1.f90: New test.
1536 2006-05-03 Jakub Jelinek <jakub@redhat.com>
1539 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
1540 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
1542 2006-05-02 Jakub Jelinek <jakub@redhat.com>
1545 * testsuite/libgomp.c/pr26943-1.c: New test.
1546 * testsuite/libgomp.c/pr26943-2.c: New test.
1547 * testsuite/libgomp.c/pr26943-3.c: New test.
1548 * testsuite/libgomp.c/pr26943-4.c: New test.
1549 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
1550 * testsuite/libgomp.c++/pr26943.C: New test.
1552 2006-05-02 Jakub Jelinek <jakub@redhat.com>
1555 * testsuite/libgomp.c++/pr27337.C: New test.
1557 2006-04-26 Jakub Jelinek <jakub@redhat.com>
1560 * testsuite/libgomp.c/pr26171.c: New test.
1562 2006-04-25 Richard Henderson <rth@redhat.com>
1565 * configure.ac: Use GCC_CHECK_TLS.
1566 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
1567 * Makefile.in, aclocal.m4, configure: Regenerate.
1569 2006-04-10 Matthias Klose <doko@debian.org>
1571 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
1572 directory names containing underscores.
1574 2006-03-21 Jakub Jelinek <jakub@redhat.com>
1577 * testsuite/libgomp.c++/pr26691.C: New test.
1579 2006-03-13 Jakub Jelinek <jakub@redhat.com>
1581 * testsuite/libgomp.fortran/retval2.f90: New test.
1583 2006-03-09 Diego Novillo <dnovillo@redhat.com>
1585 * testsuite/libgomp.c++: New directory.
1587 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
1589 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
1590 * config/posix/sem.c: Implement the above.
1592 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
1594 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
1595 define HAVE_BROKEN_POSIX_SEMAPHORES.
1596 * configure: Rebuilt.
1597 * config.h.in: Rebuilt.
1599 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1602 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
1603 for the other pthread check.
1604 * configure: Regenerate.
1605 * config.h.in: Regenerate.
1607 2006-02-15 Jakub Jelinek <jakub@redhat.com>
1611 * Makefile.am (fincludedir): New variable.
1612 (nodist_include_HEADERS): Remove Fortran files.
1613 (nodist_finclude_HEADERS): New variable.
1614 * Makefile.in: Regenerated.
1616 2006-02-13 Jakub Jelinek <jakub@redhat.com>
1618 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
1619 Remove tests for returning assumed character length arrays.
1621 2006-02-12 Roger Sayle <roger@eyesopen.com>
1622 John David Anglin <dave@hiauly1.hia.nrc.ca>
1625 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
1627 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
1629 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
1631 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1633 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
1634 part of LD_LIBRARY_PATH manually.
1636 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
1639 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
1642 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
1645 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
1646 * configure.ac (PERL): Don't set.
1647 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
1648 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
1649 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
1650 * omp.h.in: Wrap the new configure substitutions with @ characters.
1651 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
1652 * aclocal.m4, configure, Makefile.in: Regenerate.
1653 * mkomp_h.pl: Delete.
1655 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
1658 * configure.ac: Use GCC_HEADER_STDINT.
1659 * libgomp.h: Include gstdint.h.
1660 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
1661 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
1663 2006-01-24 Richard Henderson <rth@redhat.com>
1666 * configure.ac: Add AM_MAINTAINER_MODE.
1667 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
1669 2006-01-24 Diego Novillo <dnovillo@redhat.com>
1671 * Makefile.in: Regenerate.
1672 * testsuite/Makefile.in: Regenerate.
1673 * aclocal.m4: Regenerate.
1675 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
1677 * config/posix/proc.c: Conditional include of sys/loadavg.h for
1679 * configure.ac: Add check for loadavg.h.
1680 (link_gomp): Adjust comment.
1681 * configure: Regenerate.
1682 * config.h.in: Regenerate.
1684 2006-01-21 Steve Ellcey <sje@cup.hp.com>
1687 * configure.ac: Remove check for alloca.h.
1688 * configure: Regenerate.
1689 * config.h.in: Regenerate.
1690 * libgomp.h: define gomp_alloca to be __builtin_alloca.
1691 * team.c: Remove use of alloca.h.
1692 Call gomp_alloca instead of alloca.
1694 2006-01-20 Steve Ellcey <sje@cup.hp.com>
1697 * team.c: Add include of alloca.h.
1698 * configure.ac: Add check for alloca.h.
1699 * configure: Regenerate.
1700 * config.h.in: Regenerate.
1702 2006-01-17 Jakub Jelinek <jakub@redhat.com>
1705 * testsuite/libgomp.fortran/pr25219.f90: New test.
1707 2005-12-05 Uros Bizjak <uros@kss-loka.si>
1709 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
1710 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
1711 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
1712 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
1713 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
1714 testsuite/libgomp.fortran/threadprivate1.f90,
1715 testsuite/libgomp.fortran/threadprivate2.f90,
1716 testsuite/libgomp.fortran/threadprivate3.f90,
1717 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
1718 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
1719 testsuite/libgomp.fortran/omp_parse3.f90: Change required
1720 effective-target to TLS runtime.
1722 * testsuite/libgomp.fortran/pr25162.f: Require
1723 effective-target TLS runtime.
1725 2005-12-01 Jakub Jelinek <jakub@redhat.com>
1727 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
1728 * testsuite/libgomp.c/nestedfn-3.c: New test.
1730 2005-11-30 Jakub Jelinek <jakub@redhat.com>
1733 * testsuite/libgomp.fortran/pr25162.f: New test.
1735 2005-11-28 Jakub Jelinek <jakub@redhat.com>
1737 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
1738 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
1740 2005-11-25 Jakub Jelinek <jakub@redhat.com>
1742 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
1743 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
1744 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
1745 single.c, team.c, work.c, config/linux/alpha/futex.h,
1746 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
1747 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
1748 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
1749 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
1750 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
1751 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
1752 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
1755 2005-11-18 Jakub Jelinek <jakub@redhat.com>
1757 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
1758 to nodist_noinst_HEADERS.
1759 * Makefile.in: Rebuilt.
1761 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
1762 add integer count field.
1763 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
1764 omp_nest_lock_t type change.
1765 (omp_init_nest_lock): Likewise. Initialize count to 0.
1766 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
1768 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
1770 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
1771 Increment count if successful and return the new nesting level.
1772 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
1773 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
1774 * testsuite/libgomp.c/lib-1.c: New test.
1775 * testsuite/libgomp.fortran/lib1.f90: New test.
1776 * testsuite/libgomp.fortran/lib2.f: New test.
1777 * testsuite/libgomp.fortran/lib3.f: New test.
1779 2005-11-17 Richard Henderson <rth@redhat.com>
1782 * Makefile.am (nodist_toolexeclib_HEADERS): New.
1783 * configure.ac (link_gomp): New. Substitute it.
1784 (AC_CONFIG_FILES): Add libgomp.spec.
1785 * libgomp.spec.in: New file.
1786 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
1787 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
1789 2005-11-18 Jakub Jelinek <jakub@redhat.com>
1791 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
1792 reduction(-:var) behaving the same as reduction(+:var).
1793 * testsuite/libgomp.c/reduction-4.c: New test.
1795 2005-11-15 Uros Bizjak <uros@kss-loka.si>
1797 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
1798 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
1799 testsuite/libgomp.c/copyin-3.c,
1800 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
1801 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
1802 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
1803 testsuite/libgomp.c++/pr24455.C,
1804 testsuite/libgomp.fortran/threadprivate1.f90,
1805 testsuite/libgomp.fortran/threadprivate2.f90,
1806 testsuite/libgomp.fortran/threadprivate3.f90,
1807 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
1808 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
1809 testsuite/libgomp.fortran/omp_parse3.f90: Require
1810 effective-target TLS.
1812 2005-11-14 Diego Novillo <dnovillo@redhat.com>
1816 2005-11-13 Jakub Jelinek <jakub@redhat.com>
1819 * team.c (initialize_team): Pass NULL rather than free as
1820 pthread_key_create destructor. Initialize thread specific data
1821 pointer in initial thread to a static local variable rather than
1824 2005-11-11 Uros Bizjak <uros@kss-loka.si>
1826 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
1827 its location to ld_library_path.
1829 2005-11-10 Diego Novillo <dnovillo@redhat.com>
1831 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
1833 2005-11-10 Diego Novillo <dnovillo@redhat.com>
1835 * testsuite/libgomp.c: Rename from libgomp.dg.
1837 2005-11-09 Diego Novillo <dnovillo@redhat.com>
1839 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
1840 threadprivate variable 'i'.
1842 2005-11-09 Jakub Jelinek <jakub@redhat.com>
1844 * config/linux/s390/futex.h: New file.
1845 * configure.tgt: Use it.
1847 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
1848 before the parallel.
1850 2005-11-08 Jakub Jelinek <jakub@redhat.com>
1853 * testsuite/libgomp.c++/master-1.C: New test.
1855 2005-11-07 Jakub Jelinek <jakub@redhat.com>
1857 * testsuite/libgomp.dg/copyin-3.c: New test.
1859 2005-11-07 Jakub Jelinek <jakub@redhat.com>
1861 * testsuite/libgomp.fortran/retval1.f90: New test.
1862 * testsuite/libgomp.fortran/vla7.f90: New test.
1864 2005-11-06 Jakub Jelinek <jakub@redhat.com>
1866 * testsuite/libgomp.fortran/vla2.f90: New test.
1867 * testsuite/libgomp.fortran/vla3.f90: New test.
1868 * testsuite/libgomp.fortran/vla4.f90: New test.
1869 * testsuite/libgomp.fortran/vla5.f90: New test.
1870 * testsuite/libgomp.fortran/vla6.f90: New test.
1872 2005-11-01 Jakub Jelinek <jakub@redhat.com>
1874 * config/linux/sparc/futex.h: New file.
1875 * configure.tgt: Use it.
1876 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
1878 * critical.c: Include stdlib.h.
1879 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
1880 ignoring return value.
1881 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
1882 LIBGOMP_CHECK_SYNC_BUILTINS check.
1883 * configure: Rebuilt.
1885 2005-10-31 Jakub Jelinek <jakub@redhat.com>
1887 * testsuite/libgomp.fortran/vla1.f90: New test.
1889 2005-10-31 Richard Henderson <rth@redhat.com>
1891 * testsuite/libgomp.fortran/character2.f90: Fix race condition
1892 setting 's' in different threads.
1894 2005-10-31 Jakub Jelinek <jakub@redhat.com>
1896 * libgomp.h (attribute_hidden, ialias): Define.
1897 * config/posix/proc.c (omp_get_num_procs): Add ialias.
1898 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
1899 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
1900 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
1901 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
1902 omp_test_lock, omp_test_nest_lock): Likewise.
1903 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
1904 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
1905 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
1906 omp_test_lock, omp_test_nest_lock): Likewise.
1907 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
1908 omp_get_dynamic, omp_get_nested): Likewise.
1909 * parallel.c (omp_get_num_threads, omp_get_max_threads,
1910 omp_get_thread_num, omp_in_parallel): Likewise.
1911 * fortran.c (ialias_redirect): Define.
1912 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
1913 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
1914 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
1915 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
1916 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
1917 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
1918 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
1919 omp_get_wtime): Add ialias_redirect.
1921 2005-10-30 Jakub Jelinek <jakub@redhat.com>
1923 * fortran.c: Include stdlib.h.
1925 2005-10-29 Jakub Jelinek <jakub@redhat.com>
1927 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
1928 * Makefile.in: Regenerated.
1930 2005-10-28 Jakub Jelinek <jakub@redhat.com>
1932 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
1933 * libgomp_f.h.in (omp_check_defines): New function.
1934 * env.c: Include libgomp_f.h.
1935 (initialize_env): Call omp_check_defines.
1937 * testsuite/libgomp.dg/copyin-2.c: New test.
1938 * testsuite/libgomp.c++/copyin-2.C: New test.
1939 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
1941 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
1942 * testsuite/libgomp.fortran/sharing2.f90: New test.
1944 * testsuite/libgomp.dg/copyin-1.c: New test.
1945 * testsuite/libgomp.c++/copyin-1.C: New test.
1947 2005-10-26 Jakub Jelinek <jakub@redhat.com>
1949 * testsuite/libgomp.fortran/crayptr1.f90: New test.
1951 * testsuite/libgomp.fortran/workshare1.f90: New test.
1953 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
1955 * libgomp.fortran/sharing1.f90: New test.
1957 2005-10-24 Jakub Jelinek <jakub@redhat.com>
1960 * testsuite/libgomp.c++/loop-7.C: New test.
1962 * testsuite/libgomp.dg/nestedfn-2.c: New test.
1964 * testsuite/libgomp.dg/nestedfn-1.c: New test.
1965 * testsuite/libgomp.fortran/reduction6.f90: New test.
1966 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
1968 2005-10-23 Richard Henderson <rth@redhat.com>
1970 * testsuite/libgomp.c++/ctor-1.C: New.
1971 * testsuite/libgomp.c++/ctor-2.C: New.
1972 * testsuite/libgomp.c++/ctor-3.C: New.
1973 * testsuite/libgomp.c++/ctor-4.C: New.
1974 * testsuite/libgomp.c++/ctor-5.C: New.
1975 * testsuite/libgomp.c++/ctor-6.C: New.
1976 * testsuite/libgomp.c++/ctor-7.C: New.
1977 * testsuite/libgomp.c++/ctor-8.C: New.
1978 * testsuite/libgomp.c++/ctor-9.C: New.
1980 2005-10-21 Diego Novillo <dnovillo@redhat.com>
1983 * testsuite/libgomp.c++/pr24455-1.C: New test.
1984 * testsuite/libgomp.c++/pr24455.C: New test.
1985 * testsuite/libgomp.dg/pr24455-1.c: New test.
1986 * testsuite/libgomp.dg/pr24455.c: New test.
1988 2005-10-20 Richard Henderson <rth@redhat.com>
1990 * testsuite/libgomp.c++/loop-6.C: New.
1991 * testsuite/libgomp.dg/loop-3.c: New.
1993 2005-10-20 Jakub Jelinek <jakub@redhat.com>
1995 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
1997 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
2000 2005-10-19 Diego Novillo <dnovillo@redhat.com>
2002 * testsuite/libgomp.fortran/jacobi.f: New test.
2004 2005-10-19 Richard Henderson <rth@redhat.com>
2006 * configure.tgt (i?86-linux): Default to with_arch instead of
2007 CFLAGS. Add -mtune to match target_cpu.
2008 (x86_64-linux): Tune to i686.
2010 * fortran.c (omp_test_nest_lock_): Fix typo.
2012 2005-10-19 Jakub Jelinek <jakub@redhat.com>
2014 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
2015 gomp_ordered_sync): Do nothing if team->nthreads == 1.
2016 * testsuite/libgomp.dg/ordered-3.c: New test.
2018 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
2019 Remove volatile keyword.
2021 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
2022 in COMMON block to avoid warnings on 64-bit targets.
2024 2005-10-18 Diego Novillo <dnovillo@redhat.com>
2026 * testsuite/libgomp.dg/shared-3.c: New test.
2028 2005-10-18 Jakub Jelinek <jakub@redhat.com>
2030 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
2031 * testsuite/libgomp.fortran/reduction5.f90: New test.
2033 2005-10-18 Jakub Jelinek <jakub@redhat.com>
2035 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
2037 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
2038 flush loop now that __sync_synchronize has proper memory barrier.
2039 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
2040 Add -ffixed-form to dg-options.
2042 2005-10-17 Diego Novillo <dnovillo@redhat.com>
2044 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
2045 from subdirectories.
2046 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
2047 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
2048 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
2049 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
2050 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
2051 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
2052 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
2053 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
2054 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
2055 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
2056 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
2057 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
2058 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
2059 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
2060 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
2061 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
2062 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
2063 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
2064 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
2065 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
2066 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
2067 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
2068 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
2069 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
2070 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
2072 2005-10-17 Jakub Jelinek <jakub@redhat.com>
2074 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
2075 lang_library_path exists. Use find instead of glob to gather tests.
2076 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
2078 2005-10-17 Diego Novillo <dnovillo@redhat.com>
2080 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
2081 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
2082 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
2083 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
2084 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
2085 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
2086 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
2087 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
2088 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
2089 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
2090 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
2091 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
2092 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
2094 2005-10-15 Jakub Jelinek <jakub@redhat.com>
2096 * testsuite/libgomp.dg/vla-1.c: New test.
2098 * testsuite/libgomp.fortran/reference2.f90: New test.
2100 * testsuite/libgomp.fortran/character2.f90: Remove explicit
2101 declaration of omp_get_thread_num.
2102 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
2105 * testsuite/libgomp.fortran/reduction1.f90: New test.
2106 * testsuite/libgomp.fortran/reduction2.f90: New test.
2107 * testsuite/libgomp.fortran/reduction3.f90: New test.
2108 * testsuite/libgomp.fortran/reduction4.f90: New test.
2110 2005-10-13 Richard Henderson <rth@redhat.com>
2112 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
2113 * Makefile.in: Regenerate.
2114 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
2115 * libgomp.h: Include bar.h.
2116 (struct gomp_barrier): Remove.
2117 (struct gomp_team): Add barrier. Replace master_barrier with
2118 master_release. Replace threads with ordered_release.
2119 (struct gomp_thread): Replace barrier with release.
2120 * ordered.c (gomp_ordered_first): Update for ordered_release change.
2121 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
2122 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
2123 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
2124 (GOMP_single_copy_end): Likewise.
2125 * team.c (gomp_threads_dock): New.
2126 (gomp_barrier_init, gomp_barrier_destroy): Remove.
2127 (gomp_thread_start): Use gomp_barrier_wait.
2128 (new_team, free_team): Update for gomp_team changes.
2129 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
2130 (gomp_team_end): Use gomp_barrier_wait.
2131 (initialize_team): Update for gomp_thread changes.
2132 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
2133 (gomp_work_share_end_nowait): Use atomic ops when available.
2134 * config/linux/bar.c, config/linux/bar.h: New files.
2135 * config/posix/bar.c, config/posix/bar.h: New files.
2137 2005-10-13 Jakub Jelinek <jakub@redhat.com>
2139 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
2140 * testsuite/libgomp.dg/single-2.c: New test.
2142 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
2143 lang_link_flags): Unset, so that they aren't inherited from previously
2146 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
2148 2005-10-12 Richard Henderson <rth@redhat.com>
2150 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
2151 (libgomp_init): Use lang_test_file, lang_library_path, and
2152 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
2154 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
2155 (lang_test_file, lang_link_flags): New.
2156 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
2158 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
2159 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
2160 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
2161 testsuite/libgomp.c++/parallel-1.C,
2162 testsuite/libgomp.c++/reduction-1.C,
2163 testsuite/libgomp.c++/reduction-2.C,
2164 testsuite/libgomp.c++/reduction-3.C,
2165 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
2166 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
2167 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
2168 New files, largely cribbed from the C testsuite.
2170 2005-10-12 Jakub Jelinek <jakub@redhat.com>
2172 * testsuite/libgomp.fortran/character1.f90: New test.
2173 * testsuite/libgomp.fortran/character2.f90: New test.
2175 * testsuite/libgomp.dg/nested-1.c: New test.
2176 * testsuite/libgomp.dg/nested-2.c: New test.
2177 * testsuite/libgomp.fortran/do1.f90: New test.
2178 * testsuite/libgomp.fortran/do2.f90: New test.
2180 * testsuite/libgomp.fortran/reference1.f90: New test.
2182 2005-10-11 Jakub Jelinek <jakub@redhat.com>
2184 * testsuite/libgomp.dg/reduction-1.c: New test.
2185 * testsuite/libgomp.dg/reduction-2.c: New test.
2186 * testsuite/libgomp.dg/reduction-3.c: New test.
2188 2005-10-10 Jakub Jelinek <jakub@redhat.com>
2190 * testsuite/libgomp.dg/atomic-1.c: New test.
2191 * testsuite/libgomp.dg/atomic-2.c: New test.
2193 2005-10-09 Richard Henderson <rth@redhat.com>
2195 * critical.c (atomic_lock): New.
2196 (initialize_critical): Initialize it.
2197 (GOMP_atomic_start, GOMP_atomic_end): New.
2198 * libgomp.map: Export them.
2199 * libgomp_g.h: Declare them.
2201 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
2203 2005-10-02 Richard Henderson <rth@redhat.com>
2205 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
2206 to XCFLAGS instead of CFLAGS.
2208 2005-09-30 Richard Henderson <rth@redhat.com>
2210 * configure.ac: Determine whether -pthread or -lpthread is needed.
2211 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
2212 * Makefine.in, configure: Rebuild.
2214 2005-09-28 Richard Henderson <rth@redhat.com>
2216 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
2217 * testsuite/libgomp.dg/omp-single-3.c: New test.
2219 2005-09-28 Diego Novillo <dnovillo@redhat.com>
2221 * testsuite/libgomp.dg/omp-single-2.c: New test.
2222 * testsuite/libgomp.dg/shared-2.c: Fix return code.
2224 2005-09-27 Richard Henderson <rth@redhat.com>
2226 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
2227 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
2229 2005-09-27 Jakub Jelinek <jakub@redhat.com>
2231 * testsuite/libgomp.dg/omp-loop03.c: New test.
2233 2005-09-27 Diego Novillo <dnovillo@redhat.com>
2235 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
2237 2005-09-27 Diego Novillo <dnovillo@redhat.com>
2239 * testsuite/libgomp.dg/omp-single-1.c: New test.
2240 * testsuite/libgomp.dg/shared-1.c: Return 0.
2241 Add prototype for abort.
2242 * testsuite/libgomp.dg/shared-2.c: Likewise.
2244 2005-09-26 Jakub Jelinek <jakub@redhat.com>
2246 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
2249 2005-09-26 Diego Novillo <dnovillo@redhat.com>
2251 * testsuite/libgomp.dg/shared-1.c: New test.
2252 * testsuite/libgomp.dg/shared-2.c: New test.
2254 2005-09-24 Richard Henderson <rth@redhat.com>
2256 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
2258 2005-09-24 Richard Henderson <rth@redhat.com>
2260 * iter.c (gomp_iter_static_next): Round up when computing number
2261 of iterations. Don't bother distributing a remainder equally.
2263 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
2264 Don't call srand. Zero b before testing.
2267 2005-09-24 Jakub Jelinek <jakub@redhat.com>
2269 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
2270 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
2272 2005-09-23 Jakub Jelinek <jakub@redhat.com>
2274 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
2275 without !$omp end do, followed immediately by subroutine end.
2277 2005-09-23 Diego Novillo <dnovillo@redhat.com>
2279 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
2281 2005-09-22 Richard Henderson <rth@redhat.com>
2283 * critical.c (GOMP_critical_name_start): Change argument to void**.
2284 Reuse the pointer space if the mutex fits.
2285 (GOMP_critical_name_end): Likewise.
2286 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
2287 * libgomp_g.h (GOMP_critical_name_start): Update decl.
2288 (GOMP_critical_name_end): Likewise.
2289 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
2290 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
2292 2005-09-20 Richard Henderson <rth@redhat.com>
2294 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
2295 (create_lock_lock): New.
2296 (initialize_critical): Initialize it.
2297 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
2298 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
2300 2005-09-20 Diego Novillo <dnovillo@redhat.com>
2302 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
2304 2005-09-20 Diego Novillo <dnovillo@redhat.com>
2306 * testsuite/libgomp.dg/omp-loop01.c: New test.
2307 * testsuite/libgomp.dg/omp-loop02.c: New test.
2309 2005-09-20 Jakub Jelinek <jakub@redhat.com>
2311 * configure.ac (AC_PROG_FC): Add.
2312 (USE_FORTRAN): New automake conditional.
2313 * configure: Rebuilt.
2314 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
2315 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
2316 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
2317 Add rules to build them.
2318 * Makefile.in: Rebuilt.
2319 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
2321 * libgomp.map: Add Fortran wrappers.
2322 * libgomp_f.h.in: New file.
2323 * omp_lib.h.in: New file.
2324 * omp_lib.f90.in: New file.
2325 * fortran.c: New file.
2326 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
2327 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
2328 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
2329 libgfortran has been built.
2330 * testsuite/libgomp.fortran/fortran.exp: New file.
2331 * testsuite/libgomp.fortran/omp_cond1.f: New test.
2332 * testsuite/libgomp.fortran/omp_cond2.f: New test.
2333 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
2334 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
2335 * testsuite/libgomp.fortran/omp_hello.f: New test.
2336 * testsuite/libgomp.fortran/omp_orphan.f: New test.
2337 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
2338 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
2339 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
2340 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
2341 * testsuite/libgomp.fortran/omp_reduction.f: New test.
2342 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
2343 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
2345 2005-08-30 Richard Henderson <rth@redhat.com>
2347 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
2348 function for when aliases are not usable.
2349 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
2350 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
2351 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
2352 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
2353 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
2354 GOMP_loop_ordered_guided_next): Likewise.
2355 * ordered.c (GOMP_ordered_start): Likewise.
2357 2005-08-01 Diego Novillo <dnovillo@redhat.com>
2359 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
2360 * testsuite/libgomp.dg/omp_hello.c: Fix return code
2361 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
2362 * testsuite/libgomp.dg/omp_orphan.c: Likewise
2363 * testsuite/libgomp.dg/omp_reduction.c: Likewise
2364 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
2365 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
2366 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
2367 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
2369 2005-07-07 Eric Christopher <echristo@redhat.com>
2370 Diego Novillo <dnovillo@redhat.com>
2372 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
2373 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
2375 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
2376 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
2377 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
2378 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
2379 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
2380 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
2381 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
2383 2005-06-13 Diego Novillo <dnovillo@redhat.com>
2385 * TOPLEVEL.patch: Remove.
2387 2005-05-16 Richard Henderson <rth@redhat.com>
2389 * configure.ac: Test for clock_gettime.
2390 * config.h.in, configure: Rebuild.
2391 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
2392 (omp_get_wtime): Use clock_gettime if available.
2393 (omp_get_wtick): Use clock_getres if available.
2395 2005-05-11 Richard Henderson <rth@redhat.com>
2397 * config/linux/ia64/futex.h: New file.
2398 * configure.tgt: Use it.
2400 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
2402 2005-05-07 Richard Henderson <rth@redhat.com>
2404 * config/linux/powerpc/futex.h: New file.
2405 * configure.tgt: Use it.
2407 * config/linux/i486/futex.h: Merge ...
2408 * config/linux/x86_64/futex.h: ... into ...
2409 * config/linux/x86/futex.h: ... here.
2410 * configure.tgt: Update to match.
2412 2005-05-06 Richard Henderson <rth@redhat.com>
2414 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
2415 * config/linux/i486/futex.h: Likewise.
2416 * config/linux/x86_64/futex.h: Likewise.
2418 * config/linux/lock.c: New file.
2419 * config/linux/omp-lock.h: New file.
2421 * critical.c, env.h: Don't include omp.h
2422 * config/posix/lock.c: Include libgomp.h instead of omp.h.
2423 * config/posix/time.c: Likewise.
2424 * config/posix/omp-lock.h: New file.
2425 * libgomp.h: Include omp-lock.h and omp.h.
2426 * Makefile.am (nodist_include_HEADERS): New.
2428 * configure.ac (PERL): New.
2429 * mkomp_h.pl: New file.
2430 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
2432 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
2434 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
2435 build directory. Re-add -march=i486 hack.
2437 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
2438 (libgomp_link_flags): Remove.
2439 (libgomp_initialized): Remove.
2440 (libgomp_init): Don't protect from reinitialization. Copy code
2441 from libstdc++ for getting the multilib set correctly.
2443 2005-05-05 Richard Henderson <rth@redhat.com>
2445 * config/linux/alpha/futex.h: New file.
2446 * configure.tgt (alpha*-*-linux*): Use it.
2448 * config/posix/mutex.c: New file.
2449 * config/posix/sem.c: Use libgomp.h.
2451 * configure.tgt (x86_64-linux): Also test CC for -m32.
2452 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
2454 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
2457 * Makefile.am (SUBDIRS): New.
2458 (libgomp_la_LDFLAGS): Add -lpthread.
2459 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
2460 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
2462 * libgomp_g.h: New file.
2463 * libgomp.h: Split out all public declarations to libgomp_g.h.
2464 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
2465 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
2466 * config/linux/sem.h: Likewise.
2467 * config/posix/sem.h: Likewise.
2469 * Makefile.am (AM_LDFLAGS): New.
2470 (libgomp_version_script): Split out from ...
2471 (libgomp_la_LDFLAGS): ... here.
2472 (libgomp_version_info): New.
2473 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
2474 (LIBGOMP_ENABLE): New.
2475 (LIBGOMP_CHECK_LINKER_FEATURES): New.
2476 (LIBGOMP_ENABLE_SYMVERS): New.
2477 * configure.ac (AC_INIT): Version 1.0.
2478 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
2479 (enable-linux-futex): Likewise. Rename from enable-futex.
2480 (libtool_VERSION): New.
2481 (LIBGOMP_ENABLE_SYMVERS): Use it.
2482 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
2483 * Makefile.in, aclocal.m4, configure: Rebuild.
2485 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
2486 (gomp_mutex_unlock_slow): Fix typo.
2487 * config/linux/sem.c: Similarly.
2488 (gomp_sem_post_slow): Fix typo.
2489 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
2490 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
2491 [__PIC__] (sys_futex0): Don't use tmp output in asm.
2493 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
2494 (libgomp_la_LDFLAGS): Add top_srcdir to path.
2495 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
2496 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
2497 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
2498 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
2499 LDFLAGS. Pull enable_futex check to top-level.
2500 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
2501 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
2503 First attempt at real configury.
2504 * Makefile, config.h: Remove file.
2505 * Makefile.am, Makefile.in: New file.
2506 * acinclude.m4 aclocal.m4: New file.
2507 * configure.ac, configure.tgt, configure: New file.
2509 * config/posix/lock.c: Rename from sys-lock.c.
2510 * config/posix/mutex.h: Rename from sys-mutex.h.
2511 * config/posix/sem.c: Rename from sys-sem.c.
2512 * config/posix/sem.h: Rename from sys-sem.h.
2513 * config/posix/proc.c: Rename from sys-proc.c.
2514 * config/posix/time.c: Rename from sys-proc.c.
2516 * config/linux/mutex.c: New file.
2517 * config/linux/mutex.h: New file.
2518 * config/linux/sem.c: New file.
2519 * config/linux/sem.h: New file.
2520 * config/linux/i486/futex.h: New file.
2521 * config/linux/x86_64/futex.h: New file.
2523 2005-05-04 Richard Henderson <rth@redhat.com>
2525 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
2526 * libgomp.h: Declare them.
2527 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
2528 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
2530 2005-05-04 Richard Henderson <rth@redhat.com>
2532 * libgomp-1 code drop
2534 2005-05-04 Richard Henderson <rth@redhat.com>
2536 * iter.c (gomp_iter_static_next): Return tri-state on 0.
2537 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
2538 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
2539 (gomp_iter_static_next): Update.
2540 (gomp_ordered_static_next): Update.
2541 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
2542 (gomp_loop_ordered_static_start): Likewise. Exit early for a
2543 totally empty range.
2544 (gomp_loop_ordered_static_next): Refine test for calling
2545 gomp_ordered_static_next.
2546 * testsuite/ordered-1.c: Add case for more threads than iterations.
2548 * iter.c (gomp_iter_runtime_next_locked): Remove.
2549 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
2550 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2551 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2552 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
2553 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
2554 gomp_loop_ordered_guided_next): Downcase name, make static, add
2555 an external alias with the old name.
2556 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2557 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
2558 switch and call one of the above static functions.
2559 * libgomp.h: Update.
2561 * work.c (gomp_work_share_start): Lock the mutex for !first too.
2562 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
2563 GOMP_loop_guided_start, GOMP_loop_runtime_start,
2564 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
2565 GOMP_loop_ordered_guided_start): Update to match.
2566 * sections.c (GOMP_sections_start): Likewise.
2567 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
2569 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
2570 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
2571 Use bounds check instead of modulus.
2572 (gomp_ordered_sync): Split out of GOMP_ordered_start.
2573 (gomp_ordered_last): Don't sync with ordered_owner here.
2574 (gomp_ordered_next): Likewise.
2575 (gomp_ordered_static_loop_next): Likewise.
2576 * loop.c, libgomp.h: Update to match.
2578 * libgomp.h (GOMP_barrier): Declare.
2580 * testsuite/barrier-1.c: New file.
2581 * testsuite/critical-1.c: New file.
2582 * testsuite/ordered-2.c: New file.
2583 * testsuite/ordered-1.c: New file.
2584 * testsuite/sections-1.c: New file.
2585 * testsuite/single-1.c: New file.
2586 * testsuite/Makefile (TESTS): Add them.
2588 2005-05-04 Richard Henderson <rth@redhat.com>
2590 * libgomp.h (struct gomp_work_share): Add ordered_owner.
2591 * loop.c (GOMP_loop_static_start): If not the startup thread,
2592 acquire the mutex to wait for initialization complete.
2593 (GOMP_loop_ordered_static_start): Likewise.
2594 (GOMP_loop_ordered_runtime_start): Likewise.
2595 (GOMP_loop_ordered_static_first): Remove.
2596 (GOMP_loop_ordered_dynamic_first): Remove.
2597 (GOMP_loop_ordered_guided_first): Remove.
2598 (GOMP_loop_ordered_runtime_first): Remove.
2599 * ordered.c (gomp_ordered_loop_first): Post to own release when
2600 we're the first thread.
2601 (gomp_ordered_loop_last): Wait on release if not owner.
2602 (gomp_ordered_loop_next): Likewise.
2603 (gomp_ordered_static_loop_init): New.
2604 (gomp_ordered_static_loop_next): Use ordered_owner.
2605 (GOMP_ordered_start): Likewise.
2606 * work.c (gomp_new_work_share): Initialize ordered_owner.
2608 2005-05-03 Richard Henderson <rth@redhat.com>
2610 * Makefile (OPT): New.
2613 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
2614 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
2615 * libgomp.h, libgomp.map, NOTES: Update to match.
2617 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
2618 Add initialized and thr members.
2619 (gomp_thread_start): Pause when initially spawned to wait for
2620 the whole team to be created.
2621 (gomp_team_start): Release team members at the end.
2623 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
2624 (f_foo_1): Use GOMP_loop_end.
2625 (f_foo_2): Use GOMP_loop_end_nowait.
2627 * testsuite/loop-2.c: New file.
2628 * testsuite/Makefile (TESTS): Add it.
2630 2005-05-03 Richard Henderson <rth@redhat.com>
2632 * iter.c (gomp_iter_static_next): Fix overflow check typo.
2633 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
2634 * team.c (new_team): Initialize oldest_live_gen to 1 if no
2637 * testsuite/Makefile: New file.
2638 * testsuite/loop-1.c: New file.
2640 2005-05-03 Richard Henderson <rth@redhat.com>
2642 Initial implementation and checkin.