aboutsummaryrefslogtreecommitdiff
path: root/lang/swift510/files/patch-swift_lib_IRGen_GenDecl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lang/swift510/files/patch-swift_lib_IRGen_GenDecl.cpp')
-rw-r--r--lang/swift510/files/patch-swift_lib_IRGen_GenDecl.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/lang/swift510/files/patch-swift_lib_IRGen_GenDecl.cpp b/lang/swift510/files/patch-swift_lib_IRGen_GenDecl.cpp
new file mode 100644
index 000000000000..e43ffd2c0868
--- /dev/null
+++ b/lang/swift510/files/patch-swift_lib_IRGen_GenDecl.cpp
@@ -0,0 +1,22 @@
+--- swift/lib/IRGen/GenDecl.cpp.orig 2024-06-06 04:26:30 UTC
++++ swift/lib/IRGen/GenDecl.cpp
+@@ -486,6 +486,8 @@ void IRGenModule::emitSourceFile(SourceFile &SF) {
+ this->addLinkLibrary(LinkLibrary("c++", LibraryKind::Library));
+ else if (target.isOSLinux())
+ this->addLinkLibrary(LinkLibrary("stdc++", LibraryKind::Library));
++ else if (target.isOSFreeBSD())
++ this->addLinkLibrary(LinkLibrary("c++", LibraryKind::Library));
+
+ // Do not try to link Cxx with itself.
+ if (!getSwiftModule()->getName().is("Cxx")) {
+@@ -509,6 +511,10 @@ void IRGenModule::emitSourceFile(SourceFile &SF) {
+ case llvm::Triple::Linux:
+ if (!target.isAndroid())
+ this->addLinkLibrary(LinkLibrary("swiftCxxStdlib",
++ LibraryKind::Library));
++ break;
++ case llvm::Triple::FreeBSD:
++ this->addLinkLibrary(LinkLibrary("swiftCxxStdlib",
+ LibraryKind::Library));
+ break;
+ case llvm::Triple::Win32: {