aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/AsmWriter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-16 21:21:35 +0000
committerChris Lattner <sabre@nondot.org>2010-03-16 21:21:35 +0000
commit94c484d3b89662a9f61711f523f6b5cb9b6c392a (patch)
treecada0d3eb1512a6e7baae9a6ce4321019138d98e /lib/VMCore/AsmWriter.cpp
parentcbe1e31732c5d4fb1277195e76b9b42c115396aa (diff)
downloadexternal_llvm-94c484d3b89662a9f61711f523f6b5cb9b6c392a.zip
external_llvm-94c484d3b89662a9f61711f523f6b5cb9b6c392a.tar.gz
external_llvm-94c484d3b89662a9f61711f523f6b5cb9b6c392a.tar.bz2
add asmprinter suport for unions, fixing Feature/unions.ll to actually
be doing something useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98677 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/AsmWriter.cpp')
-rw-r--r--lib/VMCore/AsmWriter.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index fd74241..0eb9f02 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -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 &&