2022-05-27  Release Manager

	* GCC 9.5.0 released.

2022-01-24  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: Sync from master.
	* gcc-changelog/test_email.py: Likewise.
	* gcc-changelog/test_patches.txt: Likewise.

2022-01-19  Martin Liska  <mliska@suse.cz>

	* git-backport.py: Sync from master.
	* git-commit-mklog.py: Likewise.
	* git-fix-changelog.py: New file.

2022-01-17  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-01-17  Martin Liska  <mliska@suse.cz>

	* git-backport.py: Support renaming of .cc files.

2021-11-08  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_check_commit.py: Sync from master.
	* gcc-changelog/git_commit.py: Likewise.
	* gcc-changelog/git_email.py: Likewise.
	* gcc-changelog/git_update_version.py: Likewise.
	* gcc-changelog/test_email.py: Likewise.
	* gcc-changelog/test_patches.txt: Likewise.

2021-06-23  Martin Liska  <mliska@suse.cz>

	* mklog.py: New file.
	* test_mklog.py: New file.

2021-06-23  Martin Liska  <mliska@suse.cz>

	* git-commit-mklog.py: New file.

2021-06-01  Release Manager

	* GCC 9.4.0 released.

2021-05-18  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2021-05-18  Jonathan Wakely  <jwakely@redhat.com>

	* gcc-changelog/git_email.py: Remove use of non-strict mode.

2021-05-14  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_check_commit.py: Sync from master.
	* gcc-changelog/git_commit.py: Likewise.
	* gcc-changelog/git_email.py: Likewise.
	* gcc-changelog/git_repository.py: Likewise.
	* gcc-changelog/git_update_version.py: Likewise.
	* gcc-changelog/test_email.py: Likewise.
	* gcc-changelog/test_patches.txt: Likewise.

2021-04-14  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: Sync with master.
	* gcc-changelog/git_email.py: Likewise.
	* gcc-changelog/git_update_version.py: Likewise.
	* gcc-changelog/setup.cfg: Likewise.
	* gcc-changelog/test_email.py: Likewise.
	* gcc-changelog/test_patches.txt: Likewise.

2021-03-19  Matthias Klose  <doko@ubuntu.com>

	Backported from master:
	2021-03-19  Matthias Klose  <doko@ubuntu.com>

	* texi2pod.pl: Substitute @tie{} with a space for the man pages.

2021-01-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR lto/85574
	* compare-lto: Deal with PE-COFF executables specifically.

2021-01-07  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: Sync from master.
	* gcc-changelog/git_email.py: Likewise.
	* gcc-changelog/git_repository.py: Likewise.
	* gcc-changelog/test_email.py: Likewise.
	* gcc-changelog/test_patches.txt: Likewise.

2020-11-25  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: Use revert_regex instead
	of string prefix.  Convert sets to literals.

2020-11-06  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: Sync.
	* gcc-changelog/git_email.py: Likewise.
	* gcc-changelog/git_repository.py: Likewise.
	* gcc-changelog/test_email.py: Likewise.
	* gcc-changelog/test_patches.txt: Likewise.
	* gcc-changelog/setup.cfg: New file.

2020-07-29  Martin Liska  <mliska@suse.cz>

	* git-backport.py: fix how are ChangeLog paths combined.

2020-07-23  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2020-07-23  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: When reverting a backport,
	we should print only Revert header.

2020-07-23  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2020-07-17  Jonathan Wakely  <jwakely@redhat.com>

	* gcc-changelog/git_update_version.py: Fix typo.

2020-07-08  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2020-07-07  Alexandre Oliva  <oliva@adacore.com>
		    Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_commit.py: Support CASE and COND.
	* gcc-changelog/test_patches.txt: Add test.
	* gcc-changelog/test_email.py: Add test.

2020-07-02  Martin Liska  <mliska@suse.cz>

	* gcc-changelog/git_check_commit.py: New file.
	* gcc-changelog/git_commit.py: New file.
	* gcc-changelog/git_email.py: New file.
	* gcc-changelog/git_repository.py: New file.
	* gcc-changelog/git_update_version.py: New file.
	* gcc-changelog/test_email.py: New file.
	* gcc-changelog/test_patches.txt: New file.

2020-05-29  Martin Liska  <mliska@suse.cz>

	* git-backport.py: The script did 'git co HEAD~' when
	there was no modified ChangeLog file in a successful
	git cherry pick.
	Run cherry-pick --continue without editor.

2020-05-27  Martin Liska  <mliska@suse.cz>

	* git-backport.py: New file.

2020-03-12  Release Manager

	* GCC 9.3.0 released.

2019-08-16  Uros Bizjak  <ubizjak@gmail.com>

	* test_summary: Do not escape "=".

2019-08-12  Release Manager

	* GCC 9.2.0 released.

2019-05-03  Release Manager

	* GCC 9.1.0 released.

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

	* gennews (files): Add files for GCC 9.

2019-04-19  Christophe Lyon  <christophe.lyon@linaro.org>

	PR translation/90118
	* check-internal-format-escaping.py: Check that %< is not next to
	a word.

2019-04-17  Jakub Jelinek  <jakub@redhat.com>

	* dg-extract-results.sh: Only handle WARNING: program timed out
	lines specially in "$MODE" == "sum".  Restore previous behavior
	for "$MODE" != "sum".  Clear has_timeout and timeout_cnt if in
	a different variant or curfile is empty.
	* dg-extract-results.py: Fix a typo.

2019-04-05  Martin Liska  <mliska@suse.cz>

	PR translation/89936
	* check-internal-format-escaping.py: Properly detect wrong
	apostrophes.

2019-03-11  Martin Liska  <mliska@suse.cz>

	* check-internal-format-escaping.py: Uncomment apostrophes
	check.

2019-03-11  Martin Liska  <mliska@suse.cz>

	* check-internal-format-escaping.py: New file.

2019-03-10  Tommy Nguyen  <remyabel@gmail.com>

	PR contrib/82704
	* download_prerequisites: Use -c instead of --check for sha512sum.

2019-03-06  Martin Liska  <mliska@suse.cz>

	* check-params-in-docs.py: Ignore a param.

2019-03-05  Christophe Lyon  <christophe.lyon@linaro.org>

	contrib/
	* dg-extract-results.py: Handle case where a WARNING happens with
	the first test of a harness.

2019-03-05  Christophe Lyon  <christophe.lyon@linaro.org>

	contrib/
	* dg-extract-results.sh: Fix order of WARNING and following test
	result.

2019-02-04  Christophe Lyon  <christophe.lyon@linaro.org>

	contrib/
	* dg-extract-results.py: Keep timeout warnings next to their
	matching test.
	* dg-extract-results.sh: Likewise.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	* update-copyright.py: Add Gerard Jungman as external author.

2018-11-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	* update-copyright.py (TestsuiteFilter): Skip .d tests.
	(LibPhobosFilter): Add filter for upstream D sources.
	(GCCCopyright): Add D Language Foundation as external author.
	(GCCCmdLine): Add libphobos.

2018-11-19  Martin Liska  <mliska@suse.cz>

	* check_GNU_style_lib.py: Detect mixed usage
	of spaces and tabs.

2018-11-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc_update (files_and_dependencies): Handle libphobos.

2018-10-25  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

	* dg-cmp-results.sh: Print NA-FAIL and NA->UNRESOLVED changes at
	default verbosity.

2018-10-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config-list.mk (LIST): Switch to i686-solaris2.11,
	sparc64-sun-solaris2.11.

2018-10-04  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* unused_functions.py: Handle archive files.

2018-10-04  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* unused_functions.py: New file.

2018-09-25  Martin Liska  <mliska@suse.cz>

	* filter-rtags-warnings.py: New file.

2018-09-25  Martin Liska  <mliska@suse.cz>

	PR middle-end/86078
	* check-params-in-docs.py: New file.

2018-08-17  Jojo  <jijie_rong@c-sky.com>
	    Huibin Wang  <huibin_wang@c-sky.com>
	    Sandra Loosemore  <sandra@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>
	    Andrew Jenner  <andrew@codesourcery.com>

	C-SKY port: Configury

	* config-list.mk (LIST): Add csky-elf and csky-linux-gnu.

2018-07-13  Tom de Vries  <tdevries@suse.de>

	* maintainers-verify.sh: New file.

2018-07-12  Christophe Lyon  <christophe.lyon@linaro.org>

	* compare_tests: Print number of tests in each category.

2018-06-19  Alexander Monakov  <amonakov@ispras.ru>

	* vim-gcc-dev/README: New file.
	* vim-gcc-dev/ftdetect/gcc-dev.vim: New file.
	* vim-gcc-dev/syntax/gcc-match.vim: New file.
	* gimple.vim: Move under vim-gcc-dev/syntax/.
	* gcc-rtl.vim: Likewise.

2018-06-19  Martin Liska  <mliska@suse.cz>

	* gcc-rtl.vim: New file.

2018-06-12  Jeff Law  <law@redhat.com>

	* config-list.mk (LIST): Remove alpha-freebsd6.

2018-05-08  Richard Biener  <rguenther@suse.de>

	PR bootstrap/85571
	* compare-lto: New script derived from compare-debug.

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

	* gennews (files): Add files for GCC 8.

2018-05-01  Jim Wilson  <jimw@sifive.com>

	* gcc_update: Check for .git as a file.

2018-03-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* test_summary: Match possible single quotes in configure path.

2018-03-02  Thomas Schwinge  <thomas@codesourcery.com>

	* update-copyright.py: Remove "libcilkrts" reference.

2018-02-19  Yury Gribov  <tetra2005@gmail.com>

	* compare_tests: Use TMPDIR when set.
	* dg-cmp-results.sh: Ditto.
	* warn_summary: Ditto.

2018-01-29  Jonathan Wakely  <jwakely@redhat.com>

	* download_prerequisites: Use shasum for FreeBSD and DragonFly.

2018-01-19  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Support new format that can be easily
	parsed. Add new column to report.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	* update-copyright.py: Skip pdt-5.f03 in gfortran.dg subdir.

2017-11-28  Julia Koval  <julia.koval@intel.com>
	    Sebastian Peryt  <sebastian.peryt@intel.com>

	* contrib/gcc_update: Ditto.

2017-11-08  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Fix abbreviations for SI units.

2017-10-02  Thomas Schwinge  <thomas@codesourcery.com>

	* gcc_update (files_and_dependencies): Handle libbacktrace.

2017-09-18  Richard Biener  <rguenther@suse.de>

	* download_prerequisites (isl): Bump version to 0.18.

2017-08-02  Yury Gribov  <tetra2005@gmail.com>

	* mklog: Added new implementation.

