[PATCH] D50892: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 29 11:42:54 PDT 2018


NoQ added inline comments.


================
Comment at: test/Analysis/cxx-uninitialized-object-inheritance.cpp:802
+struct DynTBase2 {
+  int x; // expected-note{{uninitialized field 'static_cast<struct DynTDerived2 *>(this->bptr)->DynTBase2::x'}}
+};
----------------
Szelethus wrote:
> NoQ wrote:
> > Mmm, what's the value of casting to derived type and then specifying that we access the field of the base type anyway? Isn't `this->bptr->x` exactly what the user needs to know(?)
> True, but it's a one tough job to write `this->bptr->x` here and also a correct note message for...
I guess don't try too hard, eg. say if it requires something of non-linear complexity it's probably not worth it (not because it'd be slow but because it'd be an indication that it might be not worth the effort).


https://reviews.llvm.org/D50892





More information about the cfe-commits mailing list