]> granicus.if.org Git - clang/commitdiff
AnalysisManager: Don't rely on PathDiagnosicClients flushing their diagnostics when...
authorTed Kremenek <kremenek@apple.com>
Thu, 5 Nov 2009 02:17:33 +0000 (02:17 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 5 Nov 2009 02:17:33 +0000 (02:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86110 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/PathSensitive/AnalysisManager.h

index 1a64f56ee8a41405597b69b90e9b8fc5d20cae17..488334623b340cbce738f73ef4f689029622819b 100644 (file)
@@ -66,6 +66,8 @@ public:
       VisualizeEGDot(vizdot), VisualizeEGUbi(vizubi), PurgeDead(purge),
       EagerlyAssume(eager), TrimGraph(trim) {}
   
+  ~AnalysisManager() { FlushDiagnostics(); }
+  
   void ClearContexts() {
     LocCtxMgr.clear();
     AnaCtxMgr.clear();
@@ -98,6 +100,11 @@ public:
   virtual PathDiagnosticClient *getPathDiagnosticClient() {
     return PD.get();
   }
+  
+  void FlushDiagnostics() {
+    if (PD.get())
+      PD->FlushDiagnostics();
+  }
 
   bool shouldVisualizeGraphviz() const { return VisualizeEGDot; }