This merge switches google/integration back to trunk. Several things needed adjusting.
I added 4 patches: - Fix redirection for TEST_ALWAYS_FLAGS. Trunk is now using site.tmp instead of tmp0 (thanks cgd for spotting this one). - XFAIL an -flto bug when using gold. This happens in builtins/strstr-asm.c. Somehow, LTO fails to declare my_strstr causing a linker error. Cary did some analysis on it and concluded that GCC was not presenting this symbol to the plugin, so this is a bug in LTO. Honza, does this ring a bell to you? - tree-ssa/vrp47.c is also failing in trunk. XFAIL'd. - gfortran.dg/coarray_lock_3.f90 has been fixed in trunk, but after this merge. I've removed the expected error message. - libmudflap.c++/pass55-frag.cxx is flaky under GRTE. It would sometimes fail and sometimes run fine. I've XFAIL'd it. - libmudflap.c/pass-stratcliff.c was producing pre-processor warnings. This has been fixed in mainline by rewriting the test. We'll pick it up in the next merge. For now I simply fixed the erroneous line. - libmudflap.c/pass49-frag.c now works, so I removed the XFAIL. - libstdc++/testsuite/23_containers/vector/requirements/dr438/*: still fail but the error lines have shifted. Adjusted them. - The next two are somewhat odd. We build the 32 bit toolchain with default -mtune=pentium4. This causes a failure in pr27827.c because we do not find the expected assembly. I forced -mtune=generic to fix that. I also got flaky behaviour from i386/sse4_1-blendps.c, so I forced it to compile with -O0. I think it's related to GRTE as well, but I'm not positive. With these changes, the trunk validates on x86_64. Diego. gcc/ChangeLog.google-integration * Makefile.in (site.exp): Fix redirection in definition of TEST_ALWAYS_FLAGS. gcc/testsuite/ChangeLog.google-integration * gcc.c-torture/execute/builtins/strstr-asm.x: New. XFAIL for -flto. * gcc.dg/tree-ssa/vrp47.c: XFAIL. * gcc.target/i386/pr27827.c: Add -mtune=generic. * gcc.target/i386/sse4_1-blendps.c: Compile with -O0. * gfortran.dg/coarray_lock_3.f90: Remove expected error. libmudflap/ChangeLog.google-integration * testsuite/libmudflap.c++/pass55-frag.cxx: Always compile with -O2. * testsuite/libmudflap.c/pass-stratcliff.c (main): Fix pre-processor warning. * testsuite/libmudflap.c/pass49-frag.c: Remove XFAIL. libstdc++/ChangeLog.google-integration * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust line number of expected diagnostic. * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 25b3095..de5c32f 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -4950,7 +4950,7 @@ site.exp: ./config.status Makefile @echo "set HOSTCFLAGS \"$(CFLAGS)\"" >> ./site.tmp # TEST_ALWAYS_FLAGS are flags that should be passed to every compilation. # They are passed first to allow individual tests to override them. - @echo "set TEST_ALWAYS_FLAGS \"$(SYSROOT_CFLAGS_FOR_TARGET)\"" >> ./tmp0 + @echo "set TEST_ALWAYS_FLAGS \"$(SYSROOT_CFLAGS_FOR_TARGET)\"" >> ./site.tmp # 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 diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x b/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x new file mode 100644 index 0000000..df29b94 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.x @@ -0,0 +1,7 @@ +# If we are using gold plugins for LTO compiles, we fail to find my_strstr. +set torture_eval_before_compile { + if {[string match {*-flto*} "$option"]} { + continue + } +} +return 0 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c b/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c index 3def90c..1d057f2 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c @@ -37,7 +37,7 @@ int f(int x) /* { dg-final { scan-tree-dump-times "\[xy\]\[^ \]* !=" 0 "vrp1" } } */ /* This one needs more copy propagation that only happens in dom1. */ -/* { dg-final { scan-tree-dump-times "x\[^ \]* & y" 1 "dom1" } } */ +/* { dg-final { scan-tree-dump-times "x\[^ \]* & y" 1 "dom1" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump-times "x\[^ \]* & y" 1 "vrp1" { xfail *-*-* } } } */ /* These two are fully simplified by VRP. */ diff --git a/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 b/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 index 5e4c73f..899bac7 100644 --- a/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 +++ b/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 @@ -69,7 +69,7 @@ subroutine lock_test2 lock(lock) lock(lock2(1)) lock(lock2) ! { dg-error "must be a scalar coarray of type LOCK_TYPE" } - lock(lock[1]) ! { dg-error "must be a scalar coarray of type LOCK_TYPE" } + lock(lock[1]) ! { dg-error "must be a scalar coarray of type LOCK_TYPE" { xfail *-*-* } } end subroutine lock_test2 diff --git a/libmudflap/ChangeLog.google-integration b/libmudflap/ChangeLog.google-integration index 90c89e5..c8c6a8e 100644 --- a/libmudflap/ChangeLog.google-integration +++ b/libmudflap/ChangeLog.google-integration @@ -1,3 +1,11 @@ 2011-03-15 Diego Novillo <dnovi...@google.com> * testsuite/libmudflap.c/pass49-frag.c: Also XFAIL diff --git a/libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx b/libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx index e83c124..e2bc583 100644 --- a/libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx +++ b/libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx @@ -1,3 +1,4 @@ +/* { dg-options "-O2" } - This test is flaky under GRTE. */ #include <vector> int main() { diff --git a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c index 985c796..26099fb 100644 --- a/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c +++ b/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c @@ -250,7 +250,7 @@ main (int argc, char *argv[]) } } -#ifndef __FreeBSD__ && !(defined __sun__ && defined __svr4__) +#if !defined __FreeBSD__ && !(defined __sun__ && defined __svr4__) /* stpcpy test */ for (outer = size - 1; outer >= MAX (0, size - 128); --outer) { diff --git a/libmudflap/testsuite/libmudflap.c/pass49-frag.c b/libmudflap/testsuite/libmudflap.c/pass49-frag.c index 31ef189..db74530 100644 --- a/libmudflap/testsuite/libmudflap.c/pass49-frag.c +++ b/libmudflap/testsuite/libmudflap.c/pass49-frag.c @@ -1,4 +1,3 @@ -/* { dg-do run { xfail *-*-* } } */ #include <stdlib.h> #include <ctype.h> #include <stdarg.h> @@ -33,4 +32,4 @@ int main () foo (7, "hello ", 5, " ", 3, " world ", 9, "\n"); return 0; } -/* { dg-output "hello 5 3 world 9" { xfail *-*-* } } */ +/* { dg-output "hello 5 3 world 9" } */ diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc index fcead6a..6d226ba 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1157 } +// { dg-error "no matching" "" { target *-*-* } 1173 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc index acb1953..5cf3d52 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1087 } +// { dg-error "no matching" "" { target *-*-* } 1103 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc index dd519da..6645556 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1087 } +// { dg-error "no matching" "" { target *-*-* } 1103 } // { dg-excess-errors "" } #include <vector> diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc index 5fb2045..6d46fa4 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc @@ -18,7 +18,7 @@ // <http://www.gnu.org/licenses/>. // { dg-do compile } -// { dg-error "no matching" "" { target *-*-* } 1198 } +// { dg-error "no matching" "" { target *-*-* } 1214 } // { dg-excess-errors "" } #include <vector> diff --git a/gcc/testsuite/gcc.target/i386/pr27827.c b/gcc/testsuite/gcc.target/i386/pr27827.c index 3b33744..bb6b025 100644 --- a/gcc/testsuite/gcc.target/i386/pr27827.c +++ b/gcc/testsuite/gcc.target/i386/pr27827.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ -/* { dg-options "-O2 -mfpmath=387" } */ +/* { dg-options "-O2 -mfpmath=387 -mtune=generic" } */ double a, b; double f(double c) diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-blendps.c b/gcc/testsuite/gcc.target/i386/sse4_1-blendps.c index b4d8e8e..6234ffb 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-blendps.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-blendps.c @@ -1,6 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target sse4 } */ -/* { dg-options "-O2 -msse4.1" } */ +/* { dg-options "-O0 -msse4.1" } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 b/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 index 899bac7..75bbdb9 100644 --- a/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 +++ b/gcc/testsuite/gfortran.dg/coarray_lock_3.f90 @@ -69,7 +69,7 @@ subroutine lock_test2 lock(lock) lock(lock2(1)) lock(lock2) ! { dg-error "must be a scalar coarray of type LOCK_TYPE" } - lock(lock[1]) ! { dg-error "must be a scalar coarray of type LOCK_TYPE" { xfail *-*-* } } + lock(lock[1]) end subroutine lock_test2 -- 1.7.3.1