aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/MC/MCStreamer.h12
-rw-r--r--lib/MC/MCAsmStreamer.cpp12
-rw-r--r--test/MC/AsmParser/directive_dump_and_load.s8
-rw-r--r--tools/llvm-mc/AsmParser.cpp14
-rw-r--r--tools/llvm-mc/AsmParser.h2
5 files changed, 9 insertions, 39 deletions
diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h
index 7d92a16507..67fe8d402d 100644
--- a/include/llvm/MC/MCStreamer.h
+++ b/include/llvm/MC/MCStreamer.h
@@ -162,18 +162,6 @@ namespace llvm {
/// @param AbortReason - The reason assembly is terminated, if non-NULL.
virtual void AbortAssembly(const char *AbortReason) = 0;
- /// DumpSymbolsandMacros - Dump to the specified file in @param FileName all
- /// symbols and macros at this point in the assembly.
- ///
- /// @param FileName - The file to dump the symbols and macros into.
- virtual void DumpSymbolsandMacros(const char *FileName) = 0;
-
- /// LoadSymbolsandMacros - Load from the specified file in @param FileName
- /// symbols and macros into the assembler at this point in the assembly.
- ///
- /// @param FileName - The file to load the symbols and macros from.
- virtual void LoadSymbolsandMacros(const char *FileName) = 0;
-
/// @}
/// @name Generating Data
/// @{
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index e1812cee59..a4a1525bee 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -57,10 +57,6 @@ namespace {
virtual void AbortAssembly(const char *AbortReason = NULL);
- virtual void DumpSymbolsandMacros(const char *FileName);
-
- virtual void LoadSymbolsandMacros(const char *FileName);
-
virtual void EmitBytes(const char *Data, unsigned Length);
virtual void EmitValue(const MCValue &Value, unsigned Size);
@@ -144,14 +140,6 @@ void MCAsmStreamer::AbortAssembly(const char *AbortReason) {
}
-void MCAsmStreamer::DumpSymbolsandMacros(const char *FileName) {
- OS << ".dump" << ' ' << FileName << '\n';
-}
-
-void MCAsmStreamer::LoadSymbolsandMacros(const char *FileName) {
- OS << ".load" << ' ' << FileName << '\n';
-}
-
void MCAsmStreamer::EmitAssignment(MCSymbol *Symbol, const MCValue &Value,
bool MakeAbsolute) {
assert(!Symbol->getSection() && "Cannot assign to a label!");
diff --git a/test/MC/AsmParser/directive_dump_and_load.s b/test/MC/AsmParser/directive_dump_and_load.s
deleted file mode 100644
index c810244ede..0000000000
--- a/test/MC/AsmParser/directive_dump_and_load.s
+++ /dev/null
@@ -1,8 +0,0 @@
-# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
-
-# CHECK: TEST0:
-# CHECK: .dump "somefile"
-# CHECK: .load "jack and jill"
-TEST0:
- .dump "somefile"
- .load "jack and jill"
diff --git a/tools/llvm-mc/AsmParser.cpp b/tools/llvm-mc/AsmParser.cpp
index 066879ff48..1b9ca052a3 100644
--- a/tools/llvm-mc/AsmParser.cpp
+++ b/tools/llvm-mc/AsmParser.cpp
@@ -539,9 +539,9 @@ bool AsmParser::ParseStatement() {
if (!strcmp(IDVal, ".include"))
return ParseDirectiveInclude();
if (!strcmp(IDVal, ".dump"))
- return ParseDirectiveDarwinDumpOrLoad(/*IsDump=*/true);
+ return ParseDirectiveDarwinDumpOrLoad(IDLoc, /*IsDump=*/true);
if (!strcmp(IDVal, ".load"))
- return ParseDirectiveDarwinDumpOrLoad(/*IsLoad=*/false);
+ return ParseDirectiveDarwinDumpOrLoad(IDLoc, /*IsLoad=*/false);
Warning(IDLoc, "ignoring directive for now");
EatToEndOfStatement();
@@ -1197,11 +1197,11 @@ bool AsmParser::ParseDirectiveInclude() {
/// ParseDirectiveDarwinDumpOrLoad
/// ::= ( .dump | .load ) "filename"
-bool AsmParser::ParseDirectiveDarwinDumpOrLoad(bool IsDump) {
+bool AsmParser::ParseDirectiveDarwinDumpOrLoad(SMLoc IDLoc, bool IsDump) {
if (Lexer.isNot(asmtok::String))
return TokError("expected string in '.dump' or '.load' directive");
- const char *Str = Lexer.getCurStrVal();
+ Lexer.getCurStrVal();
Lexer.Lex();
@@ -1210,10 +1210,12 @@ bool AsmParser::ParseDirectiveDarwinDumpOrLoad(bool IsDump) {
Lexer.Lex();
+ // FIXME: If/when .dump and .load are implemented they will be done in the
+ // the assembly parser and not have any need for an MCStreamer API.
if (IsDump)
- Out.DumpSymbolsandMacros(Str);
+ Warning(IDLoc, "ignoring directive .dump for now");
else
- Out.LoadSymbolsandMacros(Str);
+ Warning(IDLoc, "ignoring directive .load for now");
return false;
}
diff --git a/tools/llvm-mc/AsmParser.h b/tools/llvm-mc/AsmParser.h
index d9f4b4c197..b3190b124b 100644
--- a/tools/llvm-mc/AsmParser.h
+++ b/tools/llvm-mc/AsmParser.h
@@ -127,7 +127,7 @@ private:
// Darwin specific ".subsections_via_symbols"
bool ParseDirectiveDarwinSubsectionsViaSymbols();
// Darwin specific .dump and .load
- bool ParseDirectiveDarwinDumpOrLoad(bool IsDump);
+ bool ParseDirectiveDarwinDumpOrLoad(SMLoc IDLoc, bool IsDump);
bool ParseDirectiveAbort(); // ".abort"
bool ParseDirectiveInclude(); // ".include"