diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2012-03-09 03:06:56 +0000 | 
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2012-03-09 03:06:56 +0000 | 
| commit | effcd47eef464765c84130b667ef296da104756e (patch) | |
| tree | 8745231f3534d28da539093bcc97ac57e18fe5f4 /clang/lib/CodeGen | |
| parent | 1bb80affe85d3497457645dd20957136f708468a (diff) | |
| download | bcm5719-llvm-effcd47eef464765c84130b667ef296da104756e.tar.gz bcm5719-llvm-effcd47eef464765c84130b667ef296da104756e.zip | |
Make sure constant emission handles initializer lists with strings correctly.  Part of <rdar://problem/10957867>.
llvm-svn: 152370
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index 61c10bbe4f3..fb019f4d00a 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<StringLiteral>(ILE->getInit(0)) ||           isa<ObjCEncodeExpr>(ILE->getInit(0))))        return Visit(ILE->getInit(0)); | 

