summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprComplex.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-07-16 20:19:04 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-07-16 20:19:04 +0000
commit64f23918992bc99d8a0b4418f9787bc78cfd2975 (patch)
treeb3acfa8ad31015df19334d4ef4c9180d36734879 /clang/lib/CodeGen/CGExprComplex.cpp
parentc97d83dd3b7e9f970b9e441d48c50bad47713a4f (diff)
downloadbcm5719-llvm-64f23918992bc99d8a0b4418f9787bc78cfd2975.tar.gz
bcm5719-llvm-64f23918992bc99d8a0b4418f9787bc78cfd2975.zip
Fix crash on complex constant zero.
Fixes <rdar://problem/14442543>. llvm-svn: 186452
Diffstat (limited to 'clang/lib/CodeGen/CGExprComplex.cpp')
-rw-r--r--clang/lib/CodeGen/CGExprComplex.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGExprComplex.cpp b/clang/lib/CodeGen/CGExprComplex.cpp
index e4b2f3b3fb4..796c55a4bdb 100644
--- a/clang/lib/CodeGen/CGExprComplex.cpp
+++ b/clang/lib/CodeGen/CGExprComplex.cpp
@@ -114,9 +114,9 @@ public:
if (result.isReference())
return EmitLoadOfLValue(result.getReferenceLValue(CGF, E));
- llvm::ConstantStruct *pair =
- cast<llvm::ConstantStruct>(result.getValue());
- return ComplexPairTy(pair->getOperand(0), pair->getOperand(1));
+ llvm::Constant *pair = result.getValue();
+ return ComplexPairTy(pair->getAggregateElement(0U),
+ pair->getAggregateElement(1U));
}
return EmitLoadOfLValue(E);
}
OpenPOWER on IntegriCloud