diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2013-12-18 21:04:43 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-12-18 21:04:43 +0000 |
commit | 283bf89506603c88496d3cdf87dc0359289b1fa2 (patch) | |
tree | a8be8ac6f3628016045b1a97659239743eae5840 /clang/lib/Sema/SemaInit.cpp | |
parent | afa854c15e35644c63018d397575906a5dc56c18 (diff) | |
download | bcm5719-llvm-283bf89506603c88496d3cdf87dc0359289b1fa2.tar.gz bcm5719-llvm-283bf89506603c88496d3cdf87dc0359289b1fa2.zip |
Objective-C. After providing a fix-it for a
cstring, converted to NSString, produce the
matching AST for it. This also required some
refactoring of the previous code. // rdar://14106083
llvm-svn: 197605
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index 95456e52cc7..9ba873a0780 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -4462,11 +4462,14 @@ void InitializationSequence::InitializeFrom(Sema &S, Expr *Initializer = 0; if (Args.size() == 1) { Initializer = Args[0]; - if (S.getLangOpts().ObjC1 && - S.CheckObjCBridgeRelatedConversions(Initializer->getLocStart(), - DestType, Initializer->getType(), - Initializer)) - Args[0] = Initializer; + if (S.getLangOpts().ObjC1) { + if (S.CheckObjCBridgeRelatedConversions(Initializer->getLocStart(), + DestType, Initializer->getType(), + Initializer) || + S.ConversionToObjCStringLiteralCheck(DestType, Initializer)) + Args[0] = Initializer; + + } if (!isa<InitListExpr>(Initializer)) SourceType = Initializer->getType(); } |