* 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
+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
-# 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
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 ""
-# 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
# 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
#
-# 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
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"
}
#
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 ""
-# 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
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]
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]
--- /dev/null
+# 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
+ }
+ }
+}