| 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> |