This covers
- P2558R2 (C++, wg21.link/P2558)
- N2701 (C, https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2701.htm)
- N3124 (C, https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3124.pdf)
This patch
- Disallow representing $ as a UCN in all language mode, which did not properly work (see GH62133), and which in made ill-formed in C++ and C by P2558 and N3124 respectively
- Allow a UCN for any character in C2X, in string and character literals
Fixes #62133
Don't we need similar warnings for C++2c?