projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add AsmToken::getEndLoc and use it to add ranges to x86 asm register parsing.
[oota-llvm.git]
/
include
/
llvm
/
MC
/
MCParser
/
MCAsmParser.h
diff --git
a/include/llvm/MC/MCParser/MCAsmParser.h
b/include/llvm/MC/MCParser/MCAsmParser.h
index c077adc57f36f7262984fc0a541c5540d05518e0..039deaa070be3cc7aaa01c5b6ed63fcf1054ebf2 100644
(file)
--- a/
include/llvm/MC/MCParser/MCAsmParser.h
+++ b/
include/llvm/MC/MCParser/MCAsmParser.h
@@
-11,6
+11,7
@@
#define LLVM_MC_MCASMPARSER_H
#include "llvm/Support/DataTypes.h"
#define LLVM_MC_MCASMPARSER_H
#include "llvm/Support/DataTypes.h"
+#include "llvm/ADT/ArrayRef.h"
namespace llvm {
class AsmToken;
namespace llvm {
class AsmToken;
@@
-20,11
+21,11
@@
class MCAsmParserExtension;
class MCContext;
class MCExpr;
class MCStreamer;
class MCContext;
class MCExpr;
class MCStreamer;
+class MCTargetAsmParser;
class SMLoc;
class SMLoc;
+class SMRange;
class SourceMgr;
class StringRef;
class SourceMgr;
class StringRef;
-class Target;
-class TargetAsmParser;
class Twine;
/// MCAsmParser - Generic assembler parser interface, for use by target specific
class Twine;
/// MCAsmParser - Generic assembler parser interface, for use by target specific
@@
-37,7
+38,7
@@
private:
MCAsmParser(const MCAsmParser &); // DO NOT IMPLEMENT
void operator=(const MCAsmParser &); // DO NOT IMPLEMENT
MCAsmParser(const MCAsmParser &); // DO NOT IMPLEMENT
void operator=(const MCAsmParser &); // DO NOT IMPLEMENT
- TargetAsmParser *TargetParser;
+
MC
TargetAsmParser *TargetParser;
unsigned ShowParsedOperands : 1;
unsigned ShowParsedOperands : 1;
@@
-60,8
+61,8
@@
public:
/// getStreamer - Return the output streamer for the assembler.
virtual MCStreamer &getStreamer() = 0;
/// getStreamer - Return the output streamer for the assembler.
virtual MCStreamer &getStreamer() = 0;
- TargetAsmParser &getTargetParser() const { return *TargetParser; }
- void setTargetParser(TargetAsmParser &P);
+
MC
TargetAsmParser &getTargetParser() const { return *TargetParser; }
+ void setTargetParser(
MC
TargetAsmParser &P);
bool getShowParsedOperands() const { return ShowParsedOperands; }
void setShowParsedOperands(bool Value) { ShowParsedOperands = Value; }
bool getShowParsedOperands() const { return ShowParsedOperands; }
void setShowParsedOperands(bool Value) { ShowParsedOperands = Value; }
@@
-71,14
+72,18
@@
public:
/// Warning - Emit a warning at the location \arg L, with the message \arg
/// Msg.
/// Warning - Emit a warning at the location \arg L, with the message \arg
/// Msg.
- virtual void Warning(SMLoc L, const Twine &Msg) = 0;
+ ///
+ /// \return The return value is true, if warnings are fatal.
+ virtual bool Warning(SMLoc L, const Twine &Msg,
+ ArrayRef<SMRange> Ranges = ArrayRef<SMRange>()) = 0;
/// Error - Emit an error at the location \arg L, with the message \arg
/// Msg.
///
/// \return The return value is always true, as an idiomatic convenience to
/// clients.
/// Error - Emit an error at the location \arg L, with the message \arg
/// Msg.
///
/// \return The return value is always true, as an idiomatic convenience to
/// clients.
- virtual bool Error(SMLoc L, const Twine &Msg) = 0;
+ virtual bool Error(SMLoc L, const Twine &Msg,
+ ArrayRef<SMRange> Ranges = ArrayRef<SMRange>()) = 0;
/// Lex - Get the next AsmToken in the stream, possibly handling file
/// inclusion first.
/// Lex - Get the next AsmToken in the stream, possibly handling file
/// inclusion first.
@@
-88,7
+93,8
@@
public:
const AsmToken &getTok();
/// \brief Report an error at the current lexer location.
const AsmToken &getTok();
/// \brief Report an error at the current lexer location.
- bool TokError(const Twine &Msg);
+ bool TokError(const Twine &Msg,
+ ArrayRef<SMRange> Ranges = ArrayRef<SMRange>());
/// ParseIdentifier - Parse an identifier or string (as a quoted identifier)
/// and set \arg Res to the identifier contents.
/// ParseIdentifier - Parse an identifier or string (as a quoted identifier)
/// and set \arg Res to the identifier contents.
@@
-102,7
+108,7
@@
public:
/// EatToEndOfStatement - Skip to the end of the current statement, for error
/// recovery.
virtual void EatToEndOfStatement() = 0;
/// EatToEndOfStatement - Skip to the end of the current statement, for error
/// recovery.
virtual void EatToEndOfStatement() = 0;
-
+
/// ParseExpression - Parse an arbitrary expression.
///
/// @param Res - The value of the expression. The result is undefined
/// ParseExpression - Parse an arbitrary expression.
///
/// @param Res - The value of the expression. The result is undefined
@@
-129,7
+135,7
@@
public:
};
/// \brief Create an MCAsmParser instance.
};
/// \brief Create an MCAsmParser instance.
-MCAsmParser *createMCAsmParser(
const Target &,
SourceMgr &, MCContext &,
+MCAsmParser *createMCAsmParser(SourceMgr &, MCContext &,
MCStreamer &, const MCAsmInfo &);
} // End llvm namespace
MCStreamer &, const MCAsmInfo &);
} // End llvm namespace