Skip to content
Snippets Groups Projects
Commit d967b832 authored by Akash Kothari's avatar Akash Kothari :speech_balloon:
Browse files

Update header LLLexer for LLVM-9

parent 2f68f2ea
No related branches found
No related tags found
No related merge requests found
//===- LLLexer.h - Lexer for LLVM Assembly Files ----------------*- C++ -*-===// //===- LLLexer.h - Lexer for LLVM Assembly Files ----------------*- C++ -*-===//
// //
// The LLVM Compiler Infrastructure // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// // See https://llvm.org/LICENSE.txt for license information.
// This file is distributed under the University of Illinois Open Source // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// License. See LICENSE.TXT for details.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// //
...@@ -42,6 +41,10 @@ namespace llvm { ...@@ -42,6 +41,10 @@ namespace llvm {
APFloat APFloatVal; APFloat APFloatVal;
APSInt APSIntVal; APSInt APSIntVal;
// When false (default), an identifier ending in ':' is a label token.
// When true, the ':' is treated as a separate token.
bool IgnoreColonInIdentifiers;
public: public:
explicit LLLexer(StringRef StartBuf, SourceMgr &SM, SMDiagnostic &, explicit LLLexer(StringRef StartBuf, SourceMgr &SM, SMDiagnostic &,
LLVMContext &C); LLVMContext &C);
...@@ -59,8 +62,11 @@ namespace llvm { ...@@ -59,8 +62,11 @@ namespace llvm {
const APSInt &getAPSIntVal() const { return APSIntVal; } const APSInt &getAPSIntVal() const { return APSIntVal; }
const APFloat &getAPFloatVal() const { return APFloatVal; } const APFloat &getAPFloatVal() const { return APFloatVal; }
void setIgnoreColonInIdentifiers(bool val) {
IgnoreColonInIdentifiers = val;
}
bool Error(LocTy L, const Twine &Msg) const; bool Error(LocTy ErrorLoc, const Twine &Msg) const;
bool Error(const Twine &Msg) const { return Error(getLoc(), Msg); } bool Error(const Twine &Msg) const { return Error(getLoc(), Msg); }
void Warning(LocTy WarningLoc, const Twine &Msg) const; void Warning(LocTy WarningLoc, const Twine &Msg) const;
...@@ -81,15 +87,17 @@ namespace llvm { ...@@ -81,15 +87,17 @@ namespace llvm {
lltok::Kind LexDollar(); lltok::Kind LexDollar();
lltok::Kind LexExclaim(); lltok::Kind LexExclaim();
lltok::Kind LexPercent(); lltok::Kind LexPercent();
lltok::Kind LexUIntID(lltok::Kind Token);
lltok::Kind LexVar(lltok::Kind Var, lltok::Kind VarID); lltok::Kind LexVar(lltok::Kind Var, lltok::Kind VarID);
lltok::Kind LexQuote(); lltok::Kind LexQuote();
lltok::Kind Lex0x(); lltok::Kind Lex0x();
lltok::Kind LexHash(); lltok::Kind LexHash();
lltok::Kind LexCaret();
uint64_t atoull(const char *Buffer, const char *End); uint64_t atoull(const char *Buffer, const char *End);
uint64_t HexIntToVal(const char *Buffer, const char *End); uint64_t HexIntToVal(const char *Buffer, const char *End);
void HexToIntPair(const char *Buffer, const char *End, uint64_t Pair[2]); void HexToIntPair(const char *Buffer, const char *End, uint64_t Pair[2]);
void FP80HexToIntPair(const char *Buff, const char *End, uint64_t Pair[2]); void FP80HexToIntPair(const char *Buffer, const char *End, uint64_t Pair[2]);
}; };
} // end namespace llvm } // end namespace llvm
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment