================
@@ -1286,6 +1299,16 @@ Compilation *Driver::BuildCompilation(ArrayRef<const
char *> ArgList) {
appendOneArg(Args, Opt, nullptr);
}
}
+
+ // The config file may have changed the architecture so apply it.
+ if (HasConfigFile && Args.hasArg(options::OPT__SLASH_arm64EC)) {
+ llvm::Triple T(TargetTriple);
+ if (T.getArch() != llvm::Triple::aarch64 ||
+ T.getSubArch() != llvm::Triple::AArch64SubArch_arm64ec) {
+ T.setArch(llvm::Triple::aarch64, llvm::Triple::AArch64SubArch_arm64ec);
+ TargetTriple = T.str();
----------------
zmodem wrote:
Thanks for explaining. I haven't looked at this code in a long time, and
TargetTriple vs. computeTargetTriple() is pretty confusing.
It seems `/arm64EC` is not handled in `computeTargetTriple()`(?) so I suppose
it needs to be handled somewhere :)
https://github.com/llvm/llvm-project/pull/111397
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits