[Lldb-commits] [PATCH] D58653: [Utility] Remove Triple{Environment, OS, Vendor}IsUnspecifiedUnknown from ArchSpec

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Feb 26 14:27:05 PST 2019

clayborg added a comment.

In D58653#1411285 <https://reviews.llvm.org/D58653#1411285>, @aprantl wrote:

> @clayborg I recently ran into a similar issue and I think that perhaps adding explicit `llvm::Triple::Any{Vendor|OS|...}` enumerators to llvm::Triple to make this distinction explicit would be the cleanest solution.

Any is fine, we just need a way to say "no os" or "no vendor" or "no environment". The way I am thinking about the way things would be:

If we had a "None":

- "Any" would be "unknown" (specified or unspecified)
- "None" would be the new enum/string

If we add "Any":

- "Any" would be the new enum/string
- "None" would be "unknown" (specified or unspecified)

Seems like less work to add the "None". Otherwise we end up having to change all much more triple stuff in LLVM because if we init a triple with "armv7", it currently defaults to unknown for os, vendor and env and that would need to change. Or all constructors in LLDB would need to change to call a different constructor that would force any unspecified parts to become "Any". Thoughts?
Not sure which is easier.



More information about the lldb-commits mailing list