xazax.hun marked an inline comment as not done. ================ Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:81 @@ +80,3 @@ + initBugType(); + SmallString<64> Buf; + llvm::raw_svector_ostream OS(Buf); ---------------- zaks.anna wrote: > How do we know that the string is big enough? When the string is not big enough, there will be an allocation. So this is not a correctness issue. However I checked that, and the error messages tend to be very long. I could either increase the size of this smallstring to something like 150 which should be enough for the common of the cases, or I could just make it a string. Which one do you prefer?
================ Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:179 @@ -178,3 @@ - // We only track dynamic type info for regions. - const MemRegion *ToR = C.getSVal(CastE).getAsRegion(); - if (!ToR) ---------------- zaks.anna wrote: > This line used to be unconditional and now, it's only executed if we are > casting between ObjC Types. It should not be a problem. The code bellow only executes for bitcasts, and getBetterObjCType only returns a valid value, when the cast was between Obj-C types. ================ Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:407 @@ +406,3 @@ +// Clean up the states stored by the generics checker. +void DynamicTypePropagation::checkDeadSymbols(SymbolReaper &SR, + CheckerContext &C) const { ---------------- zaks.anna wrote: > Do you know if the info tracked by the DynamicTypeInfo checker gets cleaned > up for dead symbols? That information is stored in DynamicTypeMap which is populated in lib/StaticAnalyzer/Core/ProgramState.cpp I could not find any cleanup code. What do you think, what would be the best way to do the cleanup. Exposing a removeDynamicTypeInfo method from the ProgramState does not seem to be elegant, but it would work. http://reviews.llvm.org/D12381 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits