patches/gcc/3.3.3/pr11864-1-test.patch
changeset 330 447b203edc2e
parent 329 419d959441ed
child 331 0c05f9ea3254
     1.1 --- a/patches/gcc/3.3.3/pr11864-1-test.patch	Tue Aug 14 19:32:22 2007 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,45 +0,0 @@
     1.4 ---- /dev/null	Sat Dec 14 13:56:51 2002
     1.5 -+++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11864-1.c	Sun Sep 14 14:32:24 2003
     1.6 -@@ -0,0 +1,42 @@
     1.7 -+/* PR optimization/11864
     1.8 -+ * Reporter: Kazumoto Kojima <kkojima@gcc.gnu.org>
     1.9 -+ * Summary: [3.3/3.4 regression] miscompiles zero extension and test
    1.10 -+ * Description:
    1.11 -+ * gcc-3.3/3.4 -O2 for sh target may miscompile the combination of zero extension
    1.12 -+ * and test if it's zero.
    1.13 -+ *
    1.14 -+ * Testcase tweaked by dank@kegel.com.  Not marked as xfail because it's a regression.
    1.15 -+ */
    1.16 -+/* { dg-do run } */
    1.17 -+/* { dg-options "-O2" } */
    1.18 -+
    1.19 -+extern void abort(void);
    1.20 -+
    1.21 -+int val = 0xff00;
    1.22 -+
    1.23 -+int f(void)
    1.24 -+{
    1.25 -+	return val;
    1.26 -+}
    1.27 -+
    1.28 -+unsigned char a[1];
    1.29 -+
    1.30 -+void foo(void)
    1.31 -+{
    1.32 -+	a[0] = f() & 255;
    1.33 -+
    1.34 -+	if (!a[0])
    1.35 -+		a[0] = f() & 255;
    1.36 -+
    1.37 -+	if (!a[0])
    1.38 -+		a[0] = 1 + (f() & 127);
    1.39 -+}
    1.40 -+
    1.41 -+int main(int argc, char **argv)
    1.42 -+{
    1.43 -+	foo();
    1.44 -+	if (!a[0])
    1.45 -+		abort();
    1.46 -+
    1.47 -+	return 0;
    1.48 -+}