https://github.com/madanial0 created https://github.com/llvm/llvm-project/pull/76039
The AIX linker does not support the `--whole-archive` option, removing the option if the OS is AIX. >From 30f511b804d7a1a5a5f80daf0bef928ff7643971 Mon Sep 17 00:00:00 2001 From: Mark Danial <madan...@dixon.rtp.raleigh.ibm.com> Date: Wed, 20 Dec 2023 05:38:28 -0500 Subject: [PATCH] [Flang] remove whole-archive option for AIX linker --- clang/lib/Driver/ToolChains/CommonArgs.cpp | 3 ++- flang/test/Driver/no-duplicate-main.f90 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 4f4bdac793bea7..e9bd8f2b2aff48 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1175,7 +1175,8 @@ static void addFortranMain(const ToolChain &TC, const ArgList &Args, // sure that the main() function from Fortran_main.a is pulled in by the // linker. However, it shouldn't be used if it's already active. // TODO: Find an equivalent of `--whole-archive` for Darwin. - if (!isWholeArchivePresent(Args) && !TC.getTriple().isMacOSX()) { + if (!isWholeArchivePresent(Args) && !TC.getTriple().isMacOSX() && + !TC.getTriple().isOSAIX()) { CmdArgs.push_back("--whole-archive"); CmdArgs.push_back("-lFortran_main"); CmdArgs.push_back("--no-whole-archive"); diff --git a/flang/test/Driver/no-duplicate-main.f90 b/flang/test/Driver/no-duplicate-main.f90 index b884e7ecd7f12a..88f4430828e090 100644 --- a/flang/test/Driver/no-duplicate-main.f90 +++ b/flang/test/Driver/no-duplicate-main.f90 @@ -1,4 +1,4 @@ -! UNSUPPORTED: system-windows, system-darwin +! UNSUPPORTED: system-windows, system-darwin, system-aix ! RUN: %flang -x ir -o %t.c-object -c %S/Inputs/no_duplicate_main.ll ! RUN: %flang -o %t -c %s _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits