This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

C++ name mangling bug


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]