diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-07-16 20:19:04 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-07-16 20:19:04 +0000 |
commit | 64f23918992bc99d8a0b4418f9787bc78cfd2975 (patch) | |
tree | b3acfa8ad31015df19334d4ef4c9180d36734879 /clang/lib/CodeGen/CGExprComplex.cpp | |
parent | c97d83dd3b7e9f970b9e441d48c50bad47713a4f (diff) | |
download | bcm5719-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.cpp | 6 |
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); } |