2022-06-28  Release Manager

	* GCC 10.4.0 released.

2021-04-08  Release Manager

	* GCC 10.3.0 released.

2020-07-23  Release Manager

	* GCC 10.2.0 released.

2020-05-07  Release Manager

	* GCC 10.1.0 released.

2020-02-20  Alexandre Oliva <oliva@adacore.com>

	* mkheaders.in: Don't require build-time shell on host.

2020-02-13  Matheus Castanho  <msc@linux.ibm.com>

	* fixinc.in: Skip machine_name fix on powerpc*-*-linux*.

2020-02-13  Alexandre Oliva <oliva@adacore.com>

	* mkheaders.in: Re-create subdirs, copy limits.h into subdir.
	* mkfixinc.sh: Create dummy fixinc for *-*-vxworks7*.

2020-01-25  John David Anglin  <danglin@gcc.gnu.org>

	* inclhack.def (hpux_c99_inttypes4): New, add missing SCNuMAX defines.
	* fixincl.x: Regenerate.
	* tests/base/inttypes.h: Update for above fix.

2019-12-30  John David Anglin  <danglin@gcc.gnu.org>

	PR libgomp/93066
	* inclhack.def (hpux_c99_inttypes3): Fix defines for INTPTR_MAX
	and UINTPTR_MAX, and missing define for SIZE_MAX.
	* fixincl.x: Regenerate.
	* tests/base/inttypes.h: Update for above fix.

2019-08-18  C.G. Dogan <gcc+cgdogan.00@gmail.com>
	    Iain Sandoe  <iain@sandoe.co.uk>

	PR target/83531
	* inclhack.def (darwin_api_availability): New, strip leading
	underscores from API_XXXX defines.
	* fixincl.x: Regenerate.
	* tests/base/os/availability.h: New file.

2019-06-21  Iain Sandoe  <iain@sandoe.co.uk>

	* inclhack.def: Replace the complex test using __STRICT_ANSI__ and
	__STDC_VERSION__ with a test using __DARWIN_NO_LONG_LONG.
	Ensure that the top level math.h uses <> to wrap included headers
	rather than "".
	* fixincl.x: Regenerated.
	* tests/base/architecture/ppc/math.h: Update test to include the
	__DARWIN_NO_LONG_LONG case.

2019-06-21  Iain Sandoe  <iain@sandoe.co.uk>

	* inclhack.def: Guard __has_attribute and __has_extension in
	os/base.h.
	Guard Apple blocks syntax in dispatch/object.h.
	* fixincl.x: Regenerate.
	* tests/base/dispatch/object.h: New file.
	* tests/base/os/base.h: New file.

2019-05-11  Iain Sandoe  <iain@sandoe.co.uk>
	PR target/90379
	PR bootstrap/89864
	* inclhack.def (darwin_ucred__Atomic): Do not supply test_text
	for wrap fixes.
	* fixincl.x: Regenerated.

2019-04-18  Erik Schnetter  <schnetter@gmail.com>
	  Jakub Jelinek  <jakub@redhat.com>
	  Iain Sandoe  <iain@sandoe.co.uk>

	PR bootstrap/89864
	* inclhack.def (darwin_ucred__Atomic): New, work around _Atomic keyword
	use in headers included by C++.
	* fixincl.x: Regenerated.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* aclocal.m4, configure: Regenerate.

2018-10-16  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* inclhack.def (AAB_vxworks_regs_vxtypes): Add unconditional
	include of vxCpu.h, guard include of vxTypesOld.h by
	!_ASMLANGUAGE.
	* fixincl.x: Regenerate.

2018-09-03  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* inclhack.def (vxworks_ioctl_macro): Remove parentheses from
	expansion of ioctl macro.
	* fixincl.x: Regenerate.

2018-07-23  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_unistd): New.
	* fixincl.x: Regenerate.
	* tests/base/unistd.h [AIX_UNISTD_CHECK]: New test.

2018-06-27  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* tests/base/ioLib.h [VXWORKS_IOLIB_INCLUDE_UNISTD_CHECK]: Add
	missing hunk.

2018-06-12    Rasmus Villemoes <rasmus.villemoes@prevas.dk>

	* genfixes: exit 1 when autogen not found.
	* genfixes: Remove some redundant code.
	* genfixes: Update URL to autogen source code.

	* inclhack.def: Fix fixup for assert.h on vxworks.
	* fixincl.x: Regenerate.

2018-05-25  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

	* inclhack.def (vxworks_iolib_include_unistd): New fix.

2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-02-22  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_stdlib_vec_malloc): New.
	(aix_stdlib_vec_calloc): New.
	* fixincl.x: Regenerate.
	* tests/base/stdlib.h [AIX_STDLIB_VEC_MALLOC]: New test.
	[AIX_STDLIB_VEC_CALLOC]: New test.

2017-10-13  Mike Frysinger  <vapier@chromium.org>

	* fixinc.in (dirname): Change sed from 's|[^/]*/||' to
	's|[^/]*//*||'.

2017-06-12  Doug Rupp  <rupp@adacore.com>

	* inclhack.def (AAB_vxworks_stdint): Remove hack.
	* fixincl.x: Regenerate.

2017-02-25  John David Anglin  <danglin@gcc.gnu.org>

	PR target/68739
	* inclhack.def (hpux11_pthread_pointer): New fix.
	(hpux11_pthread_const): Adjust to remove void * cast from define.
	* fixincl.x: Regenerate.

2017-02-11  John David Anglin  <danglin@gcc.gnu.org>

	* tests/base/alloca.h: New file.
	* inclhack.def (hppa_hpux11_alloca): New fix.
	* fixincl.x: Regenerate.

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

	PR other/79046
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.

2017-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/78979
	* inclhack.def (solaris_gets_c11, solaris_gets_cxx14)
	(solaris_std_gets_cxx14, solaris_stdlib_noreturn): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/iso/stdio_iso.h [SOLARIS_GETS_C11_CHECK,
	SOLARIS_GETS_CXX14_CHECK, SOLARIS_STD_GETS_CXX14_CHECK,
	SOLARIS_STDLIB_NORETURN_CHECK]: New tests.

2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (solaris_math_12): New fix.
	(hpux11_fabsf): Replace bypass by *-hp-hpux11* mach selector.
	* fixincl.x: Regenerate.
	* tests/base/math.h [SOLARIS_MATH_12_CHECK]: New test.

2016-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR sanitizer/78267
	* inclhack.def (darwin_availabilityinternal, darwin_os_trace_1)
	(darwin_os_trace_2, darwin_os_trace_3): New fixes.
	(hpux_stdint_least_fast): Remove spurious _EOFix_.
	* fixincl.x: Regenerate.
	* tests/bases/AvailabilityInternal.h: New file.
	* tests/bases/os/trace.h: New file.

2016-09-30  Tadek Kijkowski  <tkijkowski@gmail.com>

	* check.tpl: Convert line endings to unix on test outputs
	* fixfixes.c: Fixed passing file name to apply_fix when
	SEPARATE_FIX_PROC is defined
	* fixincl.c: Use system_with_shell, fixes for MinGW and DJGPP
	* fixlib.c, fixlib.h: Added system_with_shell and fix_path_separators

2016-09-04  John David Anglin  <danglin@gcc.gnu.org>

	* inclhack.def (hpux_longjmp): Adjust select regular expression.
	* fixincl.x: Regenerate.

2016-08-13  John David Anglin  <danglin@gcc.gnu.org>

	* inclhack.def (hpux_longjmp): New fix.
	* fixincl.x: Regenerate.
	* tests/base/setjmp.h: New test file.

2016-08-09  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR bootstrap/72833
	* fixincl.tpl (version-compare): Fix generation with autogen 5.18.
	* inclhack.def (darwin_longjmp_noreturn): New fix.
	* fixincl.x: Regenerated.
	* tests/base/i386/setjmp.h [DARWIN_LONGJMP_NORETURN_CHECK]: new test.

