blob: ccd048f2882d29bc231cd3d0b50b39101090bd1b [file] [log] [blame]
Ted Kremenekff7c5382007-11-24 20:07:36 +00001// RUN: clang -warn-uninit-values -verify %s
2
3int f1() {
4 int x;
5 return x; // expected-warning{use of uninitialized variable}
6}
7
8int f2(int x) {
9 int y;
10 int z = x + y; // expected-warning {use of uninitialized variable}
11 return z;
12}
13
14
15int f3(int x) {
16 int y;
17 return x ? 1 : y; // expected-warning {use of uninitialized variable}
18}
19
20int f4(int x) {
21 int y;
22 if (x) y = 1;
23 return y; // no-warning
24}
25
26int f5() {
27 int a;
28 a = 30; // no-warning
29}
Ted Kremenekca7aa1f2007-11-24 23:06:58 +000030
31void f6(int i) {
32 int x;
33 for (i = 0 ; i < 10; i++)
34 printf("%d",x++); // expected-warning {use of uninitialized variable}
35}
36
37void f7(int i) {
38 int x = i;
39 int y;
40 for (i = 0; i < 10; i++ ) {
41 printf("%d",x++); // no-warning
42 x += y; // expected-warning {use of uninitialized variable}
43 }
44}