Throughout the compiler testsuite there are several directories whose tests are run multiple times, each with a different set of options. These are known as torture tests. lib/torture-options.exp defines procedures to set up these lists:
torture-init
set-torture-options
torture-finish
The .exp file for a set of tests that use torture options must include calls to these three procedures if:
gcc-dg-runtest
and overrides DG_TORTURE_OPTIONS.
-torture
or
${tool}-torture-execute
, where tool is c
,
fortran
, or objc
.
dg-pch
.
It is not necessary for a .exp file that calls gcc-dg-runtest
to call the torture procedures if the tests should use the list in
DG_TORTURE_OPTIONS defined in gcc-dg.exp.
Most uses of torture options can override the default lists by defining TORTURE_OPTIONS or add to the default list by defining ADDITIONAL_TORTURE_OPTIONS. Define these in a .dejagnurc file or add them to the site.exp file; for example
set ADDITIONAL_TORTURE_OPTIONS [list \ { -O2 -ftree-loop-linear } \ { -O2 -fpeel-loops } ]