[PATCH] Model Constructor corresponding to a new call

Jordan Rose jordan_rose at apple.com
Tue Jan 28 09:45:57 PST 2014

  I think that's basically the strategy we'll want to use, but I don't even think we should worry about that right now. Incremental development is a good thing. My guess is that it's not working because the CXXNewExpr isn't considered live after the allocator CFG node, so we'll have to go tweak the LiveVariables analysis.

Comment at: lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp:667-669
@@ -666,5 +666,3 @@
   case CE_CXXAllocator:
-    // Do not inline allocators until we model deallocators.
-    // This is unfortunate, but basically necessary for smart pointers and such.
-    return CIP_DisallowedAlways;
   case CE_ObjCMessage:
I forgot about this. Let's put this under an analyzer-config flag and have it off by default, because it's an important bit of false positive prevention. (Sorry!)

We don't need to be able to inline deallocators to turn this on, just have them in the CFG. But inlining them probably isn't much work after that.


More information about the cfe-commits mailing list