mjklemm wrote: > I think for Windows the easy thing to do here is just to add > `/WHOLEARCHIVE:...` here anyway, using the same logic as in > processVSRuntimeLibrary(); E.g > > ``` > void tools::addFortranRuntimeLibs(const ToolChain &TC, const ArgList &Args, > //need to add args here so we can search it > llvm::opt::ArgStringList &CmdArgs) { > if (!TC.getTriple().isKnownWindowsMSVCEnvironment()) { > // non-windows stuff > } else { > if (auto *rtl = Args.getLastArg(options::OPT_fms_runtime_lib_EQ)) { > RTOptionID = llvm::StringSwitch<unsigned>(rtl->getValue()) > .Case("static", options::OPT__SLASH_MT) > .Case("static_dbg", options::OPT__SLASH_MTd) > .Case("dll", options::OPT__SLASH_MD) > .Case("dll_dbg", options::OPT__SLASH_MDd) > .Default(options::OPT__SLASH_MT); > switch (RTOptionID) { > case options::OPT__SLASH_MT: > CmdArgs.push_back("/WHOLEARCHIVE:Fortran_main.static.lib"); > ///etc > } > ``` > > I haven't actually tested this code but it maybe gives an idea of what needs > doing?
Yeah, that's pretty much what I was doing before the code was refactored with this commit: ``` commit 0bc7cd4d51226344a54da5929d87184730e73e83 Author: David Truby <david.tr...@arm.com> Date: Thu Nov 23 14:19:57 2023 +0000 [flang] Add runtimes using --dependent-lib on MSVC targets (#72519) ``` So, I'd have to replicate part of the code that was removed from `lib/Driver/ToolChains/CommonArgs.cpp` to get `/WHOLEARCHIVE` back into the link line? https://github.com/llvm/llvm-project/pull/73124 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits