Jeroen Ketema
bfe9fb1721
Revert "Revert "Merge pull request #8592 from jketema/implied-cctor-source""
...
This reverts commit b1d9a070f4 .
2022-04-07 12:29:43 +02:00
Jeroen Ketema
b1d9a070f4
Revert "Merge pull request #8592 from jketema/implied-cctor-source"
...
This reverts commit d4834cb7ff , reversing
changes made to 268a3fd1c5 .
2022-04-07 12:02:37 +02:00
Jeroen Ketema
e91c04234e
C++: Update tests for copy constructor calls with implied source
2022-04-04 12:48:02 +02:00
Jeroen Ketema
e710cf7921
C++: Add tests for copy constructor direct initializations
2022-04-04 12:48:01 +02:00
Jeroen Ketema
e1fa58a6f2
C++: Update tests after generating reference conversion
2022-04-01 18:32:46 +02:00
Jeroen Ketema
1d51b618d1
C++: Update tests for handling op bitwise copy in lambda captures
2022-04-01 18:32:46 +02:00
Jeroen Ketema
3fed59fd13
C++: Add more lambda capture IR tests
2022-04-01 18:32:45 +02:00
Dave Bartolomeo
e2396a5e03
Remove PrintIR tests for range analysis
...
These were only used for debugging, and don't actually make good tests.
2022-03-30 06:45:28 -04:00
Dave Bartolomeo
19789fa738
Merge remote-tracking branch 'upstream/main' into semantic-scratch
2022-03-30 06:39:14 -04:00
Jeroen Ketema
94f014d948
C++: Update tests for handling of bitwise copies in copy constructors
2022-03-25 11:43:01 +01:00
Mathias Vorreiter Pedersen
93346a574f
C++: Add a new 'Location.isBefore' predicate that also considers columns.
2022-03-22 12:16:53 +00:00
Mathias Vorreiter Pedersen
c6c3206031
C++: Add example of 'goto' on the same line as the destination label.
2022-03-22 12:11:29 +00:00
Jeroen Ketema
d51cbe2525
C++: Update IR tests for handling of bitwise copy with explicit source
2022-03-15 23:22:37 +01:00
Jeroen Ketema
8be02b164c
C++: Add IR tests exposing incorrect translation due to unhandled bitwise copy
...
These tests are in addition to exisiting tests involving default copy
constructors, which suffer from the same problem, i.e., the extractor not
handling bitwise copies.
2022-03-15 23:22:37 +01:00
Dave Bartolomeo
7359e3253d
Fix reference to deprecated predicate
2022-03-15 15:59:35 -04:00
Dave Bartolomeo
62553ab089
Merge remote-tracking branch 'upstream/main' into semantic-scratch
2022-03-15 15:53:50 -04:00
Dave Bartolomeo
c9fbf83c1c
Working range analysis for C++
2022-03-15 06:02:54 -04:00
Dave Bartolomeo
f53a66b52a
Add working sign and modulus analysis
2022-03-15 05:16:23 -04:00
Erik Krogh Kristensen
69353bb014
patch upper-case acronyms to be PascalCase
2022-03-11 11:10:33 +01:00
Erik Krogh Kristensen
91af2f14b1
CPP: update expected output after deleting deprecated things
2022-03-09 18:28:12 +01:00
Jeroen Ketema
4ffbc2d148
C++: Ensure we use lvalue reference types for structured bindings
...
This also adds a test for rvalue reference uses in the tuple
structured binding case.
2022-02-27 21:13:48 +01:00
Jeroen Ketema
074577b539
C++: Refactor IR structured binding tuple test
2022-02-27 21:13:48 +01:00
Jeroen Ketema
6515e77c0e
C++: Generate additional loads for non-reference structured bindings
2022-02-27 21:13:48 +01:00
Jeroen Ketema
eebfbc12a0
C++: Add structured bindings struct as data member test case
2022-02-27 21:13:48 +01:00
Jeroen Ketema
5814349fd8
C++: Give names in structured binding declarations correct IR types
2022-02-27 21:13:48 +01:00
Jeroen Ketema
73f0366dc6
C++: Add typedef'ed reference structured binding test
2022-02-27 21:13:48 +01:00
Jeroen Ketema
91659af4d4
C++: Add array data member structured binding test
2022-02-27 21:13:48 +01:00
Jeroen Ketema
ec05942693
C++: Use unnamed_local_variable in array structured binding test
2022-02-27 21:13:48 +01:00
Jeroen Ketema
437a85dec7
C++: Add pointer related structured binding tests
2022-02-27 21:13:48 +01:00
Jeroen Ketema
99dd049c1b
Add IR test for tuple structured bindings
2022-02-23 16:15:19 +01:00
Jeroen Ketema
caf0f28547
Add IR test for data member structured bindings
2022-02-23 15:55:19 +01:00
Jeroen Ketema
ec2567b64b
Add IR test for array structured bindings
2022-02-23 15:10:10 +01:00
Robert Marsh
55cbff7614
C++: fix for constructor init without constructor
2022-02-03 13:44:02 -05:00
Robert Marsh
836c47abb3
C++: test for constructor init without constructor
2022-02-03 13:34:05 -05:00
Dave Bartolomeo
4c42013836
Update test expectations
2022-01-25 15:22:13 -05:00
Dave Bartolomeo
9183a4d7e7
Merge remote-tracking branch 'upstream/main' into dbartol/side-effect-reorder/work
2022-01-24 15:56:38 -05:00
Paolo Tranquilli
d626745ab1
fix ThisArgumentOperand location
...
The correct check to do to choose between using `getAnyDef` and `getUse`
is to check whether the location is an instance of UknonwnLocation.
2021-11-23 15:28:16 +00:00
Paolo Tranquilli
30805d964c
add ThisArgumentOperand special case
2021-11-23 15:28:15 +00:00
Paolo Tranquilli
0bb11fa371
fix PrintAST test run
...
The refactored shouldDumpFunction was now rejecting functions without a
location. This is fixed now.
2021-11-23 15:28:15 +00:00
Paolo Tranquilli
d4e80c664e
replace shouldDump -> shouldDumpLocation
2021-11-23 15:28:15 +00:00
Paolo Tranquilli
6072ccd81d
auto-format
2021-11-23 15:28:15 +00:00
Paolo Tranquilli
b5165e3692
C++: more fine-grained Operand location change
...
Only RegisterOperands need the change, with the notable exception of
ThisArgumentOperand.
2021-11-23 15:28:15 +00:00
Paolo Tranquilli
74c0197544
C++: take IR Operand locations from definitions
...
Previously Operand's getLocation would take it from the Operand use.
This lead to slightly confusing query results, where for example an
issue related to a call argument would highlight the function part of
the call instead of the parameter.
2021-11-23 15:28:15 +00:00
Paolo Tranquilli
8d3cf7f5aa
C++: update ir tests after frontend update
...
After updating the frontend new intermediate objects appear in the AST
and raw dumps.
2021-11-16 13:25:32 +00:00
Geoffrey White
2e61ae244a
C++: Set literals.
2021-10-13 16:12:36 +01:00
Dave Bartolomeo
d1e6813812
Make side effects for constructor calls use same mechanism as other arguments
...
This commit is yet another step to fixing the order of IR side effect instructions. Instead of having a special `StructorCallSideEffects` class for the call itself, I've introduced a `TranslatedStructorCallQualifierSideEffect` class that shares a bunch of common code with `TranslatedArgumentExprSideEffect`, but handles the case where there's no `Expr` for the qualifier of the constructor call. Because this class uses the same ordering as regular argument side effects, these side effects now appear in the correct order, reads before writes.
The test expectations have changed to reflect the new, correct order.
2021-09-03 16:58:32 -04:00
Alex Denisov
653afc8448
C++: Adjust test expectations after frontend upgrade
2021-06-23 14:39:16 +02:00
Mathias Vorreiter Pedersen
8e8c2e677a
C++: Accept test changes.
2021-06-04 18:49:20 +02:00
Mathias Vorreiter Pedersen
f2d7988d72
C++: Add tests involving various non-const and const smart pointers.
2021-06-04 18:46:05 +02:00
Jonas Jensen
7282ad90d0
Merge pull request #5854 from dbartol/dbartol/smart-pointers/side-effects
...
C++: Generate side effect instructions for smart pointer indirections
2021-06-01 16:57:05 +02:00