2011-06-27  Release Manager

	* GCC 4.6.1 released.

2011-05-19  Jakub Jelinek  <jakub@redhat.com>

	PR c++/49043
	* testsuite/libgomp.c++/pr49043.C: New test.

	PR c++/48869
	* testsuite/libgomp.c++/pr48869.C: New test.

2011-05-06  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/48894
	* fortran.c: Include limits.h.
	(TO_INT): Define.
	(omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
	*set.
	(omp_set_num_threads_8_, omp_set_schedule_8_,
	omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
	omp_get_team_size_8_): Use TO_INT macro.
	* testsuite/libgomp.fortran/pr48894.f90: New test.

2011-04-13  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/48591
	* testsuite/libgomp.c/pr48591.c: New test.

2011-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Backport from mainline:
	2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR bootstrap/48135
	* acinclude.m4 (enable_symvers): Handle --disable-symvers.
	* configure: Regenerate.

2011-03-25  Release Manager

	* GCC 4.6.0 released.

2011-02-27  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/47886
	* testsuite/libgomp.fortran/task3.f90: New test.

2011-02-24  Tobias Burnus  <burnus@net-b.de>

	* libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.

2011-02-23  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/47854
	* libgomp.texi (omp_get_wtime): Don't say time in the past
	must be Unix Epoch.

2011-02-18  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/47804
	* testsuite/libgomp.fortran/fortran.exp: Check for both
	libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
	but $blddir != "", still append ${blddir}/${lang_library_path}
	to ld_library_path.

2011-02-16  Tobias Burnus  <burnus@net-b.de>

	PR libgomp/47758
	* testsuite/libgomp.fortran/fortran.exp: Check for the existence
	of libquadmath.a before adding its libpath to ldflags.

2011-02-14  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/47731
	* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
	to FUTEX_WAIT futex syscall.
	* config/linux/wait.h: Include <futex.h> instead of "futex.h".

2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104
	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.

2011-01-16  Gerald Pfeifer

	* configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.

2010-12-14  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/46874
	* libgomp.fortran/allocatable6.f90: New test.

2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
	* configure: Regenerate.

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2010-12-02  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/46753
	* libgomp.fortran/pr46753.f90: New test.

	PR libgomp/43706
	* env.c (initialize_env): Default to spin count 300000
	instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
	is specified.

	PR libgomp/45240
	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
	at the end if sync builtins aren't supported.

2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.

2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.

2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>

	* testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.

2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/32049
	* configure.ac: 
	* configure: Regenerate.

2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/linux/futex.h: New.
	* config/linux/arm/mutex.h: New.
	* configure.tgt (arm*-*-linux*): Add config path.

2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>

	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.

2010-09-23  Tobias Burnus  <burnus@net-b.de>

	* libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
	Change Fortran datatype to LOGICAL.
	(omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
	omp_unset_nested_lock): Use intent(inout) instead of intent(out).

2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-07-26  Jakub Jelinek  <jakub@redhat.com>

	* libgomp.texi: Add function keyword to a couple of Fortran
	interfaces, use integer instead of int for Fortran.

2010-07-26  Aldy Hernandez  <aldyh@redhat.com>

	* libgomp.texi: Fix spelling and pasto problems throughout.
	Adjust prototypes to match code.

2010-07-24  Tobias Burnus  <burnus@net-b.de>

	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
	silence -fwhole-file warning.

2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.tgt (*-*-solaris2.[56]*): Removed.

2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
	Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
	LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
	(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
	targetting solaris2*.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
	libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
	Add libgomp_version_dep.
	[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
	versioning.
	[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
	(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
	* Makefile.in: Regenerate.

	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
	* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
	to common block, protected by
	HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.

2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>

	* libgomp.texi: Move to GFDL version 1.3.  Update copyright years.

2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>

	PR bootstrap/43170
	* configure: Regenerate.

2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2010-04-26  Jakub Jelinek  <jakub@redhat.com>

	PR c/43893
	* testsuite/libgomp.c/pr43893.c: New test.
	* testsuite/libgomp.c++/pr43893.C: New test.

2010-04-21  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/43570
	* testsuite/libgomp.fortran/vla8.f90: New test.

2010-04-20  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/43706
	* config/linux/affinity.c (gomp_init_affinity): Decrease
	gomp_available_cpus if affinity mask confines the process to fewer
	CPUs.
	* config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
	non-NULL, just return gomp_available_cpus.

	PR libgomp/43569
	* sections.c (gomp_sections_init): Initialize ws->mode.

2010-04-14  Uros Bizjak  <ubizjak@gmail.com>

	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
	not unused bar variable.
	* configure: Regenerate.

2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2010-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/42942
	* env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
	(initialize_env): Adjust callers.
	(omp_set_max_active_levels): Set gomp_max_active_levels_var even
	when the argument is 0.

	* testsuite/libgomp.c/pr42942.c: New test.

2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>

	PR middle-end/42644
	PR middle-end/42130
	* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust.

2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/libgomp.c++/task-1.C: Renamed err to e.
	* testsuite/libgomp.c++/task-6.C: Likewise.

2010-01-28  Steve Ellcey  <sje@cup.hp.com>

	* configure.tgt (*-*-hpux*): Add -frandom-seed flag.

2010-01-26  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Test for executability of _the first word_ of GFORTRAN.
	* configure: Regenerate.

2010-01-26  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/42866
	* testsuite/libgomp.fortran/allocatable5.f90: New test.

2010-01-20  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Test for executability of GFORTRAN.
	* configure: Regenerate.

2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure: Regenerate.

2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgomp/42602
	* libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.

2010-01-03  Richard Guenther  <rguenther@suse.de>

	* testsuite/libgomp.fortran/recursion1.f90: New testcase.

2009-12-23  Sebastian Pop  <sebpop@gmail.com>

	* testsuite/libgomp.graphite/pr4118.c: New.

2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

	* testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
	for darwin, protect the test with require-effective-target tls_runtime.
	* testsuite/libgomp.fortran/pr32550.f90: Ditto.

2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

	PR target/41605
	* testsuite/lib/libgomp.exp: Provide -B options to allow for
	link spec %s substitutions for static libraries.

2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>

	PR testsuite/42135
	* libgomp.graphite/force-parallel-2.c: Reduce array size.

2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>

	* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
	settings for LC_ALL and LANG.

2009-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/42162
	* testsuite/libgomp.fortran/pr42162.f90: New test.

2009-11-13  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/42029
	* testsuite/libgomp.c/pr42029.c: New test.

2009-10-26  Jakub Jelinek  <jakub@redhat.com>

	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
	*s.  Accept ld version without text in ()s.
	* configure: Regenerated.

2009-10-22  Razya Ladelsky  <razya@il.ibm.com>

	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.

2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR libgomp/41418
	* configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
	or a hyphen (happens with fortran language disabled).
	* configure: Regenerate.

2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
	use sed script portable to Solaris /bin/sed for extracting ld
	version.
	* configure: Regenerate.

2009-09-17  Alexander Monakov  <amonakov@ispras.ru>

	* testsuite/libgomp.graphite/bounds.c: New test.

2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (libgomp_la_LINK): New.
	* Makefile.in: Regenerate.

2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac (AC_PREREQ): Bump to 2.64.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (install-html, install-pdf): Remove.
	* Makefile.in: Regenerate.

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
	* Makefile.in: Regenerate.

2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>

	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
	* Makefile.in: Regenerate.

2009-08-19  Tobias Burnus  <burnus@net-b.de>

	PR fortran/41102
	omp_lib.h.in: Fix -std=f95 errors.


2009-08-14  David Edelsohn  <edelsohn@gnu.org>

	* testsuite/libgomp.graphite: Move from gcc.dg/graphite.
	* testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
	* testsuite/libgomp.graphite/graphite.exp: New.

2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
	only build.

2009-08-04  David Daney  <ddaney@caviumnetworks.com>

	* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
	needed memory barrier semantics.
	* config/linux/mips/mutex.h: New file.

2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.

2009-07-16  Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>

	PR testsuite/40699
	PR testsuite/40707
	PR testsuite/40709
	* testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
	* testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
	testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.

2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
	options when choosing a multilib.

2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
	ld_library_path.  Use add_path.  Add just find_libgcc_s to
	ld_library_path, not every libgcc multilib directory.
	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
	Use add_path.
	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.

2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>

	* Makefile.am (LTLDFLAGS): Define.
	(LINK): Define.
	* Makefile.in: Regenerate.

2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/39718
	* testsuite/libgomp.fortran/fortran.exp: Don't link with
	libgfortranbegin, check existence of libgfortran.a instead of
	libgfortranbegin.a.

2009-05-20  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/40174
	* team.c (gomp_thread_start): Destroy thr->release semaphore.
	(gomp_free_pool_helper): Likewise.

2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR fortran/35423
	* testsuite/libgomp.fortran/workshare2.f90: New test.

2009-04-09  Nick Clifton  <nickc@redhat.com>

	* iter.c: Change copyright header to refer to version 3 of the
	GNU General Public License with version 3.1 of the GCC Runtime
	Library Exception and to point readers at the COPYING3 and
	COPYING3.RUNTIME files and the FSF's license web page.
	* alloc.c: Likewise.
	* barrier.c: Likewise.
	* config/bsd/proc.c: Likewise.
	* config/linux/affinity.c: Likewise.
	* config/linux/alpha/futex.h: Likewise.
	* config/linux/bar.c: Likewise.
	* config/linux/bar.h: Likewise.
	* config/linux/ia64/futex.h: Likewise.
	* config/linux/ia64/mutex.h: Likewise.
	* config/linux/lock.c: Likewise.
	* config/linux/mips/futex.h: Likewise.
	* config/linux/mutex.c: Likewise.
	* config/linux/mutex.h: Likewise.
	* config/linux/powerpc/futex.h: Likewise.
	* config/linux/proc.c: Likewise.
	* config/linux/ptrlock.c: Likewise.
	* config/linux/ptrlock.h: Likewise.
	* config/linux/s390/futex.h: Likewise.
	* config/linux/sem.c: Likewise.
	* config/linux/sem.h: Likewise.
	* config/linux/sparc/futex.h: Likewise.
	* config/linux/wait.h: Likewise.
	* config/linux/x86/futex.h: Likewise.
	* config/mingw32/proc.c: Likewise.
	* config/mingw32/time.c: Likewise.
	* config/posix/affinity.c: Likewise.
	* config/posix/bar.c: Likewise.
	* config/posix/bar.h: Likewise.
	* config/posix/lock.c: Likewise.
	* config/posix/mutex.h: Likewise.
	* config/posix/proc.c: Likewise.
	* config/posix/ptrlock.h: Likewise.
	* config/posix/sem.c: Likewise.
	* config/posix/sem.h: Likewise.
	* config/posix/time.c: Likewise.
	* config/posix95/lock.c: Likewise.
	* critical.c: Likewise.
	* env.c: Likewise.
	* error.c: Likewise.
	* fortran.c: Likewise.
	* iter_ull.c: Likewise.
	* libgomp.h: Likewise.
	* libgomp_f.h.in: Likewise.
	* libgomp_g.h: Likewise.
	* loop.c: Likewise.
	* loop_ull.c: Likewise.
	* omp.h.in: Likewise.
	* omp_lib.f90.in: Likewise.
	* omp_lib.h.in: Likewise.
	* ordered.c: Likewise.
	* parallel.c: Likewise.
	* sections.c: Likewise.
	* single.c: Likewise.
	* task.c: Likewise.
	* team.c: Likewise.
	* work.c: Likewise.

2009-04-09  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/config/default.exp: Change copyright header to refer to
	version 3 of the GNU General Public License and to point readers
	at the COPYING3 file and the FSF's license web page.

2009-04-08  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/39573
	* libgomp.c++/pr39573.C: New test.

2009-04-01  Jakub Jelinek  <jakub@redhat.com>

	PR other/39591
	* testsuite/libgomp.c/pr39591-1.c: New test.
	* testsuite/libgomp.c/pr39591-2.c: New test.
	* testsuite/libgomp.c/pr39591-3.c: New test.

2009-03-25  Uros Bizjak  <ubizjak@gmail.com>

	* testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
	* testsuite/libgomp.c/atomic-6.c: Ditto.

2009-03-23  Jakub Jelinek  <jakub@redhat.com>

	PR c/39495
	* testsuite/libgomp.c/loop-12.c: New test.
	* testsuite/libgomp.c/loop-11.c: New test.
	* testsuite/libgomp.c++/loop-11.C: New test.
	* testsuite/libgomp.c++/loop-12.C: New test.
	* testsuite/libgomp.c++/for-8.C: New test.

2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/39154
	* testsuite/libgomp.c/pr39154.c: New test.

2009-01-30  Ian Lance Taylor  <iant@google.com>

	* acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
	libgomp_ld_is_gold.  Get gold version number.
	(LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
	* configure: Rebuild.

2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

	* testsuite/lib/libgomp.exp: Add -B option for targets that
	use libgfortran.a%s in their specs.

2009-01-07  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/38086
	* acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
	* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
	HAVE_AS_SYMVER_DIRECTIVE is not defined.
	* configure: Regenerated.
	* config.h.in: Likewise.

2008-12-28  Jakub Jelinek  <jakub@redhat.com>

	PR c++/38650
	* testsuite/libgomp.c/pr38650.c: New test.
	* testsuite/libgomp.c++/pr38650.C: New test.

2008-12-27  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.

2008-12-26  Uros Bizjak  <ubizjak@gmail.com>

	* testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.

2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2008-12-08  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/36802
	* testsuite/libgomp.c/pr36802-1.c: New test.
	* testsuite/libgomp.c/pr36802-2.c: New test.
	* testsuite/libgomp.c/pr36802-3.c: New test.

2008-12-01  Janis Johnson  <janis187@us.ibm.com>

	PR libgomp/38270
	* config/linux/powerpc/mutex.h: New.

2008-12-01  Jakub Jelinek  <jakub@redhat.com>

	PR c++/38257
	* testsuite/libgomp.c++/for-7.C: New test.

	PR c++/38348
	* testsuite/libgomp.c++/for-6.C: New test.

2008-11-26  Janis Johnson  <janis187@us.ibm.com>

	PR testsuite/28870
	* testsuite/lib/libgomp.exp: Include new timeout library files.
	(libgomp_target_compile): Set timeout value from new proc.

2008-11-13  Steve Ellcey  <sje@cup.hp.com>

	PR libgomp/37938
	* config/linux/ia64/mutex.h: New.

2008-11-04  Tobias Burnus  <burnus@net-b.de>

	PR libgomp/37935
	* libgomp.texi (Runtime library routines, environment variables):
	Update for OpenMP version 3.0.

2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
	    Steve Ellcey  <sje@cup.hp.com>

	* configure: Regenerate for new libtool.
	* Makefile.in: Ditto.
	* testsuite/Makefile.in: Ditto.

2008-09-19  Jakub Jelinek  <jakub@redhat.com>
	    Andreas Tobler  <a.tobler@schweiz.org>

	* config/bsd/proc.c: New file.
	* configure.tgt (*-*-darwin*): Use config_path "bsd posix".
	* configure.ac: Check for header <sys/sysctl.h>
	* configure: Regenerate.
	* config.h.in: Likewise.

2008-09-05  Janis Johnson  <janis187@us.ibm.com>

	* testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.

2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	* Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
	* Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>

	* testsuite/lib/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.

2006-11-09  Uros Bizjak  <ubizjak@gmail.com>

	* env.c (parse_schedule): Reject out of range values.
	(parse_unsigned_long): Reject out of range, negative or zero values.

2006-10-29  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/29629
	* testsuite/libgomp.fortran/pr29629.f90: New test.

2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>

	PR libgomp/29494
	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
	* config/posix95: New directory.
	* config/posix95/omp-lock.h: New file.
	* config/posix95/lock.c: Likewise.

2006-10-14  Geoffrey Keating  <geoffk@apple.com>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>

	* testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
	'<' to '<='.

2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>

	* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
	test.
	* configure: Regenerate.
	* fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.

2006-09-26  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/25261
	PR middle-end/28790
	* testsuite/libgomp.c/nestedfn-4.c: New test.
	* testsuite/libgomp.c/nestedfn-5.c: New test.
	* testsuite/libgomp.fortran/nestedfn3.f90: New test.

	PR fortran/29097
	* testsuite/libgomp.fortran/condinc1.f: New test.
	* testsuite/libgomp.fortran/condinc2.f: New test.
	* testsuite/libgomp.fortran/condinc3.f90: New test.
	* testsuite/libgomp.fortran/condinc4.f90: New test.
	* testsuite/libgomp.fortran/condinc1.inc: New file.

2006-09-18  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.

2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>

	PR c/28768
	PR preprocessor/14634
	* configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
	to AC_DEFINE.
	* configure: Regenerate.

2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	* testsuite/libgomp.fortran/reduction3.f90: Change
	-2147483648 to -huge(i)-1 to avoid overflow.
	* testsuite/libgomp.fortran/reduction4.f90: Change
	Z'ffffffff' to not(0) to avoid overflow.

2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>

	PR libgomp/25938
	* Makefile.am (libsubincludedir): New.
	(nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
	* Makefile.in: Regenerate.

2006-08-17  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/28725
	* env.c: Include ctype.h.
	(parse_schedule, parse_unsigned_long, parse_boolean): Allow
	leading and/or trailing whitespace and compare strings case
	insensitively.

2006-07-16  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/28390
	* testsuite/libgomp.fortran/pr28390.f: New test.

2006-07-05  Eric Christopher  <echristo@apple.com>

	* configure.ac: Depend addition of -pthread on host OS.
	* configure: Regenerate.

2006-06-21  Jakub Jelinek  <jakub@redhat.com>

	* critical.c (GOMP_critical_name_start): Fix *pptr initialization
	when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
	defined.

2006-06-20  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/26175
	PR libgomp/26477
	* configure.ac: If neither --enable-linux-futex nor
	--disable-linux-futex is passed, determine the default by checking
	for compiling and/or running against NPTL.  With --enable-linux-futex,
	check if SYS_gettid and SYS_futex are defined.
	* configure: Rebuilt.

2006-06-14  Richard Henderson  <rth@redhat.com>

	PR libgomp/28008
	* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
	undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.

2006-06-09  Richard Henderson  <rth@redhat.com>

	* env.c (gomp_nthreads_var): Change to unsigned long.
	(gomp_run_sched_chunk): Likewise.
	(parse_unsigned_long): Rename from parse_num_threads and generalize.
	(initialize_env): Initialize gomp_thread_attr.
	* libgomp.h (gomp_nthreads_var): Update decl.
	(gomp_run_sched_chunk): Likewise.
	(gomp_thread_attr): Declare.
	* team.c (gomp_thread_attr): Export.
	(initialize_team): Don't initialize it.

2006-06-09  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/27916
	* testsuite/libgomp.fortran/pr27916-1.f90: New test.
	* testsuite/libgomp.fortran/pr27916-2.f90: New test.

2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* config/mingw32/time.c: New file.
	* configure.tgt: Use it.

2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.am: Add install-html target. Add install-html to .PHONY
	* Makefile.in: Regenerate.

2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR libgomp/27612
	* testsuite/libgomp.c/sections-1.c: Require sync_int_long.
	* testsuite/libgomp.c/critical-1.c: Likewise.
	* testsuite/libgomp.c/loop-1.c: Likewise.
	* testsuite/libgomp.c/loop-2.c: Likewise.
	* testsuite/libgomp.c/single-1.c: Likewise.
	* testsuite/libgomp.c/ordered-1.c: Likewise.
	* testsuite/libgomp.c/ordered-2.c: Likewise.

2006-05-15  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/27416
	* libgomp.fortran/pr27416-1.f90: New test.

2006-05-03  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/27395
	* testsuite/libgomp.fortran/pr27395-1.f90: New test.
	* testsuite/libgomp.fortran/pr27395-2.f90: New test.

2006-05-02  Jakub Jelinek  <jakub@redhat.com>

	PR c++/26943
	* testsuite/libgomp.c/pr26943-1.c: New test.
	* testsuite/libgomp.c/pr26943-2.c: New test.
	* testsuite/libgomp.c/pr26943-3.c: New test.
	* testsuite/libgomp.c/pr26943-4.c: New test.
	* testsuite/libgomp.c++/pr27337.C: Remove barrier.
	* testsuite/libgomp.c++/pr26943.C: New test.

2006-05-02  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/27337
	* testsuite/libgomp.c++/pr27337.C: New test.

2006-04-26  Jakub Jelinek  <jakub@redhat.com>

	PR c/26171
	* testsuite/libgomp.c/pr26171.c: New test.

2006-04-25  Richard Henderson  <rth@redhat.com>

	PR libgomp/25865
	* configure.ac: Use GCC_CHECK_TLS.
	* acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
	* Makefile.in, aclocal.m4, configure: Regenerate.

2006-04-10  Matthias Klose  <doko@debian.org>

	* testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
	directory names containing underscores.

2006-03-21  Jakub Jelinek  <jakub@redhat.com>

	PR c++/26691
	* testsuite/libgomp.c++/pr26691.C: New test.

2006-03-13  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/retval2.f90: New test.

2006-03-09  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.c++: New directory.

2006-02-25  Shantonu Sen  <ssen@opendarwin.org>

	* config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
	* config/posix/sem.c: Implement the above.

2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
	define HAVE_BROKEN_POSIX_SEMAPHORES.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.

2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR bootstrap/26161
	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
	for the other pthread check.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2006-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/25938
	PR libgomp/25984
	* Makefile.am (fincludedir): New variable.
	(nodist_include_HEADERS): Remove Fortran files.
	(nodist_finclude_HEADERS): New variable.
	* Makefile.in: Regenerated.

2006-02-13  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
	Remove tests for returning assumed character length arrays.

2006-02-12  Roger Sayle  <roger@eyesopen.com>
	    John David Anglin  <dave@hiauly1.hia.nrc.ca>

	PR libgomp/25936
	* configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.

2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.

2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
	part of LD_LIBRARY_PATH manually.

2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgomp/25852
	* testsuite/lib/libgomp-dg.exp (blddir): Set it in
	libgomp_init.

2005-01-25  Paolo Bonzini  <bonzini@gnu.org>

	PR libgomp/25884
	* Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
	* configure.ac (PERL): Don't set.
	(gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
	(OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
	OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
	* omp.h.in: Wrap the new configure substitutions with @ characters.
	* omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
	* aclocal.m4, configure, Makefile.in: Regenerate.
	* mkomp_h.pl: Delete.

2005-01-24  Paolo Bonzini  <bonzini@gnu.org>

	PR libgomp/25259
	* configure.ac: Use GCC_HEADER_STDINT.
	* libgomp.h: Include gstdint.h.
	* libgomp_f.h.in: Don't include stdint.h or inttypes.h.
	* configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.

2006-01-24  Richard Henderson  <rth@redhat.com>

	PR libgomp/25942
	* configure.ac: Add AM_MAINTAINER_MODE.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.

2006-01-24  Diego Novillo  <dnovillo@redhat.com>

	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>

	* config/posix/proc.c: Conditional include of sys/loadavg.h for
	Solaris.
	* configure.ac: Add check for loadavg.h.
	(link_gomp): Adjust comment.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2006-01-21  Steve Ellcey  <sje@cup.hp.com>

	PR libgomp/25877
	* configure.ac: Remove check for alloca.h.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* libgomp.h: define gomp_alloca to be __builtin_alloca.
	* team.c: Remove use of alloca.h.
	Call gomp_alloca instead of alloca.

2006-01-20  Steve Ellcey  <sje@cup.hp.com>

	PR libgomp/25877
	* team.c: Add include of alloca.h.
	* configure.ac: Add check for alloca.h.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2006-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/25219
	* testsuite/libgomp.fortran/pr25219.f90: New test.

2005-12-05  Uros Bizjak  <uros@kss-loka.si>

	* testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
	testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
	testsuite/libgomp.fortran/threadprivate1.f90,
	testsuite/libgomp.fortran/threadprivate2.f90,
	testsuite/libgomp.fortran/threadprivate3.f90,
	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
	testsuite/libgomp.fortran/omp_parse3.f90: Change required
	effective-target to TLS runtime.

	* testsuite/libgomp.fortran/pr25162.f: Require
	effective-target TLS runtime.

2005-12-01  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/nestedfn2.f90: New test.
	* testsuite/libgomp.c/nestedfn-3.c: New test.

2005-11-30  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/25162
	* testsuite/libgomp.fortran/pr25162.f: New test.

2005-11-28  Jakub Jelinek  <jakub@redhat.com>

	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
	CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.

2005-11-25  Jakub Jelinek  <jakub@redhat.com>

	* alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
	libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
	omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
	single.c, team.c, work.c, config/linux/alpha/futex.h,
	config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
	config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
	config/linux/powerpc/futex.h, config/linux/s390/futex.h,
	config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
	config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
	config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
	config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
	FSF address.

2005-11-18  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
	to nodist_noinst_HEADERS.
	* Makefile.in: Rebuilt.

	* config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
	add integer count field.
	* config/posix/lock.c (omp_destroy_nest_lock): Adjust for
	omp_nest_lock_t type change.
	(omp_init_nest_lock): Likewise.  Initialize count to 0.
	(omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
	Increment count.
	(omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
	Decrement count.
	(omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
	Increment count if successful and return the new nesting level.
	* config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
	* omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
	* testsuite/libgomp.c/lib-1.c: New test.
	* testsuite/libgomp.fortran/lib1.f90: New test.
	* testsuite/libgomp.fortran/lib2.f: New test.
	* testsuite/libgomp.fortran/lib3.f: New test.

2005-11-17  Richard Henderson  <rth@redhat.com>

	PR 24845
	* Makefile.am (nodist_toolexeclib_HEADERS): New.
	* configure.ac (link_gomp): New.  Substitute it.
	(AC_CONFIG_FILES): Add libgomp.spec.
	* libgomp.spec.in: New file.
	* Makefile.in, testsuite/Makefile.in, configure: Rebuild.
	* testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.

2005-11-18  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/reduction1.f90: Adjust for
	reduction(-:var) behaving the same as reduction(+:var).
	* testsuite/libgomp.c/reduction-4.c: New test.

2005-11-15  Uros Bizjak  <uros@kss-loka.si>

	* testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
	testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
	testsuite/libgomp.c/copyin-3.c,
	testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
	testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
	testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
	testsuite/libgomp.c++/pr24455.C,
	testsuite/libgomp.fortran/threadprivate1.f90,
	testsuite/libgomp.fortran/threadprivate2.f90,
	testsuite/libgomp.fortran/threadprivate3.f90,
	testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
	testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
	testsuite/libgomp.fortran/omp_parse3.f90: Require
	effective-target TLS.

2005-11-14  Diego Novillo  <dnovillo@redhat.com>

	* HEADER: Remove.

2005-11-13  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/24797
	* team.c (initialize_team): Pass NULL rather than free as
	pthread_key_create destructor.  Initialize thread specific data
	pointer in initial thread to a static local variable rather than
	malloced memory.

2005-11-11  Uros Bizjak  <uros@kss-loka.si>

	* testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
	its location to ld_library_path.

2005-11-10  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.c/c.exp: Rename from dg.exp.

2005-11-10  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.c: Rename from libgomp.dg.

2005-11-09  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.c++/pr24455.C: Add copyin clause for
	threadprivate variable 'i'.

2005-11-09  Jakub Jelinek  <jakub@redhat.com>

	* config/linux/s390/futex.h: New file.
	* configure.tgt: Use it.

	* testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
	before the parallel.

2005-11-08  Jakub Jelinek  <jakub@redhat.com>

	PR c++/24734
	* testsuite/libgomp.c++/master-1.C: New test.

2005-11-07  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.dg/copyin-3.c: New test.

2005-11-07  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/retval1.f90: New test.
	* testsuite/libgomp.fortran/vla7.f90: New test.

2005-11-06  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/vla2.f90: New test.
	* testsuite/libgomp.fortran/vla3.f90: New test.
	* testsuite/libgomp.fortran/vla4.f90: New test.
	* testsuite/libgomp.fortran/vla5.f90: New test.
	* testsuite/libgomp.fortran/vla6.f90: New test.

2005-11-01  Jakub Jelinek  <jakub@redhat.com>

	* config/linux/sparc/futex.h: New file.
	* configure.tgt: Use it.
	* testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.

	* critical.c: Include stdlib.h.
	* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
	ignoring return value.
	* configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
	LIBGOMP_CHECK_SYNC_BUILTINS check.
	* configure: Rebuilt.

2005-10-31  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/vla1.f90: New test.

2005-10-31  Richard Henderson  <rth@redhat.com>

	* testsuite/libgomp.fortran/character2.f90: Fix race condition
	setting 's' in different threads.

2005-10-31  Jakub Jelinek  <jakub@redhat.com>

	* libgomp.h (attribute_hidden, ialias): Define.
	* config/posix/proc.c (omp_get_num_procs): Add ialias.
	* config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
	* config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
	omp_test_lock, omp_test_nest_lock): Likewise.
	* config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
	omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
	omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
	omp_test_lock, omp_test_nest_lock): Likewise.
	* env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
	omp_get_dynamic, omp_get_nested): Likewise.
	* parallel.c (omp_get_num_threads, omp_get_max_threads,
	omp_get_thread_num, omp_in_parallel): Likewise.
	* fortran.c (ialias_redirect): Define.
	(omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
	omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
	omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
	omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
	omp_set_num_threads, omp_get_dynamic, omp_get_nested,
	omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
	omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
	omp_get_wtime): Add ialias_redirect.

2005-10-30  Jakub Jelinek  <jakub@redhat.com>

	* fortran.c: Include stdlib.h.

2005-10-29  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
	* Makefile.in: Regenerated.

2005-10-28  Jakub Jelinek  <jakub@redhat.com>

	* mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
	* libgomp_f.h.in (omp_check_defines): New function.
	* env.c: Include libgomp_f.h.
	(initialize_env): Call omp_check_defines.

	* testsuite/libgomp.dg/copyin-2.c: New test.
	* testsuite/libgomp.c++/copyin-2.C: New test.
	* testsuite/libgomp.fortran/threadprivate3.f90: New test.

	* testsuite/libgomp.fortran/threadprivate2.f90: New test.
	* testsuite/libgomp.fortran/sharing2.f90: New test.

	* testsuite/libgomp.dg/copyin-1.c: New test.
	* testsuite/libgomp.c++/copyin-1.C: New test.

2005-10-26  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/crayptr1.f90: New test.

	* testsuite/libgomp.fortran/workshare1.f90: New test.

	* libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
	only test.
	* libgomp.fortran/sharing1.f90: New test.

2005-10-24  Jakub Jelinek  <jakub@redhat.com>

	PR c++/24502
	* testsuite/libgomp.c++/loop-7.C: New test.

	* testsuite/libgomp.dg/nestedfn-2.c: New test.

	* testsuite/libgomp.dg/nestedfn-1.c: New test.
	* testsuite/libgomp.fortran/reduction6.f90: New test.
	* testsuite/libgomp.fortran/nestedfn1.f90: New test.

2005-10-23  Richard Henderson  <rth@redhat.com>

	* testsuite/libgomp.c++/ctor-1.C: New.
	* testsuite/libgomp.c++/ctor-2.C: New.
	* testsuite/libgomp.c++/ctor-3.C: New.
	* testsuite/libgomp.c++/ctor-4.C: New.
	* testsuite/libgomp.c++/ctor-5.C: New.
	* testsuite/libgomp.c++/ctor-6.C: New.
	* testsuite/libgomp.c++/ctor-7.C: New.
	* testsuite/libgomp.c++/ctor-8.C: New.
	* testsuite/libgomp.c++/ctor-9.C: New.

2005-10-21  Diego Novillo  <dnovillo@redhat.com>

	PR 24455
	* testsuite/libgomp.c++/pr24455-1.C: New test.
	* testsuite/libgomp.c++/pr24455.C: New test.
	* testsuite/libgomp.dg/pr24455-1.c: New test.
	* testsuite/libgomp.dg/pr24455.c: New test.

2005-10-20  Richard Henderson  <rth@redhat.com>

	* testsuite/libgomp.c++/loop-6.C: New.
	* testsuite/libgomp.dg/loop-3.c: New.

2005-10-20  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/jacobi.f: Don't make i and j
	explicitly private.
	* testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
	explicitly shared.

2005-10-19  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.fortran/jacobi.f: New test.

2005-10-19  Richard Henderson  <rth@redhat.com>

	* configure.tgt (i?86-linux): Default to with_arch instead of
	CFLAGS.  Add -mtune to match target_cpu.
	(x86_64-linux): Tune to i686.

	* fortran.c (omp_test_nest_lock_): Fix typo.

2005-10-19  Jakub Jelinek  <jakub@redhat.com>

	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
	gomp_ordered_sync): Do nothing if team->nthreads == 1.
	* testsuite/libgomp.dg/ordered-3.c: New test.

	* testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
	Remove volatile keyword.

	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
	in COMMON block to avoid warnings on 64-bit targets.

2005-10-18  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/shared-3.c: New test.

2005-10-18  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
	* testsuite/libgomp.fortran/reduction5.f90: New test.

2005-10-18  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
	dg-options.
	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
	flush loop now that __sync_synchronize has proper memory barrier.
	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
	Add -ffixed-form to dg-options.

2005-10-17  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.fortran/fortran.exp: Also gather tests
	from subdirectories.
	* testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
	* testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.

2005-10-17  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.dg/dg.exp: Only unset lang_* if
	lang_library_path exists.  Use find instead of glob to gather tests.
	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.

2005-10-17  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
	* testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.

2005-10-15  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.dg/vla-1.c: New test.

	* testsuite/libgomp.fortran/reference2.f90: New test.

	* testsuite/libgomp.fortran/character2.f90: Remove explicit
	declaration of omp_get_thread_num.
	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
	use omp_lib.

	* testsuite/libgomp.fortran/reduction1.f90: New test.
	* testsuite/libgomp.fortran/reduction2.f90: New test.
	* testsuite/libgomp.fortran/reduction3.f90: New test.
	* testsuite/libgomp.fortran/reduction4.f90: New test.

2005-10-13  Richard Henderson  <rth@redhat.com>

	* Makefile.am (libgomp_la_SOURCES): Add bar.c.
	* Makefile.in: Regenerate.
	* barrier.c (GOMP_barrier): Use gomp_barrier_wait.
	* libgomp.h: Include bar.h.
	(struct gomp_barrier): Remove.
	(struct gomp_team): Add barrier.  Replace master_barrier with
	master_release.  Replace threads with ordered_release.
	(struct gomp_thread): Replace barrier with release.
	* ordered.c (gomp_ordered_first): Update for ordered_release change.
	(gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
	gomp_ordered_static_next, gomp_ordered_sync): Likewise.
	* single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
	(GOMP_single_copy_end): Likewise.
	* team.c (gomp_threads_dock): New.
	(gomp_barrier_init, gomp_barrier_destroy): Remove.
	(gomp_thread_start): Use gomp_barrier_wait.
	(new_team, free_team): Update for gomp_team changes.
	(gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
	(gomp_team_end): Use gomp_barrier_wait.
	(initialize_team): Update for gomp_thread changes.
	* work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
	(gomp_work_share_end_nowait): Use atomic ops when available.
	* config/linux/bar.c, config/linux/bar.h: New files.
	* config/posix/bar.c, config/posix/bar.h: New files.

2005-10-13  Jakub Jelinek  <jakub@redhat.com>

	* single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
	* testsuite/libgomp.dg/single-2.c: New test.

	* testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
	lang_link_flags): Unset, so that they aren't inherited from previously
	sourced *.exp.

	* testsuite/libgomp.fortran/threadprivate1.f90: New test.

2005-10-12  Richard Henderson  <rth@redhat.com>

	* testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
	(libgomp_init): Use lang_test_file, lang_library_path, and
	lang_link_flags, set by the subdirectory files.  Add -fopenmp here.

	* testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
	(lang_test_file, lang_link_flags): New.
	(DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.

	* testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
	testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
	testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
	testsuite/libgomp.c++/parallel-1.C,
	testsuite/libgomp.c++/reduction-1.C,
	testsuite/libgomp.c++/reduction-2.C,
	testsuite/libgomp.c++/reduction-3.C,
	testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
	testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
	testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
	New files, largely cribbed from the C testsuite.

2005-10-12  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/character1.f90: New test.
	* testsuite/libgomp.fortran/character2.f90: New test.

	* testsuite/libgomp.dg/nested-1.c: New test.
	* testsuite/libgomp.dg/nested-2.c: New test.
	* testsuite/libgomp.fortran/do1.f90: New test.
	* testsuite/libgomp.fortran/do2.f90: New test.

	* testsuite/libgomp.fortran/reference1.f90: New test.

2005-10-11  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.dg/reduction-1.c: New test.
	* testsuite/libgomp.dg/reduction-2.c: New test.
	* testsuite/libgomp.dg/reduction-3.c: New test.

2005-10-10  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.dg/atomic-1.c: New test.
	* testsuite/libgomp.dg/atomic-2.c: New test.

2005-10-09  Richard Henderson  <rth@redhat.com>

	* critical.c (atomic_lock): New.
	(initialize_critical): Initialize it.
	(GOMP_atomic_start, GOMP_atomic_end): New.
	* libgomp.map: Export them.
	* libgomp_g.h: Declare them.

	* testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.

2005-10-02  Richard Henderson  <rth@redhat.com>

	* configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
	to XCFLAGS instead of CFLAGS.

2005-09-30  Richard Henderson  <rth@redhat.com>

	* configure.ac: Determine whether -pthread or -lpthread is needed.
	* Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
	* Makefine.in, configure: Rebuild.

2005-09-28  Richard Henderson  <rth@redhat.com>

	* testsuite/libgomp.dg/omp-loop03.c: Fix return code.
	* testsuite/libgomp.dg/omp-single-3.c: New test.

2005-09-28  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/omp-single-2.c: New test.
	* testsuite/libgomp.dg/shared-2.c: Fix return code.

2005-09-27  Richard Henderson  <rth@redhat.com>

	* testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
	* testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.

2005-09-27  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.dg/omp-loop03.c: New test.

2005-09-27  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/omp-parallel-for.c: New test.

2005-09-27  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/omp-single-1.c: New test.
	* testsuite/libgomp.dg/shared-1.c: Return 0.
	Add prototype for abort.
	* testsuite/libgomp.dg/shared-2.c: Likewise.

2005-09-26  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
	constructs.

2005-09-26  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/shared-1.c: New test.
	* testsuite/libgomp.dg/shared-2.c: New test.

2005-09-24  Richard Henderson  <rth@redhat.com>

	* testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.

2005-09-24  Richard Henderson  <rth@redhat.com>

	* iter.c (gomp_iter_static_next): Round up when computing number
	of iterations.  Don't bother distributing a remainder equally.

	* testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
	Don't call srand.  Zero b before testing.
	(main): New.

2005-09-24  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/omp_atomic1.f90: New test.
	* testsuite/libgomp.fortran/omp_atomic2.f90: New test.

2005-09-23  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
	without !$omp end do, followed immediately by subroutine end.

2005-09-23  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/omp-parallel-if.c: New test.

2005-09-22  Richard Henderson  <rth@redhat.com>

	* critical.c (GOMP_critical_name_start): Change argument to void**.
	Reuse the pointer space if the mutex fits.
	(GOMP_critical_name_end): Likewise.
	(initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
	* libgomp_g.h (GOMP_critical_name_start): Update decl.
	(GOMP_critical_name_end): Likewise.
	* config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
	* config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.

2005-09-20  Richard Henderson  <rth@redhat.com>

	* critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
	(create_lock_lock): New.
	(initialize_critical): Initialize it.
	* libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
	* libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.

2005-09-20  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgom.dg/omp-loop01.c: Include stdio.h.

2005-09-20  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/omp-loop01.c: New test.
	* testsuite/libgomp.dg/omp-loop02.c: New test.

2005-09-20  Jakub Jelinek  <jakub@redhat.com>

	* configure.ac (AC_PROG_FC): Add.
	(USE_FORTRAN): New automake conditional.
	* configure: Rebuilt.
	* Makefile.am (libgomp_la_SOURCES): Add fortran.c.
	(nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
	If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
	Add rules to build them.
	* Makefile.in: Rebuilt.
	* mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
	OMP_NEST_LOCK_KIND.
	* libgomp.map: Add Fortran wrappers.
	* libgomp_f.h.in: New file.
	* omp_lib.h.in: New file.
	* omp_lib.f90.in: New file.
	* fortran.c: New file.
	* testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
	Append libgfortran directory to LD_LIBRARY_PATH if it exists.
	Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
	libgfortran has been built.
	* testsuite/libgomp.fortran/fortran.exp: New file.
	* testsuite/libgomp.fortran/omp_cond1.f: New test.
	* testsuite/libgomp.fortran/omp_cond2.f: New test.
	* testsuite/libgomp.fortran/omp_cond3.F90: New test.
	* testsuite/libgomp.fortran/omp_cond4.F90: New test.
	* testsuite/libgomp.fortran/omp_hello.f: New test.
	* testsuite/libgomp.fortran/omp_orphan.f: New test.
	* testsuite/libgomp.fortran/omp_parse1.f90: New test.
	* testsuite/libgomp.fortran/omp_parse2.f90: New test.
	* testsuite/libgomp.fortran/omp_parse3.f90: New test.
	* testsuite/libgomp.fortran/omp_parse4.f90: New test.
	* testsuite/libgomp.fortran/omp_reduction.f: New test.
	* testsuite/libgomp.fortran/omp_workshare1.f: New test.
	* testsuite/libgomp.fortran/omp_workshare2.f: New test.

2005-08-30  Richard Henderson  <rth@redhat.com>

	* loop.c (GOMP_loop_static_start): Provide fallback wrapper
	function for when aliases are not usable.
	(GOMP_loop_dynamic_start, GOMP_loop_guided_start,
	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
	GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
	GOMP_loop_dynamic_next, GOMP_loop_guided_next,
	GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
	GOMP_loop_ordered_guided_next): Likewise.
	* ordered.c (GOMP_ordered_start): Likewise.

2005-08-01  Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/dg.exp: Use -O2 for now.
	* testsuite/libgomp.dg/omp_hello.c: Fix return code
	* testsuite/libgomp.dg/omp_matvec.c: Likewise.
	* testsuite/libgomp.dg/omp_orphan.c: Likewise
	* testsuite/libgomp.dg/omp_reduction.c: Likewise
	* testsuite/libgomp.dg/omp_workshare1.c: Likewise
	* testsuite/libgomp.dg/omp_workshare2.c: Likewise
	* testsuite/libgomp.dg/omp_workshare3.c: Likewise
	* testsuite/libgomp.dg/omp_workshare4.c: Likewise

2005-07-07  Eric Christopher  <echristo@redhat.com>
	    Diego Novillo  <dnovillo@redhat.com>

	* testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
	* testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
	up code.
	* testsuite/libgomp.dg/omp_matvec.c: Ditto.
	* testsuite/libgomp.dg/omp_orphan.c: Ditto.
	* testsuite/libgomp.dg/omp_reduction.c: Ditto.
	* testsuite/libgomp.dg/omp_workshare1.c: Ditto.
	* testsuite/libgomp.dg/omp_workshare2.c: Ditto.
	* testsuite/libgomp.dg/omp_workshare3.c: Ditto.
	* testsuite/libgomp.dg/omp_workshare4.c: Ditto.

2005-06-13  Diego Novillo  <dnovillo@redhat.com>

	* TOPLEVEL.patch: Remove.

2005-05-16  Richard Henderson  <rth@redhat.com>

	* configure.ac: Test for clock_gettime.
	* config.h.in, configure: Rebuild.
	* config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
	(omp_get_wtime): Use clock_gettime if available.
	(omp_get_wtick): Use clock_getres if available.

2005-05-11  Richard Henderson  <rth@redhat.com>

	* config/linux/ia64/futex.h: New file.
	* configure.tgt: Use it.

	* team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.

2005-05-07  Richard Henderson  <rth@redhat.com>

	* config/linux/powerpc/futex.h: New file.
	* configure.tgt: Use it.

	* config/linux/i486/futex.h: Merge ...
	* config/linux/x86_64/futex.h: ... into ...
	* config/linux/x86/futex.h: ... here.
	* configure.tgt: Update to match.

2005-05-06  Richard Henderson  <rth@redhat.com>

	* config/linux/alpha/futex.h: Conditionally define SYS_futex.
	* config/linux/i486/futex.h: Likewise.
	* config/linux/x86_64/futex.h: Likewise.

	* config/linux/lock.c: New file.
	* config/linux/omp-lock.h: New file.

	* critical.c, env.h: Don't include omp.h
	* config/posix/lock.c: Include libgomp.h instead of omp.h.
	* config/posix/time.c: Likewise.
	* config/posix/omp-lock.h: New file.
	* libgomp.h: Include omp-lock.h and omp.h.
	* Makefile.am (nodist_include_HEADERS): New.
	(omp.h): New rule.
	* configure.ac (PERL): New.
	* mkomp_h.pl: New file.
	* omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
	with templates.
	* Makefile.in, configure, testsuite/Makefile.in: Rebuild.

	* testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
	build directory.  Re-add -march=i486 hack.

	* testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
	(libgomp_link_flags): Remove.
	(libgomp_initialized): Remove.
	(libgomp_init): Don't protect from reinitialization.  Copy code
	from libstdc++ for getting the multilib set correctly.

2005-05-05  Richard Henderson  <rth@redhat.com>

	* config/linux/alpha/futex.h: New file.
	* configure.tgt (alpha*-*-linux*): Use it.

	* config/posix/mutex.c: New file.
	* config/posix/sem.c: Use libgomp.h.

	* configure.tgt (x86_64-linux): Also test CC for -m32.
	* config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.

	* testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
	after $gccpath.

	* Makefile.am (SUBDIRS): New.
	(libgomp_la_LDFLAGS): Add -lpthread.
	* configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
	* Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.

	* libgomp_g.h: New file.
	* libgomp.h: Split out all public declarations to libgomp_g.h.
	Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
	* config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
	* config/linux/sem.h: Likewise.
	* config/posix/sem.h: Likewise.

	* Makefile.am (AM_LDFLAGS): New.
	(libgomp_version_script): Split out from ...
	(libgomp_la_LDFLAGS): ... here.
	(libgomp_version_info): New.
	* acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
	(LIBGOMP_ENABLE): New.
	(LIBGOMP_CHECK_LINKER_FEATURES): New.
	(LIBGOMP_ENABLE_SYMVERS): New.
	* configure.ac (AC_INIT): Version 1.0.
	(enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
	(enable-linux-futex): Likewise.  Rename from enable-futex.
	(libtool_VERSION): New.
	(LIBGOMP_ENABLE_SYMVERS): Use it.
	* configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
	* Makefile.in, aclocal.m4, configure: Rebuild.

	* config/linux/mutex.c: Include libgomp.h instead of mutex.h.
	(gomp_mutex_unlock_slow): Fix typo.
	* config/linux/sem.c: Similarly.
	(gomp_sem_post_slow): Fix typo.
	* config/linux/sem.h (gomp_sem_post_slow): Fix typo.
	* config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
	[__PIC__] (sys_futex0): Don't use tmp output in asm.

	* Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
	(libgomp_la_LDFLAGS): Add top_srcdir to path.
	* acinclude.m4: Copy libtool.m4 stuff from libgfortran.
	* configure.ac: Check for getloadavg.  Substitute XCFLAGS and
	XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
	* configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
	LDFLAGS.  Pull enable_futex check to top-level.
	* libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

	First attempt at real configury.
	* Makefile, config.h: Remove file.
	* Makefile.am, Makefile.in: New file.
	* acinclude.m4 aclocal.m4: New file.
	* configure.ac, configure.tgt, configure: New file.

	* config/posix/lock.c: Rename from sys-lock.c.
	* config/posix/mutex.h: Rename from sys-mutex.h.
	* config/posix/sem.c: Rename from sys-sem.c.
	* config/posix/sem.h: Rename from sys-sem.h.
	* config/posix/proc.c: Rename from sys-proc.c.
	* config/posix/time.c: Rename from sys-proc.c.

	* config/linux/mutex.c: New file.
	* config/linux/mutex.h: New file.
	* config/linux/sem.c: New file.
	* config/linux/sem.h: New file.
	* config/linux/i486/futex.h: New file.
	* config/linux/x86_64/futex.h: New file.

2005-05-04  Richard Henderson  <rth@redhat.com>

	* iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
	* libgomp.h: Declare them.
	* loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
	gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.

2005-05-04  Richard Henderson  <rth@redhat.com>

	* libgomp-1 code drop

2005-05-04  Richard Henderson  <rth@redhat.com>

	* iter.c (gomp_iter_static_next): Return tri-state on 0.
	* ordered.c (gomp_ordered_static_next): Remove not_last argument.
	* libgomp.h (struct gomp_team_state): Make static_trip unsigned.
	(gomp_iter_static_next): Update.
	(gomp_ordered_static_next): Update.
	* loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
	(gomp_loop_ordered_static_start): Likewise.  Exit early for a
	totally empty range.
	(gomp_loop_ordered_static_next): Refine test for calling
	gomp_ordered_static_next.
	* testsuite/ordered-1.c: Add case for more threads than iterations.

	* iter.c (gomp_iter_runtime_next_locked): Remove.
	* loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
	gomp_loop_guided_start, gomp_loop_ordered_static_start,
	gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
	gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
	gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
	gomp_loop_ordered_guided_next): Downcase name, make static, add
	an external alias with the old name.
	(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
	GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
	switch and call one of the above static functions.
	* libgomp.h: Update.

	* work.c (gomp_work_share_start): Lock the mutex for !first too.
	* loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
	GOMP_loop_guided_start, GOMP_loop_runtime_start,
	GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
	GOMP_loop_ordered_guided_start): Update to match.
	* sections.c (GOMP_sections_start): Likewise.
	* single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.

	* ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
	gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
	Use bounds check instead of modulus.
	(gomp_ordered_sync): Split out of GOMP_ordered_start.
	(gomp_ordered_last): Don't sync with ordered_owner here.
	(gomp_ordered_next): Likewise.
	(gomp_ordered_static_loop_next): Likewise.
	* loop.c, libgomp.h: Update to match.

	* libgomp.h (GOMP_barrier): Declare.

	* testsuite/barrier-1.c: New file.
	* testsuite/critical-1.c: New file.
	* testsuite/ordered-2.c: New file.
	* testsuite/ordered-1.c: New file.
	* testsuite/sections-1.c: New file.
	* testsuite/single-1.c: New file.
	* testsuite/Makefile (TESTS): Add them.

2005-05-04  Richard Henderson  <rth@redhat.com>

	* libgomp.h (struct gomp_work_share): Add ordered_owner.
	* loop.c (GOMP_loop_static_start): If not the startup thread,
	acquire the mutex to wait for initialization complete.
	(GOMP_loop_ordered_static_start): Likewise.
	(GOMP_loop_ordered_runtime_start): Likewise.
	(GOMP_loop_ordered_static_first): Remove.
	(GOMP_loop_ordered_dynamic_first): Remove.
	(GOMP_loop_ordered_guided_first): Remove.
	(GOMP_loop_ordered_runtime_first): Remove.
	* ordered.c (gomp_ordered_loop_first): Post to own release when
	we're the first thread.
	(gomp_ordered_loop_last): Wait on release if not owner.
	(gomp_ordered_loop_next): Likewise.
	(gomp_ordered_static_loop_init): New.
	(gomp_ordered_static_loop_next): Use ordered_owner.
	(GOMP_ordered_start): Likewise.
	* work.c (gomp_new_work_share): Initialize ordered_owner.

2005-05-03  Richard Henderson  <rth@redhat.com>

	* Makefile (OPT): New.
	(CFLAGS): Use it.

	* loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
	* sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
	* libgomp.h, libgomp.map, NOTES: Update to match.

	* team.c (struct gomp_thread_start_data): Remove ts, fn, data.
	Add initialized and thr members.
	(gomp_thread_start): Pause when initially spawned to wait for
	the whole team to be created.
	(gomp_team_start): Release team members at the end.

	* testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
	(f_foo_1): Use GOMP_loop_end.
	(f_foo_2): Use GOMP_loop_end_nowait.

	* testsuite/loop-2.c: New file.
	* testsuite/Makefile (TESTS): Add it.

2005-05-03  Richard Henderson  <rth@redhat.com>

	* iter.c (gomp_iter_static_next): Fix overflow check typo.
	(gomp_iter_dynamic_next_locked): Fix overflow check thinko.
	* team.c (new_team): Initialize oldest_live_gen to 1 if no
	initial work_share.

	* testsuite/Makefile: New file.
	* testsuite/loop-1.c: New file.

2005-05-03  Richard Henderson  <rth@redhat.com>

	Initial implementation and checkin.
