[clang] [clang][Driver] Fix triple config loading for clang-cl (PR #111397)

Bo Anderson via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 12 09:17:10 PST 2024


================
@@ -1336,17 +1359,7 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
 
   // FIXME: TargetTriple is used by the target-prefixed calls to as/ld
   // and getToolChain is const.
-  if (IsCLMode()) {
-    // clang-cl targets MSVC-style Win32.
-    llvm::Triple T(TargetTriple);
-    T.setOS(llvm::Triple::Win32);
-    T.setVendor(llvm::Triple::PC);
-    T.setEnvironment(llvm::Triple::MSVC);
-    T.setObjectFormat(llvm::Triple::COFF);
-    if (Args.hasArg(options::OPT__SLASH_arm64EC))
-      T.setArch(llvm::Triple::aarch64, llvm::Triple::AArch64SubArch_arm64ec);
-    TargetTriple = T.str();
-  } else if (IsDXCMode()) {
+  if (IsDXCMode()) {
----------------
Bo98 wrote:

It does but it relies on argument parsing so is trickier to move and I didn't have a DXC build on hand. I can have a look again though and see if I can get a build going.

I guess this is the same problem as above. It would be trivial to move this to `computeTargetTriple` but it seems this changes `TargetTriple` instead.

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


More information about the cfe-commits mailing list