aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2003-01-03 17:21:14 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2003-01-03 17:21:14 +0000
commit317583376de42bba078031951e29d5d285b6f27f (patch)
tree3cd21cd3c58d2a6b656cd5589e25532b84d97b2c /gcc/cp/tree.c
parent29456fb8708444ebfa8d4fb7e660da171c813cac (diff)
downloadgcc-317583376de42bba078031951e29d5d285b6f27f.zip
gcc-317583376de42bba078031951e29d5d285b6f27f.tar.gz
gcc-317583376de42bba078031951e29d5d285b6f27f.tar.bz2
PR c++/45, c++/3784
cp: PR c++/45, c++/3784 * tree.c (cp_tree_equal, TEMPLATE_PARM_INDEX): The types must be the same too. testsuite: * g++.dg/template/ntp2.C: New test. From-SVN: r60839
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r--gcc/cp/tree.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index f301d45..20d51d4 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -1735,8 +1735,10 @@ cp_tree_equal (t1, t2)
return 0;
case TEMPLATE_PARM_INDEX:
- return TEMPLATE_PARM_IDX (t1) == TEMPLATE_PARM_IDX (t2)
- && TEMPLATE_PARM_LEVEL (t1) == TEMPLATE_PARM_LEVEL (t2);
+ return (TEMPLATE_PARM_IDX (t1) == TEMPLATE_PARM_IDX (t2)
+ && TEMPLATE_PARM_LEVEL (t1) == TEMPLATE_PARM_LEVEL (t2)
+ && same_type_p (TREE_TYPE (TEMPLATE_PARM_DECL (t1)),
+ TREE_TYPE (TEMPLATE_PARM_DECL (t2))));
case SIZEOF_EXPR:
case ALIGNOF_EXPR: