diff options
Diffstat (limited to 'repos/clang/llvm/0024-clang-link-libcxxabi-on-linux-when-using-libc.patch')
| -rw-r--r-- | repos/clang/llvm/0024-clang-link-libcxxabi-on-linux-when-using-libc.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/repos/clang/llvm/0024-clang-link-libcxxabi-on-linux-when-using-libc.patch b/repos/clang/llvm/0024-clang-link-libcxxabi-on-linux-when-using-libc.patch new file mode 100644 index 00000000..f306f4f5 --- /dev/null +++ b/repos/clang/llvm/0024-clang-link-libcxxabi-on-linux-when-using-libc.patch @@ -0,0 +1,52 @@ +From adf31476855428b5c23407569b20c297f6d9be18 Mon Sep 17 00:00:00 2001 +From: q66 <q66@chimera-linux.org> +Date: Sat, 4 Nov 2023 09:14:35 +0100 +Subject: [PATCH 24/30] clang: link libcxxabi on linux when using libc++ + +--- + clang/lib/Driver/ToolChains/Linux.cpp | 15 +++++++++++++++ + clang/lib/Driver/ToolChains/Linux.h | 2 ++ + 2 files changed, 17 insertions(+) + +diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp +index c006ed105..c97d379c9 100644 +--- a/clang/lib/Driver/ToolChains/Linux.cpp ++++ b/clang/lib/Driver/ToolChains/Linux.cpp +@@ -732,6 +732,21 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, + } + } + ++void Linux::AddCXXStdlibLibArgs(const ArgList &Args, ++ ArgStringList &CmdArgs) const { ++ switch (GetCXXStdlibType(Args)) { ++ case ToolChain::CST_Libcxx: ++ CmdArgs.push_back("-lc++"); ++ if (Args.hasArg(options::OPT_fexperimental_library)) ++ CmdArgs.push_back("-lc++experimental"); ++ CmdArgs.push_back("-lc++abi"); ++ break; ++ case ToolChain::CST_Libstdcxx: ++ CmdArgs.push_back("-lstdc++"); ++ break; ++ } ++} ++ + void Linux::AddCudaIncludeArgs(const ArgList &DriverArgs, + ArgStringList &CC1Args) const { + CudaInstallation->AddCudaIncludeArgs(DriverArgs, CC1Args); +diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h +index aa2299c5c..b8cbbedae 100644 +--- a/clang/lib/Driver/ToolChains/Linux.h ++++ b/clang/lib/Driver/ToolChains/Linux.h +@@ -33,6 +33,8 @@ public: + void addLibStdCxxIncludePaths( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; ++ void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, ++ llvm::opt::ArgStringList &CmdArgs) const override; + void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void AddHIPIncludeArgs(const llvm::opt::ArgList &DriverArgs, +-- +2.47.0 + |