https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124823
Harald van Dijk <harald at gigawatt dot nl> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |harald at gigawatt dot nl
--- Comment #5 from Harald van Dijk <harald at gigawatt dot nl> ---
The rationale at the time "this extension cannot conflict with
standards-conforming programs" probably no longer holds though. Now that, for
C++, $ is in the basic character set and not permitted to be part of
identifiers, it looks like that makes
#define FOO
#define STR(x) STR_(x)
#define STR_(x) #x
int main() { return STR(FOO$)[1]; }
a strictly confirming C++ program that must return 0?