This package constains test programs for the Modula-3 compiler. 

These tests are intended to be used by the people working on the
compiler.

There are 4 types of tests:

  1. CODE tests: tiny modules where the code output by the compiler
      is what's of interest.
  2. PROG tests: complete programs where the output of the program
      is what's of interest.
  3. ERROR tests: modules containing static errors where the generated
       error messages are of interest.
  4. RUNTIME tests: modules containing runtime error where the generated
       error messages are of interest.

The "base" compiler is the current version of the compiler, compiled
with a bootstrap version. That is, compiler/m3compiler.host. "base"
tests are compiled with the base compiler.

The "test" compiler is the current version of the compiler, compiled
with the base compiler. That is, compiler/m3compiler.target. "test"
tests are compiled with the test compiler.

The following targets are available:

	base	- to build the base tests
	test	- to build the test tests
	diff  	- to compare the differences between the base and test
   		  tests

All three targets can be prefixed by "c", "p", "e" or "r" to apply
them only to the corresponding category of tests.

The files in this directory:

    Imakefile		- makefile for this directory
    Imake.{c,p,e,r}test - makefiles for the various kinds of tests
    README 		- this file
    cXXX        	- directories containing CODE tests
    eXXX        	- directories containing ERROR tests
    pXXX        	- directories containing PROG tests
    rXXX        	- directories containing RUNTIME tests
    .gdbinit		- to debug the compiler, runtime and libraries
