https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124823
--- Comment #7 from Halalaluyafail3 <luigighiron at gmail dot com> ---
(In reply to Drea Pinski from comment #6)
> I wonder why c++26 didnt update the rules for identifiers when adding $ to
> basic character set. Maybe an oversight/defect?
I do not think the intent has been to allow dollar signs in identifiers. Also
it appears that only C++ requires the "single non-whitespace characters that do
not lexically match the other preprocessing token categories" to be in the
basic character set, C does not have that requirement. And no compilers seem to
correctly implement that, for example:
#define STR(X)#X
int main(){
STR(@);
}
This should be ill-formed before C++26 but all compilers accept it.