]> granicus.if.org Git - clang/commitdiff
BugReporter (extensive diagnostics):
authorTed Kremenek <kremenek@apple.com>
Wed, 22 Apr 2009 18:37:42 +0000 (18:37 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 22 Apr 2009 18:37:42 +0000 (18:37 +0000)
- Remove stale assertion that was breaking the test suite.
- When popping location contexts, only add a control-flow piece for fileID
  locations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69814 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/BugReporter.cpp

index 33ff12d17eed795db59172096f53b8eb9f3df056..d27ead442e963ebe639a4721320ce1351d60f159 100644 (file)
@@ -787,7 +787,8 @@ class VISIBILITY_HIDDEN EdgeBuilder {
   void rawAddEdge(PathDiagnosticLocation NewLoc);
   
   void popLocation() {
-    rawAddEdge(CLocs.back());
+    PathDiagnosticLocation L = CLocs.back();
+    if (L.asLocation().isFileID()) rawAddEdge(CLocs.back());
     CLocs.pop_back();
   }
   
@@ -945,8 +946,6 @@ void EdgeBuilder::addEdge(PathDiagnosticLocation NewLoc, bool alwaysAdd) {
     // Context does not contain the location.  Flush it.
     popLocation();
   }
-
-  assert(0 && "addEdge should never pop the top context");
 }
 
 void EdgeBuilder::addContext(const Stmt *S) {