]> granicus.if.org Git - clang/commitdiff
simplify some code.
authorChris Lattner <sabre@nondot.org>
Tue, 17 Feb 2009 07:34:34 +0000 (07:34 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 17 Feb 2009 07:34:34 +0000 (07:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64750 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/TextDiagnosticPrinter.cpp

index fb0e49e6cbfde2b4d984b4eb7ea979fbaccbbc07..1d61f85c33707ff50e31f32f4d807540e5505bd4 100644 (file)
@@ -103,8 +103,6 @@ void TextDiagnosticPrinter::HighlightRange(const SourceRange &R,
 
 void TextDiagnosticPrinter::HandleDiagnostic(Diagnostic::Level Level, 
                                              const DiagnosticInfo &Info) {
-  unsigned ColNo = 0;
-  
   // If the location is specified, print out a file/line/col and include trace
   // if enabled.
   if (Info.getLocation().isValid()) {
@@ -120,11 +118,11 @@ void TextDiagnosticPrinter::HandleDiagnostic(Diagnostic::Level Level,
     }
   
     // Compute the column number.
-    ColNo = PLoc.getColumn();
     if (ShowLocation) {
       OS << PLoc.getFilename() << ':' << LineNo << ':';
-      if (ColNo && ShowColumn) 
-        OS << ColNo << ':';
+      if (ShowColumn)
+        if (unsigned ColNo = PLoc.getColumn())
+          OS << ColNo << ':';
       OS << ' ';
     }
   }
@@ -155,6 +153,8 @@ void TextDiagnosticPrinter::HandleDiagnostic(Diagnostic::Level Level,
     // about presumed locations anymore.
     FullSourceLoc ILoc = Info.getLocation().getInstantiationLoc();
 
+    unsigned ColNo = ILoc.getInstantiationColumnNumber();
+    
     // Rewind from the current position to the start of the line.
     const char *TokInstantiationPtr = ILoc.getCharacterData();
     const char *LineStart = TokInstantiationPtr-ColNo+1; // Column # is 1-based.