From eb92dc0b09262ed29149bf4faaa74a38df738cec Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Tue, 16 Mar 2010 14:14:31 +0000 Subject: Let SourceManager::getBufferData return StringRef instead of a pair of two const char*. llvm-svn: 98630 --- clang/lib/Frontend/RewriteObjC.cpp | 13 ++++++------- clang/lib/Frontend/TextDiagnosticPrinter.cpp | 7 ++----- 2 files changed, 8 insertions(+), 12 deletions(-) (limited to 'clang/lib/Frontend') diff --git a/clang/lib/Frontend/RewriteObjC.cpp b/clang/lib/Frontend/RewriteObjC.cpp index 88890038510..79aecceb70d 100644 --- a/clang/lib/Frontend/RewriteObjC.cpp +++ b/clang/lib/Frontend/RewriteObjC.cpp @@ -706,9 +706,9 @@ void RewriteObjC::HandleTopLevelSingleDecl(Decl *D) { void RewriteObjC::RewriteInclude() { SourceLocation LocStart = SM->getLocForStartOfFile(MainFileID); - std::pair MainBuf = SM->getBufferData(MainFileID); - const char *MainBufStart = MainBuf.first; - const char *MainBufEnd = MainBuf.second; + llvm::StringRef MainBuf = SM->getBufferData(MainFileID); + const char *MainBufStart = MainBuf.begin(); + const char *MainBufEnd = MainBuf.end(); size_t ImportLen = strlen("import"); // Loop over the whole file, looking for includes. @@ -731,9 +731,9 @@ void RewriteObjC::RewriteInclude() { } void RewriteObjC::RewriteTabs() { - std::pair MainBuf = SM->getBufferData(MainFileID); - const char *MainBufStart = MainBuf.first; - const char *MainBufEnd = MainBuf.second; + llvm::StringRef MainBuf = SM->getBufferData(MainFileID); + const char *MainBufStart = MainBuf.begin(); + const char *MainBufEnd = MainBuf.end(); // Loop over the whole file, looking for tabs. for (const char *BufPtr = MainBufStart; BufPtr != MainBufEnd; ++BufPtr) { @@ -973,7 +973,6 @@ void RewriteObjC::RewriteCategoryDecl(ObjCCategoryDecl *CatDecl) { } void RewriteObjC::RewriteProtocolDecl(ObjCProtocolDecl *PDecl) { - std::pair MainBuf = SM->getBufferData(MainFileID); SourceLocation LocStart = PDecl->getLocStart(); // FIXME: handle protocol headers that are declared across multiple lines. diff --git a/clang/lib/Frontend/TextDiagnosticPrinter.cpp b/clang/lib/Frontend/TextDiagnosticPrinter.cpp index 946a6caa151..24d51e2c78d 100644 --- a/clang/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/clang/lib/Frontend/TextDiagnosticPrinter.cpp @@ -331,13 +331,10 @@ void TextDiagnosticPrinter::EmitCaretDiagnostic(SourceLocation Loc, // Get information about the buffer it points into. bool Invalid = false; - std::pair BufferInfo = SM.getBufferData(FID, - &Invalid); + const char *BufStart = SM.getBufferData(FID, &Invalid).data(); if (Invalid) return; - - const char *BufStart = BufferInfo.first; - + unsigned ColNo = SM.getColumnNumber(FID, FileOffset); unsigned CaretEndColNo = ColNo + Lexer::MeasureTokenLength(Loc, SM, *LangOpts); -- cgit v1.2.3