diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0f4e3f5faf6..c50a175b6f3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,24 @@ +1999-11-10 Mark Mitchell + + * error.c (dump_function_name): Don't crash if given a friend + pseudo-instantiation. + + * cp-tree.h (build_enumerator): Change prototype. + * decl.c (enum_next_value): Remove. + (enum_overflow): Likewise. + (init_decl_processing): Don't register enum_next_value as a root. + (start_enum): Clear TYPE_VALUES for a redefined enum. + (finish_enum): Reset the type of enumeration constants. + (build_enumerator): Fix indentation. Don't copy CONST_DECLs when + we don't need to. Maintain the TYPE_VALUES list and look there + for the previously defined enumeration constant. Let enumeration + constants have the type of their values until the enumeration type + is complete. + * parse.y (enumlist_opt, enumlist, enumerator): Don't return a value. + (structsp): Adjust. + * parse.c: Regenerated. + * pt.c (tsubst_enum): Adjust according to build_enumerator changes. + Wed Nov 10 12:43:21 1999 Philippe De Muyter Kaveh R. Ghazi diff --git a/gcc/cp/error.c b/gcc/cp/error.c index ac9427ba9bf..9151b8c604e 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1283,6 +1283,7 @@ dump_function_name (t, flags) dump_decl (name, flags); if (DECL_LANG_SPECIFIC (t) && DECL_TEMPLATE_INFO (t) + && !DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION (t) && (DECL_TEMPLATE_SPECIALIZATION (t) || TREE_CODE (DECL_TI_TEMPLATE (t)) != TEMPLATE_DECL || DECL_TEMPLATE_SPECIALIZATION (DECL_TI_TEMPLATE (t))