C++ name mangling bug
Andreas Schwab
schwab@issan.informatik.uni-dortmund.de
Mon Dec 29 02:25:00 GMT 1997
The C++ compiler mangles the function
basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >::Rep::clone(void)
as
clone__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b1i03Rep
which cannot be demangled because it lacks a separator between `i0' and
`3Rep'. The problem seems to be that once DECL_ASSEMBLER_NAME is set for
a template argument type the information is lost whether an underscore
must be used to separate the mangling of a numeric template argument from
the following stuff (numeric_output_need_bar is never set if
DECL_ASSEMBLER_NAME is used in build_qualified_name).
--
Andreas Schwab "And now for something
schwab@issan.informatik.uni-dortmund.de completely different"
schwab@gnu.org
More information about the Gcc
mailing list