aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-23 00:16:01 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-02-23 00:16:01 +0000
commita1540db6e4013ec1e2e312264ce946bc3c0b9fe7 (patch)
treee34f6e2f64b33599ab640634034e61ea590e3f09 /clang/lib/Basic/SourceManager.cpp
parent673badf2920a5c6681c6ce081ad26efca06519e8 (diff)
downloadllvm-a1540db6e4013ec1e2e312264ce946bc3c0b9fe7.zip
llvm-a1540db6e4013ec1e2e312264ce946bc3c0b9fe7.tar.gz
llvm-a1540db6e4013ec1e2e312264ce946bc3c0b9fe7.tar.bz2
[analyzer] Refactor BugTypes and their ownership model.
-In general, don't have the BugReporter deleting BugTypes, BugTypes will eventually become owned by checkers and outlive the BugReporter. In the meantime, there will be some leaks since some checkers assume that the BugTypes they create will be destroyed by the BugReporter. -Have BugReporter::EmitBasicReport create BugTypes that are reused if the same name & category strings are passed to EmitBasicReport. These BugTypes are owned and destroyed by the BugReporter. This allows bugs reported through EmitBasicReport to be coalesced. -Remove the llvm::FoldingSet<BugReportEquivClass> from BugType and move it into the BugReporter. For uniquing BugReportEquivClass also use the BugType* so that we can iterate over all of them using only one set. llvm-svn: 126272
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions