2004-03-31  Nathaniel Smith  <njs@codesourcery.com>

	* compiler_test.py (CompilerBase._QuoteForHTML): Remove.
	(CompilerTest._RunExecutable): Use 'Result.Quote'.
	(CompilerTest._CheckOutput): Use 'Result.Quote'.
	(CompilerTest._DiagnosticsToString): Use 'Result.Quote'.

2003-11-06  Mark Mitchell  <mark@codesourcery.com>

	* compiler_test.py (CompilerTest._RunExecutable): Add support for
	interpreters that take command-line arguments.  Record the command
	line used to invoke the interperter.

2003-09-15  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (TimeoutRedirectedExecutable.__init__): Remove
	debugging code.

2003-09-14  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (TimeoutRedirectedExecutable): New class.
	(CompilerExecutable): Inherit from it.
	(Compiler.Compile): Add timeout parameter.
	(Compiler.ExecuteCommand): Likewise.
	* compiler_test.py (CompiledExecutable): Inherit from
	TimeoutRedirectedExecutable.
	(CompilerTest.Run): Use timeouts.
	(CompilerTest._RunExecutable): Likewise.

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

	* compiler_test.py (CompilerBase._GetDirectory): Do not use
	Database.GetLabelToPath.

2003-06-02  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (Compiler.MODE_PREPROCESS): New variable.
	(GPP): Rename to ...
	(GCC): ... this.
	(GCC.MODE_PRECOMPILE): New variable.
	(GCC.modes): Add it.
	* compiler_table.py: New file.
	* gcc_database.py: Remove.
	
	* classes.qmc: Add compiler_table.CompilerTable.  Remove
	gcc_database.DGTest.

2002-12-18  Mark Mitchell  <mark@codesourcery.com>

	* compiler_test.py (CompilerBase._QuoteForHTML): New method.
	(CompilerTest._CheckOutput): Use it.
	* gcc_database.py (GPPBprobTest): Likewise.
	
2002-12-13  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (Compiler.Compile): Use ...
	(Compiler.ExecuteCommand): ... this new method.
	* compiler_test.py (CompilerTest.Run): Record commands before
	trying to execute the compiler.
	* gcc_database.py (GPPBprobTest): Likewise.

2002-11-15    <Mark Mitchell <mark@codesourcery.com>>

	* compiler.py (resource): Don't import it under Windows.
	* compiler_test.py (CompilerTest._CheckStatus): Adjust handling
	for Windows.

2002-11-14  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (CompilerExecutable): Derive from QM's
	RedirectedExecutable class.
	* compiler_test.py (CompiledExecutable): Likewise.
	* executable.py: Remove.
	* gcc_database.py (Demangler): Derive from QM's
	RedirectedExecutable class.

2002-11-06  Mark Mitchell  <mark@codesourcery.com>

	* compiler_test.py (arguments): Remove.
	(CompilerTest.Run): Use HTML formatting.
	(CompilerTest._CheckStatus): Likewise.
	(CompilerTest._GetDirectoryForTest): Compute it, rather than
	expecting the database to pass it in.
	* gcc_database.py (GPPBprobTest.Run): Use HTML formatting.
	(GCCDatabase.GetTest): Do not pass in a directory.
	* classes.qmc: New file.

2002-10-31  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (GPP.GetObjectNames): Remove.
	(EDG): New class.
	* compiler_test.py (CompilerTest.__init__): Remove.
	* gcc_database.py (GCCTest.__init__): Add **extras parameter.
	(CPPTest.__init__): Likewise.
	(GPPTest._CreateCompiler): New method.
	
2002-06-30  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (Compiler.ParseOutput): Raise NotImplementedError,
	rather than using an assert, to indicate a method that must be
	overridden.
	* compiler_test.py (CompilerTest._GetCompiler): Likewise.
	(CompilerTest._GetCompilationSteps): Likewise.

	* compiler.py (GPP.GetExecutableName): Remove.

2002-06-19  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (SourcePosition.__init__): Remove incorrect
	assertion.
	* compiler_test.py: Substantial revisions to use filename labels.
	* gcc_database.py: Likewise.

2002-05-27  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>

	* compiler.py (CompilerExecutable.__init__): Add dir parameter.
	(CompilerExecutable.Compile): Likewise.
	* compiler_test.py (CompiledExecutable): Likewise.
	(CompilerTest.__init__): Compute the directory in which test 
	outputs wil lbe placed.
	(CompilerTest.Run): Pass it to Compiler.Compile.
	(CompilerTest._GetDirectoryForTest): New method.
	(CompilerTest._MakeDirectoryRecursively): Likewise.
	(CompilerTest._MakeDirectoryForTest): Likewise.
	* executable.py (__init__): Add dir parameter.
	(Executable.Spawn): Do not allow exceptions to escape the child.
	(Executable._InitializeChild): If the initial working directory
	for the child is specified, enter that directory.
	(RedirectedExecutable._InitializeChild): Call
	Executable._InitializeChild.
	* gcc_database.py (Demangler.__init__): Add 'dir' parameter.
	(GCCTest._MakeDirectoryRecursively): Remove.
	(GCCTest._MakeDirectoryForTest): Likewise.
	(GCCTest._EnterDirectoryForTest): Likewise.
	(GCCTest._ExitDirectoryForTest): Likewise.
	(GPPTest._lock): New variable.
	(GPPTest._GetCompiler): Be threadsafe.  Calculate library
	directories here ...
	(GPPTest._GetLibraryDirectories): ... rather than here.
	(OldDejaGNUTest.Run): Do not use _EnterDirectoryForTest and
	_ExitDirectoryForTest.
	(DGTest.Run): Likewise.
	(GPPBprobTest): Likewise.
	
