OSDN Git Service

* testsuite/libgomp.exp (libgomp_init): Only set things that
[pf3gnuchains/gcc-fork.git] / libgomp / ChangeLog
index 56d4368..2b9fedf 100644 (file)
+2008-08-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * testsuite/libgomp.exp (libgomp_init): Only set things that
+       depend on blddir if blddir exists.
+       (libgomp_target_compile): Likewise.
+       * testsuite/libgomp.c++/c++.exp: Likewise.
+       * testsuite/libgomp.fortran/fortran.exp: Likewise.
+
+2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
+       Do not list GPL as Invariant Section.
+
+2008-07-28  Ilie Garbacea  <ilie@mips.com>
+           Chao-ying Fu  <fu@mips.com>
+
+       * configure.tgt: Enable futex for MIPS.
+       * config/linux/mips/futex.h: New file.
+
+2008-07-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * team.c (gomp_team_end): Free team immediately if it has
+       just one thread.
+
+2008-07-08  David Edelsohn  <edelsohn@gnu.org>
+
+       * testsuite/libgomp.c++/c++.exp: Append multilib library path.
+       * testsuite/libgomp.fortran/fortran.exp: Same.
+       * testsuite/libgomp.c/c.exp: Same.
+       * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
+       directory to library path first.
+
+2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+       * env.c (parse_stacksize): Add cast to avoid warning.
+       (parse_spincount): Likewise.
+
+2008-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/loop-10.c: New test.
+       * libgomp.c/loop-3.c (main): Add lastprivate clause.
+       * libgomp.c++/loop-6.C (main): Likewise.
+
+       PR debug/36617
+       * testsuite/libgomp.c/debug-1.c: New test.
+
+2008-06-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/nqueens-1.c: New test.
+
+       PR c++/36523
+       * testsuite/libgomp.c++/task-7.C: New function.
+
+2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+
+2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
+       mutex when HAVE_SYNC_BUILTINS isn't defined.
+
+2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * libgomp.texi (omp_test_lock): Fix typo.
+
+2008-06-12  Tobias Burnus  <burnus@net-b.de>
+
+       * omp_lib.f90.in: Add "implicit none".
+
+2008-06-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/36506
+       * testsuite/libgomp.c/reduction-5.c: New test.
+
+2008-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * libgomp.h (struct gomp_task): Add in_tied_task field.
+       * task.c (gomp_init_task): Initialize it.
+       (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
+       unconditionally.  Don't call gomp_team_barrier_wake if
+       current task is implicit or if(0) from implicit and number of
+       running tasks is equal to nthreads - 1.
+
+       PR libgomp/36471
+       * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
+       omp_get_team_size_8): Fix pastos.
+
+       PR libgomp/36469
+       * configure.ac: Add AC_CHECK_FUNCS (strtoull).
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+       * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
+       defined.
+
+2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
+
+       PR bootstrap/36452
+       * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
+       (GOMP_loop_ull_dynamic_start): Likewise.
+       (GOMP_loop_ull_guided_start): Likewise.
+       (GOMP_loop_ull_ordered_static_start): Likewise.
+       (GOMP_loop_ull_ordered_dynamic_start): Likewise.
+       (GOMP_loop_ull_ordered_guided_start): Likewise.
+
+2008-06-06  Jakub Jelinek  <jakub@redhat.com>
+           Richard Henderson  <rth@redhat.com>
+           Ulrich Drepper  <drepper@redhat.com>
+           Jakob Blomer  <jakob.blomer@ira.uka.de>
+
+       * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
+       Substitute also OMP_*LOCK_25*.
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+       * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
+       ptrlock.c and task.c.
+       * Makefile.in: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+       * task.c: New file.
+       * loop_ull.c: New file.
+       * iter_ull.c: New file.
+       * libgomp.h: Include ptrlock.h.
+       (enum gomp_task_kind): New type.
+       (struct gomp_team): Add task_lock, task_queue, task_count,
+       task_running_count, single_count fields.  Add
+       work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
+       Remove work_share_lock, generation_mask,
+       oldest_live_gen, num_live_gen and init_work_shares fields, add
+       work work_share_list_alloc, work_share_list_free and work_share_chunk
+       fields.  Change work_shares from pointer to pointers into an array.
+       Change ordered_release field into gomp_sem_t ** from flexible array
+       member.  Add implicit_task and initial_work_shares fields.
+       Move close to the end of the struct.
+       (struct gomp_team_state): Add single_count, last_work_share,
+       active_level and level fields, remove work_share_generation.
+       (gomp_barrier_handle_tasks): New prototype.
+       (gomp_finish_task): New inline function.
+       (struct gomp_work_share): Move chunk_size, end, incr into
+       transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
+       next_ll fields.  Reshuffle fields.  Add next_alloc,
+       next_ws, next_free and inline_ordered_team_ids fields, change
+       ordered_team_ids into pointer from flexible array member.
+       Add mode field.  Put lock and next into a different cache line
+       from most of the write-once fields.
+       (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
+       gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
+       gomp_iter_ull_guided_next): New prototypes.
+       (gomp_new_icv): New prototype.
+       (struct gomp_thread): Add thread_pool and task fields.
+       (struct gomp_thread_pool): New type.
+       (gomp_new_team): New prototype.
+       (gomp_team_start): Change type of last argument.
+       (gomp_new_work_share): Removed.
+       (gomp_init_work_share, gomp_fini_work_share): New prototypes.
+       (gomp_work_share_init_done): New static inline.
+       (gomp_throttled_spin_count_var, gomp_available_cpus,
+       gomp_managed_threads): New extern decls.
+       (gomp_init_task): New prototype.
+       (gomp_spin_count_var): New extern var decl.
+       (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
+       or no alias support, or if not PIC.
+       (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
+       gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
+       gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
+       gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
+       gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
+       gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
+       gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
+       gomp_test_nest_lock_25): New prototypes.
+       (omp_lock_symver, strong_alias): Define.
+       (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
+       decls.
+       (gomp_end_task): New.
+       (struct gomp_task_icv, gomp_global_icv): New.
+       (gomp_thread_limit_var, gomp_max_active_levels_var): New.
+       (struct gomp_task): New.
+       (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
+       gomp_run_sched_var, gomp_run_sched_chunk): Remove.
+       (gomp_icv): New.
+       (gomp_schedule_type): Reorder enum to match
+       omp_sched_t.
+       * team.c (struct gomp_thread_start_data): Add thread_pool and task
+       fields.
+       (gomp_thread_start): Add gomp_team_barrier_wait call.
+       For non-nested case remove clearing of docked thread thr fields.
+       Use pool fields instead of global gomp_* variables.  Use
+       gomp_barrier_wait_last when needed.  Initialize ts.active_level.
+       Create tasks for each member thread.
+       (free_team): Only destroy team barrier, task_lock here and free it.
+       (gomp_free_thread): Free last_team if non-NULL.
+       (gomp_team_end): Call gomp_team_barrier_wait instead of
+       gomp_barrier_wait.  For nested case call one extra
+       gomp_barrier_wait.  Move here some destruction from free_team.
+       Call free_team on pool->last_team if any, rather than freeing
+       current team.  Destroy work_share_list_free_lock ifndef
+       HAVE_SYNC_BUILTINS.
+       (gomp_new_icv): New function.
+       (gomp_threads, gomp_threads_size, gomp_threads_used,
+       gomp_threads_dock): Removed.
+       (gomp_thread_destructor): New variable.
+       (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
+       functions.
+       (gomp_team_start): Create new pool if current thread doesn't have
+       one.  Use pool fields instead of global gomp_* variables. 
+       Initialize thread_pool field for new threads.  Clear single_count.
+       Change last argument from ws to team, don't create
+       new team, set ts.work_share to &team->work_shares[0] and clear
+       ts.last_work_share.  Don't clear ts.work_share_generation.
+       If number of threads changed, adjust atomically gomp_managed_threads.
+       Use gomp_init_task instead of gomp_new_task,
+       set thr->task to the corresponding implicit_task array entry.
+       Create tasks for each member thread.  Initialize ts.level.
+       (initialize_team): Call pthread_key_create on
+       gomp_thread_destructor.
+       (team_destructor): New function.
+       (new_team): Removed.
+       (gomp_new_team): New function.
+       (free_team): Free gomp_work_share blocks chained through next_alloc,
+       instead of freeing work_shares and destroying work_share_lock.
+       (gomp_team_end): Call gomp_fini_work_share.  If number of threads
+       changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
+       * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
+       of gomp_barrier_wait.
+       * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
+       instead of gomp_barrier_wait.  Call gomp_work_share_init_done
+       if gomp_work_share_start returned true.  Don't unlock ws->lock.
+       (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
+       of gomp_barrier_wait.
+       (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
+       gomp_work_share_init_done if gomp_work_share_start returned true.
+       Don't unlock ws->lock.
+       * work.c: Include stddef.h.
+       (free_work_share): Use work_share_list_free_lock instead
+       of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
+       Call gomp_fini_work_share and then either free ws if orphaned, or
+       put it into work_share_list_free list of the current team.
+       (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
+       functions.
+       (gomp_work_share_start, gomp_work_share_end,
+       gomp_work_share_end_nowait): Rewritten.
+       * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
+       (openmp_version): Set to 200805.
+       (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
+       omp_sched_guided, omp_sched_auto): New parameters.
+       (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
+       omp_set_max_active_levels, omp_get_max_active_levels,
+       omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
+       omp_get_active_level): New interfaces.
+       * omp_lib.h.in (openmp_version): Set to 200805.
+       (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
+       omp_sched_guided, omp_sched_auto): New parameters.
+       (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
+       omp_set_max_active_levels, omp_get_max_active_levels,
+       omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
+       omp_get_active_level): New externals.
+       * loop.c: Include limits.h.
+       (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
+       GFS_AUTO.
+       (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
+       Likewise.  Use gomp_icv.
+       (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
+       ts.static_trip here.
+       (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
+       gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
+       (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
+       gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
+       don't unlock ws->lock, otherwise lock it.
+       (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
+       gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
+       (gomp_parallel_loop_start): Call gomp_new_team instead of
+       gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
+       Adjust gomp_team_start caller.  Pass 0 as second argument to
+       gomp_resolve_num_threads.
+       (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
+       If adding ws->chunk_size nthreads + 1 times after end won't
+       overflow, set ws->mode to 1.
+       * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
+       GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
+       GOMP_loop_ull_ordered_static_start,
+       GOMP_loop_ull_ordered_dynamic_start,
+       GOMP_loop_ull_ordered_guided_start,
+       GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
+       GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
+       GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
+       GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
+       GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
+       prototypes.
+       * libgomp.map: Export lock routines also @@OMP_2.0.
+       (GOMP_loop_ordered_dynamic_first,
+       GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
+       GOMP_loop_ordered_static_first): Remove.
+       (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
+       GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
+       GOMP_loop_ull_ordered_dynamic_next,
+       GOMP_loop_ull_ordered_dynamic_start,
+       GOMP_loop_ull_ordered_guided_next,
+       GOMP_loop_ull_ordered_guided_start,
+       GOMP_loop_ull_ordered_runtime_next,
+       GOMP_loop_ull_ordered_runtime_start,
+       GOMP_loop_ull_ordered_static_next,
+       GOMP_loop_ull_ordered_static_start,
+       GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
+       GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
+       GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
+       (omp_set_schedule, omp_get_schedule,
+       omp_get_thread_limit, omp_set_max_active_levels,
+       omp_get_max_active_levels, omp_get_level,
+       omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
+       omp_set_schedule_, omp_set_schedule_8_,
+       omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
+       omp_set_max_active_levels_, omp_set_max_active_levels_8_,
+       omp_get_max_active_levels_, omp_get_level_,
+       omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
+       omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
+       New exports @@OMP_3.0.
+       * omp.h.in (omp_sched_t): New type.
+       (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
+       omp_set_max_active_levels, omp_get_max_active_levels,
+       omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
+       omp_get_active_level): New prototypes.
+       * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
+       gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
+       gomp_thread_limit_var, gomp_remaining_threads_count,
+       gomp_remaining_threads_lock): New variables.
+       (parse_spincount): New function.
+       (initialize_env): Call gomp_init_num_threads unconditionally.
+       Initialize gomp_available_cpus.  Call parse_spincount,
+       initialize gomp_{,throttled_}spin_count_var
+       depending on presence and value of OMP_WAIT_POLICY and
+       GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
+       Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
+       OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
+       for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
+       gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
+       (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
+       gomp_run_sched_var, gomp_run_sched_chunk): Remove.
+       (gomp_global_icv): New.
+       (parse_schedule): Use it.  Parse "auto".
+       (omp_set_num_threads): Use gomp_icv.
+       (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
+       Likewise.
+       (omp_get_max_threads): Move from parallel.c.
+       (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
+       omp_set_max_active_levels, omp_get_max_active_levels): New functions,
+       add ialias.
+       (parse_stacksize, parse_wait_policy): New functions.
+       * fortran.c: Rewrite lock wrappers, if symbol versioning provide
+       both wrappers for compatibility and new locks.
+       (omp_set_schedule, omp_get_schedule,
+       omp_get_thread_limit, omp_set_max_active_levels,
+       omp_get_max_active_levels, omp_get_level,
+       omp_get_ancestor_thread_num, omp_get_team_size,
+       omp_get_active_level): New ialias_redirect.
+       (omp_set_schedule_, omp_set_schedule_8_,
+       omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
+       omp_set_max_active_levels_, omp_set_max_active_levels_8_,
+       omp_get_max_active_levels_, omp_get_level_,
+       omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
+       omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
+       New functions.
+       * parallel.c: Include limits.h.
+       (gomp_resolve_num_threads): Add count argument.  Rewritten.
+       (GOMP_parallel_start): Call gomp_new_team and pass that as last
+       argument to gomp_team_start.  Pass 0 as second argument to
+       gomp_resolve_num_threads.
+       (GOMP_parallel_end): Decrease gomp_remaining_threads_count
+       if gomp_thread_limit_var != ULONG_MAX.
+       (omp_in_parallel): Implement using ts.active_level.
+       (omp_get_max_threads): Move to env.c.
+       (omp_get_level, omp_get_ancestor_thread_num,
+       omp_get_team_size, omp_get_active_level): New functions,
+       add ialias.
+       * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
+       after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
+       gomp_iter_dynamic_next instead of the _locked variant and don't take
+       lock around it, otherwise acquire it before calling
+       gomp_iter_dynamic_next_locked.
+       (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
+       gomp_iter_dynamic_next instead of the _locked variant and don't take
+       lock around it.
+       (GOMP_parallel_sections_start): Call gomp_new_team instead of
+       gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
+       Adjust gomp_team_start caller.  Pass count as second argument to
+       gomp_resolve_num_threads, don't adjust num_threads after the call.
+       Use gomp_icv.
+       * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
+       ws->chunk_size by incr.
+       (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
+       code.
+       * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
+       types.
+       (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
+       (omp_check_defines): Check even the compat defines.
+       * config/linux/ptrlock.c: New file.
+       * config/linux/ptrlock.h: New file.
+       * config/linux/wait.h: New file.
+       * config/posix/ptrlock.c: New file.
+       * config/posix/ptrlock.h: New file.
+       * config/linux/bar.h (gomp_team_barrier_wait,
+       gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
+       (gomp_team_barrier_set_task_pending,
+       gomp_team_barrier_clear_task_pending,
+       gomp_team_barrier_set_waiting_for_tasks,
+       gomp_team_barrier_waiting_for_tasks,
+       gomp_team_barrier_done): New inlines.
+       (gomp_barrier_t): Rewritten.
+       (gomp_barrier_state_t): New typedef.
+       (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
+       gomp_barrier_wait_start): Rewritten.
+       (gomp_barrier_wait_end): Change second argument to
+       gomp_barrier_state_t.
+       (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
+       inlines.
+       * config/linux/bar.c: Include wait.h instead of libgomp.h and
+       futex.h.
+       (gomp_barrier_wait_end): Rewritten.
+       (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
+       gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
+       * config/posix/bar.h (gomp_barrier_t): Add generation field.
+       (gomp_barrier_state_t): New typedef.
+       (gomp_team_barrier_wait,
+       gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
+       (gomp_barrier_wait_start): Or all but low 2 bits from generation
+       into the return value.  Return gomp_barrier_state_t.
+       (gomp_team_barrier_set_task_pending,
+       gomp_team_barrier_clear_task_pending,
+       gomp_team_barrier_set_waiting_for_tasks,
+       gomp_team_barrier_waiting_for_tasks,
+       gomp_team_barrier_done): New inlines.
+       (gomp_barrier_wait_end): Change second argument to
+       gomp_barrier_state_t.
+       (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
+       inlines.
+       * config/posix/bar.c (gomp_barrier_init): Clear generation field.
+       (gomp_barrier_wait_end): Change second argument to
+       gomp_barrier_state_t. 
+       (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
+       gomp_team_barrier_wake): New functions.
+       * config/linux/mutex.c: Include wait.h instead of libgomp.h and
+       futex.h.
+       (gomp_futex_wake, gomp_futex_wait): New variables.
+       (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
+       * config/linux/lock.c: Rewrite to make locks task owned,
+       for backwards compatibility provide the old entrypoints
+       if symbol versioning.  Include wait.h instead of libgomp.h and
+       futex.h.
+       (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
+       * config/posix95/lock.c: Rewrite to make locks task owned,
+       for backwards compatibility provide the old entrypoints
+       if symbol versioning.
+       * config/posix/lock.c: Rewrite to make locks task owned,
+       for backwards compatibility provide the old entrypoints
+       if symbol versioning.
+       * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
+       (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
+       * config/posix/proc.c, config/mingw32/proc.c: Similarly.
+       * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+       (sys_futex0): Return error code.
+       (futex_wake, futex_wait): If ENOSYS was returned, clear
+       FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+       (cpu_relax, atomic_write_barrier): New static inlines.
+       * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+       (futex_wake, futex_wait): If ENOSYS was returned, clear
+       FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+       (cpu_relax, atomic_write_barrier): New static inlines.
+       * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+       (sys_futex0): Return error code.
+       (futex_wake, futex_wait): If ENOSYS was returned, clear
+       FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+       (cpu_relax, atomic_write_barrier): New static inlines.
+       * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+       (sys_futex0): Return error code.
+       (futex_wake, futex_wait): If ENOSYS was returned, clear
+       FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+       (cpu_relax, atomic_write_barrier): New static inlines.
+       * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+       (sys_futex0): Return error code.
+       (futex_wake, futex_wait): If ENOSYS was returned, clear
+       FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+       (cpu_relax, atomic_write_barrier): New static inlines.
+       * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+       (sys_futex0): Return error code.
+       (futex_wake, futex_wait): If ENOSYS was returned, clear
+       FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+       (cpu_relax, atomic_write_barrier): New static inlines.
+       * config/linux/sem.c: Include wait.h instead of libgomp.h and
+       futex.h.
+       (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
+       * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
+       * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
+       types.
+       (omp_nest_lock_t): Change owner into void *, add lock field.
+       * config/posix95/omp-lock.h: Include semaphore.h.
+       (omp_lock_25_t, omp_nest_lock_25_t): New types.
+       (omp_lock_t): Use sem_t instead of mutex if semaphores
+       aren't broken.
+       (omp_nest_lock_t): Likewise.  Change owner to void *.
+       * config/posix/omp-lock.h: Include semaphore.h.
+       (omp_lock_25_t, omp_nest_lock_25_t): New types.
+       (omp_lock_t): Use sem_t instead of mutex if semaphores
+       aren't broken.
+       (omp_nest_lock_t): Likewise.  Add owner field.
+
+2008-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/collapse-1.c: New test.
+       * testsuite/libgomp.c/collapse-2.c: New test.
+       * testsuite/libgomp.c/collapse-3.c: New test.
+       * testsuite/libgomp.c/icv-1.c: New test.
+       * testsuite/libgomp.c/icv-2.c: New test.
+       * testsuite/libgomp.c/lib-2.c: New test.
+       * testsuite/libgomp.c/lock-1.c: New test.
+       * testsuite/libgomp.c/lock-2.c: New test.
+       * testsuite/libgomp.c/lock-3.c: New test.
+       * testsuite/libgomp.c/loop-4.c: New test.
+       * testsuite/libgomp.c/loop-5.c: New test.
+       * testsuite/libgomp.c/loop-6.c: New test.
+       * testsuite/libgomp.c/loop-7.c: New test.
+       * testsuite/libgomp.c/loop-8.c: New test.
+       * testsuite/libgomp.c/loop-9.c: New test.
+       * testsuite/libgomp.c/nested-3.c: New test.
+       * testsuite/libgomp.c/nestedfn-6.c: New test.
+       * testsuite/libgomp.c/sort-1.c: New test.
+       * testsuite/libgomp.c/task-1.c: New test.
+       * testsuite/libgomp.c/task-2.c: New test.
+       * testsuite/libgomp.c/task-3.c: New test.
+       * testsuite/libgomp.c/task-4.c: New test.
+       * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
+       to C++ testsuite default compiler options.
+       * testsuite/libgomp.c++/collapse-1.C: New test.
+       * testsuite/libgomp.c++/collapse-2.C: New test.
+       * testsuite/libgomp.c++/ctor-10.C: New test.
+       * testsuite/libgomp.c++/for-1.C: New test.
+       * testsuite/libgomp.c++/for-2.C: New test.
+       * testsuite/libgomp.c++/for-3.C: New test.
+       * testsuite/libgomp.c++/for-4.C: New test.
+       * testsuite/libgomp.c++/for-5.C: New test.
+       * testsuite/libgomp.c++/loop-8.C: New test.
+       * testsuite/libgomp.c++/loop-9.C: New test.
+       * testsuite/libgomp.c++/loop-10.C: New test.
+       * testsuite/libgomp.c++/task-1.C: New test.
+       * testsuite/libgomp.c++/task-2.C: New test.
+       * testsuite/libgomp.c++/task-3.C: New test.
+       * testsuite/libgomp.c++/task-4.C: New test.
+       * testsuite/libgomp.c++/task-5.C: New test.
+       * testsuite/libgomp.c++/task-6.C: New test.
+       * testsuite/libgomp.fortran/allocatable1.f90: New test.
+       * testsuite/libgomp.fortran/allocatable2.f90: New test.
+       * testsuite/libgomp.fortran/allocatable3.f90: New test.
+       * testsuite/libgomp.fortran/allocatable4.f90: New test.
+       * testsuite/libgomp.fortran/collapse1.f90: New test.
+       * testsuite/libgomp.fortran/collapse2.f90: New test.
+       * testsuite/libgomp.fortran/collapse3.f90: New test.
+       * testsuite/libgomp.fortran/collapse4.f90: New test.
+       * testsuite/libgomp.fortran/lastprivate1.f90: New test.
+       * testsuite/libgomp.fortran/lastprivate2.f90: New test.
+       * testsuite/libgomp.fortran/lib4.f90: New test.
+       * testsuite/libgomp.fortran/lock-1.f90: New test.
+       * testsuite/libgomp.fortran/lock-2.f90: New test.
+       * testsuite/libgomp.fortran/nested1.f90: New test.
+       * testsuite/libgomp.fortran/nestedfn4.f90: New test.
+       * testsuite/libgomp.fortran/strassen.f90: New test.
+       * testsuite/libgomp.fortran/tabs1.f90: New test.
+       * testsuite/libgomp.fortran/tabs2.f: New test.
+       * testsuite/libgomp.fortran/task1.f90: New test.
+       * testsuite/libgomp.fortran/task2.f90: New test.
+       * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
+       * testsuite/libgomp.fortran/vla5.f90: Likewise.
+       * testsuite/libgomp.c/pr26943-2.c: Likewise.
+       * testsuite/libgomp.c/pr26943-3.c: Likewise.
+       * testsuite/libgomp.c/pr26943-4.c: Likewise.
+
+2008-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/36308
+       * testsuite/libgomp.c++/ctor-11.C: New test.
+       * testsuite/libgomp.c++/ctor-12.C: New test.
+
+2008-05-15  Janis Johnson  <janis187@us.ibm.com>
+
+       * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
+
+2008-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/36106
+       * testsuite/libgomp.c/atomic-5.c: New test.
+       * testsuite/libgomp.c/atomic-6.c: New test.
+       * testsuite/libgomp.c/autopar-1.c: New test.
+
+2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
+       (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
+       (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
+       (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
+       * configure: Regenerate.
+       * Makefile.in, testsuite/Makefile.in: Likewise.
+
+2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/35457
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+
+2008-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35611
+       * testsuite/libgomp.c/atomic-4.c: New test.
+
+       PR libgomp/35625
+       * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
+       (gomp_iter_guided_next): Likewise.
+       * testsuite/libgomp.c/pr35625.c: New test.
+
+2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * aclocal.m4: Regenerate.
+       * configure: Likewise.
+       * Makefile.in: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
+2008-03-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35185
+       * testsuite/libgomp.c++/pr35185.C: New test.
+
+2008-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35549
+       * testsuite/libgomp.c/pr35549.c: New test.
+
+2008-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/atomic-3.c: New test.
+
+2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33197
+       * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
+       .F08 file suffixes.
+
+2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
+
+       PR libgomp/33131
+       * configure.ac: Add ACX_HEADER_STRING.
+       * env.c: Include strings.h.
+       * aclocal.m4: Regenerate.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2008-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/35196
+       * testsuite/libgomp.c/pr35196.c: New test.
+
+       PR middle-end/35130
+       * testsuite/libgomp.fortran/pr35130.f90: New test.
+       * testsuite/libgomp.c/pr35130.c: New test.
+
+2008-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/33880
+       * testsuite/libgomp.c/pr33880.c: New test.
+       * testsuite/libgomp.fortran/pr33880.f90: New test.
+
+2008-01-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * configure: Regenerate.
+
+2008-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Move futex checking into ../config/futex.m4.
+       * configure: Rebuilt.
+       * aclocal.m4: Rebuilt.
+       * Makefile.in: Rebuilt.
+
+       * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
+       2007-10-15 ../config/tls.m4 change.
+
+2007-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/34513
+       * testsuite/libgomp.c/pr34513.c: New test.
+       * testsuite/libgomp.c++/pr34513.C: New test.
+
+2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR target/32765
+       * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
+
+2007-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
+
+2007-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.c/private-1.c: New test.
+
+2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.am: Use space as vpath separator.  Use 'vpath %'
+       instead of 'VPATH ='.
+       * Makefile.in: Regenerate.
+
+2007-11-23  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac: Adjust makeinfo version check.
+       * configure: Regenerate.
+
+2007-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/34020
+       * testsuite/libgomp.fortran/pr34020.f90: New test.
+
+2007-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/33894
+       * testsuite/libgomp.c++/atomic-1.C: New test.
+
+2007-10-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/33275
+       * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
+       Make x and y integers rather than (implicit) reals.  Add private (j)
+       clause to the last omp parallel.
+
+2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * configure: Regenerate following changes to ../config/tls.m4.
+
+2007-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.fortran/stack.f90: New test.
+
+2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/mingw32/proc.c: New file.
+
+2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
+       (main): Use __get_cpuid to get i386 target fetaures.
+       * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
+       (main): Use __get_cpuid to get x86_64 target fetaures.
+
+2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR target/32765
+       * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
+       * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
+
+2007-07-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/32550
+       * testsuite/libgomp.fortran/pr32550.f90: New test.
+       * testsuite/libgomp.fortran/crayptr2.f90: New test.
+
+2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * aclocal.m4: Regenerated.
+
+2007-07-05  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/32359
+       * testsuite/libgomp.fortran/pr32359.f90: New.
+
+2007-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/32468
+       * sections.c (GOMP_parallel_sections_start): Only decrease
+       number of threads to COUNT if dyn_var is true.
+       * testsuite/libgomp.c/pr32468.c: New test.
+
+2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       PR libgomp/26308
+       * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
+
+2007-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/32362
+       * testsuite/libgomp.c/pr32362-1.c: New test.
+       * testsuite/libgomp.c/pr32362-2.c: New test.
+       * testsuite/libgomp.c/pr32362-3.c: New test.
+
+2007-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * team.c (gomp_team_start): Fix setting up thread_attr
+       stack size.
+
+2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure: Regenerate.
+
+2007-05-23  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2007-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/linux/proc.c: New file.
+
+       PR libgomp/28482
+       * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
+
+2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
+
+       * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
+
+2007-04-16  Matthias Klose  <doko@debian.org>
+
+       * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
+       flags if not building with -m64.
+       * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
+       flag for i?86-*-* targets, if current target matches -m64.
+
+2007-04-14  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
+       * Makefile.in: Regenerate.
+
+2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR testsuite/31369
+       * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
+       ld_library_path.
+       * testsuite/libgomp.fortran/fortran.exp: Likewise.
+
+2007-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
+       decls.
+       (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
+       * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
+       (parse_affinity): New function.
+       (initialize_env): Call it and gomp_init_affinity.
+       * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
+       create new pthread_attr_t and call gomp_init_thread_affinity
+       on it for each thread before passing the attribute to pthread_create.
+       * config/linux/affinity.c: New file.
+       * config/posix/affinity.c: New file.
+       * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
+       * configure: Rebuilt.
+       * config.h.in: Rebuilt.
+       * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
+       * Makefile.in: Rebuilt.
+
+2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
+       *-*-darwin*.
+       * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
+       and use it if found.
+
+2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * testsuite/config/default.exp: New file.
+       * testsuite/lib/libgomp.exp: New file.
+       * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
+       libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
+       load_lib *, load_gcc_lib *): Move to libgomp.exp.
+       (libgomp_load): Remove.
+       * testsuite/lib/libgomp.exp (libgomp_init): Compute
+       always_ld_library_path, not ld_library_path.  Set additional_flags
+       to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
+       (target_compile): Do not call libgomp_init.  Append lang_library_path
+       and lang_link_flags to options.
+       * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
+       ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
+       here.
+       * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
+       always_ld_library_path.  Set LD_LIBRARY_PATH here.
+       * testsuite/libgomp.fortran/fortran.exp: Ditto.
+       * testsuite/libgomp.c/atomic-1.c: Set dg-options to
+       "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
+       CX8 flag.
+       * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
+       lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
+       * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
+       * testsuite/libgomp.c/pr29947-1.c: Ditto.
+       * testsuite/libgomp.c/atomic-10.c: Ditto.
+
+2007-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
+       dg-final cleanup-modules line.
+       * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
+       * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
+       * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
+       * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
+       * testsuite/libgomp.fortran/reduction5.f90: Likewise.
+       * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
+       * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
+
+2007-03-18  Andreas Schwab  <schwab@suse.de>
+
+       * acinclude.m4: Adjust regular expression for ld version
+       extraction.
+       * configure: Regenerate.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Makefile.am: Add install-pdf target as copied from
+       automake v1.10 rules.
+       * Makefile.in: Regenerate
+
+2007-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/28486
+       * configure: Regenerate.
+
+       PR c++/30703
+       * testsuite/libgomp.c++/pr30703.C: New test.
+
+2007-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       Revert:
+       2006-07-05  Eric Christopher  <echristo@apple.com>
+       * configure.ac: Depend addition of -pthread on host OS.
+       * configure: Regenerate.
+
+2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * libgomp.texi: Fix spacing after abbreviations.
+
+2007-01-31  Daniel Franke <franke.daniel@gmail.com>
+
+       PR libgomp/30546
+       * configure.ac: Add check for makeinfo
+       * Makefile.am: Redefined target libgomp.info, build libgomp.info only
+       if an appropiate version of makeinfo is found.
+       * aclocal.m4: Regenerated.
+       * configure: Regenerated.
+       * Makefile.in: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+
+2007-01-29  Daniel Franke <franke.daniel@gmail.com>
+
+       PR libgomp/30540
+       * libgomp.texi: More about implementation-dependent settings.
+
+2007-01-26  Tobias Burnus  <burnus@net-b.de>
+
+       * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
+
+2007-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/30494
+       * testsuite/libgomp.c/pr30494.c: New test.
+
+2007-01-15  Tom Tromey  <tromey@redhat.com>
+
+       * configure: Rebuilt.
+       * configure.ac: Fixed comment.
+
+2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
+
+       * libgomp.texi: Document implementation specific default values of
+       environment variables.
+
+2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR libgomp/28209
+       * libgomp.texi: New file.
+       * configure.ac: Add --enable-generated-files-in-srcdir option.
+       * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
+       files to srcdir.
+       * Makefile.in: Regenerated.
+       * config.h.in: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+       * NOTES: Removed.
+
+2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR libgomp/29949
+       * env.c (omp_set_num_threads): Set illegal thread count to 1.
+
+2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * configure: Regenerate.
+
+2006-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/29947
+       * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
+       start if there shouldn't be any loop iterations.
+       (gomp_loop_ordered_static_start): Remove start == end test.
+       * testsuite/libgomp.c/pr29947-1.c: New test.
+       * testsuite/libgomp.c/pr29947-2.c: New test.
+
+2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * configure.tgt: Force initial-exec TLS model on Linux only.
+
 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * configure: Regenerated.