-<pre class="example"> cd <var>objdir</var>; make -k check
- </pre>
-
- <p>The testing process will try to test as many components in the GCC
-distribution as possible, including the C, C++, Objective-C and Fortran
-compilers as well as the C++ and Java runtime libraries.
-
- <p>While running the testsuite, DejaGnu might emit messages resembling
-<code>WARNING: Couldn't find the global config file.</code> or
-<code>WARNING: Couldn't find tool init file</code>.
-These messages are harmless and do not affect the validity of the tests.
-
-<h3 class="section"><a name="TOC0"></a>How can I run the test suite on selected tests?</h3>
-
- <p>As a first possibility to cut down the number of tests that are run it is
-possible to use <code>make check-gcc</code> or <code>make check-g++</code>
-in the <code>gcc</code> subdirectory of the object directory. To further cut down the
-tests the following is possible:
-
-<pre class="example"> make check-gcc RUNTESTFLAGS="execute.exp <var>other-options</var>"
- </pre>
-
- <p>This will run all <code>gcc</code> execute tests in the testsuite.
-
-<pre class="example"> make check-g++ RUNTESTFLAGS="old-deja.exp=9805* <var>other-options</var>"
- </pre>
-
- <p>This will run the <code>g++</code> "old-deja" tests in the testsuite where the filename
-matches <code>9805*</code>.
-
- <p>The <code>*.exp</code> files are located in the testsuite directories of the GCC
-source, the most important ones being <code>compile.exp</code>,
-<code>execute.exp</code>, <code>dg.exp</code> and <code>old-deja.exp</code>.
-To get a list of the possible <code>*.exp</code> files, pipe the
-output of <code>make check</code> into a file and look at the
-<code>Running ... .exp</code> lines.
-
- <p>To run only the tests for a library, run <code>make check</code> from the
-the library's testsuite in a subdirectory of the object directory:
-<code>libstdc++-v3/testsuite</code> or <code>libcgj/testsuite</code>.
-
-<h3 class="section"><a name="TOC1"></a>Additional testing for Java Class Libraries</h3>
-
- <p>The <a href="http://sources.redhat.com/mauve/">Mauve Project</a> provides
+<pre class="smallexample"> cd <var>objdir</var>; make -k check
+</pre>
+ <p>This will test various components of GCC, such as compiler
+front ends and runtime libraries. While running the testsuite, DejaGnu
+might emit some harmless messages resembling
+‘<samp><span class="samp">WARNING: Couldn't find the global config file.</span></samp>’ or
+‘<samp><span class="samp">WARNING: Couldn't find tool init file</span></samp>’ that can be ignored.
+
+ <p>If you are testing a cross-compiler, you may want to run the testsuite
+on a simulator as described at <a href="http://gcc.gnu.org/simtest-howto.html">http://gcc.gnu.org/simtest-howto.html</a>.
+
+<h3 class="section"><a name="TOC0"></a>How can you run the testsuite on selected tests?</h3>
+
+<p>In order to run sets of tests selectively, there are targets
+‘<samp><span class="samp">make check-gcc</span></samp>’ and ‘<samp><span class="samp">make check-g++</span></samp>’
+in the <samp><span class="file">gcc</span></samp> subdirectory of the object directory. You can also
+just run ‘<samp><span class="samp">make check</span></samp>’ in a subdirectory of the object directory.
+
+ <p>A more selective way to just run all <samp><span class="command">gcc</span></samp> execute tests in the
+testsuite is to use
+
+<pre class="smallexample"> make check-gcc RUNTESTFLAGS="execute.exp <var>other-options</var>"
+</pre>
+ <p>Likewise, in order to run only the <samp><span class="command">g++</span></samp> “old-deja” tests in
+the testsuite with filenames matching ‘<samp><span class="samp">9805*</span></samp>’, you would use
+
+<pre class="smallexample"> make check-g++ RUNTESTFLAGS="old-deja.exp=9805* <var>other-options</var>"
+</pre>
+ <p>The <samp><span class="file">*.exp</span></samp> files are located in the testsuite directories of the GCC
+source, the most important ones being <samp><span class="file">compile.exp</span></samp>,
+<samp><span class="file">execute.exp</span></samp>, <samp><span class="file">dg.exp</span></samp> and <samp><span class="file">old-deja.exp</span></samp>.
+To get a list of the possible <samp><span class="file">*.exp</span></samp> files, pipe the
+output of ‘<samp><span class="samp">make check</span></samp>’ into a file and look at the
+‘<samp><span class="samp">Running ... .exp</span></samp>’ lines.
+
+<h3 class="section"><a name="TOC1"></a>Passing options and running multiple testsuites</h3>
+
+<p>You can pass multiple options to the testsuite using the
+‘<samp><span class="samp">--target_board</span></samp>’ option of DejaGNU, either passed as part of
+‘<samp><span class="samp">RUNTESTFLAGS</span></samp>’, or directly to <samp><span class="command">runtest</span></samp> if you prefer to
+work outside the makefiles. For example,
+
+<pre class="smallexample"> make check-g++ RUNTESTFLAGS="--target_board=unix/-O3/-fmerge-constants"
+</pre>
+ <p>will run the standard <samp><span class="command">g++</span></samp> testsuites (“unix” is the target name
+for a standard native testsuite situation), passing
+‘<samp><span class="samp">-O3 -fmerge-constants</span></samp>’ to the compiler on every test, i.e.,
+slashes separate options.
+
+ <p>You can run the testsuites multiple times using combinations of options
+with a syntax similar to the brace expansion of popular shells:
+
+<pre class="smallexample"> ..."--target_board=arm-sim\{-mhard-float,-msoft-float\}\{-O1,-O2,-O3,\}"
+</pre>
+ <p>(Note the empty option caused by the trailing comma in the final group.)
+The following will run each testsuite eight times using the ‘<samp><span class="samp">arm-sim</span></samp>’
+target, as if you had specified all possible combinations yourself:
+
+<pre class="smallexample"> --target_board=arm-sim/-mhard-float/-O1
+ --target_board=arm-sim/-mhard-float/-O2
+ --target_board=arm-sim/-mhard-float/-O3
+ --target_board=arm-sim/-mhard-float
+ --target_board=arm-sim/-msoft-float/-O1
+ --target_board=arm-sim/-msoft-float/-O2
+ --target_board=arm-sim/-msoft-float/-O3
+ --target_board=arm-sim/-msoft-float
+</pre>
+ <p>They can be combined as many times as you wish, in arbitrary ways. This
+list:
+
+<pre class="smallexample"> ..."--target_board=unix/-Wextra\{-O3,-fno-strength\}\{-fomit-frame,\}"
+</pre>
+ <p>will generate four combinations, all involving ‘<samp><span class="samp">-Wextra</span></samp>’.
+
+ <p>The disadvantage to this method is that the testsuites are run in serial,
+which is a waste on multiprocessor systems. For users with GNU Make and
+a shell which performs brace expansion, you can run the testsuites in
+parallel by having the shell perform the combinations and <samp><span class="command">make</span></samp>
+do the parallel runs. Instead of using ‘<samp><span class="samp">--target_board</span></samp>’, use a
+special makefile target:
+
+<pre class="smallexample"> make -j<var>N</var> check-<var>testsuite</var>//<var>test-target</var>/<var>option1</var>/<var>option2</var>/...
+</pre>
+ <p>For example,
+
+<pre class="smallexample"> make -j3 check-gcc//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
+</pre>
+ <p>will run three concurrent “make-gcc” testsuites, eventually testing all
+ten combinations as described above. Note that this is currently only
+supported in the <samp><span class="file">gcc</span></samp> subdirectory. (To see how this works, try
+typing <samp><span class="command">echo</span></samp> before the example given here.)
+
+<h3 class="section"><a name="TOC2"></a>Additional testing for Java Class Libraries</h3>
+
+<p>The Java runtime tests can be executed via ‘<samp><span class="samp">make check</span></samp>’
+in the <samp><var>target</var><span class="file">/libjava/testsuite</span></samp> directory in
+the build tree.
+
+ <p>The <a href="http://sourceware.org/mauve/">Mauve Project</a> provides