diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2007-02-04 23:27:42 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2007-02-04 23:27:42 +0000 |
commit | 13b7d3d499ec63c5f417f7a7246afb77adb63b2e (patch) | |
tree | 2fdeda64cd7d2062603eabd79575b4961c25d74f /lib | |
parent | 54100d73700ca4045ff244c01002a9ad0879c43d (diff) | |
download | llvm-13b7d3d499ec63c5f417f7a7246afb77adb63b2e.tar.gz llvm-13b7d3d499ec63c5f417f7a7246afb77adb63b2e.tar.bz2 llvm-13b7d3d499ec63c5f417f7a7246afb77adb63b2e.tar.xz |
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index ae082a63a2..37fb51f1c5 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<ConstantExpr>(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; |