gcc-defs.exp: Load wrapper.exp.
authorHans-Peter Nilsson <hp@bitrange.com>
Mon, 13 Sep 2004 21:20:12 +0000 (21:20 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Mon, 13 Sep 2004 21:20:12 +0000 (21:20 +0000)
* lib/gcc-defs.exp: Load wrapper.exp.
* lib/g++.exp (g++_init): Call g++_maybe_build_wrapper instead of
using local code.
* lib/gcc.exp (gcc_init): Similar.
* lib/gfortran.exp (gfortran_init): Similar.
* lib/objc.exp (objc_init): Similar.
* lib/treelang.exp (treelang_init): Similar.
* lib/wrapper.exp: New file with build_wrapper call machinery in
${tool}_maybe_build_wrapper.

From-SVN: r87451

gcc/testsuite/ChangeLog
gcc/testsuite/lib/g++.exp
gcc/testsuite/lib/gcc-defs.exp
gcc/testsuite/lib/gcc.exp
gcc/testsuite/lib/gfortran.exp
gcc/testsuite/lib/objc.exp
gcc/testsuite/lib/treelang.exp
gcc/testsuite/lib/wrapper.exp [new file with mode: 0644]

index 4353e177c08be0ee908ddce58f475ff82307486f..2fa43121cfc5929e1734508e7bbbfa478222cd9a 100644 (file)
@@ -1,3 +1,15 @@
+2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * lib/gcc-defs.exp: Load wrapper.exp.
+       * lib/g++.exp (g++_init): Call g++_maybe_build_wrapper instead of
+       using local code.
+       * lib/gcc.exp (gcc_init): Similar.
+       * lib/gfortran.exp (gfortran_init): Similar.
+       * lib/objc.exp (objc_init): Similar.
+       * lib/treelang.exp (treelang_init): Similar.
+       * lib/wrapper.exp: New file with build_wrapper call machinery in
+       ${tool}_maybe_build_wrapper.
+
 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
 
        * gcc.dg/declspec-7.c: Don't expect diagnostic for duplicate
index df8e0a4b8f15c95b5e6adbd019eee56684e614c6..b863785ee38effc1f3f424e4f4c4b543aac79951 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004
 # Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -249,16 +249,7 @@ proc g++_init { args } {
        unset gluefile
     }
 
-    if { [target_info needs_status_wrapper] != "" } {
-       set gluefile ${tmpdir}/g++-testglue.o;
-       set result [build_wrapper $gluefile];
-       if { $result != "" } {
-           set gluefile [lindex $result 0];
-           set wrap_flags [lindex $result 1];
-       } else {
-           unset gluefile
-       }
-    }
+    g++_maybe_build_wrapper "${tmpdir}/g++-testglue.o"
 
     set ALWAYS_CXXFLAGS ""
 
index bb2369c21100b3e9a21b2a5198b5df1f7cdaaafd..740073fb8c83b5b34e8dc136adc860fefd370f26 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2004 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
@@ -14,6 +14,8 @@
 # along with this program; if not, write to the Free Software
 # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+load_lib wrapper.exp
+
 #
 # ${tool}_check_compile -- Reports and returns pass/fail for a compilation
 #
index 1741406b91de29d47872840472ccf3ea8bcd44ee..2f55338766689218dbec6bc53dd0bdb7f9e16af6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2003, 2004 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
@@ -106,18 +106,8 @@ proc gcc_init { args } {
     if ![info exists tmpdir] then {
        set tmpdir /tmp
     }
-    if {[target_info needs_status_wrapper] != "" && \
-           [target_info needs_status_wrapper] != "0" && \
-           ![info exists gluefile]} {
-       set gluefile ${tmpdir}/gcc-testglue.o;
-       set result [build_wrapper $gluefile];
-       if { $result != "" } {
-           set gluefile [lindex $result 0];
-           set wrap_flags [lindex $result 1];
-       } else {
-           unset gluefile
-       }
-    }
+
+    gcc_maybe_build_wrapper "${tmpdir}/gcc-testglue.o"
 }
 
 #
