[RFC] Enable C++11/C2x attributes in all standard modes as an extension and remove `-fdouble-square-bracket-attributes`

Libraries still cannot rely on the extension because nobody implements this as an extension in all language modes (at least, last time I checked). Updating __cpp_attributes will help library folks in C++ know whether the extension is supported or not, as that’s standardized. But what’s the plan for C folks (we don’t have standardized feature testing macros in C)? I think we could probably add a __has_extension entry for C, analogous to __has_extension(cxx_attributes). WDYT?

I’m in support of this idea. I think we should enable the extension unconditionally for Clang 17 with a release note mentioning that -fdouble-square-bracket-attributes will be removed in Clang 18 just as a kindness to users with proprietary code bases that might be using it.

Eh, not quite. New attributes added to Clang should be using the Clang spelling, which includes both a GNU- and a C+±style spelling. There are still a few cases where we only expose the attribute as a GNU spelling or under a different vendor namespace with a C+±style spelling, but those are one-offs.