From effcd47eef464765c84130b667ef296da104756e Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Fri, 9 Mar 2012 03:06:56 +0000 Subject: Make sure constant emission handles initializer lists with strings correctly. Part of . llvm-svn: 152370 --- clang/lib/CodeGen/CGExprConstant.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CGExprConstant.cpp') diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index 61c10bbe4f32..fb019f4d00ab 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -763,7 +763,9 @@ public: llvm::Constant *EmitArrayInitialization(InitListExpr *ILE) { unsigned NumInitElements = ILE->getNumInits(); - if (NumInitElements == 1 && ILE->getType() == ILE->getInit(0)->getType() && + if (NumInitElements == 1 && + CGM.getContext().hasSameUnqualifiedType(ILE->getType(), + ILE->getInit(0)->getType()) && (isa(ILE->getInit(0)) || isa(ILE->getInit(0)))) return Visit(ILE->getInit(0)); -- cgit v1.2.3