From bece74bdee6aa7a90fc573f11b27a43231bca007 Mon Sep 17 00:00:00 2001 From: Alex Samuel Date: Fri, 30 Jun 2000 15:25:33 +0000 Subject: in libiberty/ChangeLog: * cp-demangle.c (demangle_encoding): Accept no substitutions. (demangle_name): Handle followed by . (demangle_type): Follow special substitutions with (demangle_subtitution): Set template_p for special substitutions. (main): Fix typos. in gcc/cp/ChangeLog: * mangle.c (find_substitution): Use same_type_p. (write_encoding): Don't check for substitutions. in libio/ChangeLog: * libioP.h (VTABLE_LABEL): Update for new vtable mangling. * stdstrbufs.cc (filebuf_vtable): Likewise. (stdiobuf_vtable): Likewise. From-SVN: r34811 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/mangle.c | 12 +++--------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'gcc') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c98bf63..6d75cde 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-06-28 Alex Samuel + + * mangle.c (find_substitution): Use same_type_p. + (write_encoding): Don't check for substitutions. + 2000-06-30 Nathan Sidwell * parse.y (expr_no_comma_rangle): New non-terminal. @@ -78,6 +83,7 @@ (overloaded_template_name): Adjust. * semantics.c (finish_template_template_parm): Adjust. +>>>>>>> 1.1867 2000-06-28 Mark Mitchell * cp-tree.h (CLEAR_BINFO_NEW_VTABLE_MARKED): Remove. diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index a1d1d55..594e25c 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -463,7 +463,7 @@ find_substitution (node) { tree args = CLASSTYPE_TI_ARGS (type); if (TREE_VEC_LENGTH (args) == 3 - && TREE_VEC_ELT (args, 0) == char_type_node + && same_type_p (TREE_VEC_ELT (args, 0), char_type_node) && is_std_substitution_char (TREE_VEC_ELT (args, 1), SUBID_CHAR_TRAITS) && is_std_substitution_char (TREE_VEC_ELT (args, 2), @@ -493,7 +493,7 @@ find_substitution (node) args > . */ tree args = CLASSTYPE_TI_ARGS (type); if (TREE_VEC_LENGTH (args) == 2 - && TREE_VEC_ELT (args, 0) == char_type_node + && same_type_p (TREE_VEC_ELT (args, 0), char_type_node) && is_std_substitution_char (TREE_VEC_ELT (args, 1), SUBID_CHAR_TRAITS)) { @@ -570,8 +570,7 @@ write_mangled_name (decl) } /* ::= - ::= - ::= */ + ::= */ static void write_encoding (decl) @@ -579,9 +578,6 @@ write_encoding (decl) { MANGLE_TRACE_TREE ("encoding", decl); - if (find_substitution (decl)) - return; - if (DECL_LANG_SPECIFIC (decl) && DECL_EXTERN_C_FUNCTION_P (decl)) { write_source_name (DECL_NAME (decl)); @@ -600,8 +596,6 @@ write_encoding (decl) write_bare_function_type (fn_type, DECL_TEMPLATE_ID_P (decl)); } - - add_substitution (decl); } /* ::= -- cgit v1.1