2017-08-02  Yury Gribov  <tetra2005@gmail.com>

	* mklog: Rename to ...
	* mklog.pl: this.

2017-07-17  Yury Gribov  <tetra2005@gmail.com>

	* mklog: Fix extraction of changed file name.

2017-07-17  Georg-Johann Lay  <avr@gjlay.de>

	* gcc_update (files_and_dependencies)
	[gcc/config/avr/avr-tables.opt]: Remove dead entry.

2017-06-28  Martin Liska  <mliska@suse.cz>

	* gcc.doxy: Add default location for filters and output folder.
	* filter_gcc_for_doxygen_new: Rename to filter_gcc_for_doxygen.
	* filter_params.pl: Remove.

2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* dg-cmp-results.sh: Restore filtering on target variant.

2017-06-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* dg-cmp-results.sh: Keep test result lines rather than throwing
	header and summary to support sum files with multiple tools.

2017-05-31  Martin Liska  <mliska@suse.cz>

	* filter_params.py:
	Transform ENUM_BITFIELD and comments starting with '/**'

2017-05-31  David Malcolm  <dmalcolm@redhat.com>
	    Martin Liska  <mliska@suse.cz>

	* filter_params.py: New, porting the perl script to python,
	adding a test suite.
	* filter_gcc_for_doxygen_new: New file.

2017-05-30  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Add new argument to parse and modify
	predict.def file.
	* analyze_brprob_spec.py: Likewise.

2017-05-29  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py (TrailingWhitespaceCheck.check): Assert no
	trailing eol.
	(TrailingWhitespaceTest): New unit test.
	(check_GNU_style_file): Remove eol before checking.

2017-05-29  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py (check_GNU_style_file): Treat file argument as
	file handle.  Add and handle file_encoding argument.
	* check_GNU_style.py (main): Handle '-' file argument.  Call
	check_GNU_style_file with file handle as argument.

2017-05-29  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py: Use import_pip3 to import pip3 packages.
	(import_pip3): New function.

2017-05-24  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style_lib.py: New file, factored out of ...
	* check_GNU_style.py: ... here.  Call main unconditionally.

2017-05-19  Martin Liska  <mliska@suse.cz>

	* check_GNU_style.py: New file.

2007-05-03  Jeff Law  <law@redhat.com>

	* config-list.mk (am33_2.0-linux): Remove from list of targets
	to build.

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

	* gennews (files): Add files for GCC 7.

2017-04-26  Tom de Vries  <tom@codesourcery.com>

	* gen_autofdo_event.py: Fix comment.

2017-04-11  Damian Rouson  <damian@sourceryinstitute.org>

	* download_prerequisites (md5_check): New function emulates Linux
	'md5 --check' on macOS.  Modified script for macOS compatibility.

2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>

	* config-list.mki (LIST): Add riscv32-unknown-linux-gun and
	riscv64-unknown-linux-gnu.

2017-01-31  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* update-copyright.py (Copyright.process_file): Retain original
	file mode.

2017-01-29  Gerald Pfeifer  <gerald@pfeifer.com>

	* update-copyright.py: Fix the name of this script in examples.

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

	* update-copyright.py: Add libhsail-rt to self.default_dirs
	and call self.add_dir on it.  Add Intel Corporation to external
	authors.

2017-01-25  Thomas Schwinge  <thomas@codesourcery.com>

	* gcc_update (files_and_dependencies): Care for "libhsail-rt".

2017-01-23  Gerald Pfeifer  <gerald@pfeifer.com>

	* patch_tester.sh (TESTLOGS): Remove
	$TARGET/libjava/testsuite/libjava.sum.

2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>

	* warn_summary: Remove the -java option.

2017-01-20  Gerald Pfeifer  <gerald@pfeifer.com>

	* update-copyright.py (LibJavaFilter): Remove.

2017-01-17  Gerald Pfeifer  <gerald@pfeifer.com>	
	
	* gcc_update: Remove entries related to GCJ and libgcj.
	Complete copyright years and adjust my e-mail address.

2017-01-11  Richard Earnshaw  <rearnsha@arm.com>

	* gcc_update: Adjust touch list for ARM.

2017-01-08  Gerald Pfeifer  <gerald@pfeifer.com>

	* download_ecj: Remove.

2017-01-05  Martin Liska  <mliska@suse.cz>

	* vimrc: Update indentation definition.

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

	* update-copyright.py (GCCCmdLine): Add include, libcc1, libiberty,
	libssp, libvtv and lto-plugin to default_dirs.

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

	* update-copyright.py (TestsuiteFilter): Skip params/README.
	(GCCCmdLine): Remove libjava and libjava/testsuite add_dir.

2016-12-14  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Add new column to output and new sorting
	option. Fix coding style to not exceed 80 characters.
	* analyze_brprob_spec.py: Add new sorting
	option. Fix coding style to not exceed 80 characters.

2016-10-24  Moritz Klammler  <moritz@glammler.eu>

	PR other/61439
	* download_prerequisites: Conditionally verify checksums of
	downloaded pacakges.  Add help text.  
	* prerequisites.md5: New file.
	* prerequisites.sha512: New file.

2016-10-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* check_GNU_style.sh (remove_testsuite): New function.
	Use it to remove testsuite from the diff.

2016-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* dg-extract-results.sh: Revert bogus change.

2016-09-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* dg-extract-results.py: Report DejaGnu error in the final
	summary.
	* dg-extract-results.sh: Likewise.

2016-09-20  Christophe Lyon  <christophe.lyon@linaro.org>

	* compare_tests: Take ERROR messages into account when
	  comparing.

2016-08-17  Martin Liska  <mliska@suse.cz>

	* mark_spam.py: Mark as spam all comments done by a creator.

2016-08-15  Martin Liska  <mliska@suse.cz>

	* mark_spam.py: Add error handling and reset
	another properties of attachments and bugs.

2016-08-11  Martin Liska  <mliska@suse.cz>

	* mark_spam.py: Mark attachments as obsolete and rename them.

2016-08-03  Eric Gallager  <egall@gwmail.gwu.edu>

	* download_prerequisites: Explicitly remove existing symlinks
	before trying to create new ones.

2016-07-28  Martin Liska  <mliska@suse.cz>

	* mark_spam.py: New file.

2016-07-21  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: If there's no loop, do not calculate
	average number of loop iterations.

2016-06-24  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Parse and display average number
	of loop iterations.

2016-06-23  Andi Kleen  <ak@linux.intel.com>

	* gen_autofdo_event.py: New file to regenerate
	gcc-auto-profile.

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

	* config-list.mk: Stop testing mep-elf.

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

	* config-list.mk: Stop testing avr-rtems.

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

	* config-list.mk: Stop testing m32r-rtems.

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

	* config-list.mk: Remove h8300-rtems support.

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

	* config-list.mk: stop testing knetbsd.

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

	* config-list.mk: Stop testing openbsd3.0.

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

	* config-list.mk: Remove interix target.

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

	* config-list.mk: Remove rs6000-ibm-aix4.3, rs6000-ibm-aix5.1,
	rs6000-ibm-aix5.2.
	Rename rs6000-ibm-aix6.0 as rs6000-ibm-aix6.1.
	Add rs6000-ibm-aix7.1.

2016-06-17  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Fix columns of script output.

2016-06-13  Richard Biener  <rguenther@suse.de>

	* download_prerequisites (ISL): Bump version to 0.16.1

2016-06-10  Alan Hayward  <alan.hayward@arm.com>

	* check_GNU_style.sh: Fix paste args for BSD

2016-06-09  David Malcolm  <dmalcolm@redhat.com>

	* config-list.mk (LIST): Add OPT-enable-obsolete to avr-rtems,
	h8300-rtems, m32r-rtems, mep-elf.

2016-06-09  David Malcolm  <dmalcolm@redhat.com>

	* config-list.mk (GCC_SRC_DIR): New variable.
	(make-log-dir): Use GCC_SRC_DIR.
	($(LIST)): Likewise.

2016-06-09  Martin Liska  <mliska@suse.cz>

	* analyze_brprob_spec.py: New file.

2016-06-09  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Add new argument --sorting.

2016-06-09  Martin Liska  <mliska@suse.cz>

	* analyze_brprob.py: Cover new dump output format.

2016-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* update-copyright.py (LibMudflapFilter): Remove.
	(GCCCmdLine.__init__): Add gotools, libcc1.
	Remove libmudflap.
	List unhandled intl, libcilkrts, libgo, liboffloadmic,
	maintainer-scripts.

2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* download_prerequisites: Adjust gmp/mpfr/mpc versions.

2016-04-30  Oleg Endo  <olegendo@gcc.gnu.org>

	* compare-all-tests: Remove SH5 support.
	* config-list.mk: Likewise.

2016-04-28  Martin Liska  <mliska@suse.cz>

	* analyze_brprob: Remove.
	* analyze_brprob.py: New file.

2016-04-27  Jakub Jelinek  <jakub@redhat.com>

	* gennews (files): Add files for GCC 6.

2016-04-17  Jan Hubicka  <jh@suse.cz>

	* analyze_brprob: Update comment.

2016-04-13  Martin Sebor  <msebor@redhat.com>

	* check_GNU_style.sh: Avoid false posivies in trailing operator
	checks.

2016-03-07  Martin Sebor  <msebor@redhat.com>

	* check_GNU_style.sh (color): New global variable.
	Add checks for trailing operators and spaces before left brackets.
	Tightened up a check for a trailing left curly brace.
	(g, ag, vg): Use color.
	(col): Don't complain about excessively long lines with DejaGnu
	directives.

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

	* mklog: Look for the ChangeLog file in $cwd.

2016-02-26  Joel Sherrill <joel@rtems.org>

	* config-list.mk: Add aarch64-rtems and x86_64-rtems

2016-01-19  Jonathan Wakely  <jwakely@redhat.com>

	* uninclude: Fix third argument to gensub.

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

	* update-copyright.py (GCCCopyright): Add NVIDIA Corporation
	as external author.

2015-12-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config-list.mk (LIST): Add --enable-obsolete to recently obsoleted
	targets x86_64-knetbsd-gnu, i686-knetbsd-gnu and i686-openbsd3.0 .

2015-12-06  Tobias Burnus  <burnus@net-b.de>

	* download_prerequisites: Download ISL 0.15 instead of 0.14.

2015-11-20  Martin Liska  <mliska@suse.cz>

	* clang-format: Split content of a list to multiple
	lines.

2015-11-19  Martin Liska  <mliska@suse.cz>

	* clang-format: Enhance list of FOR_EACH macros.

2015-11-19  Martin Liska  <mliska@suse.cz>

	* clang-format: New file.

