111
|
1 /* Positive test for uninitialized variables. */
|
|
2 /* { dg-do compile } */
|
|
3 /* { dg-options "-O -Wuninitialized" } */
|
|
4
|
|
5 int sink;
|
|
6
|
|
7 void f1(int parm) /* { dg-bogus "uninitialized" "parameter" } */
|
|
8 {
|
|
9 sink = parm; /* { dg-bogus "uninitialized" "parameter" } */
|
|
10 }
|
|
11
|
|
12 void f2(void)
|
|
13 {
|
|
14 int x;
|
|
15 sink = x; /* { dg-warning "is used" "unconditional" } */
|
|
16 }
|
|
17
|
|
18 void f3(int p)
|
|
19 {
|
|
20 int x;
|
|
21 if (p)
|
|
22 x = p;
|
|
23 sink = x; /* { dg-warning "may be used" "conditional" } */
|
|
24 }
|
|
25
|
|
26 void f4(int p)
|
|
27 {
|
|
28 int x; /* { dg-bogus "uninitialized" "easy if" } */
|
|
29 if (p)
|
|
30 x = 1;
|
|
31 else
|
|
32 x = 2;
|
|
33 sink = x;
|
|
34 }
|
|
35
|
|
36 void f5(void)
|
|
37 {
|
|
38 int x, i; /* { dg-bogus "uninitialized" "easy loop" } */
|
|
39 for (i = 0; i < 10; ++i)
|
|
40 x = 1;
|
|
41 sink = x;
|
|
42 }
|