| #include "analyzer-decls.h" |
| |
| void test (int p, int q, int r) |
| { |
| if (p == 42) |
| { |
| __analyzer_eval (p == 42); /* { dg-warning "TRUE" } */ |
| __analyzer_eval (p != 42); /* { dg-warning "FALSE" } */ |
| if (q == 42) |
| { |
| __analyzer_eval (p == q); /* { dg-warning "TRUE" } */ |
| } |
| else |
| { |
| __analyzer_eval (p != q); /* { dg-warning "TRUE" } */ |
| } |
| } |
| else |
| { |
| __analyzer_eval (p == 42); /* { dg-warning "FALSE" } */ |
| __analyzer_eval (p != 42); /* { dg-warning "TRUE" } */ |
| if (q == 42) |
| { |
| __analyzer_eval (p == q); /* { dg-warning "FALSE" } */ |
| } |
| else |
| { |
| __analyzer_eval (p == q); /* { dg-warning "UNKNOWN" } */ |
| } |
| } |
| } |