2015-11-11  Andrew MacLeod  <amacleod@redhat.com>

	* header-tools: New.  Directory containing a set of tools for
	manipulating header files.

2015-10-30  Nathan Sidwell  <nathan@acm.org>

	* config-list.mk (nvptx-none): Add it.

2015-09-11  Markus Trippelsdorf  <markus@trippelsdorf.de>

	* download_prerequisites: Make sure that script is run from
	top level source directory.

2015-08-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* update-copyright.py (GCCCmdLine): Add libvtv.

2015-08-04  Uros Bizjak  <ubizjak@gmail.com>

	* texi2pod.pl: Escape braces in regexp involving @strong{...}.

2015-07-15  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (cat_with_prefix): Fix quoting.

2015-06-02  Steve Ellcey  <sellcey@imgtec.com>

	* test_installed (--target=): New option.

2015-05-30  Mikhail Maltsev  <maltsevm@gmail.com>

	* gimple.vim: New file.

2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Add temp files tmp2 and tmp3.
	(cat_with_prefix): New function, using global variable prefix.
	(col): Make prefix a global variable. Rewrite to process file at a time
	rather than line at a time.  Print part longer than 80 chars in red.

2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (g, ag, vg): Don't cat empty file.

2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (g, ag, vg, col): Declare local vars with local.

2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Improve readability function calls.

2015-05-16  James Bowman  <james.bowman@ftdichip.com>

	* config-list.mk: Add FT32.

2015-05-12  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (col): Fix tab size.

2015-05-12  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Put stdin into a temp file.

2015-05-12  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Read either from stdin, or from files.

2015-05-12  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Check if files exists.

2015-05-12  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Don't use a filename prefix if we're only
	processing one patch file.

2015-05-12  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Ignore preprocessor directives.

2015-04-22  Jakub Jelinek  <jakub@redhat.com>

	* gennews (files): Add files for GCC 5.

2015-03-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* dg-extract-results.sh: Check that the necessary python modules exist.

2015-02-05  Ilya Verbin  <ilya.verbin@intel.com>

	* gcc_update (files_and_dependencies): Add rules for liboffloadmic and
	liboffloadmic/plugin.

2015-01-15  Richard Sandiford  <richard.sandiford@arm.com>

	* update-copyright.py (Copyright.__init__): Add a regexp for
	"copyright = u'".
	(Copyright.update_copyright): Don't add a space before the year
	in that case.

2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>

	* gcc_update (files_and_dependencies): Update rules for new
	libgomp/plugin/Makefrag.am and libgomp/plugin/configfrag.ac files.

2015-01-12  Yury Gribov  <y.gribov@samsung.com>

	* check_GNU_style.sh: Support patches coming from stdin.
	Check that spaces are converted to tabs.
	Make double-space-after-dot check more precice.

2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* config-list.mk (LIST): Add visium-elf.

2015-01-05  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config-list.mk: Use shortest match for OPT to find the actual
	target name.

2014-12-17  Sergio Durigan Junior  <sergiodj@redhat.com>

	* dg-extract-results.sh: Use --text with grep to avoid issues with
	binary files.  Fall back to cat -v, if that doesn't work.

2014-12-12  Chung-Ju Wu  <jasonwucj@gmail.com>

	* download_prerequisites: Modify the comment for GRAPHITE_LOOP_OPT.

2014-12-09  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	    Yury Gribov  <y.gribov@samsung.com>

	* vimrc: New file.

2014-12-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* check_GNU_style.sh: Warn for incorrect number of spaces in function
	call only if 0 or 2+ spaces found.

2014-12-02  Tobias Burnus  <burnus@net-b.de>

	* download_prerequisites: Download ISL 0.14 instead of 0.12.2.

2014-11-25  Tom de Vries  <tom@codesourcery.com>
	    Peter Bergner  <bergner@vnet.ibm.com>

	* mklog: Handle .mklog.  Use git setting independent of presence .git
	directory.

2014-11-14  Tom de Vries  <tom@codesourcery.com>

	* mklog: Move reading of .diff file up and add comment.  Copy diff_lines
	to orig_diff_lines.  Use orig_diff_lines when appending patch.

2014-11-11  David Malcolm  <dmalcolm@redhat.com>

	* ChangeLog.jit: New.
	* jit-coverage-report.py: New file: a script to print crude
	code-coverage information for the libgccjit API.

2014-11-11  Marat Zakirov  <m.zakirov@samsung.com>

	* mklog: Symbol '}' stops search for changes.

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

	* download_prerequisites: Stop downloading CLooG.

2014-11-07  Marat Zakirov  <m.zakirov@samsung.com>

	* mklog: Always doubt in functions.
	Add EOF protection.

2014-10-31  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config-list.mk: Don't build Go for certain targets.

2014-10-04  Trevor Saunders  <tsaunders@mozilla.com>

	* compare-all-tests: Don't test score-*.
	* config-list.mk: Likewise.

2014-10-02  Segher Boessenkool  <segher@kernel.crashing.org>

	* dg-extract-results.py (output_variation): Always sort if do_sum.

2014-09-22  Tom de Vries  <tom@codesourcery.com>

	* mklog: Add --inline option.

2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>

	* dg-extract-results.py (Prog.result_re): Include options in test name.

2014-09-19  Olivier Hainque  <hainque@adacore.com>

	* config-list.mk (LIST): Add powerpc-wrs-vxworksmils.

2014-09-18  Joel Sherrill <joel.sherrill@oarcorp.com>

	* config-list.mk (LIST): Add v850-rtems.

2014-09-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config-list.mk (LIST): Add arm-rtems.
	Add nios2-rtems.  Remove extra option from powerpc-rtems.

2014-09-08  Trevor Saunders  <tsaunders@mozilla.com>

	* compare-all-tests: Don't test picochip.
	* config-list.mk: Likewise.

2014-08-11  Mingjie Xing <mingjie.xing@gmail.com>

	* texi2pod.pl (postprocess): Move command process for '@sc' to the
	front of '@dfn'.  Add a new command process for '@t{...}', just print
	the content.

2014-07-21  Trevor Saunders  <tsaunders@mozilla.com>
	    Yury Gribov  <y.gribov@samsung.com>

	* mklog: Run mklog as a filter.

2014-07-21  Trevor Saunders  <tsaunders@mozilla.com>

	* mklog: Read name and email from git config when available.

2014-06-28  Richard Biener  <rguenther@suse.de>

	* gennews: Use gcc-3.0/index.html.

2014-06-14  Richard Sandiford  <rdsandiford@googlemail.com>

	* dg-extract-results.py: For Python 3, force sys.stdout to handle
	surrogate escape sequences.
	(safe_open): New function.
	(output_segment, main): Use it.

2014-05-25  Richard Sandiford  <rdsandiford@googlemail.com>

	* dg-extract-results.py (Named): Remove __cmp__ method.
	(output_variation): Use a key to sort variation.harnesses.

2014-05-24  Uros Bizjak  <ubizjak@gmail.com>

	* texi2pod.pl: Force .pod file to not be a numbered list.

2014-05-20  Richard Sandiford  <rdsandiford@googlemail.com>

	* dg-extract-results.py (parse_run): Handle warnings that are printed
	before a test harness is run.

2014-05-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config-list.mk (show): New target.

2014-05-08  Richard Sandiford  <rdsandiford@googlemail.com>

	* dg-extract-results.py: New file.
	* dg-extract-results.sh: Use it if the environment seems suitable.

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

	* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.

2013-04-22  Jakub Jelinek  <jakub@redhat.com>

	* gennews (files): Add files for GCC 4.9.

2014-02-24  Walter Lee  <walt@tilera.com>

	* config-list.mk (LIST): Add tilegxbe-linux-gnu.

2014-02-13  Richard Biener  <rguenther@suse.de>

	* download_prerequisites: Update ISL and CLOOG versions.

2014-01-31  Brooks Moses  <bmoses@google.com>

	* gcc_update (files_and_dependencies): Add aarch64-tune.md.

2014-01-29  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Improve support of context diffs.

2014-01-21  Tatiana Udalova  <t.udalova@samsung.com>

	* mklog: Avoid adding falsely changed functions to ChangeLog.

2013-12-31  Chung-Lin Tang  <cltang@codesourcery.com>

	* config-list.mk: Add nios2-elf, nios2-linux-gnu. Corrected
	ordering of some configs.

2013-12-23  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Automatically insert comments in trivial cases.

2013-12-19  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Split generated message in parts.

2013-10-31  Chung-Ju Wu  <jasonwucj@gmail.com>

	* config-list.mk (nds32le-elf, nds32be-elf): Add nds32 target.

2013-10-29  Tobias Burnus  <burnus@net-b.de>

	* gcc_update (files_and_dependencies): Add rules for
	libcilkrts.

2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>

	* gcc_update (files_and_dependencies): Fix rule for
	libgomp/testsuite/Makefile.in.

2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config-list.mk: Add arc configurations.

2013-09-27  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

2013-09-12  DJ Delorie  <dj@redhat.com>

	* config-list.mk: Add msp430-elf.

2013-08-31  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

2013-08-29  Mike Stump  <mikestump@comcast.net>

	* gcc_update (configure): Update to handle svn 1.8.1.

2013-08-03  Caroline Tice  <cmtice@google.com>

	* gcc_update: Add libvtv files.

2013-06-06  Brooks Moses  <bmoses@google.com>

	* testsuite-management/validate_failures.py: Fix handling of
	summary lines with "|" characters or empty description fields.

2013-05-24  Chung-Ju Wu  <jasonwucj@gmail.com>

	* download_prerequisites: Download isl and cloog conditionally.

2013-05-21  David Malcolm  <dmalcolm@redhat.com>

	* repro_fail: Filter out "-ignore SIGHUP" from the spawn lines.

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

	* config-list.mk (LIST): Add -enable-obsolete for
	sparc-sun-solaris2.9, i686-solaris2.9.

2013-05-13  Mike Stump  <mikestump@comcast.net>

	* compare_tests: Limit lines to 2000 characters as comm on Mac OS
	X 10.8.3 doesn't like long lines (those 2055 characters or more).

2013-04-22  Sofiane Naci  <sofiane.naci@arm.com>

	* config-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu.

2013-04-18  Diego Novillo  <dnovillo@google.com>

	* validate_failures.py: Fix typo.

2013-04-18  Diego Novillo  <dnovillo@google.com>

	* validate_failures.py: Loosen check for build directory.
	State what failed if we couldn't find the source tree or
	the target triplet.

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

	* gennews (files): Add files for GCC 4.8.

2013-03-06  Tobias Burnus  <burnus@net-b.de>

	* make-obstacks-texi.pl: New.

