Fix use-after-release bug introduced in r77585 where the PathDiagnosticClient
authorTed Kremenek <kremenek@apple.com>
Fri, 31 Jul 2009 00:34:52 +0000 (00:34 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 31 Jul 2009 00:34:52 +0000 (00:34 +0000)
commitdf4b3dc3a41b7ec23feda94e15262dd248b22926
treea9b69acc6c690dd14102941b9fbbbd4474cee15a
parentf3f955279b111c447283b40ffd82a1454c7552a0
Fix use-after-release bug introduced in r77585 where the PathDiagnosticClient
created by AnalysisConsumer would be released by an instance of AnalysisManager
and then reused by later instances of AnalysisManager. Ownership of the
PathDiagnosticClient now belongs (for now) in AnalysisConsumer.

We also need this layering (for now) because the HTMLDiagnostiClient requires
that the entire translation unit be processed before emitting diagnostics. This
is done in its destructor (which should also be fixed, but that is another
issue).

This fixes PR 4653.

llvm-svn: 77648
clang/include/clang/Analysis/PathSensitive/AnalysisManager.h
clang/lib/Frontend/AnalysisConsumer.cpp