]>
Commit | Line | Data |
---|---|---|
23834577 PE |
1 | # Handlers for additional dg-xxx keywords in tests. |
2 | ||
405feeb8 | 3 | # Copyright (C) 2004-2013 Free Software Foundation, Inc. |
23834577 PE |
4 | # |
5 | # This program is free software; you can redistribute it and/or modify | |
6 | # it under the terms of the GNU General Public License as published by | |
748086b7 | 7 | # the Free Software Foundation; either version 3 of the License, or |
23834577 PE |
8 | # (at your option) any later version. |
9 | # | |
10 | # This program is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
14 | # | |
15 | # You should have received a copy of the GNU General Public License | |
748086b7 JJ |
16 | # along with this program; see the file COPYING3. If not see |
17 | # <http://www.gnu.org/licenses/>. | |
23834577 | 18 | |
7c62b943 BK |
19 | proc dg-require-c-std { args } { |
20 | if { ![ check_v3_target_c_std ] } { | |
21 | upvar dg-do-what dg-do-what | |
22 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
23 | return | |
24 | } | |
25 | return | |
26 | } | |
23834577 | 27 | |
7c62b943 BK |
28 | proc dg-require-debug-mode { args } { |
29 | if { ![ check_v3_target_debug_mode ] } { | |
f63a8495 PC |
30 | upvar dg-do-what dg-do-what |
31 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
bcd93c00 FD |
32 | return |
33 | } | |
34 | return | |
35 | } | |
36 | ||
37 | proc dg-require-profile-mode { args } { | |
38 | if { ![ check_v3_target_profile_mode ] } { | |
39 | upvar dg-do-what dg-do-what | |
40 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
f63a8495 PC |
41 | return |
42 | } | |
43 | return | |
44 | } | |
a1340af7 | 45 | |
98fff892 PC |
46 | proc dg-require-normal-mode { args } { |
47 | if { ![ check_v3_target_normal_mode ] } { | |
48 | upvar dg-do-what dg-do-what | |
49 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
50 | return | |
51 | } | |
52 | return | |
53 | } | |
54 | ||
c2ba9709 JS |
55 | proc dg-require-parallel-mode { args } { |
56 | if { ![ check_v3_target_parallel_mode ] } { | |
57 | upvar dg-do-what dg-do-what | |
58 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
59 | return | |
60 | } | |
61 | return | |
62 | } | |
63 | ||
0c20e4ec NS |
64 | proc dg-require-fileio { args } { |
65 | if { ![ check_v3_target_fileio ] } { | |
66 | upvar dg-do-what dg-do-what | |
67 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
68 | return | |
69 | } | |
70 | return | |
71 | } | |
72 | ||
7c62b943 | 73 | proc dg-require-namedlocale { args } { |
9c69a458 | 74 | if { ![ check_v3_target_namedlocale [lindex $args 1] ] } { |
0c20e4ec NS |
75 | upvar dg-do-what dg-do-what |
76 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
77 | return | |
78 | } | |
79 | return | |
80 | } | |
81 | ||
2f9f6cef BK |
82 | proc dg-require-sharedlib { args } { |
83 | if { ![ check_v3_target_sharedlib ] } { | |
84 | upvar dg-do-what dg-do-what | |
85 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
86 | return | |
87 | } | |
88 | return | |
89 | } | |
451e92db | 90 | |
7c62b943 BK |
91 | proc dg-require-time { args } { |
92 | if { ![ check_v3_target_time ] } { | |
451e92db BK |
93 | upvar dg-do-what dg-do-what |
94 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
95 | return | |
96 | } | |
97 | return | |
98 | } | |
f5783e34 | 99 | |
a7543cfd PC |
100 | proc dg-require-cstdint { args } { |
101 | if { ![ check_v3_target_cstdint ] } { | |
102 | upvar dg-do-what dg-do-what | |
103 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
104 | return | |
105 | } | |
106 | return | |
107 | } | |
30a333ce | 108 | |
67bd9a32 PC |
109 | proc dg-require-cmath { args } { |
110 | if { ![ check_v3_target_cmath ] } { | |
294eab8c PC |
111 | upvar dg-do-what dg-do-what |
112 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
113 | return | |
114 | } | |
115 | return | |
116 | } | |
117 | ||
30a333ce PC |
118 | proc dg-require-atomic-builtins { args } { |
119 | if { ![ check_v3_target_atomic_builtins ] } { | |
120 | upvar dg-do-what dg-do-what | |
121 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
122 | return | |
123 | } | |
124 | return | |
125 | } | |
7b800287 CF |
126 | |
127 | proc dg-require-gthreads { args } { | |
128 | if { ![ check_v3_target_gthreads ] } { | |
129 | upvar dg-do-what dg-do-what | |
130 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
131 | return | |
132 | } | |
133 | return | |
134 | } | |
46e113bf | 135 | |
3b2eeb43 JW |
136 | proc dg-require-gthreads-timed { args } { |
137 | if { ![ check_v3_target_gthreads_timed ] } { | |
138 | upvar dg-do-what dg-do-what | |
139 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
140 | return | |
141 | } | |
142 | return | |
143 | } | |
144 | ||
aa66b299 JW |
145 | proc dg-require-sleep { args } { |
146 | if { ![ check_v3_target_sleep ] } { | |
46e113bf CF |
147 | upvar dg-do-what dg-do-what |
148 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
149 | return | |
150 | } | |
151 | return | |
152 | } | |
83b83ae9 | 153 | |
959d14e1 CF |
154 | proc dg-require-sched-yield { args } { |
155 | if { ![ check_v3_target_sched_yield ] } { | |
156 | upvar dg-do-what dg-do-what | |
157 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
158 | return | |
159 | } | |
160 | return | |
161 | } | |
162 | ||
83b83ae9 PC |
163 | proc dg-require-string-conversions { args } { |
164 | if { ![ check_v3_target_string_conversions ] } { | |
165 | upvar dg-do-what dg-do-what | |
166 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
167 | return | |
168 | } | |
169 | return | |
170 | } | |
2e0814c8 JM |
171 | |
172 | proc dg-require-swprintf { args } { | |
173 | if { ![ check_v3_target_swprintf ] } { | |
174 | upvar dg-do-what dg-do-what | |
175 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
176 | return | |
177 | } | |
178 | return | |
179 | } | |
f16fd827 JM |
180 | |
181 | proc dg-require-binary-io { args } { | |
182 | if { ![ check_v3_target_binary_io ] } { | |
183 | upvar dg-do-what dg-do-what | |
184 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
185 | return | |
186 | } | |
187 | return | |
188 | } | |
bd9b2e53 | 189 | |
43653c33 JW |
190 | proc dg-require-nprocs { args } { |
191 | if { ![ check_v3_target_nprocs ] } { | |
192 | upvar dg-do-what dg-do-what | |
193 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
194 | return | |
195 | } | |
196 | return | |
197 | } | |
198 | ||
6d0f7cac BK |
199 | proc dg-require-static-libstdcxx { args } { |
200 | if { ![ check_v3_target_static_libstdcxx ] } { | |
201 | upvar dg-do-what dg-do-what | |
202 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
203 | return | |
204 | } | |
205 | return | |
206 | } | |
207 | ||
eeeef8f4 PC |
208 | proc dg-require-little-endian { args } { |
209 | if { ![ check_v3_target_little_endian ] } { | |
210 | upvar dg-do-what dg-do-what | |
211 | set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] | |
212 | return | |
213 | } | |
214 | return | |
215 | } | |
216 | ||
bd9b2e53 JJ |
217 | proc add_options_for_no_pch { flags } { |
218 | # This forces any generated and possibly included PCH to be invalid. | |
219 | return "-D__GLIBCXX__=99999999" | |
220 | } | |
c0f6f2b4 KT |
221 | |
222 | # Like dg-options, but adds to the default options rather than replacing them. | |
223 | ||
224 | proc dg-additional-options { args } { | |
225 | upvar dg-extra-tool-flags extra-tool-flags | |
226 | ||
227 | if { [llength $args] > 3 } { | |
228 | error "[lindex $args 0]: too many arguments" | |
229 | return | |
230 | } | |
231 | ||
232 | if { [llength $args] >= 3 } { | |
233 | switch [dg-process-target [lindex $args 2]] { | |
234 | "S" { eval lappend extra-tool-flags [lindex $args 1] } | |
235 | "N" { } | |
236 | "F" { error "[lindex $args 0]: `xfail' not allowed here" } | |
237 | "P" { error "[lindex $args 0]: `xfail' not allowed here" } | |
238 | } | |
239 | } else { | |
240 | eval lappend extra-tool-flags [lindex $args 1] | |
241 | } | |
242 | } |