Anders Fugmann
c110508b4e
C++: Add tests to expose potential improvements available to SimpleRangeAnalysis
2021-09-02 21:20:33 +02:00
Jonas Jensen
93d8d8eb1d
C++: Demonstrate range analysis MulExpr bugs
...
Unless these issues can be reproduced in far less contrived code, I
don't think they will cause problems in practice.
2020-08-12 12:10:23 +02:00
Jonas Jensen
1ee96a4b4f
C++: SimpleRangeAnalysis: unsigned multiplication
2020-08-12 10:03:04 +02:00
Mathias Vorreiter Pedersen
834ad92453
C++: Add test cases for unsigned multiplication and fix missing return value in existing tests
2020-07-14 16:57:47 +02:00
Geoffrey White
a4fa4c859a
C++: Fix rounding for >>.
2020-05-11 18:55:01 +01:00
Geoffrey White
c8524522c8
C++: Add test cases.
2020-05-06 18:51:50 +01:00
Dave Bartolomeo
878cdf7cb6
C++: Fix false positive in PointlessComparison
...
We avoid putting a variable into SSA if its address is ever taken in a way that could allow mutation of the variable via indirection. We currently just look to see if the address is either "pointer to non-const" or "reference to non-const". However, if the address was cast to an integral type (e.g. `uintptr_t n = (uintptr_t)&x;`), we were treating it as unescaped. This change makes the conservative assumption that casting a pointer to an integer may result in the pointed-to value being modified later.
This fixes a customer-reported false positive (#2 from https://discuss.lgtm.com/t/2-false-positives-in-c-for-comparison-is-always-same/1943 )
2019-04-11 01:56:22 -07:00
Jonas Jensen
ca71ac7c36
C++: Accept improved test output
2019-04-09 13:38:52 +02:00
Jonas Jensen
4b159fd2a5
C++: Fix the suppression for alerts about enums
...
The suppression mechanism broke when I changed `relOpWithSwap` to take
fully-converted expressions as parameters.
2019-04-03 10:45:39 +02:00
Jonas Jensen
04a48e9034
Merge remote-tracking branch 'upstream/master' into SimpleRangeAnalysis-use-after-cast
2019-04-01 09:10:57 +02:00
Jason Reed
23ee7ee928
C++: Teach range analysis to pay attention to NaNs.
2019-03-28 20:39:29 -04:00
Jonas Jensen
36ba56c690
C++: Tests for PointlessComparison shortcomings
2019-03-27 10:48:35 +01:00
Jonas Jensen
1ffeebcfea
C++: Range analysis: support casts from/to typedef
2019-03-27 10:48:35 +01:00
Jonas Jensen
1c71c74ce5
C++: Tests showing problems with casts of typedefs
2019-03-27 10:48:35 +01:00
Jonas Jensen
50559d5e63
C++: Accept test output change
...
The new output looks correct, although I'm not sure if it's correct for
the right reasons.
2019-03-27 10:48:34 +01:00
Jonas Jensen
4a02b3946d
C++: Tests for two range analysis bugs
2018-11-06 11:57:41 +01:00
Pavel Avgustinov
b55526aa58
QL code and tests for C#/C++/JavaScript.
2018-08-02 17:53:23 +01:00