aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanis Johnson <janis187@us.ibm.com>2009-03-17 17:35:55 +0000
committerJanis Johnson <janis@gcc.gnu.org>2009-03-17 17:35:55 +0000
commit4d936acaa49e7398be02d1cd74d17c6ac487479e (patch)
tree6df853bcedd0502074c26798cdab75a06af6912c /gcc
parent4e9b2e504ea95567611ee528794e6eac2098264e (diff)
downloadgcc-4d936acaa49e7398be02d1cd74d17c6ac487479e.zip
gcc-4d936acaa49e7398be02d1cd74d17c6ac487479e.tar.gz
gcc-4d936acaa49e7398be02d1cd74d17c6ac487479e.tar.bz2
re PR testsuite/38526 (WARNING: Could not compile gcc.dg/compat/struct-layout-1 generator)
gcc/ PR testsuite/38526 * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment its use. (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest. (check-parallel-%): Ditto. (check-consistency): Ditto. testsuite/ PR testsuite/38526 * lib/target-libpath.exp (set_ld_library_path_env_vars): Save existing GCC_EXEC_PREFIX, set to TEST_GCC_EXEC_PREFIX if that is defined. (restore_ld_library_path_env_vars): Restore GCC_EXEC_PREFIX to its original value, or unset if it was not defined. * gcc.dg/compat/struct-layout-1.exp: Use set/restore library path procs around use of HOSTCC. * g++.dg/compat/struct-layout-1.exp: Ditto. * objc.dg/gnu-encoding/gnu-encoding.exp: Ditto. From-SVN: r144908
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/Makefile.in9
-rw-r--r--gcc/testsuite/ChangeLog13
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1.exp15
-rw-r--r--gcc/testsuite/gcc.dg/compat/struct-layout-1.exp17
-rw-r--r--gcc/testsuite/lib/target-libpath.exp35
-rw-r--r--gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp16
7 files changed, 68 insertions, 46 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 55cd434..8e08d70 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2009-03-17 Janis Johnson <janis187@us.ibm.com>
+
+ PR testsuite/38526
+ * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
+ its use.
+ (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
+ (check-parallel-%): Ditto.
+ (check-consistency): Ditto.
+
2009-03-17 Kai Tietz <kai.tietz@onevision.com>
* ipa-struct-reorg.c (create_general_new_stmt): Initialize
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 34b9719..be5634f 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -4418,9 +4418,13 @@ site.exp: ./config.status Makefile
@echo "set CXXFLAGS \"\"" >> ./tmp0
@echo "set HOSTCC \"$(CC)\"" >> ./tmp0
@echo "set HOSTCFLAGS \"$(CFLAGS)\"" >> ./tmp0
+# When running the tests we set GCC_EXEC_PREFIX to the install tree so that
+# files that have already been installed there will be found. The -B option
+# overrides it, so use of GCC_EXEC_PREFIX will not result in using GCC files
+# from the install tree.
+ @echo "set TEST_GCC_EXEC_PREFIX \"$(libdir)/gcc/\"" >> ./tmp0
@echo "set TESTING_IN_BUILD_TREE 1" >> ./tmp0
@echo "set HAVE_LIBSTDCXX_V3 1" >> ./tmp0
- @echo "set GCC_EXEC_PREFIX \"$(libdir)/gcc/\"" >> ./tmp0
# If newlib has been configured, we need to pass -B to gcc so it can find
# newlib's crt0.o if it exists. This will cause a "path prefix not used"
# message if it doesn't, but the testsuite is supposed to ignore the message -
@@ -4505,7 +4509,6 @@ $(filter-out $(lang_checks_parallelized),$(lang_checks)): check-% : site.exp
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
export TCL_LIBRARY ; fi ; \
- GCC_EXEC_PREFIX="$(libdir)/gcc/" ; export GCC_EXEC_PREFIX ; \
$(RUNTEST) --tool $* $(RUNTESTFLAGS))
$(patsubst %,%-subtargets,$(filter-out $(lang_checks_parallelized),$(lang_checks))): check-%-subtargets:
@@ -4593,7 +4596,6 @@ check-parallel-% : site.exp
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
export TCL_LIBRARY ; fi ; \
- GCC_EXEC_PREFIX="$(libdir)/gcc/" ; export GCC_EXEC_PREFIX ; \
runtestflags= ; \
if [ -n "$(check_p_subno)" ] ; then \
runtestflags="$(check_p_subwork)"; \
@@ -4618,7 +4620,6 @@ check-consistency: testsuite/site.exp
if [ -f $${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
export TCL_LIBRARY ; fi ; \
- GCC_EXEC_PREFIX="$(libdir)/gcc/" ; export GCC_EXEC_PREFIX ; \
$(RUNTEST) --tool consistency $(RUNTESTFLAGS)
# QMTest targets
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b17ad8e..f91e99c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2009-03-17 Janis Johnson <janis187@us.ibm.com>
+
+ PR testsuite/38526
+ * lib/target-libpath.exp (set_ld_library_path_env_vars): Save
+ existing GCC_EXEC_PREFIX, set to TEST_GCC_EXEC_PREFIX if that
+ is defined.
+ (restore_ld_library_path_env_vars): Restore GCC_EXEC_PREFIX to
+ its original value, or unset if it was not defined.
+ * gcc.dg/compat/struct-layout-1.exp: Use set/restore library
+ path procs around use of HOSTCC.
+ * g++.dg/compat/struct-layout-1.exp: Ditto.
+ * objc.dg/gnu-encoding/gnu-encoding.exp: Ditto.
+
2009-03-16 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/x86_64/abi/callabi/func-indirect.c (main): Return 0.
diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
index 1ebb83b..7fa8947 100644
--- a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
+++ b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
@@ -129,20 +129,11 @@ set generator_src "$generator_src $srcdir/$subdir/../../gcc.dg/compat/generate-r
set generator_src "$generator_src $srcdir/$subdir/../../gcc.dg/compat/generate-random_r.c"
set generator_cmd "-o $generator $generator_src"
-# Temporarily unset GCC_EXEC_PREFIX from environment, as that might
-# confuse the $HOSTCC.
-set orig_gcc_exec_prefix_saved 0
-if [info exists env(GCC_EXEC_PREFIX)] {
- set orig_gcc_exec_prefix "$env(GCC_EXEC_PREFIX)"
- set orig_gcc_exec_prefix_saved 1
- unsetenv GCC_EXEC_PREFIX
-}
+# Temporarily switch to the environment of the host compiler.
+restore_ld_library_path_env_vars
set status [remote_exec build "$HOSTCC $HOSTCFLAGS $generator_cmd"]
set status [lindex $status 0]
-if { $orig_gcc_exec_prefix_saved } {
- set orig_gcc_exec_prefix_saved 0
- setenv GCC_EXEC_PREFIX "$orig_gcc_exec_prefix"
-}
+set_ld_library_path_env_vars
if { $status == 0 } then {
file delete -force $tstobjdir
file mkdir $tstobjdir
diff --git a/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp b/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
index fe42528..e541f6e 100644
--- a/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
+++ b/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
@@ -43,6 +43,7 @@ global compat_have_dfp
# Load procedures from common libraries.
load_lib standard.exp
load_lib gcc.exp
+load_lib target-libpath.exp
# Load the language-dependent compabibility support procedures.
load_lib c-compat.exp
@@ -90,20 +91,12 @@ set generator_src "$generator_src $srcdir/$subdir/generate-random.c"
set generator_src "$generator_src $srcdir/$subdir/generate-random_r.c"
set generator_cmd "-o $generator $skip_dfp $generator_src"
-# Temporarily unset GCC_EXEC_PREFIX from environment, as that might
-# confuse the $HOSTCC.
-set orig_gcc_exec_prefix_saved 0
-if [info exists env(GCC_EXEC_PREFIX)] {
- set orig_gcc_exec_prefix "$env(GCC_EXEC_PREFIX)"
- set orig_gcc_exec_prefix_saved 1
- unsetenv GCC_EXEC_PREFIX
-}
+# Temporarily switch to the environment for the host compiler.
+restore_ld_library_path_env_vars
set status [remote_exec build "$HOSTCC $HOSTCFLAGS $generator_cmd"]
set status [lindex $status 0]
-if { $orig_gcc_exec_prefix_saved } {
- set orig_gcc_exec_prefix_saved 0
- setenv GCC_EXEC_PREFIX "$orig_gcc_exec_prefix"
-}
+set_ld_library_path_env_vars
+
if { $status == 0 } then {
file delete -force $tstobjdir
file mkdir $tstobjdir
diff --git a/gcc/testsuite/lib/target-libpath.exp b/gcc/testsuite/lib/target-libpath.exp
index 8999aa4..760f375 100644
--- a/gcc/testsuite/lib/target-libpath.exp
+++ b/gcc/testsuite/lib/target-libpath.exp
@@ -25,6 +25,8 @@ set orig_ld_library64_path_saved 0
set orig_ld_library_path_32_saved 0
set orig_ld_library_path_64_saved 0
set orig_dyld_library_path_saved 0
+set orig_gcc_exec_prefix_saved 0
+set orig_gcc_exec_prefix_checked 0
#######################################
@@ -42,6 +44,8 @@ proc set_ld_library_path_env_vars { } {
global orig_ld_library_path_32_saved
global orig_ld_library_path_64_saved
global orig_dyld_library_path_saved
+ global orig_gcc_exec_prefix_saved
+ global orig_gcc_exec_prefix_checked
global orig_ld_library_path
global orig_ld_run_path
global orig_shlib_path
@@ -50,11 +54,23 @@ proc set_ld_library_path_env_vars { } {
global orig_ld_library_path_32
global orig_ld_library_path_64
global orig_dyld_library_path
- global GCC_EXEC_PREFIX
+ global orig_gcc_exec_prefix
+ global TEST_GCC_EXEC_PREFIX
+ global env
- # Set the relocated compiler prefix, but only if the user hasn't specified one.
- if { [info exists GCC_EXEC_PREFIX] && ![info exists env(GCC_EXEC_PREFIX)] } {
- setenv GCC_EXEC_PREFIX "$GCC_EXEC_PREFIX"
+ # Save the original GCC_EXEC_PREFIX.
+ if { $orig_gcc_exec_prefix_checked == 0 } {
+ if [info exists env(GCC_EXEC_PREFIX)] {
+ set orig_gcc_exec_prefix "$env(GCC_EXEC_PREFIX)"
+ set orig_gcc_exec_prefix_saved 1
+ }
+ set orig_gcc_exec_prefix_checked 1
+ }
+
+ # Set GCC_EXEC_PREFIX for the compiler under test to pick up files not in
+ # the build tree from a specified location (normally the install tree).
+ if [info exists env(TEST_GCC_EXEC_PREFIX)] {
+ setenv GCC_EXEC_PREFIX "$TEST_GCC_EXEC_PREFIX"
}
# Setting the ld library path causes trouble when testing cross-compilers.
@@ -63,8 +79,6 @@ proc set_ld_library_path_env_vars { } {
}
if { $orig_environment_saved == 0 } {
- global env
-
set orig_environment_saved 1
# Save the original environment.
@@ -187,6 +201,7 @@ proc restore_ld_library_path_env_vars { } {
global orig_ld_library_path_32_saved
global orig_ld_library_path_64_saved
global orig_dyld_library_path_saved
+ global orig_gcc_exec_prefix_saved
global orig_ld_library_path
global orig_ld_run_path
global orig_shlib_path
@@ -195,11 +210,19 @@ proc restore_ld_library_path_env_vars { } {
global orig_ld_library_path_32
global orig_ld_library_path_64
global orig_dyld_library_path
+ global orig_gcc_exec_prefix
+ global env
if { $orig_environment_saved == 0 } {
return
}
+ if { $orig_gcc_exec_prefix_saved } {
+ setenv GCC_EXEC_PREFIX "$orig_gcc_exec_prefix"
+ } elseif [info exists env(GCC_EXEC_PREFIX)] {
+ unsetenv GCC_EXEC_PREFIX
+ }
+
if { $orig_ld_library_path_saved } {
setenv LD_LIBRARY_PATH "$orig_ld_library_path"
} elseif [info exists env(LD_LIBRARY_PATH)] {
diff --git a/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp b/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
index 257c28e..b137b75 100644
--- a/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
+++ b/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp
@@ -17,6 +17,7 @@
# Load support procs.
load_lib objc-dg.exp
+load_lib target-libpath.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_CFLAGS
@@ -37,20 +38,11 @@ set generator_src "$srcdir/$subdir/struct-layout-encoding-1_generate.c"
set generator_src "$generator_src $srcdir/$subdir/generate-random.c"
set generator_src "$generator_src $srcdir/$subdir/generate-random_r.c"
set generator_cmd "-o $generator $generator_src"
-# Temporarily unset GCC_EXEC_PREFIX from environment, as that might
-# confuse the $HOSTCC.
-set orig_gcc_exec_prefix_saved 0
-if [info exists env(GCC_EXEC_PREFIX)] {
- set orig_gcc_exec_prefix "$env(GCC_EXEC_PREFIX)"
- set orig_gcc_exec_prefix_saved 1
- unsetenv GCC_EXEC_PREFIX
-}
+# Temporarily switch to the environment of the host compiler.
+restore_ld_library_path_env_vars
set status [remote_exec build "$HOSTCC $HOSTCFLAGS $generator_cmd"]
set status [lindex $status 0]
-if { $orig_gcc_exec_prefix_saved } {
- set orig_gcc_exec_prefix_saved 0
- setenv GCC_EXEC_PREFIX "$orig_gcc_exec_prefix"
-}
+set_ld_library_path_env_vars
if { $status == 0 } then {
file delete -force $tstobjdir
file mkdir $tstobjdir