[Bug c++/88413] g++ mangles names involving unresolved names in function argument template parameters differently from the ABI standard.

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 10 10:41:00 GMT 2018


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?


More information about the Gcc-bugs mailing list