1 # Handlers
for additional dg
-xxx keywords in tests.
3 # Copyright
(C
) 2004-2014 Free Software Foundation
, Inc.
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.
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.
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
/>.
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
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"]
118 proc dg
-require
-thread
-fence
{ args } {
119 if { ![ check_v3_target_thread_fence
] } {
120 upvar dg
-do-what dg
-do-what
121 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
127 proc dg
-require
-atomic
-builtins
{ args } {
128 if { ![ check_v3_target_atomic_builtins
] } {
129 upvar dg
-do-what dg
-do-what
130 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
136 proc dg
-require
-gthreads
{ args } {
137 if { ![ check_v3_target_gthreads
] } {
138 upvar dg
-do-what dg
-do-what
139 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
145 proc dg
-require
-gthreads
-timed
{ args } {
146 if { ![ check_v3_target_gthreads_timed
] } {
147 upvar dg
-do-what dg
-do-what
148 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
154 proc dg
-require
-sleep { args } {
155 if { ![ check_v3_target_sleep
] } {
156 upvar dg
-do-what dg
-do-what
157 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
163 proc dg
-require
-sched
-yield
{ args } {
164 if { ![ check_v3_target_sched_yield
] } {
165 upvar dg
-do-what dg
-do-what
166 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
172 proc dg
-require
-string
-conversions
{ args } {
173 if { ![ check_v3_target_string_conversions
] } {
174 upvar dg
-do-what dg
-do-what
175 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
181 proc dg
-require
-swprintf
{ args } {
182 if { ![ check_v3_target_swprintf
] } {
183 upvar dg
-do-what dg
-do-what
184 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
190 proc dg
-require
-binary
-io
{ args } {
191 if { ![ check_v3_target_binary_io
] } {
192 upvar dg
-do-what dg
-do-what
193 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
199 proc dg
-require
-nprocs
{ args } {
200 if { ![ check_v3_target_nprocs
] } {
201 upvar dg
-do-what dg
-do-what
202 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
208 proc dg
-require
-static
-libstdcxx
{ args } {
209 if { ![ check_v3_target_static_libstdcxx
] } {
210 upvar dg
-do-what dg
-do-what
211 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
217 proc dg
-require
-little
-endian
{ args } {
218 if { ![ check_v3_target_little_endian
] } {
219 upvar dg
-do-what dg
-do-what
220 set dg
-do-what
[list
[lindex $
{dg
-do-what
} 0] "N" "P"]
226 proc add_options_for_no_pch
{ flags
} {
227 # This forces
any generated and possibly included PCH to be invalid.
228 return "-D__GLIBCXX__=99999999"
231 # Like dg
-options
, but adds to the default options rather than replacing them.
233 proc dg
-additional
-options
{ args } {
234 upvar dg
-extra
-tool
-flags extra
-tool
-flags
236 if { [llength $
args] > 3 } {
237 error
"[lindex $args 0]: too many arguments"
241 if { [llength $
args] >= 3 } {
242 switch [dg
-process
-target
[lindex $
args 2]] {
243 "S" { eval lappend extra-tool-flags [lindex $args 1] }
245 "F" { error "[lindex $args 0]: `xfail' not allowed here" }
246 "P" { error "[lindex $args 0]: `xfail' not allowed here" }
249 eval lappend extra
-tool
-flags
[lindex $
args 1]