OSDN Git Service

gcc/
authorjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Mar 2009 17:35:55 +0000 (17:35 +0000)
committerjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Mar 2009 17:35:55 +0000 (17:35 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144908 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/Makefile.in
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/compat/struct-layout-1.exp
gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
gcc/testsuite/lib/target-libpath.exp
gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp

index 55cd434..8e08d70 100644 (file)
@@ -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
index 34b9719..be5634f 100644 (file)
@@ -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
index b17ad8e..f91e99c 100644 (file)
@@ -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.
index 1ebb83b..7fa8947 100644 (file)
@@ -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
index fe42528..e541f6e 100644 (file)
@@ -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
index 8999aa4..760f375 100644 (file)
@@ -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)] {
index 257c28e..b137b75 100644 (file)
@@ -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