File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
cpp/ql/test/library-tests/dataflow/dataflow-tests Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -125,4 +125,22 @@ void test_phi_read_guard_2(bool b) {
125125 }
126126
127127 sink (x); // $ SPURIOUS: ast
128+ }
129+
130+ bool guarded_wrapper (int x) {
131+ if (guarded (x)) {
132+ return true ;
133+ } else {
134+ return false ;
135+ }
136+ }
137+
138+ void test_guarded_wrapper () {
139+ int x = source ();
140+
141+ if (guarded_wrapper (x)) {
142+ sink (x); // $ SPURIOUS: ast,ir
143+ } else {
144+ sink (x); // $ ast,ir
145+ }
128146}
Original file line number Diff line number Diff line change @@ -16,6 +16,8 @@ astFlow
1616| BarrierGuard.cpp:90:11:90:16 | call to source | BarrierGuard.cpp:101:8:101:8 | x |
1717| BarrierGuard.cpp:107:11:107:16 | call to source | BarrierGuard.cpp:112:8:112:8 | x |
1818| BarrierGuard.cpp:116:11:116:16 | call to source | BarrierGuard.cpp:127:8:127:8 | x |
19+ | BarrierGuard.cpp:139:11:139:16 | call to source | BarrierGuard.cpp:142:10:142:10 | x |
20+ | BarrierGuard.cpp:139:11:139:16 | call to source | BarrierGuard.cpp:144:10:144:10 | x |
1921| acrossLinkTargets.cpp:19:27:19:32 | call to source | acrossLinkTargets.cpp:12:8:12:8 | x |
2022| clang.cpp:12:9:12:20 | sourceArray1 | clang.cpp:18:8:18:19 | sourceArray1 |
2123| clang.cpp:12:9:12:20 | sourceArray1 | clang.cpp:22:8:22:20 | & ... |
@@ -156,6 +158,8 @@ irFlow
156158| BarrierGuard.cpp:49:10:49:15 | call to source | BarrierGuard.cpp:55:13:55:13 | x |
157159| BarrierGuard.cpp:60:11:60:16 | call to source | BarrierGuard.cpp:64:14:64:14 | x |
158160| BarrierGuard.cpp:60:11:60:16 | call to source | BarrierGuard.cpp:66:14:66:14 | x |
161+ | BarrierGuard.cpp:139:11:139:16 | call to source | BarrierGuard.cpp:142:10:142:10 | x |
162+ | BarrierGuard.cpp:139:11:139:16 | call to source | BarrierGuard.cpp:144:10:144:10 | x |
159163| acrossLinkTargets.cpp:19:27:19:32 | call to source | acrossLinkTargets.cpp:12:8:12:8 | x |
160164| clang.cpp:12:9:12:20 | sourceArray1 | clang.cpp:18:8:18:19 | sourceArray1 |
161165| clang.cpp:12:9:12:20 | sourceArray1 | clang.cpp:23:17:23:29 | *& ... |
You can’t perform that action at this time.
0 commit comments