summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
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