1 # Copyright
(C
) 2004-2018 Free Software Foundation
, Inc.
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.
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.
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
/>.
17 #
Define obj-c
++ callbacks
for dg.exp.
21 proc
obj-c
++-dg
-test
{ prog do_what extra_tool_flags
} {
22 return [gcc
-dg
-test
-1 obj-c
++_target_compile $prog $do_what $extra_tool_flags
]
26 proc
obj-c
++-dg
-prune
{ system text } {
27 return [gcc
-dg
-prune $
system $
text]
30 # Modified dg
-runtest that can cycle through a list of optimization options
32 proc
obj-c
++-dg
-runtest
{ testcases flags default
-extra
-flags
} {
35 # Some callers
set torture options themselves
; don
't override those.
36 set existing_torture_options [torture-options-exist]
37 if { $existing_torture_options == 0 } {
38 global DG_TORTURE_OPTIONS LTO_TORTURE_OPTIONS
40 set-torture-options $DG_TORTURE_OPTIONS [list {}] $LTO_TORTURE_OPTIONS
44 foreach test $testcases {
45 global torture_with_loops torture_without_loops
46 # If we're only testing specific files and this isn
't one of
48 if ![runtest_file_p $runtests $test] {
52 # Look for a loop within the source code - if we don't find one
,
53 # don
't pass -funroll[-all]-loops.
54 if [expr [search_for $test "for*("]+[search_for $test "while*("]] {
55 set option_list $torture_with_loops
57 set option_list $torture_without_loops
60 set nshort [file tail [file dirname $test]]/[file tail $test]
62 foreach flags_t $option_list {
63 # combine flags so that dg-skip & xfail will see the extras.
64 set combined_flags "$flags $flags_t ${default-extra-flags}"
65 verbose "Testing $nshort, $combined_flags" 1
66 dg-test $test $combined_flags ""
70 if { $existing_torture_options == 0 } {