OSDN Git Service

* lib/lto.exp (lto_prune_vis_warns): Renamed to lto_prune_warns.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / lib / gnat-dg.exp
1 # Copyright (C) 2006, 2007, 2010 Free Software Foundation, Inc.
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 load_lib gcc-dg.exp
18
19 # Define gcc callbacks for dg.exp.
20
21 proc gnat-dg-test { prog do_what extra_tool_flags } {
22   if { $do_what == "compile" } {
23     lappend extra_tool_flags "-c"
24   }
25   return [gcc-dg-test-1 gnat_target_compile $prog $do_what $extra_tool_flags]
26 }
27
28 proc gnat-dg-prune { system text } {
29     global additional_prunes
30
31     lappend additional_prunes "gnatmake"
32     lappend additional_prunes "compilation abandoned"
33     lappend additional_prunes "fatal error: maximum errors reached"
34     lappend additional_prunes "linker input file"
35
36     return [gcc-dg-prune $system $text]
37 }
38
39 # Utility routines.
40
41 # Modified dg-runtest that can cycle through a list of optimization options
42 # as c-torture does.
43 proc gnat-dg-runtest { testcases default-extra-flags } {
44     return [gcc-dg-runtest $testcases ${default-extra-flags}]
45 }
46
47 #
48 # gnat_load -- wrapper around default gnat_load to declare tasking tests
49 # unsupported on platforms that lack such support
50 #
51
52 if { [info procs gnat_load] != [list] \
53       && [info procs prev_gnat_load] == [list] } {
54     rename gnat_load prev_gnat_load
55
56     proc gnat_load { program args } {
57         upvar name testcase
58
59         set result [eval [list prev_gnat_load $program] $args]
60         set output [lindex $result 1]
61         if { [regexp "tasking not implemented" $output] } {
62             return [list "unsupported" $output]
63         }
64         return $result
65     }
66 }