Hello,
If a std attribute name is squeezed between 4x underscores,
the compiler (both 13.2 [1] and trunk [2]) experiences an ICE.
for e.g. when using [[____deprecated____]] int a;
But, [[____depreated____]] int a; (i.e. the char 'c' removed from the
spelling) does not cause ICE.
Clang does not crash.
Stack trace with ICE:
<source>:1:1: internal compiler error: in decl_attributes, at attribs.cc:751
1 | [[____deprecated____]] int a;
| ^
0x1b49b1e internal_error(char const*, ...)
???:0
0x6f805c fancy_abort(char const*, int, char const*)
???:0
0x70f62d decl_attributes(tree_node**, tree_node*, int, tree_node*)
???:0
0x728c0e start_decl(c_declarator*, c_declspecs*, bool, tree_node*,
bool, unsigned int*)
???:0
0x7865dd c_parse_file()
???:0
0x7e60b9 c_common_parse_file()
???:0
Thank you,
Amol
[1] https://godbolt.org/z/6PaMd9n6x
[2] https://godbolt.org/z/fc48q5PTW