aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-11-10 22:31:29 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-11-10 22:31:29 +0000
commit05fd666b63ac147fa053959d581ead5b003fe60c (patch)
treea157dfab0f24e1183178f96ba5c7d1a59867f79f /gcc
parenta1d9074cf12f6f156c1dddc415083b3f679cc91b (diff)
downloadgcc-05fd666b63ac147fa053959d581ead5b003fe60c.zip
gcc-05fd666b63ac147fa053959d581ead5b003fe60c.tar.gz
gcc-05fd666b63ac147fa053959d581ead5b003fe60c.tar.bz2
error.c (dump_function_name): Don't crash if given a friend pseudo-instantiation.
* error.c (dump_function_name): Don't crash if given a friend pseudo-instantiation. From-SVN: r30479
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog21
-rw-r--r--gcc/cp/error.c1
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0f4e3f5..c50a175 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,24 @@
+1999-11-10 Mark Mitchell <mark@codesourcery.com>
+
+ * 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 <phdm@macqel.be>
Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index ac9427b..9151b8c 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))