--------------
- Compilator -
--------------

Every file found under the compilator directory is compiled by GCC both with and
without the DragonEgg plugin, at a variety of optimization levels.  If GCC can
compile a file but DragonEgg cannot, or DragonEgg can compile the file but GCC
cannot, then that test is considered to have failed.  Note that the generated
code is *not* checked for correctness.

External source
---------------

You should either checkout the GCC testsuite in the compilator directory or use
a symbolic link to ensure that compilator/gcc-testsuite means the gcc/testsuite/
directory from the GCC source tree.

For testing C/C++, consider having compilator/clang-test be a symbolic link to
Clang's test directory, and compilator/llvm-test-suite a symbolic link to LLVM's
nightly testsuite.

For testing Fortran, consider putting a copy of the LAPACK source distribution
in the compilator directory.  Note that LAPACK includes a copy of the BLAS.  A
few other interesting collections of Fortran source code:
  The NIST Fortran 77 test suite
  The polyhedron benchmarks

For testing Java, consider having compilator/gcc-libjava be a symbolic link to
GCC's libjava.


---------------
-- Validator --
---------------

The validator directory contains tests that check the correctness of generated
code.