2013-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* make_sunver.pl: Enforce C locale.

2013-02-06  Richard Sandiford  <rdsandiford@googlemail.com>

	* update-copyright.py: Add libdecnumber to the default list.
	Remove libquadmath and libssp.

2013-02-06  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Fix typo.

2013-02-06  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Update
	Copyright years.
	Request contributions not to use Python features newer
	than 2.4.
	(GetBuildData): If this is not a build directory,
	emit an error only if --results or --manifest are missing.

2013-02-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* testsuite-management/validate_failures.py
	(IsInterestingResult): Fix performance regression

2013-02-04  Richard Sandiford  <rdsandiford@googlemail.com>

	* update-copyright.py: New file.

2013-01-15  David Blaikie  <dblaikie@gmail.com>

	* dg-extract-results.sh: Handle KPASSes.

	* dg-extract-results.sh: Constrain the start-of-log pattern.

	* dg-extract-results.sh: Fix order of summary counts.

2012-12-01  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* testsuite-management/validate_failures.py
	(IsInterestingResult): Only strip line a second time if we did split.
	Rephrase return statement while at it.
	(CollectSumFiles): Also ignore .git directory.

2012-12-03  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Fix stale
	use of 'options'.

2012-11-30  Doug Evans  <dje@google.com>

	* testsuite-management/validate_failures.py: Add support for @include,
	@remove directives in manifest files.

	* testsuite-management/validate_failures.py: Add function
	GetManifestPath.  New global _MANIFEST_SUBDIR.

2012-11-29  Doug Evans  <dje@google.com>

	* testsuite-management/validate_failures.py: Remove pass/fail
	indicator from result of GetBuildData.

	* testsuite-management/validate_failures.py: Store options in global
	variable _OPTIONS.

	* testsuite-management/validate_failures.py: Rename variable
	manifest_name to manifest_path everywhere.

	* testsuite-management/validate_failures.py (CompareBuilds): Pass
	options.results to GetSumFiles for clean build.

2012-11-28  Doug Evans  <dje@google.com>

	* testsuite-management/validate_failures.py: Use <target_alias> instead
	of <target>.  Minor whitespace changes.

	* testsuite-management/validate_failures.py: Record ordinal with
	TestResult.

2012-11-19  Mike Stump  <mikestump@comcast.net>

	* compare_tests: Add export LC_ALL=C to make sort happier.

2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc_update: Update libsanitizer generated files.

2012-11-12  Tobias Burnus  <burnus@net-b.de>

	* gcc_update: Add libquadmath generated files.

2012-11-12  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc_update: Add libsanitizer generated files.

2012-11-05  Lawrence Crowl  <crowl@google.com>

	* compare_two_ftime_report_sets: New.

2012-11-02  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Add option
	--clean_build to compare test results against another
	build.

2012-10-31  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Fix parsing
	of summary lines.

2012-10-29  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

2012-10-06  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

2012-10-02   Christophe Lyon  <christophe.lyon@linaro.org>

	* check_GNU_style.sh: Remove temporay file upon exit.

2012-09-26  Joern Rennecke  <joern.rennecke@embecosm.com>

	* contrib-list.mk (LIST): Remove arm-freebsd6, arm-linux,
	arm-ecos-elf, arm-rtems, arm-elf and arm-wince-pe.
	Use --enable-obsolete for picochip-elf.

2012-09-10   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

2012-09-04  Eric Botcazou  <ebotcazou@adacore.com>

	* make_sunver.pl: Add missing newline at the end of extern "C++" block.

2012-08-24   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

2012-08-14   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/x86_64-unknown-linux-gnu.xfail: New.

2012-08-13  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py (ExpirationDate): Tidy
	comment.

2012-08-13  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py (ParseSummary): Fix
	comment.

2012-08-13  Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Import datetime.
	(TestResult.ExpirationDate): New.
	(TestResult.HasExpired): New.
	(ParseSummary): Call it.  If it returns True, warn that the
	expected failure has expired and do not add it to the set of
	expected results.
	(GetResults): Clarify documentation.

2012-07-26   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Do not use
	'with ... as ...' constructs.

2012-07-19   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py (CollectSumFiles):
	Rename from GetSumFiles.
	(GetSumFiles): Factor out of CheckExpectedResults.
	(CheckExpectedResults): Call it.
	(ProduceManifest): Call it.

2012-07-18   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Fix
	/usr/bin/python invocation.

2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>

	* check_makefile_deps.sh: Look for c-common.o in c-family/.
	Add a few more crt* files to the list of files to skip.

2012-05-31  Marek Polacek  <polacek@redhat.com>

	* mklog: Prevent printing three spaces after the date.

2012-06-04   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py (GetResults):
	Change argument to accept list of summary files to analyze.
	Update callers.
	(CheckExpectedResults): Handle options.manifest, options.results
	and options.ignore_missing_failures.
	(Main): Add options --manifest, --results and --ignore_missing_failures.

2012-05-31   Diego Novillo  <dnovillo@google.com>
	     Cary Coutant  <ccoutant@google.com>

	* mklog: New.

2012-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/53472
	* contrib/compare-debug (remove_comment): New function.
	Remove any .comment sections if the first cmp failed.

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

	* gcc_update: Use $GCC_SVN to retrieve branch and revision.

2012-05-01  Richard Henderson  <rth@redhat.com>

	* gcc_update: Add libatomic generated files.

2012-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* compare_tests: Append '/' to make 'find' traverse
	symlinked directories.

2012-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite-management/validate_failures.py (GetBuildData): Use
	target_alias.

2012-04-06  Doug Evans  <dje@google.com>

	* dg-extract-results.sh: Handle KFAILs.

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

	* config-list.mk (LIST): Remove mips-sgi-irix6.5.

2012-03-13  Joseph Myers  <joseph@codesourcery.com>

	* gennews (files): Add files for GCC 4.7.

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

	* config-list.mk (LIST): Remove mips-openbsd.

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

	* config-list.mk (LIST): Remove alpha-dec-osf5.1.

2012-03-02   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py (class TestResult): Fix
	match pattern for the summary line.  If there is a parsing failure,
	show the line we failed to parse.

2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libstdc++/52188
	* make_sunver.pl: Remove #ifdef handling.

2012-02-17   Doug Kwan  <dougkwan@google.com>

	* contrib/testsuite-management/validate_failures.py
	(GetMakefileValue): Check for cross compilers.

2012-02-15   Quentin Neill  <quentin.neill@amd.com>

	* compare_tests: Fix trailing paths in dir arguments.
	Handle sum1/sum2 temp files with others.

2012-02-14  Walter Lee  <walt@tilera.com>

	* config-list.mk (LIST): Add tilegx-linux-gnu and
	tilepro-linux-gnu.
	* gcc_update (gcc/config/tilegx/mul-tables.c): New dependencies.
	(gcc/config/tilepro/mul-tables.c): New dependencies.

2012-02-11  Mike Stump  <mikestump@comcast.net>

	* compare_tests (exit_status): Fix.

2012-02-10   Diego Novillo  <dnovillo@google.com>

	* repro_fail: Add --debug and --debug-tui flags.

2012-02-02  Sumanth G  <sumanth.gundapaneni@kpitcummins.com>
	    Jayant R Sonar  <jayant.sonar@kpitcummins.com>

	* config-list.mk (LIST): Add cr16-elf.

2012-01-02  Georg-Johann Lay  <avr@gjlay.de>

	PR target/51345
	* gcc_update (files_and_dependencies): Add
	gcc/config/avr/t-multilib, gcc/config/avr/multilib.h.

2011-11-29  DJ Delorie  <dj@redhat.com>

	* config-list.mk (LIST): Add rl78-elf.

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

	* make_sunver.pl: Convert '?' in glob patterns to '.'.

2011-11-07  Richard Henderson  <rth@redhat.com>

	Merged from transactional-memory.

	* gcc_update: Add libitm to touch data.

2011-11-07   Quentin Neill  <quentin.neill@amd.com>

	* compare_tests: Add ability to compare all .sum
	files from two build directories.

2011-11-05  Joern Rennecke  <joern.rennecke@embecosm.com>

	* contrib-list.mk: Add Epiphany configurations.

2011-09-13   Diego Novillo  <dnovillo@google.com>

	* testsuite-management: New.
	* testsuite-management/validate_failures.py: New.

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

	* gcc_update: Determine svn branch from hg convert_revision.

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

	* config-list.mk (i586-netware): Remove.
	(.PHONY): Remove make-script-dir dependency.
	(make-script-dir): Remove.
	($(LIST)): Remove make-script-dir dependency.

2011-07-15  Bernd Schmidt  <bernds@codesourcery.com>

	* gcc_update: Add C6X generated files.
	* contrib/config-list.mk: Add c6x-elf and c6x-uclinux.

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

	* config-list.mk (LIST): Append OPT-enable-obsolete to
	alpha-dec-osf5.1, mips-sgi-irix6.5.

2011-06-24  Diego Novillo  <dnovillo@google.com>

	* repro_fail: New.

2011-06-21  Joseph Myers  <joseph@codesourcery.com>

	* gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.

2011-05-19  Joseph Myers  <joseph@codesourcery.com>

	* gcc_update (gcc/config/arm/arm-tables.opt): Also depend on
	gcc/config/arm/arm-fpus.def.

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

	* gcc_update (gcc/config/rs6000/rs6000-tables.opt): New
	dependencies.

2011-05-09  Joseph Myers  <joseph@codesourcery.com>

	* gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.

2010-05-05  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config-list.mk: New file.

2011-05-02  Joseph Myers  <joseph@codesourcery.com>

	* gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.

2011-04-25  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* paranoia.cc (ENUM_BITFIELD): Remove.

2011-04-08  Joseph Myers  <joseph@codesourcery.com>

	* gcc_update (gcc/config/arm/arm-tables.opt): New dependencies.

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

	* compare-all-tests (all_targets): Remove crx and m68hc11.

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

	PR bootstrap/48135
	* make_sunver.pl: Don't use File::Glob.

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

	* gennews (files): Add files for GCC 4.6.

2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>

	* patch_tester.sh (nopristinecache): New shell var, set according
	to presence or absence of new -nopristinecache option.
	(usage): Document new option.
	(bootntest_pristine): Implement it.

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

	* make_sunver.pl: Use elfdump -s to extract symbols if possible,
	readelf -s otherwise.

2010-11-08  Eric Botcazou  <ebotcazou@adacore.com>

	* make_sunver.pl: Ignore entries without symbol name first.  Then do
	not ignore symbols marked as 'R'.

