145
|
1 #include "analyzer-decls.h"
|
|
2
|
|
3 void test (int *p, int i, int j)
|
|
4 {
|
|
5 p[3] = 42;
|
|
6 __analyzer_eval (p[3] == 42); /* { dg-warning "TRUE" } */
|
|
7 __analyzer_eval (*(p + 3) == 42); /* { dg-warning "TRUE" } */
|
|
8 __analyzer_eval (p[i] == 42); /* { dg-warning "UNKNOWN" } */
|
|
9 __analyzer_eval (p[j] == 42); /* { dg-warning "UNKNOWN" } */
|
|
10
|
|
11 //__analyzer_dump ();
|
|
12
|
|
13 p[i] = 17;
|
|
14
|
|
15 //__analyzer_dump ();
|
|
16
|
|
17 __analyzer_eval (p[3] == 42); /* { dg-warning "UNKNOWN" } */
|
|
18 __analyzer_eval (p[i] == 17); /* { dg-warning "TRUE" } */
|
|
19 __analyzer_eval (p[j] == 17); /* { dg-warning "UNKNOWN" "desired" { xfail *-*-* } } */
|
|
20 /* { dg-bogus "TRUE" "status quo" { xfail *-*-* } .-1 } */
|
|
21 // FIXME(xfails) ^^^
|
|
22 }
|