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

Brad King via flang-commits flang-commits at lists.llvm.org
Wed Nov 1 06:13:07 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;
----------------
bradking wrote:

As of LLVM 17.0's distribution, the Fortran runtime libraries are built with `msvcrt`, so I think the current default is actually `/MD`.  Since this wasn't really modeled before, and CMake will be taught to pass one of the four flags explicitly anyway, changing the default may not matter, but it's something to be aware of.


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


More information about the flang-commits mailing list