annotate gcc/testsuite/gcc.dg/analyzer/data-model-18.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 #include "analyzer-decls.h"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3 void test (int *p, int i, int j)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 p[3] = 42;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6 __analyzer_eval (p[3] == 42); /* { dg-warning "TRUE" } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 __analyzer_eval (*(p + 3) == 42); /* { dg-warning "TRUE" } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 __analyzer_eval (p[i] == 42); /* { dg-warning "UNKNOWN" } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 __analyzer_eval (p[j] == 42); /* { dg-warning "UNKNOWN" } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11 //__analyzer_dump ();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 p[i] = 17;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 //__analyzer_dump ();
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 __analyzer_eval (p[3] == 42); /* { dg-warning "UNKNOWN" } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 __analyzer_eval (p[i] == 17); /* { dg-warning "TRUE" } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 __analyzer_eval (p[j] == 17); /* { dg-warning "UNKNOWN" "desired" { xfail *-*-* } } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20 /* { dg-bogus "TRUE" "status quo" { xfail *-*-* } .-1 } */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 // FIXME(xfails) ^^^
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 }