2016-08-01  Muhammad Bilal  <mbilal@codesourcery.com>

	* fixinc.in: Use --parents option to make LIB directory.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* mkfixinc.sh: Remove interix support.

2016-06-13  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_stdlib_malloc): New fix.
	(aix_stdlib_realloc): New fix.
	(aix_stdlib_calloc): New fix.
	(aix_stdlib_valloc): New fix.
	* fixincl.x: Regenerate.
	* tests/base/stdlib.h [AIX_STDLIB_MALLOC]: New test.
	[AIX_STDLIB_REALLOC]: New test.
	[AIX_STDLIB_CALLOC]: New test.
	[AIX_STDLIB_VALLOC]: New test.

2016-01-31  John David Anglin  <danglin@gcc.gnu.org>

	PR target/68741
	* inclhack.def (hpux_vsscanf): New fix.
	* fixincl.x: Regenerated.
	* tests/base/stdio.h [HPUX_VSSCANF_CHECK]: New test.

2015-08-14  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_stdio_inline): New fix.
	(aix_strtof_const): Limit to *-*-aix*.
	(aix_sysmachine): Same.
	(aix_syswait_2): Same.
	(aix_volatile): Same.
	* fixincl.x: Regenerated.
	* test/base/stdio.h [AIX_STDIO_INLINE]: New test.

2015-07-28  Eric Gallager  <egall@gwmail.gwu.edu>

	* check.tpl: Ignore .DS_Store directories.

2015-05-21  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_externc): New fix.
	(aix_externcpp[12]): New fix.
	* fixincl.x: Regenerate.
	* test/base/ctype.h [AIX_EXTERNC_CHECK]: New test.
	* test/base/sys/socket.h [AIX_EXTERNCPP[12]_CHECK]: New test.
	* test/base/fcntl.h: New file.

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* aclocal.m4: Regenerated with automake-1.11.6.

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* mkfixinc.sh: Add *-musl* with no fixes.

2015-03-28  John David Anglin  <danglin@gcc.gnu.org>

	PR libstdc++/65500
	* inclhack.def (hpux11_lwp_rwlock_valid): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/pthread.h [HPUX11_LWP_RWLOCK_VALID_CHECK]: New test.

2015-02-16  Daniel Richard G.  <skunk@iskunk.org>

	PR bootstrap/48009
	PR bootstrap/53348
	* inclhack.def (aix_strtof_const): New fix.
	* fixincl.x: Regenerate.
	* tests/base/stdlib.h: New test.

2015-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (solaris_math_11): New fix.
	* fixincl.x: Regenerate.
	* tests/base/iso/math_c99.h [SOLARIS_MATH_11_CHECK]: New test.

2015-02-06  David Edelsohn  <dje.gcc@gmail.com>

	PR bootstrap/53348
	* inclhack.def (aix_pthread): Accept tab after define.
	* fixincl.x: Regenerate.

2015-01-24  Bruce Korb  <bkorb@gnu.org>

	* README: add some clarification on use of test_text

2014-12-21  Bruce Korb  <bkorb@gnu.org>

	* fixincludes/fixincl.tpl: add handling for "sum" selection
	criteria and clean up layout
	* fixincludes/fixlib.h: enumerate TT_CKSUM test type
	* fixincludes/fixincl.c (fix_applies): add code to handle
	the new test type
	(cksum_test): function to handle it
	* fixincludes/README: doc it and remove explanations from
	more than a decade ago.

2014-12-15  Uros Bizjak  <ubizjak@gmail.com>

	* server.c (server_setup): Check return value of
	getcwd and in case of error set buff[0] to 0.

2014-10-21  Uros Bizjak  <ubizjak@gmail.com>

	* inclhack.def (glibc_c99_inline_4): Add pthread.h to files.
	* fixincl.x: Regenerate.

2014-08-04  Alexander Ivchenko  <alexander.ivchenko@intel.com>

	* inclhack.def (complier_h_tradcpp): Remove.
	* fixincl.x: Regenerate.
	* tests/base/linux/compiler.h: Remove.

2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
	(solaris_int_types): Remove.
	(solaris_longjmp_noreturn): Remove.
	(solaris_mutex_init_2): Remove.
	(solaris_once_init_2): Remove.
	(solaris_sys_va_list): Remove.
	* fixincl.x: Regenerate.
	* tests/base/iso/setjmp_iso.h: Remove.
	* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
	[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
	solaris_once_init_2.
	[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
	* tests/base/sys/int_types.h: Remove.
	* tests/base/sys/va_list.h: Remove.

2013-12-20  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	Makefile.in: Use $(FI) instead of fixincl@EXEEXT@.

2013-12-07  Bruce Korb  <bkorb@gnu.org>

	* inclhack.def: many of the headers found under "bits/" are
	often stashed under architecture directories.  Apply fixes
	to those, too.  Also, re-ordered misordered fixes.
	* tests/base/linux/vt.h: 80 columns in .def file limitation
	* tests/base/iso/math_c99.h: adjust ordering
	* tests/base/rtldef/string.h: likewise
	* tests/base/bits/fenv.h: likewise
	* tests/base/pthread.h: likewise

2013-12-06  Richard Biener  <rguenther@suse.de>

	* inclhack.def (suse_linux_vt_cxx): New fix for linux/vt.h
	being not compatible with C++.
	* fixincl.x: Regenerate.
	* tests/base/linux/vt.h: New test.

2013-09-20  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2013-09-02  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_assert): New fix.
	* fixincl.x: Regenerate.
	* tests/base/assert.h [AIX_ASSERT_CHECK]: New check.

2013-07-06  Bruce Korb  <bkorb@gnu.org>

	* inclhack.def (cdef_cplusplus): removed, per Bug 51776
	* tests/base/sys/cdefs.h (CDEF_CPLUSPLUS_CHECK): obsolete

2013-05-23  Alexander Ivchenko  <alexander.ivchenko@intel.com>

	* inclhack.def (complier_h_tradcpp): New.
	* fixincl.x: Rebuilt.
	* tests/base/linux/compiler.h: New.

2013-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (solaris_pow_int_overload): Update comment.
	Change guard to match <cmath>.
	* fixincl.x: Regenerate.
	* tests/base/iso/math_iso.h [SOLARIS_POW_INT_OVERLOAD_CHECK]:
	Matching change.

2013-05-04  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_null): New.
	(void_null): Update replacement definition of NULL.
	* fixincl.x: Regenerate.
	* tests/base/curses.h: Update for new fix.

2013-01-16  Alexandre Oliva  <aoliva@redhat.com>

	* inclhack.def (feraiseexcept_nosse_invalid): New.
	(feraiseexcept_nosse_divbyzero): Likewise.
	* fixincl.x: Rebuilt.
	* tests/base/bits/fenv.h: New.

2013-01-14  Richard Biener  <rguenther@suse.de>

	* fixlib.h (verbose_level, fixinc_mode): Mark extern.

2012-10-29  Bruce Korb  <bkorb@gnu.org>

	* README: testing wrap and replacement fixes is pointless.
	* fixincl.c: export verbosity enumerations to fixlib.h
	(run_compiles): mark replacement fixes to be skipped when
	in testing mode
	* fixlib.h: add a test mode and enumerations from fixincl.c
	* check.tpl: set TEST_MODE in environment
	* fixopts.c (initialize_opts): check for TEST_MODE in environment
	* inclhack.def: move AAB_darwin7_9_long_double_funcs to
	darwin_9_long_double_funcs_2.  It is not a replacement fix.
	* fixincl.x: regenerate
	* tests/base/ioLib.h: the need for this is now exposed, so add it.
	* tests/base/architecture/ppc/math.h: the correct result is now needed.

2012-10-29  Robert Mason  <rbmj@verizon.net>

	* fixinc.in: Omit machine name checks for vxworks
	* fixincludes/inclhack.def (AAB_vxworks_assert) new replacement fix
	(AAB_vxworks_regs_vxtypes): another
	(AAB_vxworks_stdint): yet another
	(AAB_vxworks_unistd): and another
	(vxworks_ioctl_macro): reformatting fix
	(vxworks_mkdir_macro): again
	(vxworks_regs): and again
	(vxworks_write_const): and again
	* tests/base/ioLib.h: new test result
	* tests/base/math.h: likewise
	* tests/base/sys/stat.h: likewise
	* tests/base/testing.h: and again

