[PATCH] D66721: [analyzer] Analysis: Prevent bitwise operation false positives
Csaba Dabis via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Aug 25 13:43:50 PDT 2019
Charusso added inline comments.
================
Comment at: clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def:305
+ "Whether the bitwise (and shift) operations should be checked.",
+ false)
+
----------------
NoQ wrote:
> We didn't do enough debugging to demonstrate that the problems are specific to the checker. I suggest we keep this on by default and only disable it on LLVM as an overfitting effort.
Well, okay.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp:82-88
// Do not report assignments of uninitialized values inside swap functions.
// This should allow to swap partially uninitialized structs
// (radar://14129997)
if (const FunctionDecl *EnclosingFunctionDecl =
dyn_cast<FunctionDecl>(C.getStackFrame()->getDecl()))
if (C.getCalleeName(EnclosingFunctionDecl) == "swap")
return;
----------------
NoQ wrote:
> Ugh. This part is also wrong for the same reason.
If I do not return here then `clang/test/Analysis/uninit-vals.m:113: Returning from 'swap'` related notes are gone, so I will leave it untouched.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66721/new/
https://reviews.llvm.org/D66721
More information about the cfe-commits
mailing list