2002-05-19  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>

	* COPYING: New file.

2002-05-01  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>

	* compiler.py (Compiler.ParseOutput): Add ignore_regexps
	parameter. 
	(GPP._ignore_regexps): Remove.
	(GPP.ParseOutput): Add ignore_regexps parameter.
	* compiler_test.py (qm.test.label): Import.
	(CompilerTest._ignored_diagostic_regexps): New variable.
	(CompilerTest._CheckStatus): New method.
	(CompilerTest.Run): Use it.  Pass the ignored diagnostic regexps
	to Compiler.ParseOutput.
	(CompilerTest._RunExecutable): Use _CheckStatus.
	* gcc_database.py (glob): Import it.
	(GCCTest.arguments): Add "options" field.
	(GCCTest._ignored_diagnostic_regexps): New variable.
	(GCCTest._GetSourcePath): New method.
	(GCCTest._GetSource): Use it.
	(GCCTest._GetExecutable): Simplify.
	(GCCTest._GetCompilationOptions): Test the "options" argument.
	(OldDejaGNUTest._ignored_diagnostic_regexps): New variable.
	(OldDejaGNUTest.Run): Enter the test directory before running the
	test.
	(DGTest): Rework substantially to add support for coverage testing.
	(GPPBprobTest): New class.
	(GCCDatabase): Rework substantially to support running a single
	test with multiple options.
	* .cvsignore: New file.

2002-03-15  Mark Mitchell  <mark@codesourcery.com>

	* executable.py: New file.

2002-03-14  Mark Mitchell  <mark@codesourcery.com>

	* README: New file.
	* INSTALL: Likewise.

	* compiler.py (CompilerExecutable): New class.
	(Compiler): Do not inerit from RedirectedExecutable.
	(Compiler.Compile): Use a CompilerExecutable.
	(Compiler._InitializeChild): Remove.
	(Compiler._StdinPipe): Likewise.
	(Compiler._StderrPipe): Likewise.
	(Compiler.GetPath): New function.
	(Compiler.GetOptions): Likewise.
	(Compiler.SetOptions): Likewise.
	(SourcePosition.__str__): Refine.
	(GPP.__init__): Remove.
	* compiler_test.py (CompilerTest.Run): Do not assume that "."
	is in the path.  Tweak formatting for failure messages.
	* gcc_database.py (errno): Import it.
	(tempfile): Likewise.
	(GCCTest.Run): Return an indication of whether or not we
	are running in XFAIL-generation mode.
	(GCCTest._IsExpectedToFail): Add context parameter.
	(GCCTest._MakeDirectoryRecursively): New method.
	(GCCTest._MakeDirectoryForTest): Likewise.
	(GCCTest._EnterDirectoryForTest): Likewise.
	(GCCTest._ExitDirectoryForTest): Likewise.
	(GPPTest._compiler): New variable.
	(GPPTest._library_directories): Likewise.
	(GPPTest._v3_directory): Likewise.
	(GPPTest.__init__): Do not set self._compiler.
	(GPPTest._GetCompiler): Use GPPTest._compiler, not self._compiler,
	to store the compiler.  Automatically find multilib directories.
	(GPPTest._GetLibraryDirectories): New method.
	(GPPTest._IsExpectedToFail): Add context parameter.
	(OldDejaGNUTest.Run): Allow more than one source file.
	(DGTest._GetAdditionalSourceFiles): New method.
	(DGTest._IsExpectedToFail): Add context parameter.
	(DGTest.Run): Be thread safe.
	(InitPriorityTest): New class.
	(GCCDatabase._prefix_map): Make tests in gpp.dg.special be
	InitPriorityTests.
	(GCCDatabase._tests_in_directory): Add gpp.dg.special.conpr-3r.
	(GCCDatabase.GetTestIds): Deal with tests that have upper-case
	characters in their names.
	(GCCDatabase.GetTest): Likewise.
	(GCCDatabase._GetTestPath): Special case gpp.dg.special.conpr-3r.
	
2002-03-06  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py (SourcePosition.__str__): Refine.
	* compiler_test.py (CompilerTest._DiagnosticsToString): Format
	list of diagnostics with one diagnostic per line.

	* compiler.py: Massive revisions.
	* compiler_test.py: Likewise.
	* gcc_database.py: Likewise.
	* generate_expectations.py: Remove.

2002-01-23  Mark Mitchell  <mark@codesourcery.com>

	* compiler.py: New file.
	* compiler_test.py: Likewise.
	* gcc_database.py: Likewise.
	* generate_expectations.py: Likewise.

