From 98629c4e4de90380fd3821b7111ff1bd74761ffe Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 20 Mar 2014 21:26:38 +0000 Subject: Don't use EmitAbsValue with symbol references. The function exists to force an expression to be absolute, but there it is not possible to force a symbol reference since a = b .long a means something else. This is an alternative fix for pr9951 that uses an assert. It then deletes the old pr9951 test that was testing nothing already. llvm-svn: 204399 --- llvm/lib/MC/MCStreamer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/MC/MCStreamer.cpp') diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp index 6638fdeb486..0558a58abfd 100644 --- a/llvm/lib/MC/MCStreamer.cpp +++ b/llvm/lib/MC/MCStreamer.cpp @@ -73,8 +73,8 @@ const MCExpr *MCStreamer::BuildSymbolDiff(MCContext &Context, } const MCExpr *MCStreamer::ForceExpAbs(const MCExpr* Expr) { - if (Context.getAsmInfo()->hasAggressiveSymbolFolding() || - isa(Expr)) + assert(!isa(Expr)); + if (Context.getAsmInfo()->hasAggressiveSymbolFolding()) return Expr; MCSymbol *ABS = Context.CreateTempSymbol(); -- cgit v1.2.3