analyzer: Fix PR analyzer/101980
[official-gcc.git] / gcc / testsuite / gcc.dg / analyzer / params.c
blob12bba70d6e4d21b4e1be9d8e059993b2736e5bc4
1 #include "analyzer-decls.h"
3 static int __analyzer_called_function(int j)
5 int k;
7 __analyzer_eval (j > 4); /* { dg-warning "TRUE" } */
9 k = j - 1;
11 __analyzer_eval (k > 3); /* { dg-warning "TRUE" "desired" { xfail *-*-* } } */
12 /* { dg-warning "UNKNOWN" "status quo" { target *-*-* } .-1 } */
13 /* TODO(xfail): we're not then updating based on the assignment. */
15 return k;
18 void test(int i)
20 __analyzer_eval (i > 4); /* { dg-warning "UNKNOWN" } */
22 if (i > 4) {
24 __analyzer_eval (i > 4); /* { dg-warning "TRUE" } */
26 i = __analyzer_called_function(i);
28 __analyzer_eval (i > 3); /* { dg-warning "TRUE" "desired" { xfail *-*-* } } */
29 /* { dg-warning "UNKNOWN" "status quo" { target *-*-* } .-1 } */
30 /* TODO(xfail): we're not updating from the returned value. */
33 __analyzer_eval (i > 3); /* { dg-warning "UNKNOWN" } */