📄 libio.exp
字号:
# Copyright (C) 1997 Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Please email any bugs, comments, and/or additions to this file to:# bug-lib-g++@prep.ai.mit.edu# This file was written by Bob Manson. (manson@cygnus.com)load_lib "libgloss.exp"global base_dirproc libio_init { args } { global wrapper_file; global wrap_compile_flags; set wrapper_file ""; set wrap_compile_flags ""; if [target_info exists needs_status_wrapper] { set result [build_wrapper "testglue.o"]; if { $result != "" } { set wrapper_file [lindex $result 0]; set wrap_compile_flags [lindex $result 1]; } else { warning "Status wrapper failed to build." } }}## Run the test specified by srcfile and resultfile. compile_args and# exec_args are additional arguments to be passed in when compiling and# running the testcase, respectively.#proc test_libio { srcfile compile_args inpfile resultfile exec_args } { global LIBIO global srcdir subdir objdir global TOOL_OPTIONS global wrapper_file wrap_compile_flags global ld_library_path if { $inpfile != "" } { set inpfile "$srcdir/../tests/$inpfile" } set args "" set ld_library_path "" lappend args "additional_flags=-O3"; lappend args "additional_flags=-I.. -I$srcdir/.." lappend args "additional_flags=$wrap_compile_flags"; lappend args "libs=$wrapper_file"; if { $compile_args != "" } { lappend args "additional_flags=$compile_args" } if [regexp "\.cc$" $srcfile] { lappend args "additional_flags=-nostdinc++" lappend args "additional_flags=[libstdc++_include_flags]"; lappend args "additional_flags=[libstdc++_link_flags]"; lappend args "libs=-lstdc++" } else { if [info exists LIBIO] { lappend args "libdir=$LIBIO" } else { lappend args "additional_flags=[libio_link_flags]"; } lappend args "additional_flags=[libio_link_flags]"; lappend args "libs=-lio" } if [target_info exists slow_simulator] then { lappend args "additional_flags=-DSLOW_SIMULATOR" } if [info exists TOOL_OPTIONS] { lappend args "additional_options=$TOOL_OPTIONS" } set gp [get_multilibs]; if { $gp != "" } { if [file exists $gp/libiberty/libiberty.a] { lappend args "libdir=$gp/libiberty"; set found_libiberty 1; } } if ![info exists found_libiberty] { set lib [lookfor_file "$objdir" "libiberty/libiberty.a"]; if { $lib != "" } { lappend args "libdir=[file dirname $lib]"; } } lappend args "libs=-liberty" lappend args "debug"; set errname "$srcfile" set srcfile "$srcdir/../tests/$srcfile" regsub "\\..*$" "[file tail $srcfile]" "" executable set executable "$objdir/$executable" if { [target_compile $srcfile $executable executable $args] != "" } { fail "$errname compilation $exec_args"; setup_xfail "*-*-*" fail "$errname execution $exec_args" if { $resultfile != "" } { setup_xfail "*-*-*" fail "$errname output $exec_args" } return; } pass "$errname compilation $exec_args" set result [libio_load $executable $exec_args $inpfile]; set status [lindex $result 0]; set output [lindex $result 1]; if { $status == "unsupported" } { unsupported "target does not support loading $srcfile" return; } if { $status != "pass" } { $status "$errname execution $exec_args" setup_xfail "*-*-*" fail "$errname output $exec_args" return; } pass "$errname execution $exec_args" if { $resultfile != "" } { set id [open $srcdir/../tests/$resultfile r]; set expected "" append expected [read $id]; verbose "expected is $expected" verbose "actual is $output" regsub -all "\r" $output "" output regsub "\n+$" $expected "" expected regsub "\n+$" $output "" output regsub "^\n+" $expected "" expected regsub "^\n+" $output "" output if { $expected == $output } { pass "$errname output $exec_args" } else { fail "$errname output $exec_args" } close $id; }}## libio_version -- extract and print the version number of libio#proc default_libio_version {} { global LIBIO}proc default_libio_start { } {}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -