Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit dd322be

Browse files
committed
C++: Remove noise from argHasPostUpdate check
This consistency check seems to have value for AST data flow, but I've disabled it on the IR for now. This commit also includes two unrelated changes that seem to fix a semantic merge conflict.
1 parent fce04f0 commit dd322be

4 files changed

Lines changed: 23 additions & 552 deletions

File tree

cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowPrivate.qll

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,4 +301,19 @@ int accessPathLimit() { result = 5 }
301301
*
302302
* This predicate is only used for consistency checks.
303303
*/
304-
predicate isImmutableOrUnobservable(Node n) { none() }
304+
predicate isImmutableOrUnobservable(Node n) {
305+
// Is the null pointer (or something that's not really a pointer)
306+
exists(n.asExpr().getValue())
307+
or
308+
// Isn't a pointer or is a pointer to const
309+
forall(DerivedType dt | dt = n.asExpr().getActualType() |
310+
dt.getBaseType().isConst()
311+
or
312+
dt.getBaseType() instanceof RoutineType
313+
)
314+
or
315+
// Isn't something we can track
316+
n.asExpr() instanceof Call
317+
// The above list of cases isn't exhaustive, but it narrows down the
318+
// consistency alerts enough that most of them are interesting.
319+
}

cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,8 @@ int accessPathLimit() { result = 5 }
210210
*
211211
* This predicate is only used for consistency checks.
212212
*/
213-
predicate isImmutableOrUnobservable(Node n) { none() }
213+
predicate isImmutableOrUnobservable(Node n) {
214+
// The rules for whether an IR argument gets a post-update node are too
215+
// complex to model here.
216+
any()
217+
}

cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-consistency.expected

