aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@bitrange.com>2004-09-13 21:20:12 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2004-09-13 21:20:12 +0000
commit8800e5337abb2a7e22f4cc4c24ab0dc835dca278 (patch)
treede0d3ebc37f5abf6a2ac64bcb89f39d9586bc58e /gcc/testsuite/lib
parent61f4f1cc3d363590bec97bc8fb035064d617bd73 (diff)
downloadgcc-8800e5337abb2a7e22f4cc4c24ab0dc835dca278.zip
gcc-8800e5337abb2a7e22f4cc4c24ab0dc835dca278.tar.gz
gcc-8800e5337abb2a7e22f4cc4c24ab0dc835dca278.tar.bz2
gcc-defs.exp: Load wrapper.exp.
* 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
Diffstat (limited to 'gcc/testsuite/lib')
-rw-r--r--gcc/testsuite/lib/g++.exp13
-rw-r--r--gcc/testsuite/lib/gcc-defs.exp4
-rw-r--r--gcc/testsuite/lib/gcc.exp16
-rw-r--r--gcc/testsuite/lib/gfortran.exp11
-rw-r--r--gcc/testsuite/lib/objc.exp14
-rw-r--r--gcc/testsuite/lib/treelang.exp12
-rw-r--r--gcc/testsuite/lib/wrapper.exp42
7 files changed, 56 insertions, 56 deletions
diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp
index df8e0a4..b863785 100644
--- a/gcc/testsuite/lib/g++.exp
+++ b/gcc/testsuite/lib/g++.exp
@@ -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 ""
diff --git a/gcc/testsuite/lib/gcc-defs.exp b/gcc/testsuite/lib/gcc-defs.exp
index bb2369c..740073f 100644
--- a/gcc/testsuite/lib/gcc-defs.exp
+++ b/gcc/testsuite/lib/gcc-defs.exp
@@ -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
#
diff --git a/gcc/testsuite/lib/gcc.exp b/gcc/testsuite/lib/gcc.exp
index 1741406..2f55338 100644
--- a/gcc/testsuite/lib/gcc.exp
+++ b/gcc/testsuite/lib/gcc.exp
@@ -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"
}
#
diff --git a/gcc/testsuite/lib/gfortran.exp b/gcc/testsuite/lib/gfortran.exp
index 4303871..07787cc 100644
--- a/gcc/testsuite/lib/gfortran.exp
+++ b/gcc/testsuite/lib/gfortran.exp
@@ -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 ""
diff --git a/gcc/testsuite/lib/objc.exp b/gcc/testsuite/lib/objc.exp
index a423758..d75cf1a 100644
--- a/gcc/testsuite/lib/objc.exp
+++ b/gcc/testsuite/lib/objc.exp
@@ -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]
diff --git a/gcc/testsuite/lib/treelang.exp b/gcc/testsuite/lib/treelang.exp
index cea3526..94bb8a0 100644
--- a/gcc/testsuite/lib/treelang.exp
+++ b/gcc/testsuite/lib/treelang.exp
@@ -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
index 0000000..6dd990c
--- /dev/null
+++ b/gcc/testsuite/lib/wrapper.exp
@@ -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
+ }
+ }
+}