libstdc++-v3-dg.exp: Rename...
authorPhil Edwards <pme@gcc.gnu.org>
Fri, 1 Aug 2003 00:49:14 +0000 (00:49 +0000)
committerPhil Edwards <pme@gcc.gnu.org>
Fri, 1 Aug 2003 00:49:14 +0000 (00:49 +0000)
2003-07-31  Phil Edwards  <pme@gcc.gnu.org>

* testsuite/lib/libstdc++-v3-dg.exp:  Rename...
* testsuite/lib/libstdc++-v3.exp:  ...to this.
* testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.

From-SVN: r70033

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp [deleted file]
libstdc++-v3/testsuite/lib/libstdc++-v3.exp
libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp

index 1c8b16c5431d9296dd642f499aef0c1736d54a08..fd038fb810fbd33bad786b73558d44bdbef3471f 100644 (file)
@@ -1,3 +1,9 @@
+2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
+
+       * testsuite/lib/libstdc++-v3-dg.exp:  Rename...
+       * testsuite/lib/libstdc++-v3.exp:  ...to this.
+       * testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
+
 2003-07-31  Doug Gregor  <dgregor@apple.com>
 
        Add user specialization tests.
diff --git a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp
deleted file mode 100644 (file)
index 8c296d6..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright (C) 2001, 2002, 2003 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.  
-
-# Define libstdc++-v3 callbacks for dg.exp.
-
-load_lib dg.exp
-load_lib libgloss.exp
-load_lib prune.exp
-
-# Called once, by libstdc++-v3-init below.  "Static" to this file.
-proc libstdc++-v3-copy-files {srcfiles dstdir} {
-    foreach f $srcfiles {
-       if { [catch { set symlink [file readlink $f] } x] } then {
-           file copy -force $f $dstdir
-       } else {
-           if { [regexp "^/" "$symlink"] } then {
-               file copy -force $symlink $dstdir
-           } else {
-               set dirname [file dirname $f]
-               file copy -force $dirname/$symlink $dstdir
-           }
-       }
-    }
-}
-
-# Called once, from libstdc++-v3.dg/dg.exp.
-proc libstdc++-v3-init { args } {
-    global srcdir
-    global outdir
-    global blddir
-    global cxx
-    global includes
-    global cxxflags
-    global objdir
-    global gluefile wrap_flags
-    global ld_library_path
-    global tool_root_dir
-
-    set blddir [lookfor_file [get_multilibs] libstdc++-v3]
-
-    # By default, we assume we want to run program images.
-    global dg-do-what-default
-    set dg-do-what-default run
-
-    # Copy any required data files.
-    libstdc++-v3-copy-files [glob -nocomplain "$srcdir/data/*.tst"] $outdir
-    libstdc++-v3-copy-files [glob -nocomplain "$srcdir/data/*.txt"] $outdir
-
-    # set LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found.
-    # locate libgcc.a so we don't need to account for different values of
-    # SHLIB_EXT on different platforms
-    set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
-    if {$gccdir != ""} {
-       set gccdir [file dirname $gccdir]
-    }
-
-    set ld_library_path "."
-    append ld_library_path ":${gccdir}"
-    set compiler ${gccdir}/g++
-    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 ${gccdir}/${mldir}/libgcc_s*.so.*]] == 1 } {
-         append ld_library_path ":${gccdir}/${mldir}"
-       }
-      }
-    }
-    append ld_library_path ":${blddir}/src/.libs"
-
-    # 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
-    setenv  LD_RUN_PATH         $ld_library_path
-    verbose -log "Set LD_*_PATHs to ${ld_library_path}"
-
-    # Do a bunch of handstands and backflips for cross compiling and
-    # finding simulators...
-    if [is_remote host] {
-        set header [remote_download host ${blddir}/testsuite/testsuite_hooks.h]
-        if { $header == "" } {
-            verbose -log "Unable to download ${blddir}/testsuite/testsuite_hooks.h to host."
-            return "untested"
-        }
-      set cxx [transform "g++"]
-      set cxxflags "-ggdb3 -D_GLIBCXX_ASSERT"
-      set includes "-I./"
-    } else {
-        # If we find a testsuite_flags file, we're testing in the build dir.
-        set flags_file "${blddir}/scripts/testsuite_flags"
-        if { [file exists $flags_file] } {
-            set cxx [exec sh $flags_file --build-cxx]
-            set cxxflags [exec sh $flags_file --cxxflags]
-            set includes [exec sh $flags_file --build-includes]
-        } else {
-            set cxx [transform "g++"]
-            set cxxflags "-ggdb3 -D_GLIBCXX_ASSERT"
-            set includes "-I${srcdir}"
-        }
-    }
-
-    if { [target_info needs_status_wrapper]!=""} {
-      file delete ${objdir}/testglue.o;
-      set gluefile ${objdir}/testglue.o;
-      set result [build_wrapper $gluefile];
-      if { $result != "" } {
-          set gluefile [lindex $result 0];
-          set wrap_flags [lindex $result 1];
-      } else {
-          unset gluefile
-      }
-    }
-}
-
-# Callback from system dg-test.
-proc libstdc++-v3-dg-test { prog do_what extra_tool_flags } {
-    # Set up the compiler flags, based on what we're going to do.
-
-    switch $do_what {
-       "preprocess" {
-           set compile_type "preprocess"
-           set output_file "[file rootname [file tail $prog]].i"
-       }
-       "compile" {
-           set compile_type "assembly"
-           set output_file "[file rootname [file tail $prog]].s"
-       }
-       "assemble" {
-           set compile_type "object"
-           set output_file "[file rootname [file tail $prog]].o"
-       }
-       "link" {
-           set compile_type "executable"
-           set output_file "./[file rootname [file tail $prog]].exe"
-       }
-       "run" {
-           set compile_type "executable"
-           # FIXME: "./" is to cope with "." not being in $PATH.
-           # Should this be handled elsewhere?
-           # YES.
-           set output_file "./[file rootname [file tail $prog]].exe"
-           # This is the only place where we care if an executable was
-           # created or not.  If it was, dg.exp will try to run it.
-           remote_file build delete $output_file;
-       }
-       default {
-           perror "$do_what: not a valid dg-do keyword"
-           return ""
-       }
-    }
-    set options ""
-    if { $extra_tool_flags != "" } {
-       lappend options "additional_flags=$extra_tool_flags"
-    }
-
-    set comp_output [libstdc++-v3_target_compile "$prog" "$output_file" "$compile_type" $options];
-    set comp_output [ prune_g++_output $comp_output ];
-
-    return [list $comp_output $output_file]
-}
-
-# Called from libstdc++-v3-dg-test above.  Calls back into system's
-# target_compile to actually do the work.
-proc libstdc++-v3_target_compile { source dest type options } {
-    global gluefile 
-    global wrap_flags
-    global cxx
-    global cxxflags
-    global includes
-    global blddir
-
-    if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
-       lappend options "libs=${gluefile}"
-       lappend options "ldflags=${wrap_flags}"
-    }
-
-    set cxx_final $cxx
-    set cxxlibglossflags  [libgloss_link_flags]
-    set cxx_final [concat $cxx_final $cxxlibglossflags]
-    set cxx_final [concat $cxx_final $cxxflags]
-    set cxx_final [concat $cxx_final $includes]
-
-    lappend options "compiler=$cxx_final"
-
-    # Picks up the freshly-built testsuite library corresponding to the
-    # multilib under test.
-    lappend options "ldflags=-L${blddir}/testsuite"
-    lappend options "libs=-lv3test"
-
-    return [target_compile $source $dest $type $options]
-}
-
-
-# Called once, from libstdc++-v3.dg/dg.exp.
-proc v3-list-tests { filename } {
-    global srcdir
-    global outdir
-    
-    set tests_file "${outdir}/${filename}"
-    set sfiles ""
-
-    # If there is a testsuite_file, use it. 
-    if { [file exists $tests_file] } {
-       set f [open $tests_file]
-       while { ! [eof $f] } {
-           set t [gets $f]
-           if { [string length "$t"] != 0 } {
-               lappend sfiles  ${srcdir}/${t}
-           }
-       } 
-       close $f
-    } else {
-       verbose "cannot open $tests_file"
-    }
-    return $sfiles
-}
index bc3467dd9e927d6743e85dfde7f2e40ea76d321f..8c296d6ff5e0b36fad918f427ad0edaad1d2f3e2 100644 (file)
@@ -1,7 +1,240 @@
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
 
