summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-03-02 21:27:44 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-03-02 21:27:44 +0000
commit0f074df9792ab7b9cd094811b6a22a8c18ae3963 (patch)
tree566819ecad3cf0a30bee025cbf2e4a6fff540b8e /clang/lib/CodeGen/CGExprConstant.cpp
parente84af17b6ebe164b5a50362dc5522905c03912a9 (diff)
downloadbcm5719-llvm-0f074df9792ab7b9cd094811b6a22a8c18ae3963.tar.gz
bcm5719-llvm-0f074df9792ab7b9cd094811b6a22a8c18ae3963.zip
Only emit string initializers in-place if types match. Fixes PR9373.
llvm-svn: 126883
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
-rw-r--r--clang/lib/CodeGen/CGExprConstant.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp
index 40d7b6c32e4..a4e054d06e4 100644
--- a/clang/lib/CodeGen/CGExprConstant.cpp
+++ b/clang/lib/CodeGen/CGExprConstant.cpp
@@ -562,7 +562,7 @@ public:
llvm::Constant *EmitArrayInitialization(InitListExpr *ILE) {
unsigned NumInitElements = ILE->getNumInits();
- if (NumInitElements == 1 &&
+ if (NumInitElements == 1 && ILE->getType() == ILE->getInit(0)->getType() &&
(isa<StringLiteral>(ILE->getInit(0)) ||
isa<ObjCEncodeExpr>(ILE->getInit(0))))
return Visit(ILE->getInit(0));
OpenPOWER on IntegriCloud