]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/lib/dg-options.exp
50594.cc: For mingw-targets use only static libstdc++-version.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / lib / dg-options.exp
CommitLineData
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
19proc 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
28proc 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
37proc 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
46proc 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
55proc 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
64proc 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 73proc 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
82proc 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
91proc 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
100proc 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
109proc 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
118proc 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
127proc 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
136proc 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
145proc 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
154proc 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
163proc 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
172proc 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
181proc 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
190proc 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
199proc 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
208proc 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
217proc 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
224proc 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}