1 /* Example of nested loops. */
3 #include "../../gcc.dg/analyzer/analyzer-decls.h"
9 __analyzer_dump_exploded_nodes (0); /* { dg-warning "1 processed enode" } */
11 for (i
=0; i
<256; i
++) {
13 __analyzer_eval (i
>= 0); /* { dg-warning "TRUE" } */
15 __analyzer_eval (i
< 256); /* { dg-warning "TRUE" } */
17 for (j
=0; j
<256; j
++) {
19 __analyzer_eval (j
>= 0); /* { dg-warning "TRUE" "true" } */
20 /* { dg-warning "UNKNOWN" "unknown" { target *-*-* } .-1 } */
22 __analyzer_eval (j
< 256); /* { dg-warning "TRUE" "true" } */
23 /* { dg-bogus "UNKNOWN" "unknown" { xfail *-*-* } .-1 } */
24 /* TODO(xfail^^^): should report TRUE twice. */
26 __analyzer_dump_exploded_nodes (0); /* { dg-warning "3 processed enodes" } */
28 for (k
=0; k
<256; k
++) {
30 __analyzer_eval (k
>= 0); /* { dg-warning "TRUE" "true" } */
31 /* { dg-warning "UNKNOWN" "unknown" { target *-*-* } .-1 } */
33 __analyzer_eval (k
< 256); /* { dg-warning "TRUE" "true" } */
34 /* { dg-bogus "UNKNOWN" "unknown" { xfail *-*-* } .-1 } */
36 __analyzer_dump_exploded_nodes (0); /* { dg-warning "4 processed enodes" } */
41 __analyzer_dump_exploded_nodes (0); /* { dg-warning "1 processed enode" } */