aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2018-10-25 17:52:13 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2018-10-25 17:52:13 +0000
commit0c16a13fb9148b3190f792dc726ffb9261163da8 (patch)
treea77328b162b5acc6ff762a75b574b6596c9a9da5 /clang/lib/CodeGen/CodeGenModule.cpp
parentf02c0f8af6fc16cfd1278ab90e41429876c25eb8 (diff)
downloadllvm-0c16a13fb9148b3190f792dc726ffb9261163da8.zip
llvm-0c16a13fb9148b3190f792dc726ffb9261163da8.tar.gz
llvm-0c16a13fb9148b3190f792dc726ffb9261163da8.tar.bz2
CodeGen: alter CFConstantString class name for swift 5.0
Swift 5.0 has changed the name decoration for swift symbols, using a 'S' sigil rather than 's' as in 4.2. Adopt the new convention. llvm-svn: 345291
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index c9f907b..9d3187b 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -4139,7 +4139,12 @@ CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
switch (CFRuntime) {
default: break;
case LangOptions::CoreFoundationABI::Swift: LLVM_FALLTHROUGH;
- case LangOptions::CoreFoundationABI::Swift5_0: LLVM_FALLTHROUGH;
+ case LangOptions::CoreFoundationABI::Swift5_0:
+ CFConstantStringClassName =
+ Triple.isOSDarwin() ? "$S15SwiftFoundation19_NSCFConstantStringCN"
+ : "$S10Foundation19_NSCFConstantStringCN";
+ Ty = IntPtrTy;
+ break;
case LangOptions::CoreFoundationABI::Swift4_2:
CFConstantStringClassName =
Triple.isOSDarwin() ? "$s15SwiftFoundation19_NSCFConstantStringCN"