blob: 503ab1abbccfddc5c3f6eef574ecc520abccec0c [file] [log] [blame]
Ted Kremenek43ae4b02008-04-24 18:28:14 +00001// 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}
Ted Kremenek5c454ab2008-05-05 15:56:53 +000019
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