X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Ftestsuite%2Flib%2Fg%2B%2B.exp;fp=gcc%2Ftestsuite%2Flib%2Fg%2B%2B.exp;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=4fb903eed66eb5ba68ab78a4b0bae4a6cd7ba7f6;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp deleted file mode 100644 index 4fb903ee..00000000 --- a/gcc/testsuite/lib/g++.exp +++ /dev/null @@ -1,332 +0,0 @@ -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002 -# 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# This file was written by Rob Savoye (rob@cygnus.com) -# Many modifications by Jeffrey Wheat (cassidy@cygnus.com) -# With modifications by Mike Stump . - -# -# g++ support library routines -# -load_lib prune.exp -load_lib gcc-defs.exp - -# -# GXX_UNDER_TEST is the compiler under test. -# - - -set gpp_compile_options "" - - -# -# g++_version -- extract and print the version number of the compiler -# - -proc g++_version { } { - global GXX_UNDER_TEST - - g++_init - - # ignore any arguments after the command - set compiler [lindex $GXX_UNDER_TEST 0] - - # verify that the compiler exists - if { [is_remote host] || [which $compiler] != 0 } then { - set tmp [remote_exec host "$compiler -v"] - set status [lindex $tmp 0]; - set output [lindex $tmp 1]; - regexp "version.*$" $output version - if { $status == 0 && [info exists version] } then { - if [is_remote host] { - clone_output "$compiler $version\n" - } else { - clone_output "[which $compiler] $version\n" - } - } else { - clone_output "Couldn't determine version of [which $compiler]\n" - } - } else { - # compiler does not exist (this should have already been detected) - warning "$compiler does not exist" - } -} - -# -# g++_include_flags -- provide new version of g++_include_flags -# (originally from libgloss.exp) which knows about the gcc tree structure -# -proc g++_include_flags { paths } { - global srcdir - global HAVE_LIBSTDCXX_V3 - global TESTING_IN_BUILD_TREE - - set flags "" - - if { [is_remote host] || ! [info exists TESTING_IN_BUILD_TREE] } { - return "${flags}" - } - - set dir [lookfor_file ${srcdir} libg++] - if { ${dir} != "" } { - append flags "-I${dir} -I${dir}/src " - } - - set gccpath ${paths} - - if { ${HAVE_LIBSTDCXX_V3} } { - set odir_v3 [lookfor_file ${gccpath} libstdc++-v3] - append flags [exec sh ${odir_v3}/testsuite_flags --build-includes] - } else { - set odir_v2 [lookfor_file ${gccpath} libstdc++] - set sdir_v2 [lookfor_file ${srcdir} libstdc++] - append flags "-I${sdir_v2} -I${sdir_v2}/stl " - } - - return "$flags" -} - -# -# g++_link_flags -- provide new version of g++_link_flags -# (originally from libgloss.exp) which knows about the gcc tree structure -# - -proc g++_link_flags { paths } { - global rootme - global srcdir - global ld_library_path - global GXX_UNDER_TEST - - set gccpath ${paths} - set libio_dir "" - set flags "" - set ld_library_path "." - - if { $gccpath != "" } { - if [file exists "${gccpath}/lib/libstdc++.a"] { - append ld_library_path ":${gccpath}/lib" - } - if [file exists "${gccpath}/libg++/libg++.a"] { - append flags "-L${gccpath}/libg++ " - append ld_library_path ":${gccpath}/libg++" - } - if [file exists "${gccpath}/libstdc++/libstdc++.a"] { - append flags "-L${gccpath}/libstdc++ " - append ld_library_path ":${gccpath}/libstdc++" - } - if [file exists "${gccpath}/libstdc++-v3/src/.libs/libstdc++.a"] { - append flags " -L${gccpath}/libstdc++-v3/src/.libs " - append ld_library_path ":${gccpath}/libstdc++-v3/src/.libs" - } - if [file exists "${gccpath}/libiberty/libiberty.a"] { - append flags "-L${gccpath}/libiberty " - } - if [file exists "${gccpath}/librx/librx.a"] { - append flags "-L${gccpath}/librx " - } - append ld_library_path ":${rootme}" - set compiler [lindex $GXX_UNDER_TEST 0] - if { [is_remote host] == 0 && [which $compiler] != 0 } { - foreach i "[exec $compiler --print-multi-lib]" { - set mldir "" - regexp -- "\[a-z0-9=/\.-\]*;" $i mldir - set mldir [string trimright $mldir "\;@"] - if { "$mldir" == "." } { - continue - } - if { [llength [glob -nocomplain ${rootme}/${mldir}/libgcc_s*.so.*]] == 1 } { - append ld_library_path ":${rootme}/${mldir}" - } - } - } - } else { - global tool_root_dir; - - set libgpp [lookfor_file ${tool_root_dir} libg++]; - if { $libgpp != "" } { - append flags "-L${libgpp} "; - append ld_library_path ":${libgpp}" - } - set libstdcpp [lookfor_file ${tool_root_dir} libstdc++]; - if { $libstdcpp != "" } { - append flags "-L${libstdcpp} "; - append ld_library_path ":${libstdcpp}" - } - set libiberty [lookfor_file ${tool_root_dir} libiberty]; - if { $libiberty != "" } { - append flags "-L${libiberty} "; - } - set librx [lookfor_file ${tool_root_dir} librx]; - if { $librx != "" } { - append flags "-L${librx} "; - } - } - - # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but - # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH - # (for the 64-bit ABI). The right way to do this would be to modify - # unix.exp -- but that's not an option since it's part of DejaGNU - # proper, so we do it here. We really only need to do - # this on IRIX, but it shouldn't hurt to do it anywhere else. - setenv LD_LIBRARY_PATH $ld_library_path - setenv SHLIB_PATH $ld_library_path - setenv LD_LIBRARYN32_PATH $ld_library_path - setenv LD_LIBRARY64_PATH $ld_library_path - - return "$flags" -} - -# -# g++_init -- called at the start of each subdir of tests -# - -proc g++_init { args } { - global subdir - global gpp_initialized - global base_dir - global tmpdir - global libdir - global gluefile wrap_flags; - global objdir srcdir - global ALWAYS_CXXFLAGS - global TOOL_EXECUTABLE TOOL_OPTIONS - global GXX_UNDER_TEST - global TESTING_IN_BUILD_TREE - - if ![info exists GXX_UNDER_TEST] then { - if [info exists TOOL_EXECUTABLE] { - set GXX_UNDER_TEST $TOOL_EXECUTABLE; - } else { - if { [is_remote host] || ! [info exists TESTING_IN_BUILD_TREE] } { - set GXX_UNDER_TEST [transform c++] - } else { - set GXX_UNDER_TEST [findfile $base_dir/../g++ "$base_dir/../g++ -B$base_dir/../" [findfile $base_dir/g++ "$base_dir/g++ -B$base_dir/" [transform c++]]] - } - } - } - - # Bleah, nasty. Bad taste. - if [ishost "*-dos-*" ] { - regsub "c\\+\\+" "$GXX_UNDER_TEST" "gcc" GXX_UNDER_TEST - } - - if ![is_remote host] { - if { [which $GXX_UNDER_TEST] == 0 } then { - perror "GXX_UNDER_TEST ($GXX_UNDER_TEST) does not exist" - exit 1 - } - } - if ![info exists tmpdir] { - set tmpdir "/tmp" - } - - if [info exists gluefile] { - unset gluefile - } - - if { [target_info needs_status_wrapper] != "" } { - set gluefile ${tmpdir}/testglue.o; - set result [build_wrapper $gluefile]; - if { $result != "" } { - set gluefile [lindex $result 0]; - set wrap_flags [lindex $result 1]; - } else { - unset gluefile - } - } - - set ALWAYS_CXXFLAGS "" - - if ![is_remote host] { - if [info exists TOOL_OPTIONS] { - lappend ALWAYS_CXXFLAGS "additional_flags=[g++_include_flags [get_multilibs ${TOOL_OPTIONS}] ]"; - lappend ALWAYS_CXXFLAGS "ldflags=[g++_link_flags [get_multilibs ${TOOL_OPTIONS}] ]"; - } else { - lappend ALWAYS_CXXFLAGS "additional_flags=[g++_include_flags [get_multilibs] ]"; - lappend ALWAYS_CXXFLAGS "ldflags=[g++_link_flags [get_multilibs] ]"; - } - } - - if [info exists TOOL_OPTIONS] { - lappend ALWAYS_CXXFLAGS "additional_flags=$TOOL_OPTIONS"; - } - - # Make sure that lines are not wrapped. That can confuse the - # error-message parsing machinery. - lappend ALWAYS_CXXFLAGS "additional_flags=-fmessage-length=0" - - verbose -log "ALWAYS_CXXFLAGS set to $ALWAYS_CXXFLAGS" - - verbose "g++ is initialized" 3 -} - -# -# g++_target_compile -- compile a source file -# - -proc g++_target_compile { source dest type options } { - global tmpdir; - global gpp_compile_options - global gluefile wrap_flags - global ALWAYS_CXXFLAGS; - global GXX_UNDER_TEST; - - if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } { - lappend options "libs=${gluefile}" - lappend options "ldflags=${wrap_flags}" - } - - lappend options "additional_flags=[libio_include_flags]" - lappend options "compiler=$GXX_UNDER_TEST"; - - set options [concat $gpp_compile_options $options] - - set options [concat "$ALWAYS_CXXFLAGS" $options]; - - if { [regexp "(^| )-frepo( |$)" $options] && \ - [regexp "\.o(|bj)$" $dest] } then { - regsub "\.o(|bj)$" $dest ".rpo" rponame - exec rm -f $rponame - } - - return [target_compile $source $dest $type $options] -} - -# -# ${tool}_option_help -# - -proc ${tool}_option_help { } { - send_user " --additional_options,OPTIONS\t\tUse OPTIONS to compile the testcase files. OPTIONS should be comma-separated.\n" -} - -# -# ${tool}_option_proc -# - -proc ${tool}_option_proc { option } { - if [regexp "^--additional_options," $option] { - global gpp_compile_options - regsub "--additional_options," $option "" option - foreach x [split $option ","] { - lappend gpp_compile_options "additional_flags=$x" - } - return 1; - } else { - return 0 - } -}