• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..07-May-2022-

ada/H31-May-2013-440,341297,660

c-c++-common/H03-May-2022-15,65211,672

config/H31-May-2013-181

g++.dg/H31-May-2013-201,769143,255

g++.old-deja/H31-May-2013-90,45557,550

gcc.c-torture/H31-May-2013-98,03879,246

gcc.dg/H31-May-2013-290,913205,551

gcc.misc-tests/H31-May-2013-3,9602,220

gcc.target/H31-May-2013-226,842143,218

gcc.test-framework/H31-May-2013-1,392880

gfortran.dg/H03-May-2022-151,41685,647

gfortran.fortran-torture/H31-May-2013-9,7616,482

gnat.dg/H31-May-2013-23,74116,080

go.dg/H31-May-2013-6121

go.go-torture/execute/H31-May-2013-508404

go.test/H31-May-2013-73,97858,275

lib/H31-May-2013-16,50310,432

obj-c++.dg/H31-May-2013-17,95613,922

objc/H31-May-2013-4,4253,356

objc-obj-c++-shared/H31-May-2013-1,215738

objc.dg/H31-May-2013-24,13618,708

ChangeLogH A D31-May-201368.8 KiB2,5601,706

ChangeLog-1993-2007H A D10-Jan-20131.7 MiB60,91840,777

ChangeLog-2008H A D30-Sep-2009388.2 KiB12,9289,294

ChangeLog-2009H A D22-Nov-2010369.5 KiB12,6799,048

ChangeLog-2010H A D07-Feb-2011449.2 KiB15,60211,001

ChangeLog-2011H A D09-Jan-2012473.8 KiB15,87111,431

ChangeLog-2012H A D12-Apr-2013318.7 KiB11,1847,742

ChangeLog.graphiteH A D08-Mar-2010133 63

ChangeLog.ptrH A D10-Jan-20131.9 KiB6639

ChangeLog.tree-ssaH A D10-Jan-201334.7 KiB1,212769

READMEH A D10-Jan-20132.3 KiB6951

README.compatH A D10-Jan-20134 KiB9369

README.gccH A D10-Jan-20132.6 KiB8855

README

1This is a collection of tests for GCC. For further information about
2the C testsuite, see README.gcc.
3
4The driver that runs this testsuite is called DejaGnu and you will
5need a current DejaGnu snapshot, which is available from
6ftp://gcc.gnu.org/pub/gcc/infrastructure, for example.
7
8These tests are included "as is". If any of them fails, do not report
9a bug.  Bug reports for DejaGnu can go to bug-dejagnu@gnu.org.
10Discussion and comments about this testsuite should be sent to
11gcc@gcc.gnu.org; additions and changes to should go to sent to
12gcc-patches@gcc.gnu.org.
13
14The entire testsuite is invoked by `make check` at the top level of
15the GCC tree. `make check-g++` runs the C++ testsuite only.
16
17STRUCTURE OF THE G++ TESTSUITE
18
19  g++.dg tests:
20
21  All new tests should be placed in an appropriate subdirectory of g++.dg.
22
23  g++.old-deja tests:
24
25  g++.benjamin	Tests by Benjamin Koz
26  g++.bob
27  g++.brendan	Tests by Brendan Kehoe
28  g++.bugs
29  g++.eh  	Tests for exception handling
30  g++.ext  	Tests for g++ extensions
31  g++.gb  	Tests by Gerald Baumgartner
32  g++.jason	Tests by Jason Merill
33  g++.jeff	Tests by Jeffrey A Law
34  g++.martin	Tests by Martin v. L�wis
35  g++.mike	Tests by Mike Stump
36  g++.niklas	Tests by Niklas Hallqvist
37  g++.ns  	Tests for namespaces
38  g++.other
39  g++.pt  	Tests for templates
40  g++.rfg
41  g++.robertl	Tests from gcc-bugs@gcc.gnu.org, gathered by Robert Lipe
42
43Finally, some random last minute notes by Mike Stump <mrs@cygnus.com>, on
44how to run tests (in the GCC 2.7 era):
45
46	runtest --tool g++ --srcdir ./testsuite
47
48where
49
50	runtest	Is the name used to invoke DejaGnu.   If DejaGnu is not
51		install this will be the relative path name for runtest.
52
53	--tool	This tells DejaGnu which tool you are testing. It is
54		mainly used to find the testsuite directories for a
55		particular tool when several testsuites are in the
56		same directory. (like the gcc and g++ testsuites)
57
58	--srcdir This points to the top level of the directory
59		containing the sources of the testsuite. This is
60		./testsuite if you are in the directory that has the
61		testsuite directory.
62
63
64Copyright (C) 1998-2013 Free Software Foundation, Inc.
65
66Copying and distribution of this file, with or without modification,
67are permitted in any medium without royalty provided the copyright
68notice and this notice are preserved.
69

README.compat

