]> granicus.if.org Git - clang/commit
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)
commit82ec2e99084996eecbdf3a304f3cbba8c16c2f6b
tree7e1eee769048e7f87c3cda3773c96504f6577dba
parent04d4beee4b86af20a9e4457023d3925cab8f9908
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77648 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Analysis/PathSensitive/AnalysisManager.h
lib/Frontend/AnalysisConsumer.cpp