Dave Bartolomeo
14ac9859c1
Remove more ODR violations from test code.
...
PrintAST now works on `library-tests/dataflow/taint-tests`.
2020-10-16 10:26:42 -04:00
Mathias Vorreiter Pedersen
ca534ccb03
C++: Update inline expectation comments
2020-10-16 09:05:01 +02:00
Tom Hvitved
570b624eb7
C++: Update expected test output
2020-10-16 09:05:01 +02:00
Dave Bartolomeo
3767a52e9a
Fix ODR violations in test code
2020-10-15 17:54:48 -04:00
Dave Bartolomeo
ceea5b3ec6
Fix test code that returns reference to local
2020-10-15 13:37:20 -04:00
Robert Marsh
fade75b0fb
C++: add operator-- tests for insert iterators
2020-10-14 15:54:34 -07:00
Robert Marsh
126615a7ee
C++: add prefix operator++ in inserter tests
2020-10-14 13:33:50 -07:00
Robert Marsh
a1a441d759
C++: output iterator flow through operator= models
2020-10-14 13:06:11 -07:00
Robert Marsh
f3843b8a40
Revert "C++: output iterator flow with user-defined operators"
...
This reverts commit 28fa26629c .
2020-10-14 13:01:37 -07:00
Ian Lynagh
9e518d2555
C++: Accept test change for p#n -> (unnamed parameter n)
2020-10-14 12:59:47 +01:00
Robert Marsh
28fa26629c
C++: output iterator flow with user-defined operators
2020-10-13 16:30:47 -07:00
Robert Marsh
4b6ecfb0b1
C++: remove some constexprs in qltest
2020-10-13 16:19:15 -07:00
Robert Marsh
45a27d3296
C++: add tests for back_inserter iterator flow
2020-10-13 16:19:15 -07:00
Robert Marsh
108cc9ea47
C++: fix assignment to *iter++
2020-10-13 16:19:15 -07:00
Robert Marsh
f39195e339
C++: add tests for assignments to *iter++
2020-10-13 16:19:15 -07:00
Ian Lynagh
7680080701
C++: Accept unnamed-function changes to tests
2020-10-13 23:52:33 +01:00
Robert Marsh
b49aa677d0
Merge pull request #4459 from geoffw0/setex
...
C++: Additional taint flows through std::set
2020-10-13 15:17:54 -04:00
Dave Bartolomeo
fba4313457
Merge remote-tracking branch 'upstream/main' into work
2020-10-13 13:07:28 -04:00
Dave Bartolomeo
93f5ae4763
Clean up test formatting and accept new lines in results
2020-10-13 12:57:52 -04:00
Dave Bartolomeo
dfe69d8ada
Update taint test to propagate through string constructor
2020-10-13 12:06:34 -04:00
Robert Marsh
3b7cf7fd27
Merge pull request #4439 from geoffw0/mapex
...
C++: Additional taint flows through std::map
2020-10-12 14:17:17 -04:00
Jonas Jensen
0459248b9f
Merge remote-tracking branch 'upstream/main' into SimpleRangeAnalysis-guard-overflow
2020-10-12 14:32:29 +02:00
Geoffrey White
6440db786d
Merge pull request #4420 from jbj/SimpleRangeAnalysis-widen-Expr
...
C++: SimpleRangeAnalysis: widen recursive *, +, -
2020-10-12 11:20:09 +01:00
Geoffrey White
4363f08b45
C++: Model std::set::emplace and emplace_hint.
2020-10-12 11:01:09 +01:00
Jonas Jensen
30b9d13a45
C++: Correct annotation in test
2020-10-12 11:25:38 +02:00
Geoffrey White
5d87117dc7
C++: Model std::set::lower_bound, upper_bound, equal_range.
2020-10-12 10:10:40 +01:00
Jonas Jensen
9b12ceae8d
C++: SimpleRangeAnalysis: widen recursive *, +, -
...
The number of candidate bounds during the main `SimpleRangeAnalysis`
recursion was in principle always exponential in the size of the
program, but in practice it did not get out of hand when only `+` and
`-` operations were supported. Now that `*` is also supported, the range
analysis started timing out on the SinaMostafanejad/OpenRDM project. The
problematic expressions in that project are of the form
a*x*x*x + b*x*x + c*x + d
where most of the variables involved are recursive definitions and are
therefore likely to have a large number of candidate bounds.
The fix here is to identify those few binary operations that are most
likely to cause an explosion in the number of bounds and apply widening
to them. Previously, widening was only applied at definitions.
2020-10-12 11:09:01 +02:00
Jonas Jensen
bbeea452e1
C++: Add test with widening of binary Expr
2020-10-12 11:08:41 +02:00
Geoffrey White
fc19bba0bd
C++: Model std::set::merge and correct test annotations.
2020-10-12 10:01:57 +01:00
Geoffrey White
c63f7cb409
C++: Taint through emplace from qualifier to return value.
2020-10-09 17:41:24 +01:00
Geoffrey White
270517d379
C++: Revise model of emplace and emplace_hint. Note that 2 of the 3 taint regressions we shouldn't be getting because we don't yet do taint through keys.
2020-10-09 17:27:18 +01:00
Geoffrey White
49c121d370
C++: More test cases covering other std::pair constructors.
2020-10-09 17:22:29 +01:00
Anders Schack-Mulligen
091e3a2931
Dataflow: Adjust test output.
2020-10-09 16:25:14 +02:00
Geoffrey White
61a78e28ac
C++: Fix map::merge.
2020-10-09 14:46:23 +01:00
Geoffrey White
1f1be3bf9a
C++: Block try_emplace arg 0.
2020-10-09 10:04:22 +01:00
Geoffrey White
8786fe1ab8
C++: Add test missing test case involving tainted key.
2020-10-09 10:00:22 +01:00
Geoffrey White
c555cfa22a
C++: Replace isParameterDeref(_).
2020-10-08 16:55:45 +01:00
Geoffrey White
5c1a510e4a
C++: Model map::lower_bound, upper_bound and equal_range.
2020-10-08 14:22:43 +01:00
Geoffrey White
ef9a7c8cdb
C++: Model map::merge.
2020-10-08 14:22:43 +01:00
Geoffrey White
b7ab89c892
C++: Model map::emplace, emplace_hint and map::try_emplace.
2020-10-08 14:22:43 +01:00
Geoffrey White
6394b1b478
C++: Additional test cases for emplace.
2020-10-08 14:11:24 +01:00
Geoffrey White
61d5372d07
C++: Test spacing.
2020-10-08 13:43:49 +01:00
Geoffrey White
4c4dd0c959
C++: Fix a bug in the tests.
2020-10-08 12:57:30 +01:00
Dave Bartolomeo
1e455f08a3
Fix test expectations
2020-10-07 13:14:54 -04:00
Dave Bartolomeo
bf8340f102
Fix test expectations in syntax-zoo
2020-10-07 10:26:02 -04:00
Dave Bartolomeo
22638fdfc7
Merge remote-tracking branch 'upstream/main' into work
2020-10-06 18:33:14 -04:00
Dave Bartolomeo
80b832eb49
Fix test expectations
2020-10-06 18:27:33 -04:00
Jonas Jensen
984194d308
Merge pull request #4406 from geoffw0/set
...
C++: Models for std::set and std::unordered_set
2020-10-06 15:43:12 +02:00
Jonas Jensen
1d9acbfca9
C++: Demonstrate overflowing guard bounds
2020-10-06 15:31:34 +02:00
Dave Bartolomeo
badb11750a
AST and IR support for TemporaryObjectExpr
2020-10-05 17:53:35 -04:00