aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2007-04-09 16:33:33 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-04-09 16:33:33 +0000
commitea798d0f6615f17ccad16d07536a8a1e7650405d (patch)
treeecdfc04c5e335950e7fdad8a6a7caf24a5ce908d /gcc
parent70275c384cb03d78f9b6692b372eb65aa1f99f47 (diff)
downloadgcc-ea798d0f6615f17ccad16d07536a8a1e7650405d.zip
gcc-ea798d0f6615f17ccad16d07536a8a1e7650405d.tar.gz
gcc-ea798d0f6615f17ccad16d07536a8a1e7650405d.tar.bz2
tree.c (cp_tree_equal): Deal with TRAIT_EXPR.
2007-04-09 Paolo Carlini <pcarlini@suse.de> * tree.c (cp_tree_equal): Deal with TRAIT_EXPR. From-SVN: r123673
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/tree.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2dd5fe4..9f21ddc 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2007-04-09 Paolo Carlini <pcarlini@suse.de>
+
+ * tree.c (cp_tree_equal): Deal with TRAIT_EXPR.
+
2007-04-08 Steven Bosscher <steven@gcc.gnu.org>
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS):
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 30aa359..a8ff6f6 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -1828,6 +1828,12 @@ cp_tree_equal (tree t1, tree t2)
return false;
return cp_tree_equal (OVL_CHAIN (t1), OVL_CHAIN (t2));
+ case TRAIT_EXPR:
+ if (TRAIT_EXPR_KIND (t1) != TRAIT_EXPR_KIND (t2))
+ return false;
+ return same_type_p (TRAIT_EXPR_TYPE1 (t1), TRAIT_EXPR_TYPE1 (t2))
+ && same_type_p (TRAIT_EXPR_TYPE2 (t1), TRAIT_EXPR_TYPE2 (t2));
+
default:
break;
}