diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-02 23:08:13 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-02 23:08:13 +0000 |
commit | eeb4a84ac8d91fb1d5a7c484a1c7047409faee30 (patch) | |
tree | a74754636cc687794c2d224169dec37702cc34be /lib/AsmParser/LLLexer.cpp | |
parent | 92bcb426c3e4503c99324afd4ed0a73521711a56 (diff) |
switch the .ll parser to use SourceMgr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74735 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/LLLexer.cpp')
-rw-r--r-- | lib/AsmParser/LLLexer.cpp | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp index 090e614122..741c5381fc 100644 --- a/lib/AsmParser/LLLexer.cpp +++ b/lib/AsmParser/LLLexer.cpp @@ -24,24 +24,7 @@ using namespace llvm; bool LLLexer::Error(LocTy ErrorLoc, const std::string &Msg) const { - // Scan backward to find the start of the line. - const char *LineStart = ErrorLoc; - while (LineStart != CurBuf->getBufferStart() && - LineStart[-1] != '\n' && LineStart[-1] != '\r') - --LineStart; - // Get the end of the line. - const char *LineEnd = ErrorLoc; - while (LineEnd != CurBuf->getBufferEnd() && - LineEnd[0] != '\n' && LineEnd[0] != '\r') - ++LineEnd; - - unsigned LineNo = 1; - for (const char *FP = CurBuf->getBufferStart(); FP != ErrorLoc; ++FP) - if (*FP == '\n') ++LineNo; - - ErrorInfo = SMDiagnostic(CurBuf->getBufferIdentifier(), - LineNo, ErrorLoc-LineStart, Msg, - std::string(LineStart, LineEnd)); + ErrorInfo = SM.GetMessage(ErrorLoc, Msg, "error"); return true; } @@ -197,8 +180,8 @@ static const char *isLabelTail(const char *CurPtr) { // Lexer definition. //===----------------------------------------------------------------------===// -LLLexer::LLLexer(MemoryBuffer *StartBuf, SMDiagnostic &Err) - : CurBuf(StartBuf), ErrorInfo(Err), APFloatVal(0.0) { +LLLexer::LLLexer(MemoryBuffer *StartBuf, SourceMgr &sm, SMDiagnostic &Err) + : CurBuf(StartBuf), ErrorInfo(Err), SM(sm), APFloatVal(0.0) { CurPtr = CurBuf->getBufferStart(); } |