1# 2# Expect driver script for GCC Regression Tests 3# Copyright (C) 1993-2021 Free Software Foundation, Inc. 4# 5# This file 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. 9# 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. 14# 15# You should have received a copy of the GNU General Public License 16# along with GCC; see the file COPYING3. If not see 17# <http://www.gnu.org/licenses/>. 18# 19# Written by Jeffrey Wheat (cassidy@cygnus.com) 20# 21 22# Load support procs. 23load_lib gcc-dg.exp 24load_lib torture-options.exp 25load_lib c-torture.exp 26 27# These tests come from Torbjorn Granlund's (tege@cygnus.com) 28# C torture test suite, and other contributors. 29 30# Disable tests on machines with no hardware support for IEEE arithmetic. 31if { [istarget "vax-*-*"] || [ istarget "powerpc-*-*spe"] || [istarget "pdp11-*-*"] } { return } 32 33if $tracelevel then { 34 strace $tracelevel 35} 36 37torture-init 38set-torture-options $C_TORTURE_OPTIONS {{}} $LTO_TORTURE_OPTIONS 39 40set additional_flags "-fno-inline" 41 42# We must use -ffloat-store/-mieee to ensure that excess precision on some 43# machines does not cause problems 44if { ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) 45 && [check_effective_target_ia32] } then { 46 lappend additional_flags "-ffloat-store" 47} 48if [istarget "m68k-*-*"] then { 49 lappend additional_flags "-ffloat-store" 50} 51if { [istarget "alpha*-*-*"] 52 || [istarget "sh*-*-*"] } then { 53 lappend additional_flags "-mieee" 54} 55 56if { ![check_effective_target_signal] } { 57 lappend additional_flags "-DSIGNAL_SUPPRESS" 58} 59 60# load support procs 61load_lib c-torture.exp 62 63# initialize harness 64gcc_init 65 66# 67# main test loop 68# 69 70foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] { 71 # If we're only testing specific files and this isn't one of them, skip it. 72 if ![runtest_file_p $runtests $src] then { 73 continue 74 } 75 76 c-torture-execute $src $additional_flags 77} 78 79# All done. 80torture-finish 81gcc_finish 82