2012-09-29  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (AAB_aix_fcntl): New fix.
	* fixincl.x: Regenerate.

2012-06-19  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_mutex_initializer_1): New fix.
	(aix_cond_initializer_1): New fix.
	(aix_rwlock_initializer): New fix.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [AIX_MUTEX_INITIALIZER_1_CHECK]: New.
	[AIX_COND_INITIALIZER_1_CHECK]: New.
	[AIX_RWLOCK_INITIALIZER_1_CHECK]: New.

2012-05-29  Thomas Schwinge  <thomas@codesourcery.com>

	* configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead of
	gcc_AC_FUNC_MMAP_BLACKLIST.
	* Makefile.in (ACLOCAL_AMFLAGS): Don't include ../gcc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2012-04-24  Tristan Gingold  <gingold@adacore.com>

	* fixincl.c (fix_with_system): Add missing specifier.
	* configure.ac: Default to twoprocess on vms.
	* configure: Regenerate.

2012-03-23  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_malloc): New.
	* fixincl.x: Regenerate.
	* tests/base/malloc.h [AIX_MALLOC_CHECK]: New.

2012-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR other/52626
	* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]
	(PTHREAD_COND_INITIALIZER): Adapt for solaris_cond_init removal.

2012-03-15  Tristan Gingold  <gingold@adacore.com>

	* README (EXAMPLES OF FIXES): Update.

2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (math_exception): Remove duplicate.
	(solaris_cond_init): Remove.
	(solaris_sys_va_list): Remove Solaris 8 support.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove.

2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
	(irix___restrict): Remove.
	(irix___generic1): Remove.
	(irix___generic2): Remove.
	(irix_asm_apostrophe): Remove.
	(irix_complex): Remove.
	(irix_pthread_init): Remove.
	(irix_socklen_t): Remove.
	(irix_stdint_c99_mode): Remove.
	(irix_stdint_c99_types): Remove.
	(irix_stdint_c99_macros): Remove.
	(irix_stdio_va_list): Remove IRIX 6.5 support.
	(irix_wcsftime): Remove.
	(stdio_va_list): Remove IRIX 6.5 support.
	(svr4_profil): Remove IRIX bypass.
	* fixincl.x: Regenerate.

	* tests/base/complex.h [IRIX_COMPLEX_CHECK]: Remove.
	* tests/base/internal/math_core.h: Remove.
	* tests/base/internal/sgimacros.h: Remove.
	* tests/base/internal/wchar_core.h: Remove.
	* tests/base/math.h [BROKEN_CABS_CHECK]: Remove IRIX and SunOS 4
	support.
	* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/stdint-irix65.h: Remove.
	* tests/base/stdint.h [IRIX_STDINT_C99_MODE_CHECK]: Remove.
	* tests/base/sys/asm.h: Remove.
	* tests/base/sys/socket.h [IRIX_SOCKLEN_T_CHECK]: Remove.

