http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57581

            Bug ID: 57581
           Summary: abi_tag vs. demangler
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bkoz at gcc dot gnu.org

Some member functions in libstdc++ have been decorated with the "abi_tag"
attribute.

Any abi_tag attribution renders these names unable to be demangled.

For instance:

      iterator
      erase(const_iterator __first, const_iterator __last)
      { return _M_t.erase(__first, __last); }

For set turns from:
_ZNSt3setIiSt4lessIiESaIiEE5eraseESt23_Rb_tree_const_iteratorIiES5_

into:
 _ZNSt3setIiSt4lessIiESaIiEE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIiES5_


The first can be de-mangled into:
std::set<int, std::less<int>, std::allocator<int>
>::erase(std::_Rb_tree_const_iterator<int>, std::_Rb_tree_const_iterator<int>)

The second, not so much.

Reply via email to