add asmprinter suport for unions, fixing Feature/unions.ll to actually
authorChris Lattner <sabre@nondot.org>
Tue, 16 Mar 2010 21:21:35 +0000 (21:21 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 16 Mar 2010 21:21:35 +0000 (21:21 +0000)
be doing something useful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98677 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/AsmWriter.cpp

index fd742413abf10a23c581804c48d1dfdf7c031e23..0eb9f020dc9a2b0b2f6284567eca21c4655dd74c 100644 (file)
@@ -1027,6 +1027,15 @@ static void WriteConstantInt(raw_ostream &Out, const Constant *CV,
     return;
   }
 
+  if (const ConstantUnion *CU = dyn_cast<ConstantUnion>(CV)) {
+    Out << "{ ";
+    TypePrinter.print(CU->getOperand(0)->getType(), Out);
+    Out << ' ';
+    WriteAsOperandInternal(Out, CU->getOperand(0), &TypePrinter, Machine);
+    Out << " }";
+    return;
+  }
+  
   if (const ConstantVector *CP = dyn_cast<ConstantVector>(CV)) {
     const Type *ETy = CP->getType()->getElementType();
     assert(CP->getNumOperands() > 0 &&