-# This is the "tool init file" for libstdc++-v3.  There's nothing here.
-# It's simply a placeholder for two reasons.  First, to show where we would
-# put things, in case we ever want to take advantage of the tool init file.
-# Second, to make dejagnu shut up about "WARNING could not find tool init
-# file," which is harmless but tends to scare/confuse people.
+# 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.  
 
+# Define libstdc++-v3 callbacks for dg.exp.
+
+load_lib dg.exp
+load_lib libgloss.exp
+load_lib prune.exp
+
+# Called once, by libstdc++-v3-init below.  "Static" to this file.
+proc libstdc++-v3-copy-files {srcfiles dstdir} {
+    foreach f $srcfiles {
+       if { [catch { set symlink [file readlink $f] } x] } then {
+           file copy -force $f $dstdir
+       } else {
+           if { [regexp "^/" "$symlink"] } then {
+               file copy -force $symlink $dstdir
+           } else {
+               set dirname [file dirname $f]
+               file copy -force $dirname/$symlink $dstdir
+           }
+       }
+    }
+}
+
+# Called once, from libstdc++-v3.dg/dg.exp.
+proc libstdc++-v3-init { args } {
+    global srcdir
+    global outdir
+    global blddir
+    global cxx
+    global includes
+    global cxxflags
+    global objdir
+    global gluefile wrap_flags
+    global ld_library_path
+    global tool_root_dir
+
+    set blddir [lookfor_file [get_multilibs] libstdc++-v3]
+
+    # By default, we assume we want to run program images.
+    global dg-do-what-default
+    set dg-do-what-default run
+
+    # Copy any required data files.
+    libstdc++-v3-copy-files [glob -nocomplain "$srcdir/data/*.tst"] $outdir
+    libstdc++-v3-copy-files [glob -nocomplain "$srcdir/data/*.txt"] $outdir
+
+    # set LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found.
+    # locate libgcc.a so we don't need to account for different values of
+    # SHLIB_EXT on different platforms
+    set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
+    if {$gccdir != ""} {
+       set gccdir [file dirname $gccdir]
+    }
+
+    set ld_library_path "."
+    append ld_library_path ":${gccdir}"
+    set compiler ${gccdir}/g++
+    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 ${gccdir}/${mldir}/libgcc_s*.so.*]] == 1 } {
+         append ld_library_path ":${gccdir}/${mldir}"
+       }
+      }
+    }
+    append ld_library_path ":${blddir}/src/.libs"
+
+    # 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
+    setenv  LD_RUN_PATH         $ld_library_path
+    verbose -log "Set LD_*_PATHs to ${ld_library_path}"
+
+    # Do a bunch of handstands and backflips for cross compiling and
+    # finding simulators...
+    if [is_remote host] {
+        set header [remote_download host ${blddir}/testsuite/testsuite_hooks.h]
+        if { $header == "" } {
+            verbose -log "Unable to download ${blddir}/testsuite/testsuite_hooks.h to host."
+            return "untested"
+        }
+      set cxx [transform "g++"]
+      set cxxflags "-ggdb3 -D_GLIBCXX_ASSERT"
+      set includes "-I./"
+    } else {
+        # If we find a testsuite_flags file, we're testing in the build dir.
+        set flags_file "${blddir}/scripts/testsuite_flags"
+        if { [file exists $flags_file] } {
+            set cxx [exec sh $flags_file --build-cxx]
+            set cxxflags [exec sh $flags_file --cxxflags]
+            set includes [exec sh $flags_file --build-includes]
+        } else {
+            set cxx [transform "g++"]
+            set cxxflags "-ggdb3 -D_GLIBCXX_ASSERT"
+            set includes "-I${srcdir}"
+        }
+    }
+
+    if { [target_info needs_status_wrapper]!=""} {
+      file delete ${objdir}/testglue.o;
+      set gluefile ${objdir}/testglue.o;
+      set result [build_wrapper $gluefile];
+      if { $result != "" } {
+          set gluefile [lindex $result 0];
+          set wrap_flags [lindex $result 1];
+      } else {
+          unset gluefile
+      }
+    }
+}
+
+# Callback from system dg-test.
+proc libstdc++-v3-dg-test { prog do_what extra_tool_flags } {
+    # Set up the compiler flags, based on what we're going to do.
+
+    switch $do_what {
+       "preprocess" {
+           set compile_type "preprocess"
+           set output_file "[file rootname [file tail $prog]].i"
+       }
+       "compile" {
+           set compile_type "assembly"
+           set output_file "[file rootname [file tail $prog]].s"
+       }
+       "assemble" {
+           set compile_type "object"
+           set output_file "[file rootname [file tail $prog]].o"
+       }
+       "link" {
+           set compile_type "executable"
+           set output_file "./[file rootname [file tail $prog]].exe"
+       }
+       "run" {
+           set compile_type "executable"
+           # FIXME: "./" is to cope with "." not being in $PATH.
+           # Should this be handled elsewhere?
+           # YES.
+           set output_file "./[file rootname [file tail $prog]].exe"
+           # This is the only place where we care if an executable was
+           # created or not.  If it was, dg.exp will try to run it.
+           remote_file build delete $output_file;
+       }
+       default {
+           perror "$do_what: not a valid dg-do keyword"
+           return ""
+       }
+    }
+    set options ""
+    if { $extra_tool_flags != "" } {
+       lappend options "additional_flags=$extra_tool_flags"
+    }
+
+    set comp_output [libstdc++-v3_target_compile "$prog" "$output_file" "$compile_type" $options];
+    set comp_output [ prune_g++_output $comp_output ];
+
+    return [list $comp_output $output_file]
+}
+
+# Called from libstdc++-v3-dg-test above.  Calls back into system's
+# target_compile to actually do the work.
+proc libstdc++-v3_target_compile { source dest type options } {
+    global gluefile 
+    global wrap_flags
+    global cxx
+    global cxxflags
+    global includes
+    global blddir
+
+    if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
+       lappend options "libs=${gluefile}"
+       lappend options "ldflags=${wrap_flags}"
+    }
+
+    set cxx_final $cxx
+    set cxxlibglossflags  [libgloss_link_flags]
+    set cxx_final [concat $cxx_final $cxxlibglossflags]
+    set cxx_final [concat $cxx_final $cxxflags]
+    set cxx_final [concat $cxx_final $includes]
+
+    lappend options "compiler=$cxx_final"
+
+    # Picks up the freshly-built testsuite library corresponding to the
+    # multilib under test.
+    lappend options "ldflags=-L${blddir}/testsuite"
+    lappend options "libs=-lv3test"
+
+    return [target_compile $source $dest $type $options]
+}
+
+
+# Called once, from libstdc++-v3.dg/dg.exp.
+proc v3-list-tests { filename } {
+    global srcdir
+    global outdir
+    
+    set tests_file "${outdir}/${filename}"
+    set sfiles ""
+
+    # If there is a testsuite_file, use it. 
+    if { [file exists $tests_file] } {
+       set f [open $tests_file]
+       while { ! [eof $f] } {
+           set t [gets $f]
+           if { [string length "$t"] != 0 } {
+               lappend sfiles  ${srcdir}/${t}
+           }
+       } 
+       close $f
+    } else {
+       verbose "cannot open $tests_file"
+    }
+    return $sfiles
+}
index aa04dd60398a7813cc64709f5117c926f3b10a60..03b7f8b5e1aea52916d4515a94d979bdbfd0a362 100644 (file)
 
 # libstdc++-v3 testsuite that uses the 'dg.exp' driver.
 
-# Load support procs.
-load_lib libstdc++-v3-dg.exp
-
 # If a testcase doesn't have special options, use these.
 global DEFAULT_CXXFLAGS
 if ![info exists DEFAULT_CXXFLAGS] then {
     set DEFAULT_CXXFLAGS "-D_GLIBCXX_ASSERT"
 }
 
-# Initialize 'dg' last or dejagnu exits with an error...
+# Initialization.
 dg-init
 libstdc++-v3-init