diff options
author | Janis Johnson <janis187@us.ibm.com> | 2009-03-17 17:35:55 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2009-03-17 17:35:55 +0000 |
commit | 4d936acaa49e7398be02d1cd74d17c6ac487479e (patch) | |
tree | 6df853bcedd0502074c26798cdab75a06af6912c /gcc | |
parent | 4e9b2e504ea95567611ee528794e6eac2098264e (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/Makefile.in | 9 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/compat/struct-layout-1.exp | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/compat/struct-layout-1.exp | 17 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-libpath.exp | 35 | ||||
-rw-r--r-- | gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp | 16 |
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 |