Use logical line number for BUGLINE.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49178 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/HTMLDiagnostics.cpp b/Driver/HTMLDiagnostics.cpp
index c29096d..8c89e62 100644
--- a/Driver/HTMLDiagnostics.cpp
+++ b/Driver/HTMLDiagnostics.cpp
@@ -74,18 +74,17 @@
   if (D.empty())
     return;
   
-  if (!D.back()->getLocation().isFileID())
-    return;
-  
   // Create the HTML directory if it is missing.
   
   if (!createdDir) {
     createdDir = true;
-    Directory.createDirectoryOnDisk(true, NULL);
+    std::string ErrorMsg;
+    Directory.createDirectoryOnDisk(true, &ErrorMsg);
   
     if (!Directory.isDirectory()) {
       llvm::cerr << "warning: could not create directory '"
-                  << FilePrefix.toString() << "'\n";
+                 << Directory.toString() << "'\n"
+                 << "reason: " << ErrorMsg << '\n'; 
       
       noDir = true;
       
@@ -154,8 +153,7 @@
   
   {
     std::ostringstream os;
-    FullSourceLoc L = D.back()->getLocation();
-    os << "\n<!-- BUGLINE " << L.getLineNumber()
+    os << "\n<!-- BUGLINE " << D.back()->getLocation().getLogicalLineNumber()
        << " -->\n";
     R.InsertStrBefore(SourceLocation::getFileLoc(FileID, 0), os.str());
   }