https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115232

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
(gdb) p newc
$1 = (const demangle_component &) <error reading variable: Cannot access memory
at address 0x0>
(gdb) p delc
$2 = (const demangle_component &) <error reading variable: Cannot access memory
at address 0x0>

1763      demangle_component *ndc = cplus_demangle_v3_components (new_str, 0,
&np);
1764      demangle_component *ddc = cplus_demangle_v3_components (del_str, 0,
&dp);
1765      bool mismatch = new_delete_mismatch_p (*ndc, *ddc);

(gdb) p new_str
$3 = 0x7ffff7009ea8 "_ZZN5OuterIvE6methodIvEEvvQ3cstITL0__EEN5InnernwEm"
(gdb) p del_str
$4 = 0x7ffff7009e70 "_ZZN5OuterIvE6methodIvEEvvQ3cstITL0__EEN5InnerdlEPv"

so we cannot demangle these?  But we expect no failure.  It should be trivial
to build in safety here, mine for that.  I'll keep the PR open for the
failed demangle though.

Reply via email to