This patch is a prerequisite for using LangStandard from Driver in https://reviews.llvm.org/D64793.
It moves LangStandard* and InputKind::Language to Basic. It is mostly
mechanical, with only a few changes of note:
- I've renamed OpenCL to LF_OpenCL in enum LangFeatures to avoid a clash with OpenCL in enum Language.
- Now that getLangStandardForName, which is currently unused, also checks both canonical and alias names, I've introduced a helper getLangKind which factors out a code pattern already used 3 times.
The patch has been tested on x86_64-pc-solaris2.11, sparcv9-sun-solaris2.11,
and x86_64-pc-linux-gnu.
However, it will need companion patches for lldb and polly which both use either
or both of LangStandard.h and InputKind::*. To avoid everyone's time, I'll only
write and test them once it becomes clear that the current approach is acceptable.
Is it feasible to make this an enum class? I'm worried about namespace clashes on these otherwise very short names, like C, CXX, HIP, etc. It should be straightforward and mechanical to replace most existing instances of InputKind:: with Language::. It would also remove the need to make an exception for LF_OpenCL.