2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (alpha___extern_prefix): Remove.
	(alpha___extern_prefix_standards): Remove.
	(alpha___extern_prefix_sys_stat): Remove.
	(alpha_bad_lval): Remove.
	(alpha_pthread): Remove.
	(alpha_pthread_gcc): Remove.
	(alpha_pthread_init): Remove.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
	[ALPHA_PTHREAD_GCC_CHECK]: Remove.
	[ALPHA_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/standards.h: Remove.
	* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
	Remove.
	* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
	[ALPHA_BAD_LVAL_CHECK]: Remove.

2012-03-12  Tristan Gingold  <gingold@adacore.com>

	* inclhack.def (vms_use_quoted_include,vms_add_missing_braces)
	(vms_do_not_redeclare_hostalias, vms_decc_builtin)
	(vms_no_64bit_getopt, vms_forward_declare_struct)
	(vms_use_fast_setjmp): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/rtldef/string.h: Update.
	* tests/base/rtldef/if.h, tests/base/rtldef/resolv.h,
	* tests/base/rtldef/setjmp.h, tests/base/rtldef/signal.h,
	* tests/base/rtldef/stdio.h, tests/base/rtldef/wait.h: New files.

2012-01-11  Bruce Korb <bkorb@gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>
	    Andreas Tobler  <andreast@fgznet.ch>

	PR bootstrap/51705
	PR preprocessor/51776
	* inclhack.def (cdef_cplusplus): Add a replacement for [[noreturn]].
	* fixincl.x: Regenerate.
	* tests/base/sys/cdefs.h: Update.

	* genfixes: Remove the 'Ver.' from the version check.

2011-12-20  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2011-12-19  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2011-11-16  David Edelsohn  <dje.gcc@gmail.com>

	* inclhack.def (aix_once_init_[12]): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h: Update.

2011-10-25  Mike Stump  <mikestump@comcast.net>

	PR target/48851
	* inclhack.def (void_null): New bypass.
	* fixincl.x: Regenerate.

2011-09-26  Tristan Gingold  <gingold@adacore.com>

	* inclhack.def (ms_define_can_use_extern_prefix):
	(vms_use_pragma_extern_model, vms_disable_decc_string_builtins):
	New fixes.
	* fixincl.x: Regenerate.
	* tests/base/rtldef/string.h: New test.
	* tests/base/rtldef/decc$types.h: Likewise.
	* tests/base/testing.h: Update

2011-09-22  Tristan Gingold  <gingold@adacore.com>

	* mkfixinc.sh (target): Remove alpha-vms from particular targets.

2011-08-23  Steve Ellcey  <sje@cup.hp.com>

	PR libstdc++/50153
	* inclhack.def (hpux11_abs): Extend to all hpux machines.
	* fixincl.x: Regenerate.

2011-08-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
	    Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++-v3/1773
	* inclhack.def (solaris_cxx_linkage, solaris_getc_strict_stdc)
	(solaris_longjmp_noreturn, solaris_pow_int_overload)
	(solaris_std___filbuf): New fixes.
	* tests/base/iso/math_iso.h, tests/base/iso/setjmp_iso.h,
	tests/base/iso/stdio_iso.h, tests/base/iso/stdlib_iso.h: New tests.
	* tests/base/stdio.h [SOLARIS_STD___FILBUF_CHECK]: New test.

2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR c++/49347
	* inclhack.def (solaris_posix_spawn_restrict): New fix.
	* fixincl.x: Regenerate.
	* tests/base/spawn.h: New test.

2011-06-08  Douglas B Rupp  <rupp@gnat.com>

	* configure.ac (AC_USE_SYSTEM_EXTENSIONS): Add.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2011-06-06  Peter O'Gorman  <pogma@thewrittenword.com>

	* inclhack.def (aix_net_if_arp): New fix.
	* fixincl.x: Regenerate.
	* tests/base/net/if_arp.h [AIX_NET_IF_ARP_CHECK]: New test.

2011-05-17  Tristan Gingold  <gingold@adacore.com>

	* inclhack.def (solaris_complex_cxx): Fix syntax.
	* fixincl.x: Regenerate.

2011-05-17  Tristan Gingold  <gingold@adacore.com>

	* check.tpl: Shell-quote testing file.

2011-03-22  Joseph Myers  <joseph@codesourcery.com>

	* mkfixinc.sh: Don't handle i?86-moss-msdos* or i?86-*-pe.

2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(all, check, install): Also mark as phony.

2010-11-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (irix_pthread_init): New fix.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: New test.

2010-10-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR c++/46024
	* inclhack.def (solaris_sys_va_list): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/va_list.h: New test.

2010-09-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* inclhack.def (hpux_htonl): Allow trailing whitespace in select.
	* fixincl.x: Regenerate.

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

	* inclhack.def (solaris_cond_init): New fix.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: New test.
	[SOLARIS_MUTEX_INIT_2_CHECK]: Adapt.

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

	* inclhack.def (solaris__restrict, solaris_complex_cxx): New fixes
	* fixincl.x: Regenerate.
	* tests/base/complex.h [SOLARIS_COMPLEX_CXX_CHECK]: New test.
	* tests/base/sys/feature_tests.h: New file.

2010-06-03  Joern Rennecke <joern.rennecke@embecosm.com>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR bootstrap/42798
	* configure.ac: Check for declaration of 'basename(char *)'.
	* configure: Regenerate.

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

	* inclhack.def (alpha_wchar): Remove.
	* fixincl.x: Regenerate.
	* tests/base/wchar.h: Remove.

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

	* aclocal.m4: Regenerate.

2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* inclhack.def (alpha_assert): Allow for more whitespace in
	select.
	* fixincl.x: Regenerate.

2010-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/40722
	* mkfixinc.sh: Revert the last change for mingw.

2010-03-24  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (glibc_strncpy): New fix.
	* fixincl.x: Regenerate.
	* tests/base/bits/string2.h: Update.

2010-03-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/40722
	* mkfixinc.sh: Fix stdlib.h for mingw.

2010-02-19  Bruce Korb  <bkorb@gnu.org>

	* inclhack.def: remove vestiges of inadvertently committed changes

2010-02-10  Bruce Korb  <bkorb@gnu.org>

	* README: fix up references to old gcc/fixinc directory

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

	* inclhack.def (solaris_int_limits_3): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/int_limits.h [SOLARIS_INT_LIMITS_3_CHECK]: New
	test.

	* inclhack.def (solaris_int_const, solaris_int_limits_1,
	solaris_int_limits_2 ): Applies to Solaris 2 in general.
	Remove select.
	Add mach for *-*-solaris2*.
	Change second c_fix_arg to select.
	Remove #pragma ident from test_text.
	* fixincl.x: Regenerate.
	* tests/base/sys/int_const.h [SOLARIS_INT_CONST_CHECK]: Remove
	#pragma trigger text.
	* tests/base/sys/int_limits.h [SOLARIS_INT_LIMITS_1_CHECK,
	SOLARIS_INT_LIMITS_2_CHECK]: Likewise.

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

	* inclhack.def (aix_stdint_1): Add stdint-aix.h to files.
	(aix_stdint_2): Likewise.
	(aix_stdint_3): Likewise.
	(aix_stdint_4): Likewise.
	(aix_stdint_5): Likewise.
	(darwin_stdint_1): Add stdint-darwin.h to files.
	(darwin_stdint_2): Likewise.
	(darwin_stdint_3): Likewise.
	(darwin_stdint_4): Likewise.
	(darwin_stdint_5): Likewise.
	(darwin_stdint_6): Likewise.
	(darwin_stdint_7): Likewise.
	(hpux_c99_intptr): Add stdint-hpux11.h to files.
	(hpux_c99_inttypes): Likewise.
	(hpux_c99_inttypes2): Likewise.
	(hpux_stdint_least_fast): Likewise.
	(irix_stdint_c99): Renamed to irix_stdint_c99_mode.
	(irix_stdint_c99_types): New fix.
	(irix_stdint_c99_macros): New fix.
	(newlib_stdint_1): Add stdint-newlib.h to files.
	(newlib_stdint_2): Likewise.
	fixincl.x: Regenerate.
	tests/base/stdint-aix.h: New file.
	tests/base/stdint.h [AIX_STDINT_1_CHECK, AIX_STDINT_2_CHECK,
	AIX_STDINT_3_CHECK, AIX_STDINT_4_CHECK, AIX_STDINT_5_CHECK]: Moved ...
	tests/base/stdint-aix.h: ... here.
	[AIX_STDINT_3_CHECK]: Updated to match aix_stdint_3 fix.
	[AIX_STDINT_4_CHECK]: Updated to match aix_stdint_4 fix.
	[AIX_STDINT_5_CHECK]: Updated to match aix_stdint_5 fix.
	tests/base/stdint-darwin.h: New file.
	tests/base/stdint.h [DARWIN_STDINT_1_CHECK, DARWIN_STDINT_2_CHECK,
	DARWIN_STDINT_3_CHECK, DARWIN_STDINT_4_CHECK,
	DARWIN_STDINT_5_CHECK, DARWIN_STDINT_6_CHECK]: Moved ...
	tests/base/stdint-darwin.h: ... here.
	[DARWIN_STDINT_1_CHECK]: Updated to match darwin_stdint_1 fix.
	[DARWIN_STDINT_4_CHECK]: Updated to match darwin_stdint_4 fix.
	[DARWIN_STDINT_6_CHECK]: Updated to match darwin_stdint_6 fix.
	tests/base/stdint-hpux11.h: New file.
	tests/base/stdint.h [HPUX_C99_INTPTR_CHECK,
	HPUX_C99_INTTYPES2_CHECK, HPUX_STDINT_LEAST_FAST_CHECK]: Moved ...
	tests/base/stdint-hpux11.h: ... here.
	[HPUX_C99_INTPTR_CHECK]: Updated to match hpux_c99_intptr fix.
	[HPUX_C99_INTTYPES2_CHECK]: Updated to match hpux_c99_inttypes2 fix.
	tests/base/stdint.h [IRIX_STDINT_C99_CHECK]: Renamed guard to
	IRIX_STDINT_C99_MODE_CHECK.
	tests/base/stdint-irix65.h: New file.
	tests/base/stdint-newlib.h: New file.
	tests/base/stdint.h [NEWLIB_STDINT_1_CHECK,
	NEWLIB_STDINT_2_CHECK]: Moved ...
	tests/base/stdint-newlib.h: ... here.

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

	* configure: Regenerate.

2009-10-21  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux_stdint_least_fast): Simplify.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update.

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

	* inclhack.def (isc_fmod, isc_omits_with_stdc)
	(nested_sys_limits, sco_math): Remove.
	* tests/base/math.h (ISC_FMOD_CHECK, SCO_MATH_CHECK): Remove.
	* tests/base/stdio.h (ISC_OMITS_WITH_STDC_CHECK): Remove.
	* tests/base/sys/limits.h: Remove.
	* fixincl.x: Regenerate.

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

	PR testsuite/29737
	PR bootstrap/35938
	PR testsuite/39655
	* check.tpl: Fix typos.
	* README: Likewise.  Also, document that 'select' uses ERE.
	* mkheaders.in: Update copyright years in --version output.
	* inclhack.def (sco_math): Add missing final newline in sed
	script 'a', 'c', or 'i' commands, for BSD sed.
	(sco_math): In the text of 'a', 'c', or 'i' sed
	commands, prepend leading white space with a backslash to avoid
	the whitespace to be removed by BSD sed.
	(sco_math): Match plain 'C++' instead of 'C\+\+' in sed regex.
	(x11_new): Fix sed expression, for BSD sed.
	(glibc_mutex_init): Fix newlines in sed 's' command replacement
	part, for GNU sed 3.02 and Solaris sed.
	(glibc_mutex_init): Replace unportable \+ sed regex operator
	with \{1,\}.
	(glibc_c99_inline_2, glibc_mutex_init): Avoid unportable sed
	alternation \| regex operator.
	(solaris_complex): Remove superfluous backslashes from
	replacement string.  Replace \+ operator with \{1,\}.
	* tests/base/Xm/Traversal.h: This is fixed for BSD sed now.
	* fixincl.x: Regenerate.

2009-09-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libfortran/41169
	* inclhack.def (irix_complex): New fix.
	(solaris_complex): Likewise.
	* fixincl.x: Regenerate.
	* tests/base/complex.h [IRIX_COMPLEX_CHECK, SOLARIS_COMPLEX_CHECK]:
	New tests.

2009-08-28   Bruce Korb <bkorb@gnu.org>
	     Steve Ellcey  <sje@cup.hp.com>

	* README (files): Describe files entry.
	* inclhack.def (hpux_stdint_least): Remove.
	(hpux_stdint_fast): Remove.
	(hpux_stdint_fast): Remove.
	(hpux_stdint_least_fast): New.
	(hpux_inttype_int_least8_t): Remove.
	(hpux_inttype_int8_t): Modify.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update.
	* tests/base/sys/_inttypes.h: Update.

