Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt  (bernds@redhat.com)

	* gcc-2.95.3 Released.

Sun Oct 24 23:54:10 PDT 1999 Jeff Law  (law@cygnus.com)

	* gcc-2.95.2 Released.

Mon Aug 16 01:29:24 PDT 1999 Jeff Law  (law@cygnus.com)

	* gcc-2.95.1 Released.

Wed Jul 28 21:39:31 PDT 1999 Jeff Law  (law@cygnus.com)

	* gcc-2.95 Released.

Sun Jul 25 23:40:51 PDT 1999 Jeff Law  (law@cygnus.com)

	* gcc-2.95 Released.

Wed Nov 25 01:00:07 1998  Marc Espie <espie@quatramaran.ens.fr>

	* Makefile.in (just-check): Ignore errors.

Sat Jun 27 23:59:35 1998  Carlo Wood  <carlo@runaway.xs4all.nl>

	* lib/libio.exp (test_libio): Reset ld_library_path before appending
	the same path(s) again.

Tue Jun  9 11:23:42 1998  Gavin Koch  <gavin@cygnus.com>

	* Makefile.in (EXPECT) : Look for "expect" in the correct
	place.

Sat Sep  6 00:49:31 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* lib/libio.exp (test_libio): Lose -L.. before -lio, may as well
	require things be fully usable.  Not ideal, but...also no longer
	have the -liostream approach.

Fri Sep  5 15:38:37 1997  Jeffrey A Law  (law@cygnus.com)

	* lib/libio.exp  (test_libio): Use libstdc++_{include,link}_flags
	instead of g++_{include,link}_flags.

Thu Sep  4 15:22:46 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* lib/libio.exp (test_libio): Add `-L..' before -lio.
	Use `-L.. -liostream' for now.

Fri Jun 27 18:19:21 1997  Bob Manson  <manson@charmed.cygnus.com>

	* lib/libio.exp(libio_init): New procedure.
	(test_libio): Link with a status wrapper if necessary. Strip
 	leading newlines before comparing output. Look for a multilib
 	libiberty directory.

Tue Jun  3 15:17:31 1997  Bob Manson  <manson@charmed.cygnus.com>

	* lib/libio.exp: Don't use global exec_output variable; the output
 	is returned from remote_load instead.

Tue May 20 17:59:31 1997  Jeffrey A Law  (law@cygnus.com)

	* lib/libio.exp: If "slow_simulator" is set, then add
	-DSLOW_SIMULATOR to the compiler's arguments.

Fri May 16 19:33:39 1997  Bob Manson  <manson@charmed.cygnus.com>

	* lib/libio.exp: Name the executables after the testcases.

	* libio.tests/tiomisc.exp: Turn off warnings when conpiling.

Thu May  1 17:01:47 1997  Bob Manson  <manson@charmed.cygnus.com>

	* lib/libio.exp: Link in libiberty.a.

Tue Apr 29 16:34:37 1997  Mike Stump  <mrs@cygnus.com>

	* testsuite/lib/libio.exp: Fixup so that we always have the same
 	number of testcases, and so that we have meaningful testcase
 	names.

Tue Apr 29 13:08:41 1997  Bob Manson  <manson@charmed.cygnus.com>

	* lib/libio.exp: Add support for --tool_opts.

Mon Apr 28 11:26:06 1997  Bob Manson  <manson@charmed.cygnus.com>

	* Makefile.in: Removed clean rule, as it is added by configure.
	Remove a lot of unused rules.

Sun Apr 27 15:02:48 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>

	* Makefile.in (clean): Add empty rule for now.

Sat Apr 26 13:41:44 1997  Bob Manson  <manson@charmed.cygnus.com>

	* New DejaGnu-style testsuite.
