[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