有没有办法让 g++ 用 Unicode 标识符编译这个程序?

Omn*_*ous 7 c++ unicode emoji

int test(int )
{
   auto  = 5;
    += ;
   return ;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让 g++ 编译这个程序?我试过了g++ -fextended-identifiers -finput-charset=utf-8 -c utf8-test.cpp,我得到了这样的错误:

utf8-test.cpp:1:9: error: stray ‘\360’ in program
    1 | int test(int )
      |         ^
Run Code Online (Sandbox Code Playgroud)

它适用于叮当声。

请注意,我通常不赞成在标识符中使用表情符号的做法。这只是用于测试目的的极限情况。虽然,我有一个类,命名为 ?pField 会非常好(使用 ZPField 的一个很好的类型别名,以节省每个人弄清楚如何输入它的痛苦)。

编辑: TLDR 答案似乎是 gcc 可能会在 gcc 10 中支持这一点,但现在不支持,这是一个已知问题。也不清楚标准是否需要这种支持,并且您可能需要使用\U转义的十六进制或 UCN 序列来指定标识符中的 Unicode 字符。