diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Frontend/ASTUnit.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Frontend/FrontendActions.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Lex/Lexer.cpp | 14 |
3 files changed, 11 insertions, 10 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index f6c2a405159..a29edc0e3e9 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -1254,8 +1254,8 @@ ASTUnit::ComputePreamble(CompilerInvocation &Invocation, } return std::make_pair( - Buffer, - Lexer::ComputePreamble(*Buffer, *Invocation.getLangOpts(), MaxLines)); + Buffer, Lexer::ComputePreamble(Buffer->getBuffer(), + *Invocation.getLangOpts(), MaxLines)); } ASTUnit::PreambleFileHash diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp index f3be243e194..5c0ef7a5786 100644 --- a/clang/lib/Frontend/FrontendActions.cpp +++ b/clang/lib/Frontend/FrontendActions.cpp @@ -686,7 +686,8 @@ void PrintPreambleAction::ExecuteAction() { llvm::MemoryBuffer *Buffer = CI.getFileManager().getBufferForFile(getCurrentFile()); if (Buffer) { - unsigned Preamble = Lexer::ComputePreamble(*Buffer, CI.getLangOpts()).first; + unsigned Preamble = + Lexer::ComputePreamble(Buffer->getBuffer(), CI.getLangOpts()).first; llvm::outs().write(Buffer->getBufferStart(), Preamble); delete Buffer; } diff --git a/clang/lib/Lex/Lexer.cpp b/clang/lib/Lex/Lexer.cpp index efee609fc10..ced65f689d7 100644 --- a/clang/lib/Lex/Lexer.cpp +++ b/clang/lib/Lex/Lexer.cpp @@ -540,7 +540,7 @@ namespace { }; } -std::pair<unsigned, bool> Lexer::ComputePreamble(llvm::MemoryBuffer &Buffer, +std::pair<unsigned, bool> Lexer::ComputePreamble(StringRef Buffer, const LangOptions &LangOpts, unsigned MaxLines) { // Create a lexer starting at the beginning of the file. Note that we use a @@ -548,8 +548,8 @@ std::pair<unsigned, bool> Lexer::ComputePreamble(llvm::MemoryBuffer &Buffer, // position within the file. const unsigned StartOffset = 1; SourceLocation FileLoc = SourceLocation::getFromRawEncoding(StartOffset); - Lexer TheLexer(FileLoc, LangOpts, Buffer.getBufferStart(), - Buffer.getBufferStart(), Buffer.getBufferEnd()); + Lexer TheLexer(FileLoc, LangOpts, Buffer.begin(), Buffer.begin(), + Buffer.end()); TheLexer.SetCommentRetentionState(true); // StartLoc will differ from FileLoc if there is a BOM that was skipped. @@ -563,9 +563,9 @@ std::pair<unsigned, bool> Lexer::ComputePreamble(llvm::MemoryBuffer &Buffer, unsigned MaxLineOffset = 0; if (MaxLines) { - const char *CurPtr = Buffer.getBufferStart(); + const char *CurPtr = Buffer.begin(); unsigned CurLine = 0; - while (CurPtr != Buffer.getBufferEnd()) { + while (CurPtr != Buffer.end()) { char ch = *CurPtr++; if (ch == '\n') { ++CurLine; @@ -573,8 +573,8 @@ std::pair<unsigned, bool> Lexer::ComputePreamble(llvm::MemoryBuffer &Buffer, break; } } - if (CurPtr != Buffer.getBufferEnd()) - MaxLineOffset = CurPtr - Buffer.getBufferStart(); + if (CurPtr != Buffer.end()) + MaxLineOffset = CurPtr - Buffer.begin(); } do { |