2010-10-18  Andi Kleen  <ak@linux.intel.com>

	* gccbug.el: Remove.

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

	* gcc_update: Run $GCC_HG pull and update separately.
	Check parents for SVN revision.

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

	* test_recheck: New script.

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

	* texi2pod.pl: Replace @@ before @{ and @}, for @samp{@@}.
	Also escape characters with grave accents, to be fixed ...
	(unmunge): ... here.
	(postprocess): Also handle @/ and @acronym{...}.

2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

	* check_GNU_style.sh: Do not print warning messages when there are
	no occurences.

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

	* gcc_update: Handle hg, too.

2010-07-08  Eric Botcazou  <ebotcazou@adacore.com>

	* make_sunver.pl: Remove extra whitespace in regexp.

2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

	* check_GNU_style.sh: New.

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

	* make_sunver.pl: New file.

2010-07-02  Iain Sandoe  <iains@gcc.gnu.org>

	* compare-debug (Darwin): Remove '-x' flag from ld-based object
	stripping.  Add a comment as to why we do it this way.

2010-06-20  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Drop LTO sections.

2010-06-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* gcc_update: Support updating a git clone.

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

	* test_summary: Don't use diff -u.
	Adapt egrep regex.

2010-06-02  Andrew Haley  <aph@redhat.com>

	* download_prerequisites: New script.

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

	* dg-extract-results.sh: Redirect grep output to /dev/null instead
	of grep -q.

2010-04-22  Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc_update: Sets the locale to C.

2010-04-06  Joseph Myers  <joseph@codesourcery.com>

	* gennews (files): Add files for GCC 4.5.

2010-03-22  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Fix *.log tests output containing "===".
	* dg-extract-results.sh (/\===/): Rename to ...
	(/^\t\t=== .* ===$/): ... this pattern.

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

	* dg-extract-results.sh: Fix result order to match sequential case.

2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* check_warning_flags.sh: Use \012 instead of \n with tr.

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

	* dg-extract-results.sh: Don't use tail -n.

2009-10-03  H.J. Lu  <hongjiu.lu@intel.com>
	    Richard Guenther  <rguenther@suse.de>

	PR lto/39216
	* gcc_update: Adjust file timestamps for lto-plugin.

2009-09-10  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

	PR bootstrap/41245
	* compare-debug: Handle stripping of dwarf debug sections from darwin
	mach-o objects.

2009-09-04  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Grep for blank before dash to avoid grep -e.

2009-09-01  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Look for .gkd files and compare them.

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

	PR testsuite/41166
	* test_summary: Invoke config.status, rather than trying to
	parse it.  Adjust awk script.

2009-08-18  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Drop .eh_frame relocations too.

2009-08-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/40704
	* test_summary: Filter out "\r".

2009-06-02  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Don't fail just because of .eh_frame differences.

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

	PR testsuite/39807
	* dg-extract-results.sh: Close open files and use >> instead of >
	to decrease number of concurrently open files from awk.  Avoid
	= at the beginning of a regexp and redirect to a file determined
	by curfile variable rather than concatenated strings to workaround
	Solaris nawk bug.

2009-04-25  Gerald Pfeifer  <gerald@pfeifer.com>

	* test_summary: Only include LAST_UPDATED if it exists.
	Complete copyright years.

2009-04-16  Paolo Bonzini  <bonzini@gnu.org>

	* compare-all-tests: New.

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

	* gennews (files): Reference GCC 4.4 web pages.

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

	* reghunt/date_based/reg_periodic: 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.
	* reghunt/date_based/reg_search: Likewise.
	* regression/GCC_Regression_Tester.wdgt/widget.html: Likewise.
	* regression/btest-gcc.sh: Likewise.
	* regression/objs-gcc.sh: Likewise.

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

	* check_warning_flags.sh: Update flag exceptions.

2008-11-18  Ben Elliston  <bje@au.ibm.com>

	* dg-cmp-results.sh: Do not print usage if either .sum file cannot
	be opened; print a more meaningful error instead.

2008-10-24  Janis Johnson  <janis187@us.ibm.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* dg-extract-results.sh: New file.

2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* check_makefile_deps.sh: New file.

2008-05-08  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh (report): Do not print "Checker: ".

2008-04-23  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh (report): Do not print the time.

2008-04-01  Joseph Myers  <joseph@codesourcery.com>

	* texi2pod.pl: Handle @samp and @url inside verbatim blocks.
	Handle @heading.  Handle enumerated lists with starting numbers
	and extra headings.

2008-03-10  Janis Johnson  <janis187@us.ibm.com>

	* patch_tester.sh (initialization): Initialize svnpatch and stop.
	(usage): Add -svnpath and -stop.
	(makedir): New.
	(argument handling): Process -stop and -svnpath.
	(setup code): Use makedir, error out if initial svn checkout fails.
	(update): Use svnpath.  Invoke contrib/gcc_update.
	(apply_patch): Require that patch was created at top level.  Use eval
	with option variables.  Don't use bootstrap target for make.  Verify
	that some tests were run.
	(bootntest_patched): Use snvpath.
	(main loop): For -stop, exit when there are no more patches to test.

2008-03-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* check_warning_flags.sh: Instead of invoke.texi, take the path
	to the doc directory as argument.  Check that warnings listed in
	'gcc --help' are accepted by the compiler, and listed in the
	manuals.

2008-03-06  Tom Tromey  <tromey@redhat.com>

	* patch_tester.sh (usage): Watermark is not lexicographic.
	Load $STATE/defaults if it exists.
	(selfexec): Use $0.
	(apply_patch): Handle deletions.
	(bootntest): Handle default settings.

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

	* gennews (files): Reference GCC 4.3 web pages.

2008-02-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* check_warning_flags.sh: New file.

2008-01-25  Joseph Myers  <joseph@codesourcery.com>

	* paranoia.cc (main): Remove handling of c4x_single and
	c4x_extended formats.

2007-12-26  Sebastian Pop  <sebastian.pop@amd.com>

	* compareSumTests3: Changed to GPLv3.
	* prepare_patch.sh: Same.
	* uninclude: Same.
	* dglib.pm: Same.
	* gennews: Same.
	* texi2pod.pl: Same.
	* analyze_brprob: Same.
	* gcc_build: Same.

2007-12-26  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh: Changed to GPLv3.

2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh: Don't save the script anymore.

2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh: New.
	* prepare_patch.sh: New.

2007-11-26  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Introduce -p flag to preserve .stripped files.

2007-10-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* texi2pod.pl: Handle @asis.
	(postprocess): Move @gccoptlist{} after all formatting commands.

2007-10-01  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: Avoid spurious errors when .stripped files
	exist.

2007-09-22  Hans-Peter Nilsson  <hp@axis.com>

	* warn_summary (srcdirFilter): Add fixincludes, sim,
	newlib and mpfr.

2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc_update: Handle different URL paths and tags.

2007-08-16  Alexandre Oliva  <aoliva@redhat.com>

	* compare-debug: New.

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
	    Andreas Schwab  <schwab@suse.de>

	* gcc_update: Use "svn info" for revision number.  Create
	gcc/REVISION with branch name and revision number.

2007-08-10  Diego Novillo  <dnovillo@google.com>

	* gcc.doxy: Rename from tree-ssa.doxy.

2007-08-10  Diego Novillo  <dnovillo@google.com>

	* tree-ssa.doxy: Update for doxygen 1.5.
	Include all the files in the middle and back ends.

2007-06-30  Hans-Peter Nilsson  <hp@axis.com>

	* gcc_update (files_and_dependencies): Handle
	gcc/testsuite/gcc.dg/cpp/direct2s.c.

2007-05-13  Mark Mitchell  <mark@codesourcery.com>

	* gennews (files): Reference GCC 4.2 web pages.

2007-04-04  Zack Weinberg  <zack@mrtock.ucsd.edu>

	* texi2pod.pl: Correct handling of @itemize with no argument.

2007-03-17  Hans-Peter Nilsson  <hp@axis.com>

	* uninclude: New utility, from Alexandre Oliva.

2007-02-26  Dominique Dhumieres  <dominiq@lps.ens.fr>

	* test_installed: Adjust to the move from g77 to gfortran.

2007-02-16  Matthias Klose  <doko@debian.org>

	* texi2pod.pl: Handle @subsubsection, ignore @anchor.

2007-02-10  Hans-Peter Nilsson  <hp@axis.com>

	* test_summary (configflags): Adjust for changes in the
	config.status format due to update to autoconf 2.59.

2007-02-09  Daniel Jacobowitz  <dan@codesourcery.com>

	* gcc_update: Update for configure.in -> configure.ac.

2007-02-06  Richard Sandiford  <richard@codesourcery.com>

	* texi2pod.pl: Handle @multitable.

2007-01-15  Tom Tromey  <tromey@redhat.com>

	* download_ecj: New file.

2006-09-27  Matthew Sachs  <msachs@apple.com>

	* compareSumTests3: POD syntax fix.

2006-09-27  Matthew Sachs  <msachs@apple.com>

	* dglib.pm: Initial commit.
	* compareSumTests3: Initial commit.

2006-09-18  Bernhard Fischer  <aldot@gcc.gnu.org>

	* dg-cmp-results.sh (compare-$$.awk): Print name[old]
	and not non-existing nm[old].

2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Port to hosts whose 'sort' and 'tail' implementations
	treat operands with leading '+' as file names, as POSIX
	has required since 2001.  However, make sure the code still
	works on pre-POSIX hosts.
	* compare_tests: Don't assume "sort +2" is equivalent to
	"sort -k 3", since POSIX 1003.1-2001 no longer requires this.

2006-06-05  James Lemke  <jwlemke@wasabisystems.com>

	* dg-cmp-results.sh: New script for comparing DejaGNU logs.

2006-06-02  Richard Earnshaw  <rearnsha@arm.com>
	    Mike Stump  <mrs@apple.com>

	* compare_tests: Handle multilibs better.

2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* texi2pod.pl: Correct handling of absolute @include.

2006-05-02  Daniel Jacobowitz  <dan@codesourcery.com>

	* texi2pod.pl: Handle -I.

2006-02-28  Mark Mitchell  <mark@codesourcery.com>

	* gennews (files): Update for GCC 4.1.

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

	* gcc_update (files_and_dependencies): Handle
	libgomp/testsuite/Makefile.in.

2006-01-18  Richard Henderson  <rth@redhat.com>
	    Diego Novillo  <dnovillo@redhat.com>

	* gcc_update (files_and_dependencies): Add libgomp files.

2005-12-06  Ben Elliston  <bje@au.ibm.com>

	* newcvsroot: Remove.

2005-11-03  Steven Bosscher  <stevenb@suse.de>

	* gcc_build: Fix my previous checking.

