Skip to content

Commit 486117d

Browse files
isurufbryanpkc
authored andcommitted
[Driver] Support macOS
1 parent b0f0930 commit 486117d

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

clang/lib/Driver/ToolChain.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1454,7 +1454,9 @@ void ToolChain::AddFortranStdlibLibArgs(const ArgList &Args,
14541454
CmdArgs.push_back("-Bdynamic");
14551455

14561456
CmdArgs.push_back("-lm");
1457-
CmdArgs.push_back("-lrt");
1457+
1458+
if (!Triple.isOSDarwin())
1459+
CmdArgs.push_back("-lrt");
14581460

14591461
// Allways link Fortran executables with Pthreads
14601462
CmdArgs.push_back("-lpthread");

clang/lib/Driver/ToolChains/Darwin.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,18 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA,
759759
if (getToolChain().ShouldLinkCXXStdlib(Args))
760760
getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
761761

762+
#ifdef ENABLE_CLASSIC_FLANG
763+
// Add Fortran runtime libraries
764+
if (needFortranLibs(getToolChain().getDriver(), Args)) {
765+
getToolChain().AddFortranStdlibLibArgs(Args, CmdArgs);
766+
} else {
767+
// Claim "no Flang libraries" arguments if any
768+
for (auto Arg : Args.filtered(options::OPT_noFlangLibs)) {
769+
Arg->claim();
770+
}
771+
}
772+
#endif
773+
762774
bool NoStdOrDefaultLibs =
763775
Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs);
764776
bool ForceLinkBuiltins = Args.hasArg(options::OPT_fapple_link_rtlib);

clang/lib/Driver/ToolChains/Gnu.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
553553
if (needFortranLibs(D, Args)) {
554554
ToolChain.AddFortranStdlibLibArgs(Args, CmdArgs);
555555
} else {
556-
// Claim "no Flang libraries" arguments if any
556+
// Claim "no Flang libraries" arguments if any
557557
for (auto Arg : Args.filtered(options::OPT_noFlangLibs)) {
558558
Arg->claim();
559559
}

0 commit comments

Comments
 (0)