diff -r 419d959441ed -r 447b203edc2e patches/gcc/3.3.1/pr11864-1-test.patch --- a/patches/gcc/3.3.1/pr11864-1-test.patch Tue Aug 14 19:32:22 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ ---- /dev/null Sat Dec 14 13:56:51 2002 -+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11864-1.c Sun Sep 14 14:32:24 2003 -@@ -0,0 +1,42 @@ -+/* PR optimization/11864 -+ * Reporter: Kazumoto Kojima -+ * Summary: [3.3/3.4 regression] miscompiles zero extension and test -+ * Description: -+ * gcc-3.3/3.4 -O2 for sh target may miscompile the combination of zero extension -+ * and test if it's zero. -+ * -+ * Testcase tweaked by dank@kegel.com. Not marked as xfail because it's a regression. -+ */ -+/* { dg-do run } */ -+/* { dg-options "-O2" } */ -+ -+extern void abort(void); -+ -+int val = 0xff00; -+ -+int f(void) -+{ -+ return val; -+} -+ -+unsigned char a[1]; -+ -+void foo(void) -+{ -+ a[0] = f() & 255; -+ -+ if (!a[0]) -+ a[0] = f() & 255; -+ -+ if (!a[0]) -+ a[0] = 1 + (f() & 127); -+} -+ -+int main(int argc, char **argv) -+{ -+ foo(); -+ if (!a[0]) -+ abort(); -+ -+ return 0; -+}