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

	* gcc-git-customization.sh: Sync from master.
	* git-descr.sh: New file.
	* git-undescr.sh: New file.

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-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-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2021-05-17  Richard Biener  <rguenther@suse.de>

	* download_prerequisites: Update mpfr version to 3.1.6.
	* prerequisites.md5: Update.
	* prerequisites.sha512: Likewise.

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-04-08  Release Manager

	* GCC 10.3.0 released.

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-23  Release Manager

	* GCC 10.2.0 released.

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-05-07  Release Manager

	* GCC 10.1.0 released.

2020-05-07  Jakub Jelinek  <jakub@redhat.com>

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

2020-04-17  Martin Liska  <mliska@suse.cz>

	* vimrc: We do not want to modify tab options
	for Python files.

2020-04-16  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/92008
	* gcc_update: Add intl/plural.y dependency for intl/plural-config.h.

2020-04-03  Martin Liska  <mliska@suse.cz>

	* gcc-git-customization.sh: Search for the pattern
	at line beginning only.

2020-01-24  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: Use users/<pfx> for the personal remote
	rather than just <pfx>.  Convert existing personal branches to the
	new remote.
	* git-add-user-branch.sh: New file.

2020-01-22  Richard Earnshaw  <rearnsha@arm.com>

	* git-add-vendor-branch.sh: New file.

2020-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: Check that user-supplied remote
	name exists before continuting.  Use a separate remotes for the
	personal commit area.  Convert existing personal and vendor
	fetch rules to new layout.
	* git-fetch-vendor.sh: New vendor layout.  Add --enable-push
	option.

2020-01-17  Hans-Peter Nilsson  <hp@axis.com>

	* gcc_update <git revision>: Use git log "--pretty=tformat:%p:%t:%H",
	not "--pretty=%p:%t:%H".

2020-01-16  Andreas Schwab  <schwab@linux-m68k.org>

	* gcc-git-customization.sh: Avoid double expansion.

2020-01-16  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: Check that user.name and user.email
	are set.  Use $(cmd) instead of `cmd`.  Fix variable quoting when
	using eval.

2020-01-16  Jakub Jelinek  <jakub@redhat.com>

	* gcc-git-customization.sh: Verify the id to be printed is ancestor of
	the corresponding remote release branch (or master), otherwise print
	nothing.

2020-01-15  Segher Boessenkool  <segher@kernel.crashing.org>
	    Jakub Jelinek  <jakub@redhat.com>

	* gcc-git-customization.sh: Change uses to use in comment.

2020-01-15  Jakub Jelinek  <jakub@redhat.com>

	* gcc-git-customization.sh: Handle output of older git which doesn't
	print tags/ prefixes before branchpoint/gcc-.

2010-01-15  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: Explain why we want the user's
	upstream account name.  Don't add push rules.  Check if push rules
	have been added and suggest that they should be removed.
	* git-fetch-vendor.sh: Don't add push rules.

2010-01-13  Richard Earnshaw  <rearnsha@arm.com>

	Revert:
	2010-01-13  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: Add back the default rule that
	is lost by adding a custom push rule.
	* git-fetch-vendor.sh: Likewise, also remove '+' from push specs.

2010-01-13  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: Add back the default rule that
	is lost by adding a custom push rule.
	* git-fetch-vendor.sh: Likewise, also remove '+' from push specs.

2010-01-13  Richard Earnshaw  <rearnsha@arm.com>

	* contrib/git-fetch-vendor.sh: New file.

2020-01-13  Jakub Jelinek  <jakub@redhat.com>

	* contrib/gcc-git-customization.sh: Add git gcc-descr and gcc-undescr
	aliases.

2010-01-13  Richard Earnshaw  <rearnsha@arm.com>

	* gcc-git-customization.sh: New file.

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

	* update-copyright.py: Add Mentor Graphics Corporation and Yoshinori
	Sato as external authors.  Skip LICENSE.txt files.

2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

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

2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>

	PR preprocessor/49973
	* unicode/from_glibc/unicode_utils.py: Support script from
	glibc (commit 464cd3) to extract character widths from Unicode data
	files.
	* unicode/from_glibc/utf8_gen.py: Likewise.
	* unicode/UnicodeData.txt: Unicode v. 12.1.0 data file.
	* unicode/EastAsianWidth.txt: Likewise.
	* unicode/PropList.txt: Likewise.
	* unicode/gen_wcwidth.py: New utility to generate
	libcpp/generated_cpp_wcwidth.h with help from the glibc support
	scripts and the Unicode data files.
	* unicode/unicode-license.txt: Added.
	* unicode/README: New explanatory file.

2019-12-07  Richard Sandiford  <richard.sandiford@arm.com>

	* texi2pod.pl: Handle @headitems in @multitables, printing them
	in italics.  Push an empty item code onto the stack.

2019-11-13  Janne Blomqvist  <jb@gcc.gnu.org>

	* download_prerequisites: Use http instead of ftp for downloading.

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

	* mklog: The script fails for patches that contain:
	'---param=foo=bar xyz'.

2019-09-18  Martin Liska  <mliska@suse.cz>

	* clang-format: Tweak configuration based on new
	options offered.

2019-09-09  Jose E. Marchesi  <jemarch@gnu.org>

	* config-list.mk (LIST): Disable go in bpf-*-* targets.

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

	* mklog: Do not print changed functions for
	testsuite files.

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

	* mklog: Parse PR references from newly added
	test files.

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

	* mklog: Use argparse instead of getopt.

2019-09-03  Ulrich Weigand  <uweigand@de.ibm.com>

	* compare-all-tests (all_targets): Remove references to spu.
	* config-list.mk (LIST): Likewise.

2019-09-02  Alexander Monakov  <amonakov@ispras.ru>

	* vim-gcc-dev/syntax/gcc-match.vim: Do not override 'tabstop' here.
	* vimrc: Set preferred values for 'tabstop', 'softtabstop',
	'shiftwidth', 'noexpandtab', 'textwidth', 'formatoptions' for all
	files, not just C-like files.

2019-09-02  Martin Liska  <mliska@suse.cz>

	* vim-gcc-dev/syntax/gcc-match.vim: Set tabstop=8.

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

	* test_summary: Do not escape "=".

2019-07-02  Janne Blomqvist  <jb@gcc.gnu.org>

	PR other/91048
	* mklog (read_user_info): Open ~/.mklog in string mode.

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

	* bench-stringop: New file.

2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>

	* mklog: Open files in text mode.

2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>

        * mklog: Convert to Python 3.

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

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

2019-04-30  Roland Illig  <roland.illig@gmx.de>

	* check-internal-format-escaping.py: New version using polib.

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
