diff --git a/clang/lib/Format/FormatTokenLexer.cpp b/clang/lib/Format/FormatTokenLexer.cpp --- a/clang/lib/Format/FormatTokenLexer.cpp +++ b/clang/lib/Format/FormatTokenLexer.cpp @@ -763,7 +763,7 @@ unsigned FirstInLineOffset; std::tie(ID, FirstInLineOffset) = SourceMgr.getDecomposedLoc( Tokens[FirstInLineIndex]->getStartOfNonWhitespace()); - StringRef Buffer = SourceMgr.getBuffer(ID)->getBuffer(); + StringRef Buffer = SourceMgr.getBufferOrFake(ID).getBuffer(); // Calculate the offset of the start of the current line. auto LineOffset = Buffer.rfind('\n', FirstInLineOffset); if (LineOffset == StringRef::npos) { diff --git a/clang/lib/Rewrite/HTMLRewrite.cpp b/clang/lib/Rewrite/HTMLRewrite.cpp --- a/clang/lib/Rewrite/HTMLRewrite.cpp +++ b/clang/lib/Rewrite/HTMLRewrite.cpp @@ -107,9 +107,9 @@ void html::EscapeText(Rewriter &R, FileID FID, bool EscapeSpaces, bool ReplaceTabs) { - const llvm::MemoryBuffer *Buf = R.getSourceMgr().getBuffer(FID); - const char* C = Buf->getBufferStart(); - const char* FileEnd = Buf->getBufferEnd(); + llvm::MemoryBufferRef Buf = R.getSourceMgr().getBufferOrFake(FID); + const char* C = Buf.getBufferStart(); + const char* FileEnd = Buf.getBufferEnd(); assert (C <= FileEnd); @@ -226,9 +226,9 @@ void html::AddLineNumbers(Rewriter& R, FileID FID) { - const llvm::MemoryBuffer *Buf = R.getSourceMgr().getBuffer(FID); - const char* FileBeg = Buf->getBufferStart(); - const char* FileEnd = Buf->getBufferEnd(); + llvm::MemoryBufferRef Buf = R.getSourceMgr().getBufferOrFake(FID); + const char* FileBeg = Buf.getBufferStart(); + const char* FileEnd = Buf.getBufferEnd(); const char* C = FileBeg; RewriteBuffer &RB = R.getEditBuffer(FID); @@ -274,9 +274,9 @@ void html::AddHeaderFooterInternalBuiltinCSS(Rewriter &R, FileID FID, StringRef title) { - const llvm::MemoryBuffer *Buf = R.getSourceMgr().getBuffer(FID); - const char* FileStart = Buf->getBufferStart(); - const char* FileEnd = Buf->getBufferEnd(); + llvm::MemoryBufferRef Buf = R.getSourceMgr().getBufferOrFake(FID); + const char* FileStart = Buf.getBufferStart(); + const char* FileEnd = Buf.getBufferEnd(); SourceLocation StartLoc = R.getSourceMgr().getLocForStartOfFile(FID); SourceLocation EndLoc = StartLoc.getLocWithOffset(FileEnd-FileStart);