1Compatibility test suites that use lib/compat.exp test interoperability
2of two compilers that follow the same ABI, or of multiple sets of
3compiler options that are not intended to affect binary compatibility.
4They do not test conformance to a formal ABI; they check that things are
5done consistently, not that they are done correctly.  They are meant to
6complement ABI test suites, not to replace them.
7
8Each test in these suites splits up functionality into two source files
9that can be compiled with two different versions of GCC and with two
10sets of compiler options.
11
12  Override the default pairs of compiler options (from compat.exp) by
13  defining the environment variable COMPAT_OPTIONS as:
14  COMPAT_OPTIONS="[list [list {tst1} {alt1}]...[list {tstn} {altn}]]"
15  where tsti and alti are lists of options, with "tsti" used by the
16  compiler under test and "alti" used by the alternate compiler. The
17  characters "[", "{", "}", and "]" are really in the string, as in
18  "[list [list {-g} {-O3}] [list {-O3} {-g}]]".
19
20  To use an alternate compiler, define the environment variable for the
21  language you're testing; e.g., for C++ define ALT_CXX_UNDER_TEST to be
22  the full pathname of an installed compiler.  That will be written to
23  the site.exp file used by DejaGNU.  The default is to build each test
24  with the compiler under test using the first of each pair of compiler
25  options from COMPAT_OPTIONS.  When ALT_CXX_UNDER_TEST is "same", each
26  test is built using the compiler under test but with combinations of
27  the options from COMPAT_OPTIONS.  If the alternate compiler needs a
28  different setting for LD_LIBRARY_PATH, specify it in the environment
29  varible ALT_LD_LIBRARY_PATH.  If it needs different options to build
30  a shared object, define those in ALT_SHOBJ_OPTIONS.
31
32  Normally, only a small amount of compatibility tests is run.
33  Setting RUN_ALL_COMPAT_TESTS=1 in the environment before running the
34  testsuite enables running all compatibility tests, but might take
35  significantly longer than it takes without this variable.
36
37To run only the C++ compatibility tests, optionally specifying an
38alternate compiler and/or sets of options, do from $objdir/gcc:
39
40  rm site.exp
41  make -k ALT_CXX_UNDER_TEST=<prefix>/bin/g++ \
42    ALT_LD_LIBRARY_PATH=<prefix>/lib \
43    COMPAT_OPTIONS="list as shown above" check-c++ \
44    RUNTESTFLAGS="compat.exp"
45
46A test that fails when the pieces are compiled with different compilers
47but passes when the pieces are compiled with the same compiler
48demonstrates incompatibility of the generated code or runtime support.
49A test that fails for the alternate compiler but passes for the compiler
50under test probably tests for a fix that is not present in the alternate
51compiler.
52
53There's a lot more that can be done with these tests.
54
55  Increase the robustness of the existing tests:
56
57   -  recognize target triples in dg-options strings in test files
58
59   -  continue to split up tests that rely on language runtime support
60      and add them to this set of tests
61
62   -  make sure they work for testing with a simulator
63
64   -  multilibs support?
65
66  Build test pieces into more combinations that will be likely to find
67  unusual errors:
68
69   -  link using the alternate compiler; this requires support for
70      LD_LIBRARY_PATH for the alternate compiler in the support for each
71      language
72
73   -  build pieces of the test into static libraries; this requires
74      knowledge about how to build a static library for each target
75
76  Continue to add tests to g++.dg/compat, based on existing tests for
77  language runtime support and for test cases in PRs that didn't used to
78  fit into the test suite.
79
80  Set up similar tests in libstdc++-v3/testsuite.
81
82  Set up similar tests for additional languages and libraries.
83
84Janis Johnson, <janis187@us.ibm.com>
85October 2002
86
87
88Copyright (C) 2002-2013 Free Software Foundation, Inc.
89
90Copying and distribution of this file, with or without modification,
91are permitted in any medium without royalty provided the copyright
92notice and this notice are preserved.
93

README.gcc

1This file contains a list of notes for those writing testcases and those
2writing expect scripts.  At present, they're in random order.
3
4Verbosity Levels
5
6- each level adds verbosity so level 2 prints all level 1 and level 2 stuff.
7
81) Print a one-liner indicating the testcase being run (and maybe special
9   compiler options).
10
112) Print compiler and program invocation including arguments and their output.
12   Proc's gcc_load and gcc_start handle the latter two.
13
143) Print detailed testcase analysis like "Looking for pattern ...", etc.
15
164) Maximum verbosity.  Print anything else of interest.
17
18send_log conventions
19
20Various messages are stored in gcc.log by the testing framework and we
21try to augment them with some of our own.  The format of the framework
22messages are:
23
24PASS: blah blah ...
25FAIL: blah blah ...
26
27so we use
28
29XXXX: blah blah ...
30
31Current messages are:
32
33EXEC: program being executed (so compiler path and args are recorded)
34STAT: intermediate pass/fail statistics
35
36Test scripts must ignore the compiler messages "path prefix never used"
37and "linker input file unused".  Don't let their appearance cause a testcase
38to fail.  See lib/dg.exp for the exact regsub to use.
39
40If you're unclear about which directory a testcase should be installed in,
41ask gcc-local.
42
43Have the text of a fail message be the same as that for pass.
44IE: have
45
46        if ...success...
47                pass "pr 1234"
48        else
49                fail "pr 1234"
50
51not
52
53        if ...success...
54                pass "pr 1234 passed"
55        else
56                fail "pr 1234 failed"
57
58
59This lets test-tool (which drives the nightly tests) do a better job
60at tracking which tests have digressed or been fixed.
61
62DO NOT PUT NON-PORTABLE TESTCASES IN gcc.c-torture.
63
64ANY TARGET SPECIFIC TESTCASE MUST HAVE APPROPRIATE CODE TO PREVENT IT FROM
65CAUSING A `FAILURE' ON UNSUPPORTED PLATFORMS.
66
67The "torture" tests are meant to be generic tests that can run on any
68target.  So you have to be careful about endianness, assumptions about
69sizes of datatypes, etc etc.
70
71For tests that merely need to compile, put them in the "compile" directory.
72
73For tests which should give an error, put them in the "noncompile" directory
74and update noncompile.exp appropriately (see examples in noncompile.exp).
75
76For IEEE FP specific tests, put them in execute/ieee.
77
78For execution tests, put them in execute.
79
80If a test does not fit into the torture framework, use the dg framework.
81
82
83Copyright (C) 1997-2013 Free Software Foundation, Inc.
84
85Copying and distribution of this file, with or without modification,
86are permitted in any medium without royalty provided the copyright
87notice and this notice are preserved.
88