Geoffrey White
a842ed56cf
CPP: Integrate and produce full results.
2019-06-10 15:33:12 +01:00
Geoffrey White
e143870b65
CPP: Pavel's sketch implementation.
2019-06-10 15:33:12 +01:00
Geoffrey White
2f36d81137
CPP: Add cases for fields.
2019-06-10 15:07:52 +01:00
Geoffrey White
d3f98a5a74
CPP: Create a direct test of Variable.getAnAssignedValue().
2019-06-10 14:33:14 +01:00
Ian Lynagh
03f555dda5
C++: Update test output following QLCFG changes
2019-06-07 14:00:52 +01:00
Ziemowit Laski
d86557cfcb
Adjust .expected output.
2019-06-04 12:57:43 -07:00
semmle-qlci
79406f8387
Merge pull request #987 from rdmarsh2/rdmarsh/cpp/ir-asm-stmt
...
Approved by dave-bartolomeo
2019-06-03 07:03:28 +01:00
Robert Marsh
4371d02a1f
C++: accept SignAnalysis.expected
2019-05-31 13:35:05 -07:00
Robert Marsh
5dd8c9cd4e
C++: revert InlineAsm subclassing SideEffectOpcode
2019-05-31 13:28:26 -07:00
Robert Marsh
2770b2a9b9
C++: respond to PR comments
2019-05-31 13:19:40 -07:00
Robert Marsh
98d6f5919f
C++: Treat asmStmt operands as input/output in IR
2019-05-31 12:51:44 -07:00
Robert Marsh
66d1efdb97
C++: respond to PR comments
2019-05-31 12:42:04 -07:00
Robert Marsh
23560436a7
C++: add minimal AsmStmt support to IR
2019-05-31 12:29:19 -07:00
semmle-qlci
3851261230
Merge pull request #1378 from jbj/hasQualifiedName-inline-namespace
...
Approved by dave-bartolomeo
2019-05-31 19:39:42 +01:00
Dave Bartolomeo
aff85c5b24
C++: IR support for range-based for loops
...
IR construction was missing support for C++ 11 range-based `for` loops. The extractor generates ASTs for the compiler-generated implementation already, so I had enough information to generate IR. I've expanded on some of the predicates in `RangeBasedForStmt` to access the desugared information.
One complication was that the `DeclStmt`s for the compiler-generated variables seem to have results for `getDeclaration()` but not for `getDeclarationEntry()`. This required handling these slightly differently than we do for other `DeclStmt`s.
The flow for range-based `for` is actually easier than for a regular `for`, because all three components (init, condition, and update) are always present.
2019-05-29 14:40:29 -07:00
Jonas Jensen
df4c57648c
C++: Support inline namespaces in hasQualifiedName
2019-05-29 15:22:42 +02:00
Jonas Jensen
4bb65fddf7
C++: Test that hasQualifiedName/3 ignores inline
2019-05-29 15:22:42 +02:00
Geoffrey White
574a1d8501
Merge pull request #1037 from kevinbackhouse/RangeAnalysisAssignAddOverflow
...
Better overflow detection for AssignAdd/AssignSub
2019-05-29 09:54:06 +01:00
Jonas Jensen
b0a7f207e4
Merge pull request #1343 from rdmarsh2/rdmarsh/cpp/getUnspecifiedType
...
C++: add getUnspecifiedType() for exprs and decls
2019-05-28 20:10:28 +01:00
Geoffrey White
170691b467
CPP: Comment as suggested.
2019-05-24 16:16:45 +01:00
Ian Lynagh
6a77ac8a13
C++: Follow extractor changes for 0136
2019-05-21 17:07:21 +01:00
Robert Marsh
e899120270
C++: replace getType().getUnspecifiedType()
2019-05-20 15:08:28 +01:00
Jonas Jensen
662d55fd72
C++: Add tests for qualified names
2019-05-06 10:58:05 +02:00
Dave Bartolomeo
34a422c756
C++: Accept test output after value category extractor fix
2019-05-02 11:18:10 -07:00
Dave Bartolomeo
ad966e4bd4
C++: Accept test diffs after imprecise use format change
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
fef58ec1ee
C++: Add "~" prefix to inexact uses
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
ff12ed145e
C++: Update test expectations after StmtExpr changes
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
95a62beb7a
C++: Update test expectations due to better dataflow analysis
2019-05-02 11:18:09 -07:00
Dave Bartolomeo
e0f7344676
C++: Imprecise definitions in SSA
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
9726428bcc
C++: More SSA test cases
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
eed0894029
C++: Add operand labels for more operand tags
...
I kept forgetting which operand on a Chi instruction was which, so I added dump labels. I added labels for the function target of a `Call`, for positional arguments, and for address operands as well.
2019-05-02 11:18:08 -07:00
Dave Bartolomeo
a7f3160684
C++: New SSA tests
2019-05-02 11:18:08 -07:00
Nick Rolfe
50c901d6d9
C++: remove pointless predicate
2019-05-02 11:16:21 +01:00
Nick Rolfe
74f81c7f46
C++: test for fold expressions
2019-05-02 11:16:21 +01:00
Geoffrey White
d2f386ccb7
CPP: Effect of changes on tests.
2019-05-01 15:56:44 +01:00
Geoffrey White
19e6b238b7
CPP: Add test cases.
2019-05-01 15:43:06 +01:00
Jonas Jensen
bdb678a318
Merge pull request #1267 from rdmarsh2/rdmarsh/cpp/def-by-ref-taint
...
C++: add taint edges to DefinitionByReferenceNode
2019-04-26 08:50:20 +02:00
Robert Marsh
919f5c616f
C++: comment and test for taint flow via memcpy
2019-04-23 11:17:18 -07:00
Robert Marsh
262f724235
C++: add taint edges to DefinitionByReferenceNode
2019-04-22 10:39:02 -07:00
Robert Marsh
45a35a8572
Merge pull request #1265 from rdmarsh2/rdmarsh/cpp/gvn-string-pooling
...
C++: string pooling in IR value numbering
2019-04-22 09:29:44 -07:00
Robert Marsh
e7ca6c8bd9
C++: test for value number string pooling
2019-04-19 10:50:52 -07:00
Nick Rolfe
bf204ecdf8
C++: update expected extractor arguments to match qltest runner changes
2019-04-17 12:30:04 +01:00
Nick Rolfe
baf091235c
C++: change expected test output following extractor frontend upgrade
2019-04-11 17:45:35 +01:00
Geoffrey White
5101a5bc3d
Merge pull request #1056 from jbj/SimpleRangeAnalysis-use-after-cast
...
C++: Fix use-after-cast bug in SimpleRangeAnalysis
2019-04-10 11:04:20 +01:00
Robert Marsh
c9fbbfe7d8
Merge pull request #984 from rdmarsh2/rdmarsh/cpp/ir-stmtexpr
...
C++: add support for GNU StmtExpr in IR
2019-04-09 12:54:35 -04:00
Robert Marsh
fd7512c447
C++: accept test change in SignAnalysis
2019-04-08 14:10:37 -04:00
Jonas Jensen
fedd652de8
Merge remote-tracking branch 'upstream/rc/1.20' into mergeback-20190408
2019-04-08 08:39:44 +02:00
Robert Marsh
8087cb5040
C++: add CopyValueInstruction for StmtExpr result
2019-04-05 11:27:19 -07:00
Robert Marsh
46f93ff322
C++: update test expectations
2019-04-04 10:55:27 -07:00
Robert Marsh
427b853077
C++: add another test case for IR stmtexpr
2019-04-04 10:55:27 -07:00