145
|
1 # Copyright (C) 2000-2020 Free Software Foundation, Inc.
|
111
|
2
|
|
3 # This program is free software; you can redistribute it and/or modify
|
|
4 # it under the terms of the GNU General Public License as published by
|
|
5 # the Free Software Foundation; either version 3 of the License, or
|
|
6 # (at your option) any later version.
|
|
7 #
|
|
8 # This program is distributed in the hope that it will be useful,
|
|
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11 # GNU General Public License for more details.
|
|
12 #
|
|
13 # You should have received a copy of the GNU General Public License
|
|
14 # along with GCC; see the file COPYING3. If not see
|
|
15 # <http://www.gnu.org/licenses/>.
|
|
16
|
|
17 # G++ testsuite that uses the `dg.exp' driver.
|
|
18
|
|
19 # Load support procs.
|
|
20 load_lib g++-dg.exp
|
|
21
|
|
22 # If a testcase doesn't have special options, use these.
|
|
23 global DEFAULT_CXXFLAGS
|
|
24 if ![info exists DEFAULT_CXXFLAGS] then {
|
|
25 set DEFAULT_CXXFLAGS " -pedantic-errors -Wno-long-long"
|
|
26 }
|
|
27
|
|
28 # Initialize `dg'.
|
|
29 dg-init
|
|
30
|
|
31 # Recursively find files in $dir and subdirs, do not walk into subdirs
|
|
32 # that contain their own .exp file.
|
|
33 proc find-cxx-tests { dir suffix } {
|
|
34 set tests [lsort [glob -nocomplain -directory $dir "*.$suffix" ]]
|
|
35 foreach subdir [lsort [glob -nocomplain -type d -directory $dir *]] {
|
|
36 if { [glob -nocomplain -directory $subdir *.exp] eq "" } {
|
|
37 eval lappend tests [find-cxx-tests $subdir $suffix]
|
|
38 }
|
|
39 }
|
|
40 return $tests
|
|
41 }
|
|
42
|
|
43 set tests [find-cxx-tests $srcdir/$subdir {C}]
|
|
44
|
|
45 # Main loop.
|
|
46 g++-dg-runtest $tests "" $DEFAULT_CXXFLAGS
|
|
47
|
|
48 # C/C++ common tests.
|
|
49 g++-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/*.\[cSi\]]] \
|
|
50 "" ""
|
|
51
|
|
52 g++-dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/cpp/*.\[cS\]]] \
|
|
53 "" ""
|
|
54
|
|
55
|
|
56 # All done.
|
|
57 dg-finish
|