Skip to content

Commit e23c895

Browse files
committed
[OpenMP][AIX] Add pthreads and perfstat libraries for linking static libomp
1 parent 75ef0be commit e23c895

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

clang/lib/Driver/ToolChains/AIX.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,10 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
309309
AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
310310

311311
// Add OpenMP runtime if -fopenmp is specified.
312-
if (Args.hasFlag(options::OPT_fopenmp, options::OPT_fopenmp_EQ,
313-
options::OPT_fno_openmp, false)) {
312+
const bool hasFOpenMP =
313+
Args.hasFlag(options::OPT_fopenmp, options::OPT_fopenmp_EQ,
314+
options::OPT_fno_openmp, false);
315+
if (hasFOpenMP) {
314316
switch (ToolChain.getDriver().getOpenMPRuntime(Args)) {
315317
case Driver::OMPRT_OMP:
316318
CmdArgs.push_back("-lomp");
@@ -325,10 +327,13 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
325327
// Already diagnosed.
326328
break;
327329
}
330+
331+
CmdArgs.push_back("-lperfstat");
328332
}
329333

330334
// Support POSIX threads if "-pthreads" or "-pthread" is present.
331-
if (Args.hasArg(options::OPT_pthreads, options::OPT_pthread))
335+
if (hasFOpenMP ||
336+
Args.hasArg(options::OPT_pthreads, options::OPT_pthread))
332337
CmdArgs.push_back("-lpthreads");
333338

334339
if (D.CCCIsCXX())

0 commit comments

Comments
 (0)