martong abandoned this revision.
martong added inline comments.
Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:694
// execution continues on a code whose behaviour is undefined.
assert(SuccessSt);
NewState = SuccessSt;
martong added a comment.
Alright, I refactored the change a bit. A Constraint::assume works similarly to
an engine DualAssume. Plus I added `isApplicable` to check if it is meaningful
to call the assume at all.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
martong updated this revision to Diff 292550.
martong added a comment.
- apply -> assume, Add isApplicable
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D87785/new/
https://reviews.llvm.org/D87785
Files:
steakhal added inline comments.
Comment at:
clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:219-226
if (V.isUndef())
-return State;
+return {State, State};
DefinedOrUnknownSVal L = V.castAs();
if (!L.getAs())
-
martong added inline comments.
Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:694
// execution continues on a code whose behaviour is undefined.
assert(SuccessSt);
NewState = SuccessSt;
This is where we crashed
martong created this revision.
martong added reviewers: steakhal, balazske, Szelethus, NoQ.
Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, gamesh411,
dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet,
baloghadamsoftware, xazax.hun, whisperity.
Herald added a