Geoffrey White
2fddb09a30
C++: New autoformat.
2020-02-06 10:17:37 +00:00
Geoffrey White
95c77ca3c6
C++: Update comment.
2020-02-06 10:17:37 +00:00
Geoffrey White
9c05ffeb3a
C++: Emulate old security library's use of predictable more accurately.
2020-02-06 10:17:37 +00:00
Mathias Vorreiter Pedersen
f4bbdee6c2
Merge pull request #2745 from Cornelius-Riemenschneider/cpp-range-analysis
...
C++: Fix bug in range analysis.
2020-02-06 10:10:06 +01:00
Mathias Vorreiter Pedersen
ba395cf11a
C++: Update test annotations and accept output
2020-02-06 09:26:33 +01:00
Mathias Vorreiter Pedersen
cfcf087d3c
C++: Add comment explaining buggy value number
2020-02-06 09:26:33 +01:00
Mathias Vorreiter Pedersen
4f2775012a
C++/C#: Sync identical files
2020-02-06 09:26:33 +01:00
Mathias Vorreiter Pedersen
5e5bd92cba
C++: Accept output
2020-02-06 09:26:33 +01:00
Mathias Vorreiter Pedersen
54f0b4a099
C++: Add more support for load instructions
2020-02-06 09:21:42 +01:00
Mathias Vorreiter Pedersen
687dcb7ad1
C++: Add testcase demonstrating unexpectly different value numbers
2020-02-06 09:21:42 +01:00
Jonas Jensen
91927c9039
Merge remote-tracking branch 'upstream/master' into ir-crement-load
...
Conflicts:
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir.expected
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir_unsound.expected
cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_ir.expected
cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_ir_unsound.expected
2020-02-06 08:37:09 +01:00
Jonas Jensen
c0417ac161
Merge pull request #2740 from dbartol/dbartol/InitializeNonLocal
...
C++: Prevent `AliasedVirtualVariable` from overlapping string literals
2020-02-06 08:28:01 +01:00
Dave Bartolomeo
e06f468b59
C++: Fix test expectations after EDG update
2020-02-05 14:34:29 -07:00
Cornelius Riemenschneider
7f7cc7bece
Include test output for the fixed test.
2020-02-05 22:33:26 +01:00
Cornelius Riemenschneider
c941348fea
Fix test so it actually shows up in the test output.
2020-02-05 22:29:44 +01:00
Dave Bartolomeo
c53f80175f
Merge pull request #2750 from Cornelius-Riemenschneider/cpp-range-analysis-casts
...
C++: Support implicit casts better in range analysis
2020-02-05 13:59:09 -07:00
Jonas Jensen
81b1bd4177
Merge pull request #2769 from aschackmull/java/perf-regression
...
Java: Improve performance.
2020-02-05 20:15:18 +01:00
Dave Bartolomeo
4c31c038b8
Merge from master
2020-02-05 11:23:14 -07:00
Dave Bartolomeo
4362bdb626
C++: Accept new test output
2020-02-05 10:56:40 -07:00
Dave Bartolomeo
1b6de4b32f
C++: Fix formatting
2020-02-05 10:55:49 -07:00
Jonas Jensen
a0e2d59c01
C++: Add tests for global-var support
2020-02-05 16:31:13 +01:00
Jonas Jensen
f40acc19d2
C++: Use VariableNode in DefaultTaintTracking
2020-02-05 16:29:13 +01:00
Jonas Jensen
6d081a997a
C++: Add VariableNode
2020-02-05 16:29:13 +01:00
Jonas Jensen
73e34f1447
C++: Refactor to separate out InstructionNode
...
This commit prepares the IR data-flow library for having more than one
type of data-flow node.
2020-02-05 16:29:13 +01:00
Jonas Jensen
cdfcee3ae9
Merge remote-tracking branch 'upstream/master' into ir-crement-load
...
Conflicts:
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir.expected
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_ir_unsound.expected
2020-02-05 16:13:21 +01:00
Anders Schack-Mulligen
07482abed7
Java/C++/C#: Sync.
2020-02-05 15:17:20 +01:00
Ian Lynagh
67d7e83c17
Merge pull request #2727 from matt-gretton-dann/codeql-c-extractor/7-edg-60-upgrade
...
Update expected results for changes in Extractor FE
2020-02-05 12:23:02 +00:00
Jonas Jensen
2928f9e5b2
Merge pull request #2703 from rdmarsh2/connect-ir-dataflow-models
...
C++: IR dataflow through modeled functions
2020-02-05 11:28:48 +01:00
Matthew Gretton-Dann
b601908577
CPP: Update for changes in EDG IL.
2020-02-05 09:11:23 +00:00
Matthew Gretton-Dann
1b67f47918
C++: Update with improved location information
...
EDG 6.0 gives better location in some circumstances changing the results
of these tests for the better.
2020-02-05 09:11:23 +00:00
Matthew Gretton-Dann
cec6646846
C++: Update for EDG 6.0 behaviour change
...
EDG 6.0 has changed how much information it gives about invalid
expressions. Changing the output of this test.
2020-02-05 09:11:23 +00:00
Dave Bartolomeo
73ad2e9658
Merge from master
2020-02-04 18:33:10 -07:00
Dave Bartolomeo
a23d5afc6c
C++: Add test case to demonstrate string literl aliasing change
...
Also fixed a minor bug where we should have been treating `AllNonLocalMemory` as _totally_ overlapping an access to a non-local variable, rather than _partially_ overlapping it. This fix is exhibited both in the new test case and in a couple existing test functions in `ssa.cpp`.
2020-02-04 18:24:08 -07:00
Robert Marsh
1576bcfa3f
C++: remove unused predicates
2020-02-04 12:08:03 -08:00
Jonas Jensen
c77a921b06
Merge pull request #2695 from rdmarsh2/default-taint-tracking-diff-test
...
C++: add diff tests for DefaultTaintTracking
2020-02-04 20:57:55 +01:00
Robert Marsh
ac2e89317b
C++: autoformat
2020-02-04 10:41:30 -08:00
Robert Marsh
861d5eb86b
C++: update tests after merge
2020-02-04 10:29:52 -08:00
Robert Marsh
785d54ac67
Merge branch 'master' into default-taint-tracking-diff-test
2020-02-04 09:50:05 -08:00
Tom Hvitved
6e14ba4e56
C++: Follow-up changes
2020-02-04 14:09:12 +01:00
Tom Hvitved
c591719df2
Data flow: Sync files
2020-02-04 14:09:12 +01:00
Mathias Vorreiter Pedersen
0276c97b9c
Merge pull request #2755 from jbj/BarrierGuard-SSA
...
C++: Don't use GVN in AST DataFlow BarrierNode
2020-02-04 12:00:12 +01:00
Jonas Jensen
b4385c6e60
C++: Don't use GVN in AST DataFlow BarrierNode
...
It turns out that the evaluator will evaluate the GVN stage even when no
predicate from it is needed after optimization of the subsequent stages.
The GVN library is expensive to evaluate, and it'll become even more
expensive when we switch its implementation to IR.
This PR disables the use of GVN in `DataFlow::BarrierNode` for the AST
data-flow library, which should improve performance when evaluating a
single data-flow query on a snapshot with no cache. Precision decreases
slightly, leading to a new FP in the qltests.
There is no corresponding change for the IR data-flow library since IR
GVN is not very expensive.
2020-02-04 08:40:36 +01:00
Robert Marsh
eafd7b6045
C++: accept test output
2020-02-03 15:27:34 -08:00
Robert Marsh
677f0f090a
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-02-03 13:06:35 -08:00
Robert Marsh
931c0e982e
Merge pull request #2748 from MathiasVP/value-numbering-indirection
...
C++: Indirection for ValueNumbering
2020-02-03 14:41:58 -05:00
Robert Marsh
f51841ac37
Merge pull request #2736 from jbj/buffer-type-size
...
C++: Workaround for problem with memcpy flow
2020-02-03 14:31:28 -05:00
Robert Marsh
3bfcf0bf46
Merge branch 'master' into connect-ir-dataflow-models
2020-02-03 11:06:45 -08:00
Cornelius Riemenschneider
36479d3fd6
Support to keep bounds derived on implicit integer casts.
2020-02-03 17:33:06 +01:00
Cornelius Riemenschneider
cf8efbb5a0
Add testcase.
2020-02-03 17:23:24 +01:00
Robert Marsh
2b10cd6228
Merge pull request #2737 from jbj/DefaultTaintTracking-indirect-parameters
...
C++: Interprocedural indirections in DefaultTaintTracking.qll
2020-02-03 11:12:38 -05:00