https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108717
Bug ID: 108717 Summary: pasting """_" and "µm" does not give a valid preprocessing token in user-defined literal operator Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: pacoarjonilla at yahoo dot es Target Milestone: --- The following code is accepted by clang and MSVC, but not GCC: $ g++-13 --std=c++2b ''' int operator""_µm(long double magnitude) noexcept // Micro sign, unicode 0x00b5 { return magnitude; } ''' But character 'µ' is unicode XID_Start, so it should be accepted. Compiler output: <source>:1:16: error: expected initializer before '\U000000b5m' 1 | int operator""_µm(long double magnitude) noexcept \ | ^~ Compiler returned: 1