1# Copyright (C) 2010-2021 Free Software Foundation, Inc.
2
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.
7#
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.
12#
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/>.
16
17# GCC testsuite that uses the `dg.exp' driver.
18
19if ![istarget tic6x-*-*] then {
20  return
21}
22
23# Load support procs.
24load_lib gcc-dg.exp
25
26# Like dg-options, but treats certain C6X-specific options specially:
27#
28#    -march=*
29#	Select the target architecture. Skip the test if the multilib
30#	flags force a different arch.
31proc dg-c6x-options {args} {
32    upvar dg-extra-tool-flags extra_tool_flags
33    upvar dg-do-what do_what
34
35    set multilib_arch ""
36    set arch ""
37
38    foreach flag [target_info multilib_flags] {
39	regexp "^-march=(.*)" $flag dummy multilib_arch
40    }
41
42    set flags [lindex $args 1]
43
44    foreach flag $flags {
45	regexp "^-march=(.*)" $flag dummy arch
46    }
47
48    if {$multilib_arch == "" || $multilib_cpu == $arch} {
49	set extra_tool_flags $flags
50    } else {
51	set do_what [list [lindex $do_what 0] "N" "P"]
52    }
53}
54
55# Initialize `dg'.
56dg-init
57
58# Main loop.
59dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]]	"" ""
60
61# All done.
62dg-finish
63