================
@@ -1247,6 +1247,19 @@ Compilation *Driver::BuildCompilation(ArrayRef<const
char *> ArgList) {
CLOptions = std::make_unique<InputArgList>(
ParseArgStrings(ArgList.slice(1), /*UseDriverMode=*/true,
ContainsError));
+ // We want to determine the triple early so that we load the correct config.
+ 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 (CLOptions->hasArg(options::OPT__SLASH_arm64EC))
+ T.setArch(llvm::Triple::aarch64, llvm::Triple::AArch64SubArch_arm64ec);
----------------
zmodem wrote:
I thought normally the arguments in the config file should get processed
*before* the command-line arguments? What are the rules for this really?
https://github.com/llvm/llvm-project/pull/111397
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits