https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67224

--- Comment #39 from Joseph S. Myers <jsm28 at gcc dot gnu.org> ---
Spelling is a sequence of characters - and a spelling where those characters
include \ and u is different from a spelling where a multibyte source character
appears directly, and also different from a spelling with \ and U. (This is
different from older versions of C++ that used to have a model where everything
was converted to UCNs in an early translation phase.)

This is no different from e.g. "\xaa" and "\xAA" being different spellings of a
string literal with the same semantics, because different sequences of source
multibyte characters make up the preprocessing tokens. Or 0 and 00 being
different spellings of integer literals with the same type and value. Or <: and
[ having the same semantics but different spelling.

Reply via email to