Imported Upstream version 2.9.0
[debian/cc1111] / support / valdiag / tests / bug-971834.c
1
2 /* bug-971834.c
3
4    Life Range problem with
5    - uninitialized variable
6    - loop
7  */
8
9 #ifdef TEST1
10 unsigned char ttt = 2;
11
12 short foo (void)
13 {
14   unsigned short a;
15   a |= ttt;             /* WARNING(SDCC) */
16   return a;
17 }
18 #endif
19
20
21 #ifdef TEST2
22 unsigned char ttt[] = {0xff, 1};
23
24 char foo (void)
25 {
26   unsigned char a, i;
27   for (i = 0; i < sizeof(ttt); i++)
28     a |= ttt[i];        /* WARNING(SDCC) */
29   return a;             /* WARNING(SDCC) */
30 }
31 #endif
32
33 #ifdef TEST3
34 unsigned char ttt[] = {0xff, 1};
35 unsigned char b;
36
37 char foo (void)
38 {
39   unsigned char i, j;
40   unsigned char a;
41   for (j = 0; j < sizeof(ttt); j++) {
42     for (i = 0; i < sizeof(ttt); i++) {
43       a |= ttt[i];      /* WARNING(SDCC) */
44       b = a;
45     }
46   }
47   return b;
48 }
49 #endif