WG14 has a working draft for C2x (WG14 N2346) and we've begun voting new features into it, so I think it's time for use to expose a C2x flag and use it. The new features we adopted this week that Clang already has support for are: the new attribute syntax (WG14 N2335), the [[nodiscard]] attribute (WG14 N2267), the [[maybe_unused]] attribute (WG14 N2270), and the [[deprecated]] attribute (WG14 N2334).
This patch adds the new C2x language mode and flips a switch to allow double-square bracket attributes in that new mode.
(We get this wrong in a bunch of other places, but...)
The default from the language mode should be set by setLangDefault, and here we should override it if suitable flags are set.