xazax.hun added inline comments.

================
Comment at: include/clang/Analysis/CFG.h:153
+
+  ConstructionContext() = default;
+  ConstructionContext(CXXConstructExpr *Constructor, Stmt *Trigger)
----------------
Maybe I am getting this wrong, but I think in this case the members will be 
default initialized and will get indeterminate values.
See: http://en.cppreference.com/w/cpp/language/default_initialization
> Default initialization is performed in three situations:
> ..
> 3) when a base class or a non-static data member is not mentioned in a 
> constructor initializer list and that constructor is called.
> 
> 
> The effects of default initialization are:
> 
> if T is a non-POD (until C++11) class type ...
> 
> if T is an array type, every element of the array is default-initialized;
> 
> otherwise, nothing is done: the objects with automatic storage duration (and 
> their subobjects) are initialized to indeterminate values. 


================
Comment at: lib/Analysis/CFG.cpp:4402
+          stmt = SE->getStmt();
+        else if (auto CE = BI->getAs<CFGConstructor>())
+          stmt = CE->getConstructor();
----------------
So this is one of the places where subclassing would help? Could you measure 
the compile time regression after making `CFGStmt`'s `isKind` more complex?


https://reviews.llvm.org/D42672



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to