[clang] [libcxx] [lld] [llvm] Triple::normalize: Set OS for 3-component triple with none as middle (PR #89638)
YunQiang Su via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 23 09:23:34 PDT 2024
================
@@ -1149,6 +1149,13 @@ std::string Triple::normalize(StringRef Str) {
}
}
+ // For 3-component triples, the middle component is used to set Vendor;
+ // while if it is "none", we'd prefer to set OS.
+ // This is for some baremetal cases, such as "arm-none-elf".
+ if (Found[0] && !Found[1] && !Found[2] && Found[3] &&
+ Components[1].equals("none") && Components[2].empty())
+ std::swap(Components[1], Components[2]);
----------------
wzssyqa wrote:
Sure. we can. I think that we may need more update to `Triple::normalize`. Once we can decide how to normalize `aarch64-none-elf`, then I will split this PR.
https://github.com/llvm/llvm-project/pull/89638
More information about the cfe-commits
mailing list