aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-10-10 05:02:54 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-10-10 05:02:54 +0000
commit17a27b4f0c4ce1f151263c1919dba4fd2231eedc (patch)
treec79be0800daaa4e6c1647924399c5e22fb0b7902 /gcc/cp/tree.c
parentc69c9b36a97fddbde2112a5f8d50a4aabe13a19a (diff)
downloadgcc-17a27b4f0c4ce1f151263c1919dba4fd2231eedc.zip
gcc-17a27b4f0c4ce1f151263c1919dba4fd2231eedc.tar.gz
gcc-17a27b4f0c4ce1f151263c1919dba4fd2231eedc.tar.bz2
re PR c++/17867 ("void" instead of class name in error message)
PR c++/17867 * error.c (dump_expr): Correct handling of AGGR_INIT_EXPRs using a constructor. PR c++/17670 * init.c (build_new): Correct comments. * parser.c (cp_parser_new_expression): Use NULL_TREE for nelts in the non-array case. PR c++/17821 * parser.c (cp_parser_postfix_dot_deref_expression): If the pseduo-destructor-name production does not work, fall back to the ordinary production. PR c++/17826 * tree.c (cp_tree_equal): Handle a BASELINK. PR c++/17687 * g++.dg/parse/error19.C: New test. PR c++/17670 * g++.dg/init/new11.C: New test. PR c++/17821 * g++.dg/parse/error20.C: New test. PR c++/17826 * g++.dg/template/crash24.C: New test. From-SVN: r88836
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r--gcc/cp/tree.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index a8cea23..a4b7cf9 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -1500,6 +1500,12 @@ cp_tree_equal (tree t1, tree t2)
case IDENTIFIER_NODE:
return false;
+ case BASELINK:
+ return (BASELINK_BINFO (t1) == BASELINK_BINFO (t2)
+ && BASELINK_ACCESS_BINFO (t1) == BASELINK_ACCESS_BINFO (t2)
+ && cp_tree_equal (BASELINK_FUNCTIONS (t1),
+ BASELINK_FUNCTIONS (t2)));
+
case TEMPLATE_PARM_INDEX:
return (TEMPLATE_PARM_IDX (t1) == TEMPLATE_PARM_IDX (t2)
&& TEMPLATE_PARM_LEVEL (t1) == TEMPLATE_PARM_LEVEL (t2)