aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2009-07-20 20:25:37 +0000
committerKevin Enderby <enderby@apple.com>2009-07-20 20:25:37 +0000
commit76022e48ffb2ba36bf0c4c75704056e25759afc2 (patch)
treea610cc7a46320195b936b5584f68a38ede2c2190
parent78929e529d78987d84ebe6181fb19076471e729f (diff)
downloadexternal_llvm-76022e48ffb2ba36bf0c4c75704056e25759afc2.zip
external_llvm-76022e48ffb2ba36bf0c4c75704056e25759afc2.tar.gz
external_llvm-76022e48ffb2ba36bf0c4c75704056e25759afc2.tar.bz2
Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as
the parsing of the .dump and .load should be done in the assembly parser and not have any need for an MCStreamer API. Changed the code for now so these just produce an error saying these specific directives are not yet implemented since they are likely no longer used and may never need to be implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76462 91177308-0d34-0410-b5e6-96231b3b80d8
-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 7d92a16..67fe8d4 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 e1812ce..a4a1525 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 c810244..0000000
--- 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 066879f..1b9ca05 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 d9f4b4c..b3190b12 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"