diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Driver/ToolChains/ZOS.cpp')
-rw-r--r-- | contrib/llvm-project/clang/lib/Driver/ToolChains/ZOS.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/ZOS.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/ZOS.cpp index 96dbf602e7c1..074e0556ecd2 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/ZOS.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/ZOS.cpp @@ -36,6 +36,12 @@ void ZOS::addClangTargetOptions(const ArgList &DriverArgs, if (!DriverArgs.hasArgNoClaim(options::OPT_faligned_allocation, options::OPT_fno_aligned_allocation)) CC1Args.push_back("-faligned-alloc-unavailable"); + + // Pass "-fno-sized-deallocation" only when the user hasn't manually enabled + // or disabled sized deallocations. + if (!DriverArgs.hasArgNoClaim(options::OPT_fsized_deallocation, + options::OPT_fno_sized_deallocation)) + CC1Args.push_back("-fno-sized-deallocation"); } void zos::Assembler::ConstructJob(Compilation &C, const JobAction &JA, @@ -325,8 +331,7 @@ void ZOS::AddClangCXXStdlibIncludeArgs( switch (GetCXXStdlibType(DriverArgs)) { case ToolChain::CST_Libcxx: { // <install>/bin/../include/c++/v1 - llvm::SmallString<128> InstallBin = - llvm::StringRef(getDriver().getInstalledDir()); + llvm::SmallString<128> InstallBin(getDriver().Dir); llvm::sys::path::append(InstallBin, "..", "include", "c++", "v1"); TryAddIncludeFromPath(InstallBin, DriverArgs, CC1Args); break; |