[PATCH] D14203: [analyzer] Improve pointer arithmetic checker.
Gábor Horváth via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 24 04:23:58 PST 2015
xazax.hun added inline comments.
================
Comment at: lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp:150
@@ +149,3 @@
+ return getArrayRegion(Region, Polymorphic, AKind, C);
+ default:
+ break;
----------------
xazax.hun wrote:
> dcoughlin wrote:
> > In general, I think it is better to avoid default in cases like these so that when an enum case is added the compiler issues a warning and thus forces the person adding the change to think about what the behavior of the new case should be.
> I will enumerate the rest of the kinds here.
I checked and there are more kinds than what I think is worth enumerating.
================
Comment at: lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp:28
@@ -24,1 +27,3 @@
namespace {
+enum class AllocKind {
+ SingleObject,
----------------
In case, there is a pointer to the stack allocated variable, nothing will be stored in the GDM.
The result of a new is a symbolic region, but there are other ways to get a symbolic region, e.g. a pointer as an argument to a top level function. In order to distinguish these cases I think I need to store something to the GDM. But I will think a bit more, whether there is a way to reduce the GDM usage.
http://reviews.llvm.org/D14203
More information about the cfe-commits
mailing list