2018-05-02  Release Manager

	* GCC 8.1.0 released.

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

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

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
