2015-07-16  Release Manager

	* GCC 5.2.0 released.

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

	Backport from mainline.
	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-04-22  Release Manager

	* GCC 5.1.0 released.

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.
