summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-12-18 21:04:43 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-12-18 21:04:43 +0000
commit283bf89506603c88496d3cdf87dc0359289b1fa2 (patch)
treea8be8ac6f3628016045b1a97659239743eae5840 /clang/lib/Sema/SemaInit.cpp
parentafa854c15e35644c63018d397575906a5dc56c18 (diff)
downloadbcm5719-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.cpp13
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();
}
OpenPOWER on IntegriCloud