return SMLoc::getFromPointer(TokStart);
}
-SMLoc AsmToken::getLoc() const {
- return SMLoc::getFromPointer(Str.data());
-}
-
void AsmLexer::PrintMessage(SMLoc Loc, const std::string &Msg,
const char *Type) const {
SrcMgr.PrintMessage(Loc, Msg, Type);
return AsmToken(AsmToken::String, StringRef(TokStart, CurPtr - TokStart));
}
+StringRef AsmLexer::LexUntilEndOfStatement() {
+ TokStart = CurPtr;
+
+ while (*CurPtr != '#' && // Start of line comment.
+ *CurPtr != ';' && // End of statement marker.
+ *CurPtr != '\n' &&
+ *CurPtr != '\r' &&
+ (*CurPtr != 0 || CurPtr != CurBuf->getBufferEnd()))
+ ++CurPtr;
+ return StringRef(TokStart, CurPtr-TokStart);
+}
AsmToken AsmLexer::LexToken() {
TokStart = CurPtr;