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