…
|
||
---|---|---|
.. | ||
layout | ||
README | ||
vlad.exp |
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>