https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88413
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The only case I see with "sr" in mangle.c is: else { write_string ("sr"); write_type (scope); write_member_name (member); } but the grammar has: ::= sr <unresolved-type> <base-unresolved-name> # T::x / decltype(p)::x ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name> # T::N::x /decltype(p)::N::x ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name> # A::x, N::y, A<T>::z; "gs" means leading "::" so it doesn't have E for some cases and has them for others. I wonder about that srN, is that really literal srN string?