================ @@ -163,15 +184,15 @@ using FactID = unsigned short; /// the analysis of a single routine. class FactManager { private: - std::vector<std::unique_ptr<const FactEntry>> Facts; + std::vector<std::unique_ptr<FactEntry>> Facts; ---------------- aaronpuchert wrote:
This does not work, `FactEntry` has to remain `const`. See Delesley's comment in https://reviews.llvm.org/D51187: > It's been a while since I last looked at this code, but I don't think you can > use mutable fields in a FactEntry. The analysis creates a FactSet for each > program point, but each FactSet simply has pointers (FactIDs) for the > underlying FactEntries. If you change the definition of a FactEntry, it will > change that definition for every program point. I think the same applies here. You need to create new facts. (As a follow-up to my mistake, I added this `const`. Perhaps I should add a comment that it's there for a reason.) https://github.com/llvm/llvm-project/pull/137133 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits