================ @@ -46,7 +50,7 @@ class SymbolRegionValue : public SymbolData { friend class SymExprAllocator; SymbolRegionValue(SymbolID sym, const TypedValueRegion *r) - : SymbolData(SymbolRegionValueKind, sym), R(r) { + : SymbolData(ClassKind, sym), R(r) { ---------------- balazs-benics-sonarsource wrote:
I do depend on this, although it could be technically split from this PR. I need to compile time check if a `T` is a subclass of `SymbolData`, thus I need a constexpr type-trait (`classof`). If we have a `SymbolData` then the `acquire` can never hit max symbol complexity, thus we always return the type that was requested. Otherwise, we "complicate" a symbol which may return a substitute symbol instead of type `T`. I'll try to split it from this PR. https://github.com/llvm/llvm-project/pull/144327 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits