⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libio.exp

📁 gcc编译工具没有什么特别
💻 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 + -