From 13b7d3d499ec63c5f417f7a7246afb77adb63b2e Mon Sep 17 00:00:00 2001 From: Anton Korobeynikov Date: Sun, 4 Feb 2007 23:27:42 +0000 Subject: [PATCH] Fixing silly "not-implemented" bug in AsmPrinter. This fixes PR1169. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33888 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index ae082a63a29..37fb51f1c56 100644 --- a/lib/CodeGen/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter.cpp @@ -608,7 +608,8 @@ void AsmPrinter::EmitConstantValueOnly(const Constant *CV) { } } else if (const ConstantExpr *CE = dyn_cast(CV)) { const TargetData *TD = TM.getTargetData(); - switch(CE->getOpcode()) { + unsigned Opcode = CE->getOpcode(); + switch (Opcode) { case Instruction::GetElementPtr: { // generate a symbolic expression for the byte address const Constant *ptrVal = CE->getOperand(0); @@ -666,9 +667,10 @@ void AsmPrinter::EmitConstantValueOnly(const Constant *CV) { break; } case Instruction::Add: + case Instruction::Sub: O << "("; EmitConstantValueOnly(CE->getOperand(0)); - O << ") + ("; + O << (Opcode==Instruction::Add ? ") + (" : ") - ("); EmitConstantValueOnly(CE->getOperand(1)); O << ")"; break;