Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/analyzer/conditionals-3.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* { dg-additional-options "-fno-analyzer-state-merge" } */ | |
2 | |
3 #include "analyzer-decls.h" | |
4 | |
5 static void only_called_when_flag_a_true (int i) | |
6 { | |
7 __analyzer_eval (i == 42); /* { dg-warning "TRUE" } */ | |
8 } | |
9 | |
10 static void only_called_when_flag_b_true (int i) | |
11 { | |
12 __analyzer_eval (i == 17); /* { dg-warning "TRUE" } */ | |
13 } | |
14 | |
15 int test_1 (int flag_a, int flag_b) | |
16 { | |
17 int i = 17; | |
18 | |
19 __analyzer_eval (flag_a); /* { dg-warning "UNKNOWN" } */ | |
20 __analyzer_eval (flag_b); /* { dg-warning "UNKNOWN" } */ | |
21 | |
22 if (flag_a) | |
23 { | |
24 __analyzer_eval (flag_a); /* { dg-warning "TRUE" } */ | |
25 __analyzer_eval (flag_b); /* { dg-warning "UNKNOWN" } */ | |
26 i = 42; | |
27 } | |
28 | |
29 __analyzer_eval (flag_b); /* { dg-warning "UNKNOWN" } */ | |
30 | |
31 if (flag_a) | |
32 { | |
33 __analyzer_eval (flag_a); /* { dg-warning "TRUE" } */ | |
34 __analyzer_eval (flag_b); /* { dg-warning "UNKNOWN" } */ | |
35 __analyzer_eval (i == 42); /* { dg-warning "TRUE" } */ | |
36 __analyzer_eval (i == 17); /* { dg-warning "FALSE" } */ | |
37 only_called_when_flag_a_true (i); | |
38 } | |
39 else | |
40 { | |
41 __analyzer_eval (flag_a); /* { dg-warning "FALSE" } */ | |
42 __analyzer_eval (flag_b); /* { dg-warning "UNKNOWN" } */ | |
43 __analyzer_eval (i == 42); /* { dg-warning "FALSE" } */ | |
44 __analyzer_eval (i == 17); /* { dg-warning "TRUE" } */ | |
45 only_called_when_flag_b_true (i); | |
46 } | |
47 } |