diff options
-rw-r--r-- | include/llvm/MC/MCStreamer.h | 12 | ||||
-rw-r--r-- | lib/MC/MCAsmStreamer.cpp | 12 | ||||
-rw-r--r-- | test/MC/AsmParser/directive_dump_and_load.s | 8 | ||||
-rw-r--r-- | tools/llvm-mc/AsmParser.cpp | 14 | ||||
-rw-r--r-- | tools/llvm-mc/AsmParser.h | 2 |
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" |