OSDN Git Service

PR target/50740
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / bfin / bfin.exp
1 # Copyright (C) 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 # GCC testsuite that uses the `dg.exp' driver.
18
19 # Exit immediately if this isn't an BFIN target.
20 if ![istarget bfin-*-*] then {
21   return
22 }
23
24 # Load support procs.
25 load_lib gcc-dg.exp
26
27 # Like dg-options, but treats certain Blackfin-specific options specially:
28 #
29 #    -mcpu=*
30 #       Select the target cpu. Skip the test if the multilib flags force
31 #       a different cpu.
32 proc dg-bfin-options {args} {
33     upvar dg-extra-tool-flags extra_tool_flags
34     upvar dg-do-what do_what
35
36     set multilib_cpu ""
37     set cpu ""
38
39     foreach flag [target_info multilib_flags] {
40         regexp "^-mcpu=(.*)" $flag dummy multilib_cpu
41     }
42
43     set flags [lindex $args 1]
44
45     foreach flag $flags {
46         regexp "^-mcpu=(.*)" $flag dummy cpu
47     }
48
49     if {$multilib_cpu == "" || $multilib_cpu == $cpu} {
50         set extra_tool_flags $flags
51     } else {
52         set do_what [list [lindex $do_what 0] "N" "P"]
53     }
54 }
55
56 # dg-bfin-processors can be used to specify the processors which can
57 # run the test case.
58 proc dg-bfin-processors {args} {
59     upvar dg-extra-tool-flags extra_tool_flags
60     upvar dg-do-what do_what
61
62     set multilib_cpu ""
63     set cpu ""
64
65     foreach flag [target_info multilib_flags] {
66         regexp "^-mcpu=([^-]*)" $flag dummy multilib_cpu
67     }
68
69     set cpus [lindex $args 1]
70
71     foreach cpu $cpus {
72         if {$multilib_cpu == $cpu} {
73             return
74         }
75     }
76
77     set do_what [list [lindex $do_what 0] "N" "P"]
78 }
79
80 # Initialize `dg'.
81 dg-init
82
83 # Main loop.
84 dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] "" ""
85
86 # All done.
87 dg-finish