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());
}