Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / libstdc++-v3 / testsuite / lib / dg-options.exp
1 # Handlers for additional dg-xxx keywords in tests.
2
3 # Copyright (C) 2004-2013 Free Software Foundation, Inc.
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
7 # the Free Software Foundation; either version 3 of the License, or
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
16 # along with this program; see the file COPYING3.  If not see
17 # <http://www.gnu.org/licenses/>.
18
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 }
27
28 proc dg-require-debug-mode { args } {
29     if { ![ check_v3_target_debug_mode ] } {
30         upvar dg-do-what dg-do-what
31         set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
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"]
41         return
42     }
43     return
44 }
45
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
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
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
73 proc dg-require-namedlocale { args } {
74     if { ![ check_v3_target_namedlocale [lindex $args 1] ] } {
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
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 }
90
91 proc dg-require-time { args } {
92     if { ![ check_v3_target_time ] } {
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 }
99
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 }
108
109 proc dg-require-cmath { args } {
110     if { ![ check_v3_target_cmath ] } {
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
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 }
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 }
135
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
145 proc dg-require-sleep { args } {
146     if { ![ check_v3_target_sleep ] } {
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 }
153
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
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 }
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 }
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 }
189
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
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
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
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 }