2009-08-28  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux_imaginary_i): Remove spaces.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update AIX fixes. 
	* tests/base/complex.h: Change HPUX_IMAGINARY_I_CHECK fix.

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>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

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

	* inclhack.def (aix_complex): Redefine _Complex_I.  Do not
	redefine I.
	* (aix_stdint_[12345]): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/complex.h: Update check.
	* tests/base/stdint.h: Add AIX stdint.h checks.

2009-08-14  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux_imaginary_i): New fix.
	* fixincl.x: Regenerate.
	* tests/base/complex.h: New file.

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

	* inclhack.def (aix_complex): New fix.
	* fixincl.x: Regenerate.

2009-08-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* inclhack.def (hpux_inttype_int_least8_t): Also apply on hpux10*.
	(hpux_inttype_int8_t): Likewise.
	* fixincl.x: Regenerate.

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

	* Makefile.in (AUTOCONF, AUTOHEADER, ACLOCAL, ACLOCAL_AMFLAGS):
	New variables.
	($(srcdir)/configure, $(srcdir)/config.h.in, $(srcdir)/aclocal.m4):
	Use them.

2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* inclhack.def (darwin_stdint_5, darwin_stdint_6,
	darwin_stdint_7): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Adjust test for new fixes.

2009-07-03  Eric Botcazou  <ebotcazou@adacore.com>

	* inclhack.def (solaris_int_types): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/int_types.h: New file.

2009-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* inclhack.def (darwin_stdint_1, darwin_stdint_2, darwin_stdint_3,
	darwin_stdint_4): New fixes.
	* tests/base/stdint.h: Adjust test results for new fixes.
	* fixincl.x: Regenerate.

2009-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	* inclhack.def (solaris_int_const): New fix.
	(solaris_int_limits_1): Likewise.
	(solaris_int_limits_2): Likewise.
	* fixincl.x: Regenerate.
	* tests/base/sys/int_const.h: New file.
	* tests/base/sys/int_limits.h: Likewise.

2009-05-15  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (glibc_tgmath): Correct bypass.
	* fixincl.x: Regenerate.

2009-04-28  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux11_uint32_c): Remove.
	(hpux_long_double): Disable on hpux11.3*.
	(hpux_long_double_2): New.
	(hpux_c99_intptr): New.
	(hpux_c99_inttypes): New.
	(hpux_c99_inttypes2): New.
	(hpux_stdint_least): New.
	(hpux_stdint_fast): New.
	(hpux_inttype_int_least8_t): New.
	(hpux_inttype_int8_t): New.
	* fixincl.x: Regenerate.
	* tests/base/sys/_inttypes.h: New.
	* tests/base/inttypes.h: Update.
	* tests/base/stdlib.h: Update.
	* tests/base/stdint.h: Update.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (glibc_stdint): New fix.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update.

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

	* Makefile.in: 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.
	* fixfixes.c: Likewise.
	* fixinc.in: Likewise.
	* fixincl.c: Likewise.
	* fixlib.c: Likewise.
	* fixlib.h: Likewise.
	* fixopts.c: Likewise.
	* fixtests.c: Likewise.
	* genfixes: Likewise.
	* mkheaders.in: Likewise.
	* system.h: Likewise.

2009-03-31  Joseph Myers  <joseph@codesourcery.com>

	PR c/448
	* inclhack.def (newlib_stdint_1, newlib_stdint_2): New fixes.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: Update.

2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	* tests/base/math.h, tests/base/pthread.h, tests/base/sys/wait.h:
	Update.

2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	PR c/456
	PR c/5675
	PR c/19976
	PR c/29116
	PR c/31871
	PR c/35198
	* inclhack.def (glibc_tgmath): New fix.
	* fixincl.x: Regenerate.
	* tests/base/tgmath.h: New.

2009-03-28  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (aix_syswait, exception_structure,
	pthread_page_size): Remove.
	(math_exception): Remove mention of fixproto in comment.
	* fixincl.x: Regenerate.
	* mkheaders.in: Do not handle STMP_FIXPROTO.

2009-03-27  Sandra Loosemore  <sandra@codesourcery.com>

	* server.c (run_shell): Quote directory name passed to cd.

2009-03-01  Bruce Korb  <bkorb@gnu.org>
	Apply a positively ancient patch:

	2004-10-15  Giovanni Bajo  <giovannibajo@libero.it>

	* inclhack.def (alpha_if_semicolon): new fix from long, long ago
	* tests/base/net/if.h: Add new test.

2009-01-06  Andreas Tobler  <a.tobler@schweiz.org>

	* tests/base/locale.h: Add new test.
	* tests/base/stdarg.h: Likewise.

2009-01-05  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux_spu_info):  Add files line.
	* fixincl.x: Regenerate.

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

	* inclhack.def (openbsd_null_definition): Redefine NULL to (void *)0
	in case of C.
	* fixincl.x: Regenerate.

2008-12-31  Andreas Tobler  <a.tobler@schweiz.org>

	PR target/35460
	* inclhack.def (openbsd_va_start): Use __builtin_va_start
	for OpenBSD.
	* fixincl.x: Regenerate.

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

	* configure: Regenerate.

2008-12-15  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux_spu_info): Match PA as well as IA64.
	* fixincl.x: Regenerate.

2008-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Fix a typo.
	* configured: Regenerate.

2008-09-06  Bruce Korb  <bkorb@gnu.org>

	* fixincl.tpl (sed): make the program executable configurable.
	Some platforms have some rather oddball defaults.
	* config.h.in (SED_PROGRAM): define the default sed.
	* fixincl.x: regenerated
	* tests/base/internal/wchar_core.h: fix bad sample text
	* tests/base/math.h: fix bad sample text
	* configure.ac: search for working sed
	* inclhack.def (glibc_mutex_init): fix non-portable construct
	and re-order a few misordered entries.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2008-06-07  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (AAB_svr4_replace_byteorder,
	AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory,
	libc1_G_va_list, libc1_ifdefd_memx, nested_motorola,
	ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime,
	solaris_mutex_init_1, solaris_socket, solaris_unistd,
	solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param,
	ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale,
	ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc,
	ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings,
	ultrix_strings2, ultrix_sys_time, ultrix_unistd,
	unicosmk_restrict, uw7_byteorder_fix, windiss_math1,
	windiss_math2, windiss_valist): Remove.
	* fixincl.x: Regenerate.
	* mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*,
	i370-*-openedition, i?86-*-moss*, i?86-*-uwin*,
	powerpc-*-eabiaix*): Remove.
	* tests/base/math.h: Update.
	* tests/base/pthread.h: Update.
	* tests/base/stdio.h: Update.
	* tests/base/stdlib.h: Update.
	* tests/base/string.h: Update.
	* tests/base/strings.h: Update.
	* tests/base/sys/file.h: Update.
	* tests/base/sys/limits.h: Update.
	* tests/base/sys/socket.h: Update.
	* tests/base/sys/stat.h: Update.
	* tests/base/sys/time.h: Update.
	* tests/base/testing.h: Update.
	* tests/base/unistd.h: Update.
	* tests/base/_G_config.h: Remove.
	* tests/base/arpa: Remove directory.
	* tests/base/fs: Remove directory.
	* tests/base/locale.h: Remove.
	* tests/base/machine: Remove directory.
	* tests/base/rpc/svc.h: Remove.
	* tests/base/sys/ioctl.h: Remove.
	* tests/base/sys/regset.h: Remove.
	* tests/base/sys/times.h: Remove.
	* tests/base/sys/utsname.h: Remove.
	* tests/base/widec.h: Remove.

2008-05-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.
	* tests/base/iso/math_c99.h: Update.
	* fixincl.x: Regenerate.

2008-05-14  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on
	posix_types_64.
	* fixincl.x: Regenerate.

