Commit c5950d2
committed
C++: IR: Result of
Previously, the `Load` would be associated with the `CrementOperation`
rather than its operand, which gave surprising results when mapping
taint sinks back to `Expr`.
The changes in `raw_ir.expected` are to add `Copy` operations on the
`x++` in code like `y = x++`. This is now needed because the result that
`x++` would otherwise have (the Load) no longer belongs to the `++`
expression. Copies are inserted to ensure that all expressions are
associated with an `Instruction` result.
The changes in `*aliased_ssa_ir.expected` appear to be just wobble.x in x++ is now the Load1 parent ed3ed5f commit c5950d2
9 files changed
Lines changed: 137 additions & 115 deletions
File tree
- cpp/ql
- src/semmle/code/cpp/ir/implementation/raw/internal
- test/library-tests
- dataflow/crement
- ir
- ir
- ssa
- rangeanalysis/signanalysis
Lines changed: 0 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | 20 | | |
22 | 21 | | |
23 | 22 | | |
| |||
104 | 103 | | |
105 | 104 | | |
106 | 105 | | |
107 | | - | |
108 | | - | |
109 | 106 | | |
110 | 107 | | |
111 | 108 | | |
| |||
Lines changed: 30 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
| 211 | + | |
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
223 | 249 | | |
224 | 250 | | |
225 | 251 | | |
| |||
229 | 255 | | |
230 | 256 | | |
231 | 257 | | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
| 258 | + | |
| 259 | + | |
239 | 260 | | |
240 | 261 | | |
241 | 262 | | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
| 263 | + | |
247 | 264 | | |
248 | 265 | | |
249 | 266 | | |
| |||
Lines changed: 34 additions & 38 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
67 | | - | |
68 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
69 | 72 | | |
70 | 73 | | |
71 | 74 | | |
| |||
103 | 106 | | |
104 | 107 | | |
105 | 108 | | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
| 109 | + | |
112 | 110 | | |
113 | 111 | | |
114 | 112 | | |
115 | 113 | | |
116 | 114 | | |
117 | | - | |
| 115 | + | |
118 | 116 | | |
119 | 117 | | |
120 | 118 | | |
| |||
270 | 268 | | |
271 | 269 | | |
272 | 270 | | |
| 271 | + | |
| 272 | + | |
273 | 273 | | |
274 | 274 | | |
275 | 275 | | |
| |||
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
| 301 | + | |
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| |||
387 | 387 | | |
388 | 388 | | |
389 | 389 | | |
390 | | - | |
| 390 | + | |
391 | 391 | | |
392 | 392 | | |
393 | 393 | | |
| |||
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | 419 | | |
424 | 420 | | |
425 | 421 | | |
| |||
434 | 430 | | |
435 | 431 | | |
436 | 432 | | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | 433 | | |
447 | 434 | | |
448 | 435 | | |
449 | | - | |
| 436 | + | |
450 | 437 | | |
451 | 438 | | |
452 | 439 | | |
| |||
455 | 442 | | |
456 | 443 | | |
457 | 444 | | |
458 | | - | |
| 445 | + | |
459 | 446 | | |
460 | 447 | | |
461 | 448 | | |
462 | 449 | | |
463 | 450 | | |
464 | 451 | | |
465 | | - | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
466 | 455 | | |
467 | 456 | | |
468 | 457 | | |
469 | 458 | | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | 459 | | |
474 | 460 | | |
475 | 461 | | |
| |||
482 | 468 | | |
483 | 469 | | |
484 | 470 | | |
485 | | - | |
| 471 | + | |
486 | 472 | | |
487 | 473 | | |
488 | 474 | | |
| |||
494 | 480 | | |
495 | 481 | | |
496 | 482 | | |
497 | | - | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
498 | 489 | | |
499 | 490 | | |
500 | 491 | | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
501 | 497 | | |
502 | 498 | | |
503 | 499 | | |
| |||
534 | 530 | | |
535 | 531 | | |
536 | 532 | | |
537 | | - | |
| 533 | + | |
538 | 534 | | |
539 | 535 | | |
540 | 536 | | |
541 | 537 | | |
542 | 538 | | |
543 | 539 | | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
| 540 | + | |
548 | 541 | | |
549 | 542 | | |
550 | 543 | | |
| |||
2476 | 2469 | | |
2477 | 2470 | | |
2478 | 2471 | | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
2479 | 2475 | | |
2480 | 2476 | | |
2481 | 2477 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
509 | 509 | | |
510 | 510 | | |
511 | 511 | | |
512 | | - | |
513 | | - | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
514 | 515 | | |
515 | 516 | | |
516 | 517 | | |
517 | 518 | | |
518 | 519 | | |
519 | | - | |
520 | | - | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
521 | 523 | | |
522 | 524 | | |
523 | 525 | | |
| |||
727 | 729 | | |
728 | 730 | | |
729 | 731 | | |
730 | | - | |
731 | | - | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
732 | 735 | | |
733 | 736 | | |
734 | 737 | | |
735 | 738 | | |
736 | 739 | | |
737 | | - | |
738 | | - | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
739 | 743 | | |
740 | 744 | | |
741 | 745 | | |
| |||
1037 | 1041 | | |
1038 | 1042 | | |
1039 | 1043 | | |
1040 | | - | |
1041 | | - | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
1042 | 1047 | | |
1043 | 1048 | | |
1044 | 1049 | | |
1045 | 1050 | | |
1046 | 1051 | | |
1047 | | - | |
1048 | | - | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
1049 | 1055 | | |
1050 | 1056 | | |
1051 | 1057 | | |
| |||
0 commit comments