- User Since
- Mar 9 2016, 4:07 AM (171 w, 6 d)
Fri, Jun 14
Thu, Jun 13
Wed, Jun 12
Looks much better than the original one, but why did the warning move to the correct place just because marking the region as interesting?
Visitors now track increments and decrements.
Wed, Jun 5
This patch definitely reduces the number of false positives, but may not be enough. The problem is that std::advance() may call another function that does the actual incremention or decremention, in the gcc implementation it is __advance(). If the std::advance() is inlined but __advance() not then we still get false positive. The obvious way would be to simulate __advance() as well but it is an implementation dependent internal function and may be totally different for other implementations. Another idea is that instead of querying the CheckerContext whether advance() was inlined we go up the exploded graph and find its "precall" state and compare the values of the first parameter related to the second one in the two states. This is a bit more complex and more expensive but this for me this seems to be the correct solution.
I left errors caused by mismatched iterators non-fatal for now. This is debatable because passing a function expecting a range iterators for two different containers or applying a container modifier using a mismatched iterator also leads to undefined behavior. However, comparing two iterators of different containers always returns false thus it is non-fatal. Maybe we should separate these two cases and report the first one as fatal, the second one as non-fatal errors.
Fri, May 31
Thu, May 30
Multipliers limited to less or equal to 255.
Tue, May 28
Before someone asks: NoteTags are not applicable here since invalidation and reaching one end of the range happens in many different places. This is also true for container emptiness.
Mon, May 27
May 21 2019
May 20 2019
Updated according to the comments.
May 13 2019
May 6 2019
May 3 2019
SymbolConjured * written, feature removed, just refactoring.
New tests added.
Dot added to the end of the comment.
May 2 2019
Type int in tests replaced by struct S because it has more "sugar". Check also fixed to handle this case.
Apr 29 2019
Apr 26 2019
Apr 25 2019
Apr 23 2019
Apr 16 2019
Mar 28 2019
Fixed double transition.
Mar 19 2019
This one seems straightforward.
Great work! Thank you! I only have minor comment: did you consider moving the refactoring of ExceptionAnalyzer into a separate (prerequisite) patch?
Mar 18 2019
No patch should be committed without clang-formatting anyway...
Please rename the patch. Its name does not really express its content.
Aside from little comment it seems OK.
Ping! Any news regarding this patch?
Mar 13 2019
Mar 12 2019
This is straightforward.
Mar 11 2019
Feb 21 2019