Lines changed: 0 additions & 230 deletions
Original file line numberDiff line numberDiff line change
@@ -23,239 +23,9 @@ postIsInSameCallable
2323
reverseRead
2424
storeIsPostUpdate
2525
argHasPostUpdate
26-
| BarrierGuard.cpp:6:15:6:20 | source | ArgumentNode is missing PostUpdateNode. |
27-
| BarrierGuard.cpp:7:10:7:15 | source | ArgumentNode is missing PostUpdateNode. |
28-
| BarrierGuard.cpp:9:10:9:15 | source | ArgumentNode is missing PostUpdateNode. |
29-
| BarrierGuard.cpp:14:16:14:21 | source | ArgumentNode is missing PostUpdateNode. |
30-
| BarrierGuard.cpp:15:10:15:15 | source | ArgumentNode is missing PostUpdateNode. |
31-
| BarrierGuard.cpp:17:10:17:15 | source | ArgumentNode is missing PostUpdateNode. |
32-
| BarrierGuard.cpp:22:15:22:20 | source | ArgumentNode is missing PostUpdateNode. |
33-
| BarrierGuard.cpp:23:10:23:15 | source | ArgumentNode is missing PostUpdateNode. |
34-
| BarrierGuard.cpp:25:10:25:15 | source | ArgumentNode is missing PostUpdateNode. |
35-
| BarrierGuard.cpp:30:15:30:20 | source | ArgumentNode is missing PostUpdateNode. |
36-
| BarrierGuard.cpp:31:10:31:15 | source | ArgumentNode is missing PostUpdateNode. |
37-
| BarrierGuard.cpp:33:10:33:15 | source | ArgumentNode is missing PostUpdateNode. |
38-
| BarrierGuard.cpp:38:16:38:21 | source | ArgumentNode is missing PostUpdateNode. |
39-
| BarrierGuard.cpp:41:8:41:13 | source | ArgumentNode is missing PostUpdateNode. |
40-
| BarrierGuard.cpp:50:18:50:18 | x | ArgumentNode is missing PostUpdateNode. |
41-
| BarrierGuard.cpp:51:13:51:13 | x | ArgumentNode is missing PostUpdateNode. |
42-
| BarrierGuard.cpp:52:25:52:25 | y | ArgumentNode is missing PostUpdateNode. |
43-
| BarrierGuard.cpp:53:13:53:13 | x | ArgumentNode is missing PostUpdateNode. |
44-
| BarrierGuard.cpp:54:25:54:25 | y | ArgumentNode is missing PostUpdateNode. |
45-
| BarrierGuard.cpp:55:13:55:13 | x | ArgumentNode is missing PostUpdateNode. |
46-
| BarrierGuard.cpp:61:19:61:19 | x | ArgumentNode is missing PostUpdateNode. |
47-
| BarrierGuard.cpp:62:14:62:14 | x | ArgumentNode is missing PostUpdateNode. |
48-
| BarrierGuard.cpp:63:26:63:26 | y | ArgumentNode is missing PostUpdateNode. |
49-
| BarrierGuard.cpp:64:14:64:14 | x | ArgumentNode is missing PostUpdateNode. |
50-
| BarrierGuard.cpp:65:26:65:26 | x | ArgumentNode is missing PostUpdateNode. |
51-
| BarrierGuard.cpp:66:14:66:14 | x | ArgumentNode is missing PostUpdateNode. |
52-
| acrossLinkTargets.cpp:12:8:12:8 | x | ArgumentNode is missing PostUpdateNode. |
53-
| acrossLinkTargets.cpp:19:27:19:32 | call to source | ArgumentNode is missing PostUpdateNode. |
54-
| acrossLinkTargets.cpp:28:8:28:8 | x | ArgumentNode is missing PostUpdateNode. |
55-
| acrossLinkTargets.cpp:34:8:34:8 | x | ArgumentNode is missing PostUpdateNode. |
56-
| acrossLinkTargets.cpp:41:19:41:24 | call to source | ArgumentNode is missing PostUpdateNode. |
57-
| clang.cpp:18:8:18:19 | sourceArray1 | ArgumentNode is missing PostUpdateNode. |
58-
| clang.cpp:20:8:20:22 | access to array | ArgumentNode is missing PostUpdateNode. |
59-
| clang.cpp:21:8:21:20 | * ... | ArgumentNode is missing PostUpdateNode. |
60-
| clang.cpp:24:22:24:23 | m1 | ArgumentNode is missing PostUpdateNode. |
61-
| clang.cpp:25:27:25:28 | m1 | ArgumentNode is missing PostUpdateNode. |
62-
| clang.cpp:26:27:26:34 | call to getFirst | ArgumentNode is missing PostUpdateNode. |
63-
| clang.cpp:29:27:29:28 | m1 | ArgumentNode is missing PostUpdateNode. |
64-
| clang.cpp:30:27:30:34 | call to getFirst | ArgumentNode is missing PostUpdateNode. |
65-
| clang.cpp:31:27:31:28 | m2 | ArgumentNode is missing PostUpdateNode. |
66-
| clang.cpp:32:22:32:23 | m1 | ArgumentNode is missing PostUpdateNode. |
67-
| clang.cpp:37:10:37:11 | m2 | ArgumentNode is missing PostUpdateNode. |
68-
| clang.cpp:41:18:41:19 | m2 | ArgumentNode is missing PostUpdateNode. |
69-
| clang.cpp:45:17:45:18 | m2 | ArgumentNode is missing PostUpdateNode. |
70-
| clang.cpp:47:8:47:30 | call to expression | ArgumentNode is missing PostUpdateNode. |
71-
| clang.cpp:51:8:51:17 | stackArray | ArgumentNode is missing PostUpdateNode. |
72-
| dispatch.cpp:11:38:11:38 | x | ArgumentNode is missing PostUpdateNode. |
73-
| dispatch.cpp:23:38:23:38 | x | ArgumentNode is missing PostUpdateNode. |
74-
| dispatch.cpp:31:16:31:24 | call to isSource1 | ArgumentNode is missing PostUpdateNode. |
75-
| dispatch.cpp:32:16:32:24 | call to isSource2 | ArgumentNode is missing PostUpdateNode. |
76-
| dispatch.cpp:33:18:33:23 | call to source | ArgumentNode is missing PostUpdateNode. |
77-
| dispatch.cpp:35:16:35:25 | call to notSource1 | ArgumentNode is missing PostUpdateNode. |
78-
| dispatch.cpp:36:16:36:25 | call to notSource2 | ArgumentNode is missing PostUpdateNode. |
79-
| dispatch.cpp:37:19:37:24 | call to source | ArgumentNode is missing PostUpdateNode. |
80-
| dispatch.cpp:39:15:39:23 | call to isSource1 | ArgumentNode is missing PostUpdateNode. |
81-
| dispatch.cpp:40:15:40:23 | call to isSource2 | ArgumentNode is missing PostUpdateNode. |
82-
| dispatch.cpp:41:17:41:22 | call to source | ArgumentNode is missing PostUpdateNode. |
83-
| dispatch.cpp:43:15:43:24 | call to notSource1 | ArgumentNode is missing PostUpdateNode. |
84-
| dispatch.cpp:44:15:44:24 | call to notSource2 | ArgumentNode is missing PostUpdateNode. |
85-
| dispatch.cpp:45:18:45:23 | call to source | ArgumentNode is missing PostUpdateNode. |
86-
| dispatch.cpp:55:22:55:30 | call to isSource1 | ArgumentNode is missing PostUpdateNode. |
87-
| dispatch.cpp:56:22:56:30 | call to isSource1 | ArgumentNode is missing PostUpdateNode. |
88-
| dispatch.cpp:58:28:58:36 | call to isSource1 | ArgumentNode is missing PostUpdateNode. |
89-
| dispatch.cpp:69:15:69:20 | call to source | ArgumentNode is missing PostUpdateNode. |
90-
| dispatch.cpp:73:14:73:19 | call to source | ArgumentNode is missing PostUpdateNode. |
91-
| dispatch.cpp:77:21:77:34 | call to allocateBottom | ArgumentNode is missing PostUpdateNode. |
9226
| dispatch.cpp:78:23:78:39 | * ... | ArgumentNode is missing PostUpdateNode. |
93-
| dispatch.cpp:81:13:81:18 | call to source | ArgumentNode is missing PostUpdateNode. |
94-
| dispatch.cpp:89:28:89:33 | call to source | ArgumentNode is missing PostUpdateNode. |
95-
| dispatch.cpp:90:25:90:30 | call to source | ArgumentNode is missing PostUpdateNode. |
96-
| dispatch.cpp:96:8:96:8 | x | ArgumentNode is missing PostUpdateNode. |
97-
| dispatch.cpp:107:17:107:22 | call to source | ArgumentNode is missing PostUpdateNode. |
98-
| dispatch.cpp:108:16:108:21 | call to source | ArgumentNode is missing PostUpdateNode. |
99-
| dispatch.cpp:129:18:129:25 | call to isSource | ArgumentNode is missing PostUpdateNode. |
100-
| dispatch.cpp:130:17:130:24 | call to isSource | ArgumentNode is missing PostUpdateNode. |
101-
| dispatch.cpp:140:8:140:13 | call to source | ArgumentNode is missing PostUpdateNode. |
102-
| dispatch.cpp:144:8:144:13 | call to source | ArgumentNode is missing PostUpdateNode. |
103-
| dispatch.cpp:153:37:153:37 | f | ArgumentNode is missing PostUpdateNode. |
104-
| dispatch.cpp:154:37:154:37 | g | ArgumentNode is missing PostUpdateNode. |
105-
| dispatch.cpp:160:8:160:13 | call to source | ArgumentNode is missing PostUpdateNode. |
106-
| dispatch.cpp:164:8:164:13 | call to source | ArgumentNode is missing PostUpdateNode. |
107-
| dispatch.cpp:173:42:173:42 | f | ArgumentNode is missing PostUpdateNode. |
108-
| dispatch.cpp:174:42:174:42 | g | ArgumentNode is missing PostUpdateNode. |
109-
| globals.cpp:6:10:6:14 | local | ArgumentNode is missing PostUpdateNode. |
110-
| globals.cpp:12:10:12:24 | flowTestGlobal1 | ArgumentNode is missing PostUpdateNode. |
111-
| globals.cpp:19:10:19:24 | flowTestGlobal2 | ArgumentNode is missing PostUpdateNode. |
112-
| lambdas.cpp:14:3:14:6 | t | ArgumentNode is missing PostUpdateNode. |
113-
| lambdas.cpp:15:3:15:6 | u | ArgumentNode is missing PostUpdateNode. |
11427
| lambdas.cpp:18:7:18:7 | a | ArgumentNode is missing PostUpdateNode. |
115-
| lambdas.cpp:18:8:18:8 | call to operator() | ArgumentNode is missing PostUpdateNode. |
116-
| lambdas.cpp:21:3:21:6 | t | ArgumentNode is missing PostUpdateNode. |
117-
| lambdas.cpp:22:3:22:6 | u | ArgumentNode is missing PostUpdateNode. |
11828
| lambdas.cpp:25:2:25:2 | b | ArgumentNode is missing PostUpdateNode. |
119-
| lambdas.cpp:26:7:26:7 | v | ArgumentNode is missing PostUpdateNode. |
120-
| lambdas.cpp:29:3:29:6 | t | ArgumentNode is missing PostUpdateNode. |
121-
| lambdas.cpp:30:3:30:6 | u | ArgumentNode is missing PostUpdateNode. |
12229
| lambdas.cpp:32:2:32:2 | c | ArgumentNode is missing PostUpdateNode. |
123-
| lambdas.cpp:35:8:35:8 | a | ArgumentNode is missing PostUpdateNode. |
124-
| lambdas.cpp:36:8:36:8 | b | ArgumentNode is missing PostUpdateNode. |
12530
| lambdas.cpp:38:2:38:2 | d | ArgumentNode is missing PostUpdateNode. |
126-
| lambdas.cpp:38:4:38:4 | t | ArgumentNode is missing PostUpdateNode. |
127-
| lambdas.cpp:38:7:38:7 | u | ArgumentNode is missing PostUpdateNode. |
128-
| lambdas.cpp:41:8:41:8 | a | ArgumentNode is missing PostUpdateNode. |
129-
| lambdas.cpp:42:8:42:8 | b | ArgumentNode is missing PostUpdateNode. |
13031
| lambdas.cpp:45:2:45:2 | e | ArgumentNode is missing PostUpdateNode. |
131-
| lambdas.cpp:46:7:46:7 | w | ArgumentNode is missing PostUpdateNode. |
132-
| ref.cpp:16:12:16:14 | lhs | ArgumentNode is missing PostUpdateNode. |
133-
| ref.cpp:16:17:16:19 | rhs | ArgumentNode is missing PostUpdateNode. |
134-
| ref.cpp:16:17:16:19 | rhs | ArgumentNode is missing PostUpdateNode. |
135-
| ref.cpp:55:23:55:28 | call to source | ArgumentNode is missing PostUpdateNode. |
136-
| ref.cpp:56:10:56:11 | x1 | ArgumentNode is missing PostUpdateNode. |
137-
| ref.cpp:58:19:58:24 | call to source | ArgumentNode is missing PostUpdateNode. |
138-
| ref.cpp:59:10:59:11 | x2 | ArgumentNode is missing PostUpdateNode. |
139-
| ref.cpp:62:10:62:11 | x3 | ArgumentNode is missing PostUpdateNode. |
140-
| ref.cpp:65:10:65:11 | x4 | ArgumentNode is missing PostUpdateNode. |
141-
| ref.cpp:79:17:79:19 | rhs | ArgumentNode is missing PostUpdateNode. |
142-
| ref.cpp:122:23:122:28 | call to source | ArgumentNode is missing PostUpdateNode. |
143-
| ref.cpp:123:13:123:15 | val | ArgumentNode is missing PostUpdateNode. |
144-
| ref.cpp:125:19:125:24 | call to source | ArgumentNode is missing PostUpdateNode. |
145-
| ref.cpp:126:13:126:15 | val | ArgumentNode is missing PostUpdateNode. |
146-
| ref.cpp:129:13:129:15 | val | ArgumentNode is missing PostUpdateNode. |
147-
| ref.cpp:132:13:132:15 | val | ArgumentNode is missing PostUpdateNode. |
148-
| test.cpp:7:8:7:9 | t1 | ArgumentNode is missing PostUpdateNode. |
149-
| test.cpp:9:8:9:9 | t1 | ArgumentNode is missing PostUpdateNode. |
150-
| test.cpp:10:8:10:9 | t2 | ArgumentNode is missing PostUpdateNode. |
151-
| test.cpp:13:10:13:11 | t2 | ArgumentNode is missing PostUpdateNode. |
152-
| test.cpp:15:8:15:9 | t2 | ArgumentNode is missing PostUpdateNode. |
153-
| test.cpp:21:8:21:9 | t1 | ArgumentNode is missing PostUpdateNode. |
154-
| test.cpp:26:8:26:9 | t1 | ArgumentNode is missing PostUpdateNode. |
155-
| test.cpp:30:8:30:8 | t | ArgumentNode is missing PostUpdateNode. |
156-
| test.cpp:31:8:31:8 | c | ArgumentNode is missing PostUpdateNode. |
157-
| test.cpp:35:10:35:15 | call to source | ArgumentNode is missing PostUpdateNode. |
158-
| test.cpp:35:20:35:20 | 0 | ArgumentNode is missing PostUpdateNode. |
159-
| test.cpp:36:10:36:10 | 1 | ArgumentNode is missing PostUpdateNode. |
160-
| test.cpp:36:13:36:18 | call to source | ArgumentNode is missing PostUpdateNode. |
161-
| test.cpp:43:10:43:20 | ... ? ... : ... | ArgumentNode is missing PostUpdateNode. |
162-
| test.cpp:46:10:46:10 | t | ArgumentNode is missing PostUpdateNode. |
163-
| test.cpp:58:10:58:10 | t | ArgumentNode is missing PostUpdateNode. |
164-
| test.cpp:71:8:71:9 | x4 | ArgumentNode is missing PostUpdateNode. |
165-
| test.cpp:76:8:76:9 | u1 | ArgumentNode is missing PostUpdateNode. |
166-
| test.cpp:78:8:78:9 | u1 | ArgumentNode is missing PostUpdateNode. |
167-
| test.cpp:81:8:81:9 | i1 | ArgumentNode is missing PostUpdateNode. |
168-
| test.cpp:84:8:84:18 | ... ? ... : ... | ArgumentNode is missing PostUpdateNode. |
169-
| test.cpp:86:8:86:9 | i1 | ArgumentNode is missing PostUpdateNode. |
170-
| test.cpp:90:8:90:14 | source1 | ArgumentNode is missing PostUpdateNode. |
171-
| test.cpp:92:8:92:14 | source1 | ArgumentNode is missing PostUpdateNode. |
172-
| test.cpp:103:10:103:12 | ref | ArgumentNode is missing PostUpdateNode. |
173-
| test.cpp:110:10:110:12 | ref | ArgumentNode is missing PostUpdateNode. |
174-
| test.cpp:138:27:138:32 | call to source | ArgumentNode is missing PostUpdateNode. |
175-
| test.cpp:140:8:140:8 | y | ArgumentNode is missing PostUpdateNode. |
176-
| test.cpp:144:8:144:8 | s | ArgumentNode is missing PostUpdateNode. |
177-
| test.cpp:149:33:149:33 | 0 | ArgumentNode is missing PostUpdateNode. |
178-
| test.cpp:150:8:150:8 | x | ArgumentNode is missing PostUpdateNode. |
179-
| test.cpp:151:33:151:38 | call to source | ArgumentNode is missing PostUpdateNode. |
180-
| test.cpp:152:8:152:8 | y | ArgumentNode is missing PostUpdateNode. |
181-
| test.cpp:157:8:157:8 | x | ArgumentNode is missing PostUpdateNode. |
182-
| test.cpp:162:34:162:34 | 0 | ArgumentNode is missing PostUpdateNode. |
183-
| test.cpp:163:8:163:8 | x | ArgumentNode is missing PostUpdateNode. |
184-
| test.cpp:164:34:164:39 | call to source | ArgumentNode is missing PostUpdateNode. |
185-
| test.cpp:165:8:165:8 | y | ArgumentNode is missing PostUpdateNode. |
186-
| test.cpp:178:8:178:8 | y | ArgumentNode is missing PostUpdateNode. |
187-
| test.cpp:194:29:194:34 | call to source | ArgumentNode is missing PostUpdateNode. |
188-
| test.cpp:197:10:197:10 | y | ArgumentNode is missing PostUpdateNode. |
189-
| test.cpp:202:10:202:16 | barrier | ArgumentNode is missing PostUpdateNode. |
190-
| test.cpp:207:35:207:35 | 0 | ArgumentNode is missing PostUpdateNode. |
191-
| test.cpp:208:10:208:10 | x | ArgumentNode is missing PostUpdateNode. |
192-
| test.cpp:209:35:209:40 | call to source | ArgumentNode is missing PostUpdateNode. |
193-
| test.cpp:210:10:210:10 | y | ArgumentNode is missing PostUpdateNode. |
194-
| test.cpp:216:10:216:10 | x | ArgumentNode is missing PostUpdateNode. |
195-
| test.cpp:221:36:221:36 | 0 | ArgumentNode is missing PostUpdateNode. |
196-
| test.cpp:222:10:222:10 | x | ArgumentNode is missing PostUpdateNode. |
197-
| test.cpp:223:36:223:41 | call to source | ArgumentNode is missing PostUpdateNode. |
198-
| test.cpp:224:10:224:10 | y | ArgumentNode is missing PostUpdateNode. |
199-
| test.cpp:238:10:238:10 | y | ArgumentNode is missing PostUpdateNode. |
200-
| test.cpp:245:14:245:19 | call to source | ArgumentNode is missing PostUpdateNode. |
201-
| test.cpp:246:18:246:23 | call to source | ArgumentNode is missing PostUpdateNode. |
202-
| test.cpp:251:14:251:14 | y | ArgumentNode is missing PostUpdateNode. |
203-
| test.cpp:256:14:256:20 | barrier | ArgumentNode is missing PostUpdateNode. |
204-
| test.cpp:260:12:260:12 | x | ArgumentNode is missing PostUpdateNode. |
205-
| test.cpp:265:22:265:27 | call to source | ArgumentNode is missing PostUpdateNode. |
206-
| test.cpp:266:12:266:12 | x | ArgumentNode is missing PostUpdateNode. |
207-
| test.cpp:267:22:267:27 | call to source | ArgumentNode is missing PostUpdateNode. |
208-
| test.cpp:268:12:268:12 | x | ArgumentNode is missing PostUpdateNode. |
209-
| test.cpp:273:21:273:21 | y | ArgumentNode is missing PostUpdateNode. |
210-
| test.cpp:278:21:278:27 | barrier | ArgumentNode is missing PostUpdateNode. |
211-
| test.cpp:289:14:289:14 | x | ArgumentNode is missing PostUpdateNode. |
212-
| test.cpp:291:14:291:14 | x | ArgumentNode is missing PostUpdateNode. |
213-
| test.cpp:314:4:314:9 | call to source | ArgumentNode is missing PostUpdateNode. |
214-
| test.cpp:317:12:317:12 | p | ArgumentNode is missing PostUpdateNode. |
215-
| test.cpp:318:7:318:7 | x | ArgumentNode is missing PostUpdateNode. |
216-
| test.cpp:319:12:319:12 | 0 | ArgumentNode is missing PostUpdateNode. |
217-
| test.cpp:320:7:320:7 | y | ArgumentNode is missing PostUpdateNode. |
218-
| test.cpp:337:10:337:18 | globalVar | ArgumentNode is missing PostUpdateNode. |
219-
| test.cpp:339:10:339:18 | globalVar | ArgumentNode is missing PostUpdateNode. |
220-
| test.cpp:343:10:343:18 | globalVar | ArgumentNode is missing PostUpdateNode. |
221-
| test.cpp:349:10:349:18 | globalVar | ArgumentNode is missing PostUpdateNode. |
222-
| test.cpp:363:10:363:14 | field | ArgumentNode is missing PostUpdateNode. |
223-
| test.cpp:365:10:365:14 | field | ArgumentNode is missing PostUpdateNode. |
224-
| test.cpp:369:10:369:14 | field | ArgumentNode is missing PostUpdateNode. |
225-
| test.cpp:375:10:375:14 | field | ArgumentNode is missing PostUpdateNode. |
226-
| test.cpp:384:16:384:23 | & ... | ArgumentNode is missing PostUpdateNode. |
227-
| test.cpp:384:26:384:35 | sizeof(<expr>) | ArgumentNode is missing PostUpdateNode. |
228-
| test.cpp:385:8:385:10 | tmp | ArgumentNode is missing PostUpdateNode. |
229-
| test.cpp:391:16:391:23 | & ... | ArgumentNode is missing PostUpdateNode. |
230-
| test.cpp:391:26:391:35 | sizeof(<expr>) | ArgumentNode is missing PostUpdateNode. |
231-
| test.cpp:392:8:392:10 | tmp | ArgumentNode is missing PostUpdateNode. |
232-
| test.cpp:394:10:394:12 | tmp | ArgumentNode is missing PostUpdateNode. |
233-
| test.cpp:400:16:400:22 | & ... | ArgumentNode is missing PostUpdateNode. |
234-
| test.cpp:400:25:400:34 | sizeof(<expr>) | ArgumentNode is missing PostUpdateNode. |
235-
| test.cpp:401:8:401:10 | tmp | ArgumentNode is missing PostUpdateNode. |
236-
| test.cpp:407:16:407:22 | & ... | ArgumentNode is missing PostUpdateNode. |
237-
| test.cpp:407:25:407:34 | sizeof(<expr>) | ArgumentNode is missing PostUpdateNode. |
238-
| test.cpp:408:8:408:10 | tmp | ArgumentNode is missing PostUpdateNode. |
239-
| test.cpp:418:8:418:12 | local | ArgumentNode is missing PostUpdateNode. |
240-
| test.cpp:424:8:424:12 | local | ArgumentNode is missing PostUpdateNode. |
241-
| test.cpp:430:8:430:12 | local | ArgumentNode is missing PostUpdateNode. |
242-
| test.cpp:431:8:431:13 | * ... | ArgumentNode is missing PostUpdateNode. |
243-
| test.cpp:436:26:436:26 | 1 | ArgumentNode is missing PostUpdateNode. |
244-
| test.cpp:437:8:437:12 | local | ArgumentNode is missing PostUpdateNode. |
245-
| test.cpp:442:25:442:25 | 2 | ArgumentNode is missing PostUpdateNode. |
246-
| test.cpp:443:8:443:12 | local | ArgumentNode is missing PostUpdateNode. |
247-
| test.cpp:444:8:444:13 | * ... | ArgumentNode is missing PostUpdateNode. |
248-
| test.cpp:450:9:450:22 | (statement expression) | ArgumentNode is missing PostUpdateNode. |
249-
| test.cpp:451:9:451:21 | (statement expression) | ArgumentNode is missing PostUpdateNode. |
250-
| test.cpp:461:8:461:12 | local | ArgumentNode is missing PostUpdateNode. |
251-
| true_upon_entry.cpp:13:8:13:8 | x | ArgumentNode is missing PostUpdateNode. |
252-
| true_upon_entry.cpp:21:8:21:8 | x | ArgumentNode is missing PostUpdateNode. |
253-
| true_upon_entry.cpp:29:8:29:8 | x | ArgumentNode is missing PostUpdateNode. |
254-
| true_upon_entry.cpp:39:8:39:8 | x | ArgumentNode is missing PostUpdateNode. |
255-
| true_upon_entry.cpp:49:8:49:8 | x | ArgumentNode is missing PostUpdateNode. |
256-
| true_upon_entry.cpp:57:8:57:8 | x | ArgumentNode is missing PostUpdateNode. |
257-
| true_upon_entry.cpp:66:8:66:8 | x | ArgumentNode is missing PostUpdateNode. |
258-
| true_upon_entry.cpp:78:8:78:8 | x | ArgumentNode is missing PostUpdateNode. |
259-
| true_upon_entry.cpp:86:8:86:8 | x | ArgumentNode is missing PostUpdateNode. |
260-
| true_upon_entry.cpp:93:8:93:8 | x | ArgumentNode is missing PostUpdateNode. |
261-
| true_upon_entry.cpp:105:8:105:8 | x | ArgumentNode is missing PostUpdateNode. |

0 commit comments

Comments
 (0)