Avoid code duplication in the many unsupported EmitGPRel32Value implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120243 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2010-11-28 15:09:24 +00:00
parent 71e7f9210d
commit 3e03211625
6 changed files with 5 additions and 15 deletions

View File

@ -274,7 +274,7 @@ namespace llvm {
///
/// This is used to implement assembler directives such as .gprel32 on
/// targets that support them.
virtual void EmitGPRel32Value(const MCExpr *Value) = 0;
virtual void EmitGPRel32Value(const MCExpr *Value);
/// EmitFill - Emit NumBytes bytes worth of the value specified by
/// FillValue. This implements directives such as '.space'.

View File

@ -125,9 +125,6 @@ public:
}
virtual void EmitBytes(StringRef Data, unsigned AddrSpace);
virtual void EmitValue(const MCExpr *Value, unsigned Size,unsigned AddrSpace);
virtual void EmitGPRel32Value(const MCExpr *Value) {
assert(0 && "ELF doesn't support this directive");
}
virtual void EmitValueToAlignment(unsigned ByteAlignment, int64_t Value = 0,
unsigned ValueSize = 1,
unsigned MaxBytesToEmit = 0);

View File

@ -75,9 +75,6 @@ public:
uint64_t Size, unsigned ByteAlignment = 0);
virtual void EmitBytes(StringRef Data, unsigned AddrSpace);
virtual void EmitValue(const MCExpr *Value, unsigned Size,unsigned AddrSpace);
virtual void EmitGPRel32Value(const MCExpr *Value) {
assert(0 && "macho doesn't support this directive");
}
virtual void EmitValueToAlignment(unsigned ByteAlignment, int64_t Value = 0,
unsigned ValueSize = 1,
unsigned MaxBytesToEmit = 0);

View File

@ -91,9 +91,6 @@ public:
virtual void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size) {
report_fatal_error("unsupported directive in pure streamer");
}
virtual void EmitGPRel32Value(const MCExpr *Value) {
report_fatal_error("unsupported directive in pure streamer");
}
virtual void EmitFileDirective(StringRef Filename) {
report_fatal_error("unsupported directive in pure streamer");
}

View File

@ -55,6 +55,10 @@ void MCStreamer::EmitSymbolValue(const MCSymbol *Sym, unsigned Size,
EmitValue(MCSymbolRefExpr::Create(Sym, getContext()), Size, AddrSpace);
}
void MCStreamer::EmitGPRel32Value(const MCExpr *Value) {
report_fatal_error("unsupported directive in streamer");
}
/// EmitFill - Emit NumBytes bytes worth of the value specified by
/// FillValue. This implements directives such as '.space'.
void MCStreamer::EmitFill(uint64_t NumBytes, uint8_t FillValue,

View File

@ -70,7 +70,6 @@ public:
virtual void EmitBytes(StringRef Data, unsigned AddrSpace);
virtual void EmitValue(const MCExpr *Value, unsigned Size,
unsigned AddrSpace);
virtual void EmitGPRel32Value(const MCExpr *Value);
virtual void EmitValueToAlignment(unsigned ByteAlignment, int64_t Value,
unsigned ValueSize, unsigned MaxBytesToEmit);
virtual void EmitCodeAlignment(unsigned ByteAlignment,
@ -368,10 +367,6 @@ void WinCOFFStreamer::EmitValue(const MCExpr *Value, unsigned Size,
}
}
void WinCOFFStreamer::EmitGPRel32Value(const MCExpr *Value) {
llvm_unreachable("not implemented");
}
void WinCOFFStreamer::EmitValueToAlignment(unsigned ByteAlignment,
int64_t Value,
unsigned ValueSize,