2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>

	* gcc_update: Include revision number in LAST_UPDATED.

2005-10-30  Steven Bosscher  <stevenb@suse.de>

	* gcc_build: Use gcc.gnu.org as the default server.  Set up
	SVN_REPOSITORY correctly.  Add support for checking out branches.

2005-10-28  Andrew Pinski  <pinskia@gcc.gnu.org>

	* gcc_update: When svn update is called and
	--silent is used, pass -q.

2005-10-28  Andrew Pinski  <pinskia@gcc.gnu.org>

	* gcc_update: Remove the -q from svn invocation.

2005-10-28  Andrew Pinski  <pinskia@gcc.gnu.org>

	* gcc_build: Remove -d from the call to gcc_update.

2005-10-28  Daniel Berlin  <dberlin@dberlin.org>
	    Ben Elliston  <bje@au1.ibm.com>

	* gcc_update: Update for svn.
	* newcvsroot: Ditto.
	* gcc_build: Ditto.

2005-10-21  Mark Mitchell  <mark@codesourcery.com>

	* texi2pod.pl: Substitue for @value even when part of @include.

2005-10-21  Bob Wilson  <bob.wilson@acm.org>

	* texi2pod.pl: Convert two single quotes or two backquotes to
	double quotes.

2005-08-23  Ben Elliston  <bje@au.ibm.com>

	* gcc_update: Update dependencies for libjava/aclocal.m4.

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

	* All files: Update with new FSF address.

2005-07-14  Ben Elliston  <bje@au.ibm.com>

	* filter_params.pl: Typo fix.
	* filter_knr2ansi.pl: Likewise.

2005-06-05  Gerald Pfeifer  <gerald@pfeifer.com>

	* gennews (files): Update for egcs-1.0 release pages consolidation.

2005-04-17  Joseph S. Myers  <joseph@codesourcery.com>

	* gennews (files): Update for GCC 4.0.

2005-03-18  Alexandre Oliva  <aoliva@redhat.com>

	* gcc_update (silent): Unset instead of initializing to null.

2005-03-18  Andreas Schwab  <schwab@suse.de>

	* gcc_update (apply_patch): Properly quote $1.

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

	* gcc_update: Add --silent option.

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

	* warn_summary (keywordFilter): Update sed pattern for new quoting
	style in warnings.

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

	* warn_summary: Add -fortran subdir flag.
	(subdirectoryFilter): Fix missing ada subdir.

2004-11-20  Hans-Peter Nilsson  <hp@bitrange.com>

	* gcc_update (touch_files): Don't rely on "make" being GNU make;
	grep for "Touching" to determine that the rule executes.

2004-11-14  Hans-Peter Nilsson  <hp@bitrange.com>

	* gcc_update (touch_files): Explicitly pass --no-print-directory.

2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc_update (boehm-gc/aclocal.m4): Remove boehm-gc/acinclude.m4.

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

	* gcc_update: Add fixincludes.

2004-08-26  Matthias Klose  <doko@debian.org>

	* texi2pod.pl: keep references of the form @ref{...}, print them bold.

2004-08-26  Matthias Klose  <doko@debian.org>

	* test_summary: Include baseline used for libstdc++-v3 abi check
	in test summary.

2004-08-25  Ben Elliston  <bje@au.ibm.com>

	* gcc_update (libcpp/Makefile.in): Remove libcpp/Makefile.am.

2004-08-20  Andreas Tobler  <a.tobler@schweiz.ch>

	* gcc_update (self): libjava/configure.in -> configure.ac. Automake
	update done.

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

	* gcc_update: libjava/configure.ac -> configure.in.  Automake
	1.4 does not handle configure.ac properly.

2004-08-04  Andreas Schwab  <schwab@suse.de>

	* gcc_update: libjava/configure.in -> configure.ac.

2004-08-03  Richard Earnshaw  <rearnsha@arm.com>

	* gcc_update: gcc/config/arm/arm-tune.md -> arm-cores.def gentune.sh.

2004-07-16  Jeff Law  <law@redhat.com>

	* analyze_brprob: Fix comments.  More consistent output format.

2004-06-17  Diego Novillo  <dnovillo@redhat.com>

	* tree-ssa.doxy: Update for doxygen 1.3.5.

2004-06-14  Andreas Jaeger  <aj@suse.de>

	* gcc_update: boehm-gc/configure.in -> configure.ac.

2004-06-16  Paolo Bonzini  <bonzini@gnu.org>

	* gcc_update (boehm-gc/configure): Depend on
	boehm-gc/configure.ac instead of boehm-gc/configure.in

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

	* gcc_update (libmudflap/configure): Depend on
	libmudflap/configure.ac instead of libmudflap/configure.in

2004-06-14  Andreas Jaeger  <aj@suse.de>

	* gcc_update: Add libcpp.

2004-06-10  Andreas Jaeger  <aj@suse.de>

	* gcc_update: Add libgfortran.

2004-05-29  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc_update (libbanshee/configure): Depend on
	libbanshee/configure.ac instead of libbanshee/configure.in

2004-05-17  Zack Weinberg  <zack@codesourcery.com>

	* gcc_update: Remove gcc/f/intdoc.texi and all libf2c files
	from list of files to be touched.
	* convert_to_f2c, convert_to_g2c, download_f2c: Delete.

2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>

	* gennews: Update for GCC 3.4.

2004-05-13  Diego Novillo  <dnovillo@redhat.com>

	Merge from tree-ssa-20020619-branch.

	* filter_gcc_for_doxygen: New file.
	* filter_knr2ansi.pl: New file.
	* filter_params.pl: New file.
	* tree-ssa.doxy: New file.
	* contrib/gcc_update (files_and_dependencies): Handle
	libbanshee and libmudflap.

2004-04-12  Kelley Cook  <kcook@gcc.gnu.org>
	    Andreas Jaeger  <aj@suse.de>

	* gcc_update (files_and_dependencies): Insert zlib dependencies.

2004-04-09  Nathanael Nerode  <neroden@gcc.gnu.org>

	* gcc_update (files_and_dependencies): libobjc/configure now
	depends on configure.ac, not configure.in.

