]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/gcc/gcc-3.3.3/pr11864-1-test.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / gcc / gcc-3.3.3 / pr11864-1-test.patch
1 --- /dev/null   Sat Dec 14 13:56:51 2002
2 +++ gcc-3.3.1/gcc/testsuite/gcc.dg/pr11864-1.c  Sun Sep 14 14:32:24 2003
3 @@ -0,0 +1,42 @@
4 +/* PR optimization/11864
5 + * Reporter: Kazumoto Kojima <kkojima@gcc.gnu.org>
6 + * Summary: [3.3/3.4 regression] miscompiles zero extension and test
7 + * Description:
8 + * gcc-3.3/3.4 -O2 for sh target may miscompile the combination of zero extension
9 + * and test if it's zero.
10 + *
11 + * Testcase tweaked by dank@kegel.com.  Not marked as xfail because it's a regression.
12 + */
13 +/* { dg-do run } */
14 +/* { dg-options "-O2" } */
15 +
16 +extern void abort(void);
17 +
18 +int val = 0xff00;
19 +
20 +int f(void)
21 +{
22 +       return val;
23 +}
24 +
25 +unsigned char a[1];
26 +
27 +void foo(void)
28 +{
29 +       a[0] = f() & 255;
30 +
31 +       if (!a[0])
32 +               a[0] = f() & 255;
33 +
34 +       if (!a[0])
35 +               a[0] = 1 + (f() & 127);
36 +}
37 +
38 +int main(int argc, char **argv)
39 +{
40 +       foo();
41 +       if (!a[0])
42 +               abort();
43 +
44 +       return 0;
45 +}