1 # Copyright
(C
) 1997-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 g
++ callbacks
for dg.exp.
21 proc g
++-dg
-test
{ prog do_what extra_tool_flags
} {
22 return [gcc
-dg
-test
-1 g
++_target_compile $prog $do_what $extra_tool_flags
]
26 proc g
++-dg
-prune
{ system text } {
27 return [gcc
-dg
-prune $
system $
text]
30 # Modified dg
-runtest that runs tests in both C
++98 and C
++11 modes
31 # unless they specifically specify one or the other.
32 proc g
++-dg
-runtest
{ testcases flags default
-extra
-flags
} {
35 foreach test $testcases
{
36 #
If we
're only testing specific files and this isn't one of them
, skip it.
37 if ![runtest_file_p $runtests $test
] {
41 #
If the testcase specifies a standard
, use that one.
42 #
If not
, run it under both standards
, allowing GNU extensions
43 #
if there
's a dg-options line.
44 if ![search_for $test "-std=*++"] {
45 if [search_for $test "dg-options"] {
46 set std_prefix "-std=gnu++"
48 set std_prefix "-std=c++"
52 if { [llength $gpp_std_list] > 0 } {
53 set std_list $gpp_std_list
55 set std_list { 98 11 14 }
59 # Handle "concepts" as C++17 plus Concepts TS.
60 if { $x eq "concepts" } then { set x "17 -fconcepts" }
61 lappend option_list "${std_prefix}$x"
64 set option_list { "" }
67 set nshort [file tail [file dirname $test]]/[file tail $test]
69 foreach flags_t $option_list {
70 verbose "Testing $nshort, $flags $flags_t" 1
71 dg-test $test "$flags $flags_t" ${default-extra-flags}