2004-04-01  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_and_dependencies): Remove gcc/ada/*.texi.

2004-03-16  Andreas Tobler  <a.tobler@schweiz.ch>

	* gcc_update (files_and_dependencies): Insert libffi dependencies.

2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_and_dependencies): Insert libada/configure.

2004-02-29  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc_update (files_and_dependencies): Update intl/configure.in
	to intl/configure.ac.

2004-01-09  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_and_dependencies): Update fastjar/configure.in
	to fastjar/configure.ac

2004-01-07  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_and_dependencies): Remove non-existant files.

2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_generated): Revert 2003-12-18 change.

2004-01-03  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc_update (files_and_dependencies): For gcc directory,
	rename configure.in to configure.ac.

2003-12-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* gcc_update (files_and_dependencies): For libjava/libltdl directory,
	remove acconfig.h. No longer used.

2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_generated): Add in gcc/ada/stamp-xgnatug and update
	gcc/ada/gnat_ug_* to use it.

2003-12-16  James E Wilson  <wilson@specifixinc.com>

	* gcc_update (files_and_dependencies): For libjava/libltdl directory,
	rename configure.in to configure.ac, and stamp-h.in to config-h.in.

2003-12-11  Kelley Cook  <kcook@gcc.gnu.org>

	* gcc_update (files_and_dependencies): Correct typo in the filename
	gnat_ug_wnt.texi.

2003-12-08  Arnaud Charlet  <charlet@act-europe.fr

	* gcc_update: Remove handling of sinfo.h, einfo.h, nmake.ads,
	treeprs.ads.

2003-10-16  Mark Mitchell  <mark@codesourcery.com>

	* gennews (files): Add GCC 3.3 files.

2003-08-21  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build: Fix handling of -t option.  Add -x option.

2003-07-31  Matt Kraai  <kraai@alumni.cmu.edu>

	* texi2pod.pl: Remove extra line.

2003-07-15  Matt Kraai  <kraai@alumni.cmu.edu>

	* texi2pod.pl: Default @itemize's parameter to @bullet.

2003-07-12  Zack Weinberg  <zack@codesourcery.com>

	* gcc_update: gcc/acconfig.h no longer exists.

2003-07-11  Matthias Klose  <doko@debian.org>

	* test_installed: Add options to run objc tests.
	In generated site.exp, initialize rootme, CFLAGS, CXXFLAGS.

2003-07-04  Zack Weinberg  <zack@codesourcery.com>

	* gcc_update: Remove gcc/intl/plural.c from list.
	Add new generated files intl/plural.c, intl/configure,
	intl/config.h.in.

2003-06-13  Jason Thorpe  <thorpej@wasabisystems.com>

	* gcc_update (files_and_dependencies): Add
	gcc/testsuite/gcc.dg/cpp/_Pragma3.c depends on
	gcc/testsuite/gcc.dg/cpp/mi1c.h.

2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>

	* paranoia.cc: Fix spelling error.

	* analyze_brprob, gcc_build, gennews, texi2pod.pl: Change GNU CC
	to GCC.

2003-04-04  Mike Stump  <mrs@apple.com>

	* compare_tests: Fix exit status and be more flexible with spacing.

2003-03-08  Phil Edwards  <pme@gcc.gnu.org>

	* test_summary:  Add -h, print existing comments as help.

2003-03-03  H.J. Lu  <hjl@gnu.org>

	* gcc_build: Use $GCC_CVS/$CVS instead of cvs.
	* gcc_update: Likewise.

2003-01-19  Alexandre Oliva  <aoliva@redhat.com>

	* test_summary (configflags): Only use the first match.  Remove
	excess space.  Use sub instead of gsub where possible.  Use `none'
	if no configure flags were given.

2003-01-10  Loren J. Rittle  <ljrittle@acm.org>

	* test_summary (configflags): awk portability.

2003-01-07  Alexandre Oliva  <aoliva@redhat.com>

	* test_summary (configflags): Compute correctly with both
	autoconfiscated and Cygnus-style top-level.

2003-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gcc_update (files_and_dependencies): Add gcc/cp/cfns.h depends
	on gcc/cp/cfns.gperf and gcc/java/keyword.h depends on
	gcc/java/keyword.gperf

2002-12-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_update (files_and_dependencies): Add gcc/intl/plural.c as
	depending on gcc/intl/plural.y.

2002-12-28  Alexandre Oliva  <aoliva@redhat.com>

	* gcc_update (configure): Depend on config/acx.m4 as well.

	* gcc_update (configure): Depend on configure.in.

2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>

	* texi2pod.pl: Skip contents of @copying.

2002-11-09  Zack Weinberg  <zack@codesourcery.com>

	* gthr_supp_vxw_5x.c: New file.

2002-10-21  Richard Henderson  <rth@redhat.com>

	* paranoia.cc (real_c_float::image): Accomodate size of
	real_internal format.
	(main): Unbuffer stdio.  Add real_internal format.
	(floor_log2_wide): New.

2002-10-16  Richard Henderson  <rth@redhat.com>

	* paranoia.cc (ENUM_BITFIELD): New.
	(class): Define as klass around real.h.
	(real_c_float): Not a template any longer; define MODE as a
	class static constant; use real_format elements for SIZE.
	Update uses of real_to_decimal and real_to_hexadecimal.
	(main): Change -g argument to use a format name.
	(mode_for_size): Remove.

2002-09-16  Richard Henderson  <rth@redhat.com>

	* paranoia.cc: New file.

2002-09-04  Richard Henderson  <rth@redhat.com>

	* enquire.c: Remove.

2002-08-14  Mark Mitchell  <mark@codesourcery.com>

	* gennews (files): Add GCC 3.2 files.

2002-07-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gennews (files): Add proper files for the GCC 3.1 release series.
	Simplify and reformat introductory wording.

2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>

	* enquire.c: Move from gcc.

2002-07-16  H.J. Lu  <hjl@gnu.org>

	* gcc_update (touch_files): Pass -s to ${MAKE}.

2002-06-26  Zack Weinberg  <zack@codesourcery.com>

	* texi2pod.pl: Correct handling of the internal R<> sequence.

2002-05-31  Florian Weimer  <fw@deneb.enyo.de>

	* gcc_update (files_and_dependencies): Add generated Texinfo files
	for Ada.

2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* test_installed: Allow for PWDCMD to override hardcoded pwd.
	* test_summary: Likewise.

2002-04-18  Geoffrey Keating  <geoffk@redhat.com>

	* gcc_update (touch_files): Don't have empty for loop.

2002-04-16  Richard Henderson  <rth@redhat.com>

	* gcc_update: Remove libchill.

2002-03-25  Zack Weinberg  <zack@codesourcery.com>

	* texi2pod.pl: Handle @end ftable and @end vtable.

2002-03-11  Zack Weinberg  <zack@codesourcery.com>

	* texi2pod.pl: Handle @include, @ftable, @vtable.
	Reformat some code for clarity.

2002-02-24  Christian Jönsson  <c.christian.joensson@telia.com>

	* test_summary: Additional to XPASS and FAIL, add UNRESOLVED,
	WARNING and ERROR output from the *.sum files.

2002-01-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gennews (files): Replace gcc-2.95/gcc-2.95.html,
	gcc-2.95/gcc-2.95.1.html, gcc-2.95/gcc-2.95.2.html,
	and gcc-2.95/gcc-2.95.3.html by gcc-2.95/index.html.

2002-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gennews (files): Replace egcs-1.1/egcs-1.1.2.html,
	egcs-1.1/egcs-1.1.1.html, and egcs-1.1/egcs-1.1.html by
	egcs-1.1/index.html.

2002-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* warn_summary: Add -ada subdirectory flag.

2001-12-12  Matthias Klose  <doko@debian.org>

	* texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
	generation of more than one man page from one source.
	Add '-' to set of valid chars for an identifier.
	Let -D option accept flags of the form <flag>=<value>.
	Use \s+ for whitespace detection in '@c man' lines.
	Handle @set and @clear independent of $output.
	Substitute all @value{}'s in a line.

2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Handle @ifnottex, @iftex and @display.  Handle @var
	in verbatim blocks specially.  Handle @unnumbered, @unnumberedsec
	and @center.  Allow [a-z] after @enumerate.  Handle 0 and numbers
	greater than 9 in enumerations.

2001-11-07  Laurent Guerby  <guerby@acm.org>

	* gcc_update (files_and_dependencies): Add Ada dependencies.

2001-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* snapshot: Remove.

2001-09-07  Richard Sandiford  <rsandifo@redhat.com>

	Revert:
	* gcc_update: (files_and_dependencies) Add gcc/java/parse.c
	gcc/java/parse-scan.c and gcc/java/keyword.h to list of files to
	touch.

2001-09-04  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* gcc_update: (files_and_dependencies) Add gcc/java/parse.c
	gcc/java/parse-scan.c and gcc/java/keyword.h to list of files to
	touch.

Mon Aug 13 02:29:08 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* analyze_brprob: Update for changes in gcc debug output.

Sat Jul 28 22:37:49 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* analyze_brprob: Avoid more overflows.

2001-07-27  Richard Henderson  <rth@redhat.com>

	* test_summary: Copy LAST_UPDATED UTC time to head of summary.

Fri Jul 27 18:01:21 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* analyze_brprob: Avoid overflows.

2001-07-27  Richard Henderson  <rth@redhat.com>

	* gcc_update: Dump timestamp in LAST_UPDATED.

2001-07-26  Andreas Jaeger  <aj@suse.de>,
	    Hans-Peter Nilsson  <hp@bitrange.com>

	* analyze_brprob: Fix documentation.

Mon Jul 23 15:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* analyze_brprob: Fix awk compatibility problems; update comment.

2001-07-23  Andreas Jaeger  <aj@suse.de>

	* analyze_brprob: Fix more typos.

2001-07-23  Andreas Jaeger  <aj@suse.de>

	* analyze_brprob: Fix typos.

2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Handle @r inside @item.

2001-07-02  Zack Weinberg  <zackw@stanford.edu>

	* gcc_update: Remove entries for gcc.1, cpp.1, gcov.1.

2001-07-01  Zoltan Felleg  <zfelleg@telnet.hu>

	* warn_summary: Fix typo in a comment.

2001-06-14  Albert Chin-A-Young  <china@thewrittenword.com>

	* contrib/gcc_update: Fix timestamp on gcc/f/intdoc.texi.

2001-06-13  Mark Mitchell  <mark@codesourcery.com>

	* gennews: Set TERM to vt100 for Lynx.

2001-06-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* release: Remove.

Tue Jun 12 12:21:40 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* analyze_brprob: New file.

2001-06-11  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build: Output information about the commands used to
	configure the compiler.

2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gennews: Update for GCC 3.0.

2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc_update: Update for move of documentation to gcc/doc.

2001-05-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* contrib/test_summary (files): Sort before evaluating.

2001-05-23  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_update (UPDATE_OPTIONS): Add -d to the default settings.

2001-05-21  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build: Use -d when invoking gcc_update.

2001-05-18  Andreas Jaeger  <aj@suse.de>

	* gcc_update: Add rules for libf2c/libI77.

2001-05-17  Alexandre Oliva  <aoliva@redhat.com>

	* gcc_update (touch_files): Use simpler, yet as portable, syntax.

2001-05-14  Loren J. Rittle  <ljrittle@acm.org>

	* gcc_update (touch_files): Enhance make portability.

2001-05-14  Alexandre Oliva  <aoliva@redhat.com>

	* gcc_update (touch_files): Use a Makefile to touch files.

2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Add copyright and GPL notices.

2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Handle "\,".

2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Fix regular expression for @r to avoid exponential
	recursion.  From Russ Allbery <rra@stanford.edu>.  Remove perl
	version check.

2001-01-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* warn_summary (stageNfilter): Update for recent changes in
	bootstrap logic.

2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Require at least perl 5.6.0.

2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc_update: Add gcc/gcc.1 to generated files.
	* texi2pod.pl: Handle @r and @gccoptlist.  Handle @gol.  Handle
	discarding to end of sentence with @xref where the sentence has an
	interior "." in markup, and handle discarding parentheses around
	such a sentence.

2001-01-11  Bernd Schmidt  <bernds@redhat.com>

	* gennews: Add gcc-2.95.3.

2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>

	* texi2pod.pl: Handle @gcctabopt and @env in tables.  Handle
	@command.  Format URLs and email addresses in bold.

2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc_update: Add cpp.1 to the list of generated files.

	* texi2pod.pl: Handle @option and @env.

2001-01-03  Mike Stump  <mrs@wrs.com>

	* snapshot: Update to account for java libraries.

2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>

	* test_summary: Export filesuffix, not fileprefix.

2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>

	* release: Change some EGCS references to GCC.

2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* warn_summary: Fix subdirectory filtering.  Add -intl and -fixinc
	subdirectory flags.  Add source directory prefix filtering.
	Redirect diagnostic output to stderr.

2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>

	* texi2pod.pl: If multiple @c man sections with the same tag
	appear, concatenate them in the final output.  When skipping,
	ignore block commands that can't cause skipping, and honor
	those that can.  Ensure that verbatim blocks are separate
	paragraphs.

2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc_update: Don't touch tradcif.c or java/parse.h.

2000-12-05  Zack Weinberg  <zack@wolery.stanford.edu>

	* texi2pod.pl: Restructure for comprehensibility, add
	comments.  Merge handling of @ignore and @ifxxx.  Handle a
	whole bunch more Texinfo commands.  Use consistent formatting
	style.

2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gennews: New script.

2000-11-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_update: Update a comment as we now require bison for CVS users.

2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc_update: Add gcov.1 to the list of generated files.

2000-11-21  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build: Remove code to put information in a log file.

2000-11-19  Zack Weinberg  <zackw@stanford.edu>

	* texi2pod.pl:
	  - Add real command line parsing.
	  - Support @ifset, @ifclear, @set, @value, -D switch.
	  - Support @sc.  Improve handling of @ref and friends.
	  - Discard @subsection, @need, @node lines.
	  - Un-nest font changes to match texinfo semantics.
	  - Handle @{ and @}.  Oops.
	  - Don't emit E<> directives inside verbatim blocks.

2000-11-12  Bruce Korb  <bkorb@gnu.org>

	* release: generalize the release script a bit.

Sat Nov 11 17:29:03 2000  Mark P Mitchell  <mark@codesourcery.com>

	* gcc_build: Add -o option for setting the objdir to use.

2000-11-11  Jeff Law  <law@redhat.com>,

	* release: New file.

2000-11-08  Jeff Law  <law@redhat.com>,
	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* snapshot: New file.

2000-11-08  Jeffrey Oldham  <oldham@oz.codesourcery.com>

	* gcc_build (bootstrap_gcc): New function.
	(configure_gcc): Likewise.
	(build_gcc): Rewritten to use configure and bootstrap.
	(MAKE_BOOTSTRAP_OPTIONS): Replaced MAKE_OPTIONS.

2000-10-31  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build (MAKE): New variable.
	(build_gcc): Use it.  Fix logging of errors.
	(install_gcc): Likewise.

2000-10-29  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build: Save the output from CVS into the logfile as well.

2000-10-25  Mark Mitchell  <mark@codesourcery.com>

	* gcc_build: Fix typos.

2000-10-14  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gperf-2.7-19981006.pat: Remove.

2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* test_installed: Change EGCS references to refer to GCC.

2000-09-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_update (touch_files): Add some informative output.

2000-09-16  Andreas Jaeger  <aj@suse.de>

	* gcc_update: Remove gcc/c-parse.gperf.

2000-08-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>,
	    Alexandre Oliva  <aoliva@redhat.com>

	* gcc_update: Execute touch_files_reexec even if `cvs update`
	failed.

2000-08-09  Alexandre Oliva  <aoliva@redhat.com>

	* test_summary: AWK breaks with filenames containing `='.

Sun Jul 16 12:04:33 2000  Mark P Mitchell  <mark@codesourcery.com>

	* gcc_build: New script.

2000-07-13  Mark Mitchell  <mark@codesourcery.com>

	* gcc_update (files_and_dependencies): Remove generated YACC files.

2000-07-12  Mark Mitchell  <mark@codesourcery.com>

	* gcc_update (files_and_dependencies): Remove generated YACC files.

2000-06-04  Mark Mitchell  <mark@codesourcery.com>

	* newcvsroot: Handle filenames that contain spaces.

2000-06-03  Zack Weinberg  <zack@wolery.cumb.org>

	* test_summary: In generated script, use cat <<'EOF' not cat <<\EOF.
	Elide --with-gcc-version-trigger and --norecursion from
	configure flags.  Remove code to report status of haifa scheduler.

2000-05-18  Alexandre Oliva  <aoliva@cygnus.com>

	* gcc_update (self): Set to `$0'.
	(touch_files_reexec): Use `$self' instead of `$0'.

2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>

	* gcc_update (touch_files_reexec): New function, run after the
	tree is modified.

2000-05-08  Richard Hendeson  <rth@cygnus.com>

	* gcc_update: Remove references to inclhack.tpl.

2000-04-28  Jason Merrill  <jason@casey.cygnus.com>

	* index-prop: Use a single pattern.  Also support *** cdiffs.

2000-04-28  Pavel Roskin  <pavel_roskin@geocities.com>

	* index-prop: Don't change /dev/null.

2000-04-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_update: Refer to GCC and gcc_update instead of egcs and
	egcs_update.

2000-04-26  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* index-prop: Fix occasional problem when using cvs diff -p.

2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>

	* gcc_update: Remove references to cexp.c/cexp.y.

1999-12-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* newcvsroot: Add check on the number of command-line arguments.
	Add usage.

Sun Nov 28 00:41:44 1999  William Bader (william@nscs.fast.net)

	* gcc_update: Allow patches compressed by bzip2.

1999-10-11  Martin v. Löwis  <loewis@informatik.hu-berlin.de>

	* newcvsroot: New file.

1999-09-11  Craig Burley  <craig@jcb-sc.com>

	* convert_to_f2c, convert_to_g2c, download_f2c: New file.

1999-08-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* gcc_update: New file.
	* egcs_update: Renamed to gcc_update.

1999-08-09  Robert Lipe  <robertlipe@usa.net>

	* test_summary: Quote curly braces in 1999-07-03 change.

1999-07-28  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* egcs_update (files_and_dependencies): Fixed typo in
	gcc/cstamp-h.in.  Added gcc/config.in.

1999-07-27  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* egcs_update (files_and_dependencies): New function, with
	complete list of files to be updated, as well as their
	dependencies.
	(touch_files): Check the timestamp of each generated file against
	its dependencies'.
	(main): New flags --touch, --list and --help.  Remove the
	pre-update step.

1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary: Replace egcs with gcc.  Update e-mail address.

1999-07-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
	    Jerry Quinn  <jquinn@nortelnetworks.com>

	* egcs_update (touch_files, apply_patch): New functions.
	Use them.  New command-line option --patch.  Split test of local
	tree into two parts.  Add comments.

1999-07-03  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary: If Target is `unix{*}', append the Target variants
	to Host.

1999-06-12  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary: Set default mail-address and version for egcs
	instead of relying on unpredictable pathnames.
	Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>

Fri Apr  2 16:09:02 1999  Jeffrey A Law  (law@cygnus.com)

	* fixinc/*: Delete obsolete files.

1999-02-04  Robert Lipe  <robertlipe@usa.net>

	* egcs_update: Test return values of 'cvs update'.  Propogate
	to caller as exit values.

1999-01-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* egcs_update: Use "if" instead of "&&".  Touch generated files
	only after the corresponding *.y files.

1999-01-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* egcs_update: Do not use xargs, but a backquote construct.

1999-01-07  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary (version): Remove carriage return that gawk inserts
	in the version string for some reason.

1998-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* egcs_update: Only touch files that already exist.

1998-11-29  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary (EOF): Remove double backslash.
	Reported by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>

1998-11-28  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary (address): Set to egcs-testresults mailing list.

1998-11-27  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary (address): Added Marc Lehmann's testsuite-results
	to the default e-mail address.

1998-11-25  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary (-p, prepend_logs): Add these before the summary.
	(Compiler, Platform): Print these just before configflags.

Sat Oct 31 10:53:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* warn_summary (longLineFilter): New shell function to encapsulate
	this functionality.  It is off by default, only active if -llf
	flag is specified.
	(subdirectoryFilter): Fix bug in filtering which made some
	subdirectory warnings erroneously appear in the toplevel set.
	(stageNfilter): Renamed from `stageNwarns'.  Updated to collect
	warnings from stage1 as well as stage0, which means warnings from
	outside the bootstrap directory.  Eg, the libraries, etc.
	(warningFilter): New shell function to encapsulate this
	functionality.
	(keywordFilter): New shell function to encapsulate this
	functionality.

	Store data in a temp file rather than calculating it 3x.  Arrange
	to remove it on exit and signals.

	Add -pass/-wpass flags to do "pass through" (i.e. manual
	inspection) of bootstrap output from a particular stageN as well
	as language subdirs.

	Add better comments/documentation.

Sat Oct 31 16:39:31 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* egcs_update: Add comment about keeping the FAQ synchronized.

Fri Oct 30 00:39:27 1998  Jeffrey A Law  (law@cygnus.com)

	* egcs_update: Do touch java/parse.c and java/parse-scan.c. They're
	in the repo again.

Fri Oct 16 07:35:00 1998  Bruce Korb  <korb@datadesign.com>

	* egcs_update:  Added gcc/fixinc/* generated files to touch list.

Tue Oct 13 23:28:33 1998  Jeffrey A Law  (law@cygnus.com)

	* egcs_update: Remove gcc/java/parse.c from list of files to
	touch.

Wed Oct  7 13:00:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gperf-2.7-19981006.pat: New file, patch for egcs-local gperf.

Mon Oct  5 14:19:48 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* warn_summary (subdirectoryFilter): New shell function to
	optionally filter in/out gcc subdirectories when summarizing
	warnings.  Add new flags to support subdirectory filtering.

	Also, ensure the bootstrap stage is a number.  Add some more C
	keywords that are preserved in the "warning type" summary and
	tighten up the "arg ???" regexp.

Tue Sep 22 07:30  Bruce Korb  <korb@datadesign.com>

	* fixinc/inclhack.def:  Not all C++ comments in C headers
	were treated alike.  They are now.  Also fixed syntax
	of sed expression in "systypes" fix.

	* fixinc/inclhack.def:  Removed SVR4.2-ism from shell invocation

	* egcs_update:  Added fixinc/* generated files to touch list.

Wed Sep 16 16:06:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* egcs_update: Additionally touch gcc/java/parse.[ch].

Thu Sep  9 16:48  Bruce Korb <korb@datadesign.com>

	* fixinc/inclhack.def:  Added two files required by
	SCO's Open Server 5's avoid_bool fix.
	Regenerated fixinc.x and inclhack.sh to incorporate
	the update.

Thu Sep  3 10:11:32 1998  Robert Lipe   <robertl@dgii.com>

	* egcs_update: Do the pass 1 CVS update only for files that
	may reasonably be under CVS control.

1998-08-14  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_installed: New script for testing already-installed
	gcc/g++/g77.

Wed Aug 12 19:59:36 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* egcs_update: Assigned copyright to FSF.

Tue Aug 11 17:55:53 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
			  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* egcs_update: New switch --nostdflags and documentation
	enhancements.

Tue Aug 11 17:33:19 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* egcs_update: New script.

1998-08-05  Bruce Korb  <korbb@datadesign.com>

	* fixinc/Makefile
	Added define for target machine so machine-specific tests
	can be selected for or against.

	* fixinc/fixincl.c
	Added an array of string pointers to machines to select
	or avoid, depending on a FD_MACH_IFNOT bit flag.
	Used a shell script to match the defined TARGET_MACHINE
	with any of the given match patterns.

	* fixinc/fixincl.tpl
	Generate the array of strings and bit flag, as needed,
	depending on "mach" and "not_machine" attributes for a fix.

	* fixinc/mkfixinc.sh
	Invoke the make with TARGET assigned the value of the
	machine name argument.

Mon Jul 27 22:08:12 1998  Mike Stump  (mrs@wrs.com)

	* compare_tests: New script.

1998-07-28  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary: Assigned copyright to FSF.

Mon Jul 27 20:33:02 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* test_summary: Corrected script name in comments providing
	documentation.  Added linebreaks for lines with > 80 characters.

Fri Jun 19 02:36:59 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>

	* test_summary: New switch, -i, and environment variable,
	append_logs, for including files in the report.

1998-06-01  Manfred Hollstein  <manfred@s-direktnet.de>

	* warn_summary: Update to Kaveh's latest version allowing to
	specify the last stage built.

1998-05-29  Bruce Korb  <korbb@datadesign.com>

	* fixinc/mkfixinc.sh
	Changes to make it easier to invoke on platforms that
	normally do not invoke fixincludes.

	* fixinc/inclhack.def
	Applied fixes from egcs/gcc/fixincludes from the past several
	months.

1998-05-28  Bruce Korb  <korbb@datadesign.com>

	* fixinc/*: Updated most everything for a first real
	try at getting "fast_fixincludes" working.

1998-05-28  Jason Merrill  <jason@yorick.cygnus.com>

	* index-prop: New file.

Sat May 23 23:38:49 1998  Matthias Klose  <doko@cs.tu-berlin.de>

	* test_summary: find good awk (copied from warn_summary).

Sat May 23 23:38:33 1998  Jeffrey A Law  (law@cygnus.com)

	* test_summary, warn_summary: New files