2008-04-25  Kai Tietz  <kai.tietz@onvision.com>

	* fixincl.c (fix_with_system): Cast pointer difference to long.
	* fixlib.c (make_raw_shell_str): Cast compare to avoid sign warning.

2008-04-18  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/35457
	* Makefile.in: Rewrite aclocal.m4 rule.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2008-03-07  Peter O'Gorman  <pogma@thewrittenword.com>

	PR c++/20366
	* inclhack.def (AAB_aix_stdio): Hack stdio.h for -D_LARGE_FILES.
	* fixincl.x: Regenerate.
	* tests/base/stdio.h: Add test.

2008-02-25  Ben Elliston  <bje@au.ibm.com>

	PR other/32948
	* fixincl.c (fix_applies): Remove unused variable `name_len'.

2008-02-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* inclhack.def (solaris_math_10): New.
	* tests/base/iso/math_c99.h: Update.

	* fixincl.x: Regenerate.

2008-02-04  Ismail Dönmez  <ismail@pardus.org.tr>

	* inclhack.def: (bsd_stdio_attrs_conflict, freebsd_gcc3_breakage,
	freebsd_gcc4_breakage, hppa_hpux_fp_macros, hpux11_abs,
	netbsd_c99_inline_1, netbsd_c99_inline_2, netbsd_extra_semicolon):  Add
	quotes around mach entries.
	* fixincl.x: Regenerate with latest autogen (5.9.4), updating license
	to GPLv3.

2008-02-04  Hans-Peter Nilsson  <hp@axis.com>

	PR other/31405
	* inclhack.def: (glibc_c99_inline_1a): Re-add last change.
	(glibc_c99_inline_3) <bypass>: Change from __STDC_VERSION__ to
	__extern_inline|__GNU_STDC_INLINE__.
	(glibc_c99_inline_4) <files>: Add wchar.h and */wchar.h.
	<bypass>: Change from __STDC_VERSION__ to
	__extern_inline|__GNU_STDC_INLINE__.
	<first c_fix_arg>: Change from #ifdef-wrapping the extern part to
	appending attribute-gnu_inline.
	<second c_fix_arg>: Remove.
	<test_text>: Remove __extern_inline line.
	* tests/base/features.h: Re-add.
	* tests/base/sys/sysmacros.h: Adjust.
	* fixincl.x: Regenerate.

2008-01-06  Hans-Peter Nilsson  <hp@axis.com>

	Revert last change.

2007-12-18  Hans-Peter Nilsson  <hp@axis.com>

	* inclhack.def: (glibc_c99_inline_1a, glibc_c99_inline_5): New.
	* fixincl.x: Regenerate.
	* tests/base/wchar.h: Update.
	* tests/base/features.h: New.

2007-10-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR target/33700
	* inclhack.def (hpux11_pthread_const): New.
	* fixincl.x: Regenerate.
	* tests/base/sys/pthread.h: Update.

2007-10-12  Kai Tietz  <kai.tietz@onevision.com>

	* configure.ac: x86_64 mingw target uses twoprocess.
	* mkfixinc.sh: Add x86_64 mingw target.
	* configure: Regenerate.

2007-10-09  Geoffrey Keating  <geoffk@apple.com>

	* inclhack.def (darwin_externc): New.
	* fixincl.x: Regenerate.
	* tests/base/mach-o/swap.h: New.

2007-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* inclhack.def (solaris_math_5, solaris_math_6, solaris_math_7):
	Delete fixes.
	* tests/base/iso/math_c99.h: Delete associated test baselines.
	* fixincl.x: Regenerate.

2007-07-24  Krister Walfridsson  <cato@df.lth.se>

	PR target/30058
	* inclhack.def (netbsd_c99_inline_2): New.
	* fixincl.x: Regenerate.
	* tests/base/signal.h: Update.

2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	PR target/32641

	* inclhack.def (solaris_math_4, solaris_math_5, solaris_math_6,
	solaris_math_7): Constify and make FP exception-safe.
	* tests/base/iso/math_c99.h: Update.

	* fixincl.x: Regenerate.

2007-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR libgcj/28190
	* inclhack.def (irix_stdint_c99): New fix.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: New test.

2007-06-06  Steve Ellcey  <sje@cup.hp.com>

	PR testsuite/31828
	* inclhack.def (hppa_hpux_fp_macros): New.
	* fixincl.x: Regenerate.
	* tests/base/math.h: Update.

2007-03-26  Jakub Jelinek  <jakub@redhat.com>

	* inclhack.def (glibc_c99_inline_1): Define __USE_EXTERN_INLINES
	if __extern_inline or __GNUC_GNU_INLINE__ is defined rather than
	__STDC_VERSION__ < 199901L.
	(glibc_c99_inline_2): Replace #if __STDC_VERSION__ < 199901L
	with #ifdef __GNUC_GNU_INLINE__.
	(glibc_c99_inline_3): Add select.  Replace __STDC_VERSION__ >= 199901L
	with defined(__GNUC_STDC_INLINE__).
	(glibc_c99_inline_4): Change select, add second c_fix_arg.
	Replace #if __STDC_VERSION__ < 199901L with
	#ifdef __GNUC_GNU_INLINE__.
	* fixincl.x: Regenerated.
	* tests/base/bits/string2.h: Update.
	* tests/base/sys/sysmacros.h: Update.
	* tests/base/sys/stat.h: Update.

2007-03-18  Krister Walfridsson  <cato@df.lth.se>

	PR target/30058
	* inclhack.def (netbsd_c99_inline_1): New.
	* fixincl.x: Regenerate.
	* tests/base/signal.h: New.

2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy "install-info" target.

2007-03-06  Joseph Myers  <joseph@codesourcery.com>

	* mkheaders.in: Fix headers for each multilib required.

2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy install-pdf target.

2007-02-27  Joseph Myers  <joseph@codesourcery.com>

	* mkheaders.in (incdir): Use include-fixed not include.

2007-02-15  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Added "pdf" target to .PHONY.

2007-02-05  Richard Guenther  <rguenther@suse.de>

	* inclhack.def (glibc_c99_inline_4): Adjust selector to cope
	with older glibc.  Adjust version number for C99.
	* fixincl.x: Regenerated.

2007-02-04  Mike Stump  <mrs@apple.com>

	* mkheaders.in: Allow optional isysroot parameter.

2007-02-03  Bruce Korb <bkorb@gnu.org>

	* inclhack.def (glibc_c99_inline_4): replace "extern" only if
	surrounded by space characters.

2007-01-25  Daniel Franke <franke.daniel@gmail.com>

	PR target/30272
	* inclhack.def(broken_cabs): Also remove definition of cabsl.
	* fixincl.x: Regenerate.
	* tests/base/math.h: Update.

2007-01-05  Bruce Korb <bkorb@gnu.org>, 
	    Daniel Franke <franke.daniel@gmail.com>

	PR target/30008
	* fixincl.tpl (List): separate file name patterns with a NUL byte instead
	of a vertical bar ("|").
	* fixincl.c (fix_applies, machine_matches): Use fnmatch for name
	matching.  Set SKIP_TEST flag if we are not to run a test.
	* fixincl.x: Regenerate.
	* inclhack.def (glibc_c99_inline_[1234], broken_cabs, broken_nan,
	kandr_concat, sco_math): Replace lists of specfic file names by search
	patterns.

2006-12-12  Olivier Hainque  <hainque@adacore.com>

	* fixincludes/mkfixinc.sh: Add "*-*-vxworks*" to the list of
	targets for which a no-op fixer is appropriate.

2006-11-07  Richard Guenther  <rguenther@suse.de>

	* inclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3
	systems.
	* fixincl.x: Regenerate.

2006-11-02  Geoffrey Keating  <geoffk@apple.com>

	* inclhack.def (glibc_c99_inline_1): New.
	* inclhack.def (glibc_c99_inline_2): New.
	* inclhack.def (glibc_c99_inline_3): New.
	* inclhack.def (glibc_c99_inline_4): New.
	* fixincl.x: Regenerate.
	* tests/base/bits/string2.h: New.
	* tests/base/sys/sysmacros.h: New.
	* tests/base/sys/stat.h: Update.

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

	* tests/base/sys/socket.h: Update.

2006-10-31  Steve Ellcey  <sje@cup.hp.com>

	* inclhack.def (hpux11_extern_sendfile): New.
	(hpux11_extern_sendpath): New.
	* fixincl.x: Regenerate.

2006-10-29  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64.
	* fixincl.x: Regenerate.

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Added empty "pdf" target.

2006-10-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR target/29300
	* inclhack.def (hpux_pthread_initializers): New hack.
	* tests/base/sys/pthread.h: New file.

	* fixincl.x: Regenerate.

2006-10-03  Uros Bizjak <uros@kss-loka.si>

	* inclhack.def (glibc_mutex_init): Also fix
	PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and
	PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP initializers.
	* tests/base/pthread.h: Update.

	* fixincl.x: Regenerate.

2006-10-01  Uros Bizjak <uros@kss-loka.si>

	* inclhack.def (glibc_mutex_init): New fix.
	* tests/base/pthread.h: Update.

	* fixincl.x: Regenerate.

2006-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* inclhack.def (solaris_mutex_init_2): Update for Solaris9.
	Prevent it from running on solaris10 or later.
	(solaris_once_init_2): Fix comment.
	* tests/base/pthread.h: Update.

	* fixincl.x: Regenerate.

2006-09-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* inclhack.def (solaris_once_init_2): New fix.
	* tests/base/pthread.h: Update.

	* fixincl.x: Regenerate.

2006-09-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* inclhack.def (solaris_mutex_init_2): Remove test for
	PTHREAD_RWLOCK_INITIALIZER.
	(solaris_rwlock_init_1): New.
	* tests/base/pthread.h: Update.

	* inclhack.def (solaris_once_init_1): New.
	* tests/base/pthread.h: Adjust for new fix.

	* fixincl.x: Regenerate.

2006-07-17  Roger Sayle  <roger@eyesopen.com>

	* tests/base/errno.h: New file.
	* tests/base/architecture/ppc/math.h: Likewise.
	* tests/base/ia64/sys/getppdp.h: Likewise.

2006-07-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	PR bootstrap/20437
	* Makefile.in (configure, config.h.in): Change into $(srcdir)
	before autoconf or autoheader call.

2006-06-23  Steve Ellcey  <sje@cup.hp.com>

	PR target/28084
	* inclhack.def (hpux_extern_errno): New.
	* fixincl.x: Regenerate.

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

	* Makefile.in: Add dvi info html and install-html to .PHONY
	Add install-html target.

2006-05-16  Mike Stump  <mrs@apple.com>

	* configure.ac: Add -Wno-overlength-strings.
	* configure: Regenerate.

2006-05-14  Bernhard Fischer  <aldot@gcc.gnu.org>

	* README: Fix typo.

2006-02-18  Steve Ellcey  <sje@cup.hp.com>

	PR target/26189
	* inclhack.def (hpux_spu_info): New.
	* fixincl.x: Regenerate

2006-01-31  Marcin Dalecki  <martin@dalecki.de>

	* configure.ac: Check for asprintf, basename, vasprintf.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2006-01-19  Andrew Pinski  <pinskia@physics.uc.edu>

	PR target/15642
	* inclhack.def (AAB_darwin7_9_long_double_funcs [replace]): Define
	__APPLE_CC_ as 1345.
	(broken_nan): New.
	* fixincl.x: Regenerate.

2005-11-24  Bruce Korb  <bkorb@gnu.org>

	* fixincl.c (write_replacement): "here strings" in AutoGen
	often/generally don't have a terminating newline.  Check the
	last byte for '\n'.

2005-11-13  Andreas Jaeger  <aj@suse.de>

	* check.tpl: Handle CVS additionally.

2005-11-05  Andreas Jaeger  <aj@suse.de>

	* check.tpl: Adopt for move to subversion.

2005-09-15  Joseph S. Myers  <joseph@codesourcery.com>

	PR c++/23139
	* inclhack.def (huge_val_hex, huge_valf_hex, huge_vall_hex): New
	fixes.
	* fixincl.x: Regenerate.
	* tests/base/bits/huge_val.h: New file.

2005-08-14  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update with new FSF address.

2005-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (WARN_CFLAGS): New.
	(.c.o): Add $(WARN_CFLAGS).
	* aclocal.m4: Include ../config/warnings.m4.
	* configure.ac: Invoke ACX_PROG_CC_WARNING_OPTS,
	ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and
	ACX_PROG_CC_WARNINGS_ARE_ERRORS.
	* fixopts.c (initialize_opts): Fix old-style definintion.

	* configure: Regenerate.

2005-06-24  Geoffrey Keating  <geoffk@geoffk.org>

	* inclhack.def (AAB_darwin7_9_long_double_funcs): New.
	(AAB_darwin7_9_long_double_funcs_2): New.
	* fixincl.x: Regenerate.

2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR libfortran/15266
	* inclhack.def (broken_cabs): Mention IRIX 5/6 problem.
	Use double quotes in select so \t matches tabs.
	Add IRIX testcase.
	* fixincl.x: Regenerate.
	* tests/base/math.h [BROKEN_CABS_CHECK]: Adapt for new testcase.

2005-05-22  Danny Smith  <dannysmith@users.souceforge.net>

	PR target/21683
	* fixincl.c: Don't include <sys/wait.h> if SEPARATE_FIX_PROC.

2005-05-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
	    Joseph S. Myers  <joseph@codesourcery.com>

	PR target/19933
	PR target/21315
	* inclhack.def: New fixes solaris_math_[1-9].
	* fixincl.x: Regenerate.
	* tests/base/iso/math_c99.h: New.

2005-05-19  Kelley Cook  <kcook@gcc.gnu.org>

	* aclocal.m4: Remove superfluous reference to accross.m4.

2005-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* fixlib.c (load_file_data): Use XRESIZVEC in lieu of xrealloc.
	* server.c (load_data): Likewise.
	(run_shell): Use XCNEW (char) in lieu of xcalloc (1, 1).
	* fixincl.c: #include <sys/wait.h>
	(run_compiles): Use XCNEWVEC instead of xcalloc.
	(fix_with_system, start_fixer): Use XNEWVEC instead of xmalloc.
	* fixfixes.c (FIX_PROC_HEAD, main): Likewise.

2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>

	* inclhack.def (stdio_stdarg_h, stdio_va_list): Bypass on
	*-*-solaris2.1[0-9]*, not just *-*-solaris2.1[0-9].
	* fixincl.x: Regenerate.

2005-05-06  Bruce Korb  <bkorb@gnu.org>
	Joseph S. Myers <joseph@codesourcery.com>

	* fixinc/inclhack.def: Correct backslashes
	* fixinc/fixincl.x: regen

2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (fopen, fdopen, freopen): Define these to the unlocked
	libiberty functions.

2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.h.in: Regenerate.

2005-03-21  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in: Set gcc_version directly, not via substitution.
	(libsubdir): Use $(gcc_version), not $(version).
	(mkheaders.almost): New rule.
	(mkheaders): Generate from mkheaders.almost.
	(clean): Also delete mkheaders.almost.
	* aclocal.m4: Do not include ../config/gcc-version.m4.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Generate
	mkheaders.almost from mkheaders.in.
	* configure: Regenerate.

2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>

	PR target/20166
	* inclhack.def: Add fix for array of incomplete structures
	in function prototype in pthread.h.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h: Adjust.

2005-03-15  Joseph S. Myers  <joseph@codesourcery.com>

	* inclhack.def (hpux_htonl): New fix.
	* tests/base/netinet/in.h: New test.
	* fixincl.x: Regenerate.

2005-02-23  James E Wilson  <wilson@specifixinc.com>

	* Makefile.in (full-stamp, test-stamp, $(AF)): Add $(CFLAGS) to link.

2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>

	PR 18458
	* Makefile.in (install): Add @EXEEXT@ to the end of the program name,
	fixincl.

2004-12-02  Richard Sandiford  <rsandifo@redhat.com>

	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
	* aclocal.m4: Include ../config/gcc-version.m4.
	* configure: Regenerate.

2004-11-26  Mark Mitchell  <mark@codesourcery.com>

	* inclhack.def (gnu_types): Do not use on Solaris 2.1x.
	(stdio_va_list): Likewise.
	(stdio_stdarg.h): Likewise.
	(solaris_stdio_tag): Add bypass.
	* fixincl.x: Regenerated.

2004-11-23  Geoffrey Keating  <geoffk@apple.com>

	* mkfixinc.sh: Check error code from 'cat'.  Don't try running
	built fixincl program.
	* mkheaders.in: Use @SHELL@ rather than ${SHELL} to avoid picking
	up csh from user.

2004-11-20  Roger Sayle  <roger@eyesopen.com>

	* inclhack.def (alpha_pthread_init): Fix technical problems with
	the last check-in caused by CVS variable substitution.
	* fixincl.x: Likewise.
	* tests/base/pthread.h: Likewise.

2004-11-20  Roger Sayle  <roger@eyesopen.com>
	    Bruce Korb  <bkorb@gnu.org>

	* inclhack.def (alpha_pthread_init): New fix.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h: Update for new test.

2004-11-15  Bruce Korb  <bkorb@gnu.org>

	* fixincl.c(fix_with_system): correct misuse of variables and
	incorrect application of "sizeof()".

2004-11-13  Joseph S. Myers  <joseph@codesourcery.com>

	* inclhack.def (hpux_maxint, limits_ifndefs, math_huge_val_ifndef,
	svr4__p, undefine_null): Remove.
	* fixincl.x: Regenerate.
	* tests/base/AvailabilityMacros.h, tests/base/com_err.h: New.
	* tests/base/sys/param.h: Remove.
	* tests/base/curses.h, tests/base/math.h, tests/base/testing.h,
	tests/base/sys/limits.h: Update.

2004-11-12  Mike Stump  <mrs@apple.com>

	* Makefile.in (html): Add html generation support.

2004-11-12  Joseph S. Myers  <joseph@codesourcery.com>

	* inclhack.def (sco_math): Bypass on __GNUG__.
	(sysz_stdlib_for_sun): Bypass on _CLASSIC_ANSI_TYPES.
	* fixincl.x: Regenerate.

2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>

	* inclhack.def (hpux8_bogus_inlines): Bypass on __GNUG__.
	(int_abort_free_and_exit, sun_malloc, sysv68_string): Bypass on
	_CLASSIC_ANSI_TYPES.
	(sun_auth_proto): Bypass on __cplusplus.
	* fixincl.x: Regenerate.

2004-11-05  Geoffrey Keating  <geoffk@apple.com>

	* Makefile.in (mostlyclean): Add fixinc.sh.
	(clean): Add mkheaders.
	(distclean): New.
	(dvi): New.
	(info): New.
	(installcheck): New.

2004-11-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (mostlyclean, distclean): New targets.

2004-11-04  Geoffrey Keating  <geoffk@apple.com>

	* configure.ac: Add code to determine noncanonical_target,
	local_prefix, gcc_version; process mkheaders.in to make mkheaders.
	* configure: Regenerate.
	* fixinc.in: Move here from gcc/; fix many cross-hosting bugs.
	* mkfixinc.sh: Move here from gcc/; update for changes to fixinc.in.
	* mkheaders.in: Move here from gcc/; remove some unnecessary macros;
	update for changes to fixinc.in.
	* Makefile.in: Add many new macros.
	(install): New target.
	(mkheaders): New target.
	(fixinc.sh): New target.
	(all): Add mkheaders and fixinc.sh.
	* README-fixinc: Move here from gcc/.

2004-11-01  Mike Stump  <mrs@apple.com>

	* inclhack.def (stdio_va_list): Break out clients from here...
	(stdio_va_list_clients): ...to here.  Also, don't fix if stdarg.h is
	included or ifdef va_start.
	* fixincl.x: Regenerate.

2004-10-28  Mike Stump  <mrs@apple.com>

	* inclhack.def (void_null): Avoid changing NULL on C++ friendly
	systems.
	* fixincl.x: Regenerate.

2004-10-27  Geoffrey Keating  <geoffk@apple.com>

	* inclhack.def (darwin_gcc4_breakage): New.
	* fixincl.x: Regenerate.

2004-10-27  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	PR bootstrap/17832

	* fixfixes.c (main): Check for _PC_NAME_MAX.

2004-10-27  Paolo Bonzini  <bonzini@gnu.org>

	PR other/17991

	* configure.ac: Fix typo.
	* configure: Regenerate.
	* fixincl.c (fix_with_system): tSCC is not a pointer.  Fix.

2004-10-20  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	PR bootstrap/17832

	* fixincl.c (SIGCHLD): Remove definition.
	(initialize): Remove SIGIOT and SIGPIPE checks.
	(create_file): Fix mkdir() for Win32.
	(internal_fix): Use dup2() instead of fcntl().

	* fixlib.h (SIGQUIT): Define if undefined.
	(SIGIOT): Same.
	(SIGPIPE): Same.
	(SIGALRM): Same.
	(SIGKILL): Same.

	* procopen.c (chain_open): Use dup2() instead of fcntl().

2004-08-14  Paolo Bonzini  <bonzini@gnu.org>

	PR other/17991

	* Makefile.in (ALLOBJ, TESTOBJ, FIXOBJ): Add fixopts.o.
	Update copyright year.
	* fixfixes.c (main): Call initialize_opts from fixopts.c.
	* fixincl.c (initialize): Call initialize_opts from fixopts.c,
	do not include code for parsing options (environment vars).
	(fix_with_system): Use a search path for applyfix, so that you
	can run the test suite with two-process fixincludes.
	* fixopts.c: New file.
	* configure.ac: Add --enable-twoprocess.  Export ac_exeext
	to config.h.  Default to --enable-twoprocess for MinGW32.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2004-10-04  Loren J. Rittle  <ljrittle@acm.org>

	* tests/base/sys/cdefs.h: Update from test area.

2004-09-17  Roger Sayle  <roger@eyesopen.com>

	* inclhack.def (linux_ia64_ucontext): New fix.
	* fixincl.x: Regenerate.
	* tests/base/sys/ucontext.h: New file.

2004-09-15  Roger Sayle  <roger@eyesopen.com>

	* tests/base/sys/time.h: Correct mismatch in 2004-09-10 check-in.
	* tests/base/stdlib.h: Likewise.

2004-09-13  Loren J. Rittle  <ljrittle@acm.org>

	* inclhack.def (freebsd_gcc4_breakage): Add.
	* fixincl.x: Regenerate.
	* tests/base/sys/cdefs.h: Update for new test.

2004-09-10  Adam Nemet  <anemet@lnxw.com>

	* inclhack.def (lynx_void_int): Remove.
	(lynxos_fcntl_proto): Remove.
	(lynxos_no_warning_in_sys_time_h): New fix.
	(lynxos_missing_putenv): New fix.
	* fixincl.x: Regenerate.
	* tests/base/fcntl.h: Remove.
	* tests/base/sys/time.h: Update from test area.
	* tests/base/curses.h: Likewise.
	* tests/base/stdlib.h: Likewise.

2004-09-03  Jan Beulich  <jbeulich@novell.com>

	* inclhack.def: Suppress exception_structure and math_exception
	for NetWare headers.
	* fixincl.x: Regenerate.

2004-08-31  Paolo Bonzini  <bonzini@gnu.org>

	* .cvsignore: New.
	* Makefile.in: From gcc/fixinc/Makefile.in, making it fully
	autoconfiscated.
	* configure.ac: New.
	* config.h.in: Generate.
	* configure: Generate.
	* aclocal.m4: New.
	* fixlib.h: Remove inclusions of gcc files.
	* system.h: New.

	Other files copied from gcc/fixinc.
