[llvm] r207759 - Make getBaseSymbol non recursive.

Rafael Espindola rafael.espindola at gmail.com
Thu May 1 06:09:42 PDT 2014


Author: rafael
Date: Thu May  1 08:09:42 2014
New Revision: 207759

URL: http://llvm.org/viewvc/llvm-project?rev=207759&view=rev
Log:
Make getBaseSymbol non recursive.

Modified:
    llvm/trunk/lib/MC/ELFObjectWriter.cpp

Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=207759&r1=207758&r2=207759&view=diff
==============================================================================
--- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Thu May  1 08:09:42 2014
@@ -585,16 +585,18 @@ static const MCSymbol *getBaseSymbol(con
   MCValue Value;
   if (!Expr->EvaluateAsValue(Value, &Layout))
     llvm_unreachable("Invalid Expression");
+
   const MCSymbolRefExpr *RefB = Value.getSymB();
-  if (RefB) {
+  if (RefB)
     Layout.getAssembler().getContext().FatalError(
         SMLoc(), Twine("symbol '") + RefB->getSymbol().getName() +
                      "' could not be evaluated in a subtraction expression");
-  }
+
   const MCSymbolRefExpr *A = Value.getSymA();
   if (!A)
     return nullptr;
-  return getBaseSymbol(Layout, A->getSymbol());
+
+  return &A->getSymbol();
 }
 
 void ELFObjectWriter::WriteSymbol(SymbolTableWriter &Writer, ELFSymbolData &MSD,





More information about the llvm-commits mailing list