[PATCH] D65378: [analyzer][NFC] Refactoring BugReporter.cpp P1.: Store interesting symbols/regions in a simple set

Kristóf Umann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jul 28 14:07:21 PDT 2019


Szelethus created this revision.
Szelethus added reviewers: NoQ, xazax.hun, rnkovacs, Charusso, baloghadamsoftware, dcoughlin.
Szelethus added a project: clang.
Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity.

The goal of this refactoring effort was to better understand how interestingness was propagated in BugReporter.cpp, which eventually turned out to be a dead end, but with such a twist, I wouldn't even want to spoil it ahead of time. However, I did get to learn //a lot// about how things are working in there.

In these series of patches, as well as cleaning up the code big time, I invite you to study how BugReporter.cpp operates, and discuss how we could design this file to reduce the horrible mess that it is.

---

This patch reverts a great part of rC162028 <https://reviews.llvm.org/rC162028>, which holds the title //"Allow multiple PathDiagnosticConsumers to be used with a BugReporter at the same time."//. This, however doesn't imply that there's any need for multiple "layers" or stacks of interesting symbols and regions, quite the contrary, I would argue that we would like to generate the same amount of information for all output types, and only process them differently.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D65378

Files:
  clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  clang/lib/StaticAnalyzer/Core/BugReporter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65378.212116.patch
Type: text/x-patch
Size: 6362 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190728/809e0a14/attachment.bin>


More information about the cfe-commits mailing list