================
@@ -4705,6 +4705,44 @@ bool CompilerInvocation::ParseLangArgs(LangOptions 
&Opts, ArgList &Args,
     }
   }
 
+  // Process MinGW -mcrtdll option
+  if (Arg *A = Args.getLastArg(OPT_mcrtdll_EQ)) {
+    Opts.MinGWCRTDll =
+        llvm::StringSwitch<enum LangOptions::WindowsCRTDLLVersion>(
+            A->getValue())
+            .StartsWithLower("crtdll",
+                             LangOptions::WindowsCRTDLLVersion::CRTDLL)
+            .StartsWithLower("msvcrt10",
+                             LangOptions::WindowsCRTDLLVersion::MSVCRT10)
+            .StartsWithLower("msvcrt20",
+                             LangOptions::WindowsCRTDLLVersion::MSVCRT20)
+            .StartsWithLower("msvcrt40",
+                             LangOptions::WindowsCRTDLLVersion::MSVCRT40)
+            .StartsWithLower("msvcr40",
+                             LangOptions::WindowsCRTDLLVersion::MSVCRT40)
+            .StartsWithLower("msvcrtd",
+                             LangOptions::WindowsCRTDLLVersion::MSVCRTD)
+            .StartsWithLower("msvcr70",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR70)
+            .StartsWithLower("msvcr71",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR71)
+            .StartsWithLower("msvcr80",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR80)
+            .StartsWithLower("msvcr90",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR90)
+            .StartsWithLower("msvcr100",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR100)
+            .StartsWithLower("msvcr110",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR110)
+            .StartsWithLower("msvcr120",
+                             LangOptions::WindowsCRTDLLVersion::MSVCR120)
----------------
mstorsjo wrote:

You're missing a case (and enum) for `msvcrt-os`, if this is to mimic the GCC 
implementation.

https://github.com/llvm/llvm-project/pull/149469
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to