NoQ added inline comments.
================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h:228-229 /// a bug, you can add notes as you add your transitions. - const NoteTag *getNoteTag(NoteTag::Callback &&Cb) { - return Eng.getNoteTags().makeNoteTag(std::move(Cb)); + const NoteTag *getNoteTag(NoteTag::Callback &&Cb, bool IsPrunable = false) { + return Eng.getNoteTags().makeNoteTag(std::move(Cb), IsPrunable); } ---------------- Szelethus wrote: > Hmm, we use interestingness (`markInteresting()`) already to determine > whether we should prune events or not, maybe we could (in the long term) try > to make these mechanisms work in harmony. > > In any case, could you please add comments about the new parameter to the > class doc? :) > Hmm, we use interestingness (`markInteresting()`) already to determine > whether we should prune events or not, maybe we could (in the long term) try > to make these mechanisms work in harmony. These are two fairly different mechanisms to prevent pruning, but both seem useful. The location context is prunable as long as it's not interesting and there are no non-prunable notes emitted within it. All basic nodes are prunable; all checker notes are non-prunable; some `trackExpressionValue` notes are non-prunable. This way the really important notes (such as checker notes) never get lost. And it's kinda nice and easy to understand. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63915/new/ https://reviews.llvm.org/D63915 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits