Jonas Jensen
0bbbfe58cf
Merge pull request #3916 from geoffw0/cc_followup2
...
C++: Add missing constructor taint test
2020-07-08 16:35:47 +02:00
Geoffrey White
bc7c83a5d6
C++: Add taint test cases confirming that constructor definitions do no need to be present.
2020-07-07 16:01:13 +01:00
Ian Lynagh
0d9b18dbd7
C++: Accept test changes for is_constexpr
...
Generated copy and move constructors may now be marked as constexpr.
2020-07-06 19:24:39 +01:00
Geoffrey White
0caa17ab10
C++: Test the new methods.
2020-07-06 18:47:56 +01:00
Geoffrey White
52e501c41d
C++: Extend the 'swap' taint tests with methods that do not have recognizable signatures (copy/move assignment).
2020-07-06 18:44:37 +01:00
Jonas Jensen
50cd759718
Merge pull request #3733 from geoffw0/models5
...
C++: Constructor and assignment models
2020-07-01 13:58:27 +02:00
Anders Schack-Mulligen
38b73ff684
Merge pull request #3854 from hvitved/dataflow/node-type-interface
...
Data flow: Replace `getErasedRepr()` and `Node::getTypeBound()` with `getNodeType()`
2020-07-01 11:37:19 +02:00
Geoffrey White
8bdcc47a50
C++: Add a test.
2020-06-30 17:46:08 +01:00
Tom Hvitved
de3dc734ff
C++: Follow-up changes
2020-06-30 17:44:16 +02:00
Geoffrey White
3016798101
Merge branch 'master' into copymove
2020-06-30 16:20:41 +01:00
Geoffrey White
c57c016ced
C++: Go the other way.
2020-06-30 16:16:00 +01:00
Jonas Jensen
63de58c557
Merge pull request #3819 from dbartol/codeql-c-analysis-team/40/2
...
C++: More IR QLDoc (including `Opcode.qll`)
2020-06-30 17:09:15 +02:00
Matthew Gretton-Dann
ab876b8b78
Merge pull request #3814 from nickrolfe/71-this
...
C++: add MemberFunction::getTypeOfThis()
2020-06-30 13:31:14 +01:00
Nick Rolfe
4b6908c5bf
C++: test template classes with MemberFunction::getTypeOfThis()
2020-06-29 18:05:58 +01:00
Mathias Vorreiter Pedersen
5fbf30590e
C++: Accept test changes.
2020-06-28 20:21:51 +02:00
Mathias Vorreiter Pedersen
9c0f877172
C++: Keep old instruction -> instruction flow in simpleInstructionLocalFlowStep. This means we don't have to add general operand -> instruction to the simpleLocalFlowStep relation, which seems to add a 10% performance regression.
2020-06-28 11:28:43 +02:00
Dave Bartolomeo
5f290520ab
C++: Accept test diffs due to opcode rename
2020-06-26 13:45:41 -04:00
Nick Rolfe
0ae5fb0357
C++: auto-format test query
2020-06-26 15:35:55 +01:00
Nick Rolfe
309a8e60c8
C++: add more test cases for the type of this
2020-06-26 14:20:46 +01:00
Nick Rolfe
9e9d69238a
C++: add test for MemberFunction::getTypeOfThis()
2020-06-26 14:20:46 +01:00
Nick Rolfe
133838dbf3
C++: update tests to expect type of this
2020-06-26 14:20:45 +01:00
Jonas Jensen
c1b26d71c3
C++: getCanonicalQLClass -> getAPrimaryQlClass
...
Also updated the QLDoc for `getAPrimaryQlClass` to match the Go version.
2020-06-26 13:20:36 +02:00
Geoffrey White
168f9404f0
Merge branch 'master' into models5
2020-06-25 17:42:08 +01:00
Robert Marsh
fb6e578618
C++: move IR range analysis to experimental
2020-06-24 12:50:14 -07:00
Mathias Vorreiter Pedersen
8c6753a3cc
C++: Accept consistency tests.
2020-06-24 21:13:38 +02:00
Mathias Vorreiter Pedersen
5190c26635
C++: Accept tests.
2020-06-24 18:28:41 +02:00
Geoffrey White
dd19ee47a1
C++: Clean up ConversionConstructor.
2020-06-23 11:22:59 +01:00
Jonas Jensen
5a5df4de26
Revert "Merge pull request #3419 from MathiasVP/flat-structs"
...
There was unfortunately a semantic merge conflict between #3419 and
#3587 that caused a performance regression on (at least) OpenJDK.
This reverts commit 982fb38807 , reversing
changes made to b841cacb83 .
2020-06-22 14:09:06 +02:00
Geoffrey White
104298e09a
Merge branch 'master' into models5
2020-06-22 10:59:15 +01:00
Geoffrey White
eebaf0f330
C++: Modify the tests so that ConversionConstructors are tested; we don't want the general case for Constructors any more.
2020-06-19 10:15:01 +01:00
Geoffrey White
35487ff109
Merge branch 'master' into stringtest
2020-06-17 19:00:26 +01:00
Geoffrey White
174fdadbf5
Merge branch 'master' into stringtest
2020-06-17 18:24:30 +01:00
Geoffrey White
833f5b0cf3
C++: Add flow through assignment operators.
2020-06-17 15:47:37 +01:00
Geoffrey White
b9a65581ce
C++: Some constructors should have dataflow instead of taint.
2020-06-17 15:47:37 +01:00
Geoffrey White
031c9b98f1
C++: General taint flow through constructors.
2020-06-17 15:47:37 +01:00
Geoffrey White
30151c99d7
C++: Remove the std::string Constructor model.
2020-06-17 15:43:58 +01:00
Geoffrey White
d565cfc58e
C++: Add a test of default constructors etc.
2020-06-17 15:41:36 +01:00
Geoffrey White
c196ea24b2
C++: Add taint tests of class constructors and assignment.
2020-06-17 15:41:00 +01:00
Geoffrey White
ea9e9a7a26
C++: Add taint tests of std::string constructors and assignment.
2020-06-17 15:41:00 +01:00
Robert Marsh
ef940e815f
C++: Add comment for false positives in swap tests
2020-06-16 11:46:14 -07:00
Robert Marsh
0c99b3644c
C++: remove false negative comments in swap tests
2020-06-16 11:33:26 -07:00
Robert Marsh
1c9b6f0a48
Merge branch 'master' into ir-this-parameter-2
...
Accept test changes - dataflow changes are all positive
2020-06-16 11:28:49 -07:00
Robert Marsh
ab327b989d
Merge pull request #3713 from MathiasVP/flow-diff-test
...
C++: Add test for differences between AST and IR field flow
2020-06-16 09:09:46 -07:00
Jonas Jensen
e5e373cff2
Merge pull request #3673 from MathiasVP/assign-op-using-swap
...
C++: Add tests for taint through swap
2020-06-16 15:43:52 +02:00
Mathias Vorreiter Pedersen
c30d1a618e
C++: Add charpred to partial definition node classes in qltest
2020-06-16 09:55:37 +02:00
Dave Bartolomeo
fecffab8e7
C++: Fix consistency error
...
`TTranslatedAllocationSideEffects` wasn't limiting itself to functions that actually have IR, so it was getting used even in template definitions.
2020-06-15 10:47:00 -04:00
Dave Bartolomeo
8cbc7e8654
C++/C#: Improve consistency failure result messages
...
Some of our IR consistency failure query predicates already produced results in the schema as an `@kind problem` query, including `$@` replacements for the enclosing `IRFunction` to make it easier to figure out which function to dump when debugging. This change moves the rest of the query predicates in `IRConsistency.qll` to do the same. In addition, it wraps each call to `getEnclosingIRFunction()` to return an `OptionalIRFunction`, which can be either a real `IRFunction` or a placeholder in case `getEnclosingIRFunction()` returned no results. This exposes a couple new consistency failures in `syntax-zoo`, which will be fixed in a subsequent commit.
This change also deals with consistency failures when the enclosing `IRFunction` has more than one `Function` or `Location`. For multiple `Function`s, we concatenate the function names. For multiple `Location`s, we pick the first one in lexicographical order. This changes the number of results produced in the existing tests, but does't change the actual number of problems.
2020-06-15 10:46:46 -04:00
Mathias Vorreiter Pedersen
6748f3887e
C++: Add test demonstrating differences between AST and IR field flow. Also refactored the partial definitions test
2020-06-15 09:39:15 +02:00
Robert Marsh
65f4ef712e
C++: accept false positive tests after merge
...
The IR false positives are due to the same path length limit as the AST
false positives on the same line.
2020-06-11 15:27:13 -07:00
Robert Marsh
a7efa0d602
Merge branch 'master' into ir-this-parameter-2
2020-06-11 13:21:52 -07:00