]> granicus.if.org Git - clang/commitdiff
Reorder functions in the file.
authorEric Christopher <echristo@apple.com>
Thu, 29 Sep 2011 00:00:37 +0000 (00:00 +0000)
committerEric Christopher <echristo@apple.com>
Thu, 29 Sep 2011 00:00:37 +0000 (00:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140738 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDebugInfo.cpp

index 2edb065dd6e88f48029879f083109924aa7ae0f0..b8a5d0d83c182f0f592c6a49521363d3343c39b0 100644 (file)
@@ -1751,33 +1751,8 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, QualType FnType,
   LineDirectiveFiles.clear();
 }
 
-
-void CGDebugInfo::EmitStopPoint(CGBuilderTy &Builder) {
-  if (CurLoc.isInvalid() || CurLoc.isMacroID()) return;
-
-  // Don't bother if things are the same as last time.
-  SourceManager &SM = CGM.getContext().getSourceManager();
-  if (CurLoc == PrevLoc || 
-      SM.getExpansionLoc(CurLoc) == SM.getExpansionLoc(PrevLoc))
-    // New Builder may not be in sync with CGDebugInfo.
-    if (!Builder.getCurrentDebugLocation().isUnknown())
-      return;
-
-  // The file may have had a line directive change. Process any of
-  // those before updating the state.
-  UpdateLineDirectiveRegion(Builder);
-  
-  // Update last state.
-  PrevLoc = CurLoc;
-
-  llvm::MDNode *Scope = RegionStack.back();
-  Builder.SetCurrentDebugLocation(llvm::DebugLoc::get(getLineNumber(CurLoc),
-                                                      getColumnNumber(CurLoc),
-                                                      Scope));
-}
-
-/// UpdateLineDirectiveRegion - Update region stack only if #line directive
-/// has introduced scope change.
+// UpdateLineDirectiveRegion - Update region stack only if #line directive
+// has introduced scope change.
 void CGDebugInfo::UpdateLineDirectiveRegion(CGBuilderTy &Builder) {
   if (CurLoc.isInvalid() || CurLoc.isMacroID() ||
       PrevLoc.isInvalid() || PrevLoc.isMacroID())
@@ -1798,12 +1773,12 @@ void CGDebugInfo::UpdateLineDirectiveRegion(CGBuilderTy &Builder) {
   }
 
   assert (RegionStack.size() >= LineDirectiveFiles.size()
-          && "error handling #line regions!");
+         && "error handling #line regions!");
 
   bool SeenThisFile = false;
   // Chek if current file is already seen earlier.
   for(std::vector<const char *>::iterator I = LineDirectiveFiles.begin(),
-        E = LineDirectiveFiles.end(); I != E; ++I)
+       E = LineDirectiveFiles.end(); I != E; ++I)
     if (!strcmp(PCLoc.getFilename(), *I)) {
       SeenThisFile = true;
       break;
@@ -1816,10 +1791,10 @@ void CGDebugInfo::UpdateLineDirectiveRegion(CGBuilderTy &Builder) {
       RegionStack.pop_back();
       LineDirectiveFiles.pop_back();
       if (!strcmp(PPLoc.getFilename(), LastFile))
-        break;
+       break;
     }
     return;
-  } 
+  }
 
   // .. otherwise insert new #line region.
   EmitRegionStart(Builder);
@@ -1828,6 +1803,30 @@ void CGDebugInfo::UpdateLineDirectiveRegion(CGBuilderTy &Builder) {
   return;
 }
 
+void CGDebugInfo::EmitStopPoint(CGBuilderTy &Builder) {
+  if (CurLoc.isInvalid() || CurLoc.isMacroID()) return;
+
+  // Don't bother if things are the same as last time.
+  SourceManager &SM = CGM.getContext().getSourceManager();
+  if (CurLoc == PrevLoc || 
+      SM.getExpansionLoc(CurLoc) == SM.getExpansionLoc(PrevLoc))
+    // New Builder may not be in sync with CGDebugInfo.
+    if (!Builder.getCurrentDebugLocation().isUnknown())
+      return;
+
+  // The file may have had a line directive change. Process any of
+  // those before updating the state.
+  UpdateLineDirectiveRegion(Builder);
+  
+  // Update last state.
+  PrevLoc = CurLoc;
+
+  llvm::MDNode *Scope = RegionStack.back();
+  Builder.SetCurrentDebugLocation(llvm::DebugLoc::get(getLineNumber(CurLoc),
+                                                      getColumnNumber(CurLoc),
+                                                      Scope));
+}
+
 /// EmitRegionStart- Constructs the debug code for entering a declarative
 /// region - beginning of a DW_TAG_lexical_block.
 void CGDebugInfo::EmitRegionStart(CGBuilderTy &Builder) {