index 4303871e3f92c7dbb313d7081876447527e789fd..07787cc5bcced7cf2fa4262eccabe8c8297d9c86 100644 (file)
@@ -187,16 +187,7 @@ proc gfortran_init { args } {
        unset gluefile
     }
 
-    if { [target_info needs_status_wrapper] != "" } {
-       set gluefile ${tmpdir}/gfortran-testglue.o;
-       set result [build_wrapper $gluefile];
-       if { $result != "" } {
-           set gluefile [lindex $result 0];
-           set wrap_flags [lindex $result 1];
-       } else {
-           unset gluefile
-       }
-    }
+    gfortran_maybe_build_wrapper "${tmpdir}/gfortran-testglue.o"
 
     set ALWAYS_GFORTRANFLAGS ""
 
index a423758d2737f5115d7d41bfbda1d11756e3a987..d75cf1aaf8bbc63fe44e28d40f075df95583cb20 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 1993, 1994, 1996, 1997, 2000, 2001, 2002
+# Copyright (C) 1992, 1993, 1994, 1996, 1997, 2000, 2001, 2002, 2004
 # Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -107,16 +107,8 @@ proc objc_init { args } {
     if ![info exists tmpdir] then {
        set tmpdir /tmp
     }
-    if { [target_info needs_status_wrapper]!="" && ![info exists gluefile] } {
-       set gluefile ${tmpdir}/objc-testglue.o;
-       set result [build_wrapper $gluefile];
-       if { $result != "" } {
-           set gluefile [lindex $result 0];
-           set wrap_flags [lindex $result 1];
-       } else {
-           unset gluefile
-       }
-    }
+
+    objc_maybe_build_wrapper "${tmpdir}/objc-testglue.o"
 
     set objc_libgcc_s_path "${rootme}"
     set compiler [lindex $OBJC_UNDER_TEST 0]
index cea35268dabe2a21226bd9cd6c60ca769199a567..94bb8a0b115bbd0d1c6f7cbb68113bd9d93d32d0 100644 (file)
@@ -104,16 +104,8 @@ proc treelang_init { args } {
     if ![info exists tmpdir] then {
        set tmpdir /tmp
     }
-    if { [target_info needs_status_wrapper]!="" && ![info exists gluefile] } {
-       set gluefile ${tmpdir}/treelang-testglue.o;
-       set result [build_wrapper $gluefile];
-       if { $result != "" } {
-           set gluefile [lindex $result 0];
-           set wrap_flags [lindex $result 1];
-       } else {
-           unset gluefile
-       }
-    }
+
+    treelang_maybe_build_wrapper "${tmpdir}/treelang-testglue.o"
 
     set treelang_libgcc_s_path "${rootme}"
     set compiler [lindex $TREELANG_UNDER_TEST 0]
diff --git a/gcc/testsuite/lib/wrapper.exp b/gcc/testsuite/lib/wrapper.exp
new file mode 100644 (file)
index 0000000..6dd990c
--- /dev/null
@@ -0,0 +1,42 @@
+#   Copyright (C) 2004 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.  
+
+# This file contains GCC-specifics for status wrappers for test programs.
+
+# ${tool}_maybe_build_wrapper -- Build wrapper object if the target needs it.
+
+proc ${tool}_maybe_build_wrapper { filename } {
+    global gluefile wrap_flags
+
+    if { [target_info needs_status_wrapper] != "" \
+        && [target_info needs_status_wrapper] != "0" \
+        && ![info exists gluefile] } {
+       set saved_wrap_compile_flags [target_info wrap_compile_flags]
+       # The wrapper code may contain code that gcc objects on.  This
+       # became true for dejagnu-1.4.4.  The set of warnings and code
+       # that gcc objects on may change, so just make sure -w is always
+       # passed to turn off all warnings.
+       set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags -w"
+       set result [build_wrapper $filename];
+       set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags"
+       if { $result != "" } {
+           set gluefile [lindex $result 0];
+           set wrap_flags [lindex $result 1];
+       } else {
+           unset gluefile
+       }
+    }
+}