[clang] [flang] [flang][windows] Add option to link against specific MSVC CRT (PR #70833)

via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 1 17:47:28 PDT 2023


================
@@ -976,12 +976,46 @@ bool tools::addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
   return true;
 }
 
-void tools::addFortranRuntimeLibs(const ToolChain &TC,
+void tools::addFortranRuntimeLibs(const ToolChain &TC, const ArgList &Args,
                                   llvm::opt::ArgStringList &CmdArgs) {
   if (TC.getTriple().isKnownWindowsMSVCEnvironment()) {
-    CmdArgs.push_back("Fortran_main.lib");
-    CmdArgs.push_back("FortranRuntime.lib");
-    CmdArgs.push_back("FortranDecimal.lib");
+    CmdArgs.push_back(Args.MakeArgString(
+        "/DEFAULTLIB:" + TC.getCompilerRTBasename(Args, "builtins")));
+    unsigned RTOptionID = options::OPT__SLASH_MT;
----------------
h-vetinari wrote:

Could you share the missing symbols? If it's something like `__udivti3` then that's an issue with not finding compiler-rt (those symbols are for 128 bit types and not contained in the MSVC rt libs of any flavour), see https://github.com/llvm/llvm-project/issues/25679. If so, there's perhaps a chance that things work with `flang-new -DAVOID_NATIVE_UINT128_T=1`...

https://github.com/llvm/llvm-project/pull/70833


More information about the cfe-commits mailing list