blob: 3cdf6e32a555643d4cdb6270ee2200d94d3deca3 [file] [log] [blame]
This directory contains tests and scripts for consistency checking
compilers. They could be used for consistency checking different
C/C++ compiler for one platform or C/C++ compilers for different
platforms.
For example, to check the consistency, you could type
make check-consistency RUNTESTFLAGS='BASE_COMPILER=i960-97r2 CONSISTENCY_OPTIONS="-O2 -fvtable-thunks -mno-strict-align -fno-rtti -fcheck-new -mcall-i960-old -mlittle-endian" NO_LONG_DOUBLE=1 NO_LIBGLOSS_LIBRARY_OPTIONS=1'
In this example, DEJAGNU driver vlad.exp will process all C/C++
tests in all subdirectories (e.g. layout) started with lower case
letter. C tests (with suffixes .c) will be compiled by C compiler
only. C++ tests will be compiled by C and C++ compilers. It is
supposed that each test outputs the result which is saved in temp_dir
as
<basename of the test>.out
or
<basename of the test>.out++
correspondingly for C compiler and C++ compiler. For example, there
will be two output files
`align-double.out' and `align-double.out++'
for test `align-double.c'.
After this if there is subdirectory <BASE_COMPILER>-results
(`i960-97r2-results' in our example) and there is corresponding saved
output file for the base compiler the the files are compared in order
to check consistency.
To create the base for future comparisons of output files, you
should create the directory and move output files from the temporary
directory into the created directory.
The test script file has the following parameters
1. BASE_COMPILER. The variable must be defined for work the script
properly.
2. CONSISTENCY_OPTIONS. The options which will be used for
compilations. The default value is "-O2".
3. NO_LONG_DOUBLE. If the variable value is not zero, the tests
which contain long double are expected to be fail.
4. NO_LIBGLOSS_LIBRARY_OPTIONS. If the variable value is not zero,
the tests are compiled without standard dejagnu libgloss library
paths.
Currently, there is directory `layout' for checking allocation
parameters of C/C++ compiler and subdirectory i960-97r2 which contains
the test results for 97r2 i960-vxworks C/C++ compiler.
You can create other consistency tests. Simply, create a directory
started with lower case letter, place the tests and create the
subdirectory with the test results for a base compiler. If you need
to compile tests in a directory with a wrap file simply place the file
name (e.g. _dummy_stab.S) in file WRAP_FILE in the test directory.
The tests will be only compiled (and the test results will not be
compared) if you place <basename of the test>.conly in the directory
of the test. You can use own driver for checking consistency. To
make this, place the TCL script with name <basename of the test>.cexp.
Vladimir Makarov <vmakarov@cygnus.com>