uninit-vals-ps.c revision e8e4d8c9cb29de6aad77163bd8a59066985a43b9
1// RUN: clang -checker-simple -verify %s 2 3struct FPRec { 4 void (*my_func)(int * x); 5}; 6 7int bar(int x); 8 9int f1_a(struct FPRec* foo) { 10 int x; 11 (*foo->my_func)(&x); 12 return bar(x)+1; // no-warning 13} 14 15int f1_b() { 16 int x; 17 return bar(x)+1; // expected-warning{{Pass-by-value argument in function is undefined.}} 18} 19 20int f2() { 21 22 int x; 23 24 if (x+1) // expected-warning{{Branch}} 25 return 1; 26 27 return 2; 28} 29 30int f2_b() { 31 int x; 32 33 return ((x+1)+2+((x))) + 1 ? 1 : 2; // expected-warning{{Branch}} 34} 35 36int f3(void) { 37 int i; 38 int *p = &i; 39 if (*p > 0) // expected-warning{{Branch condition evaluates to an uninitialized value}} 40 return 0; 41 else 42 return 1; 43} 44 45