tree.c (iterative_hash_expr): Canonicalize builtins.

2004-12-23  Dale Johannesen  <dalej@apple.com>

        * tree.c (iterative_hash_expr):  Canonicalize builtins.

From-SVN: r92553
This commit is contained in:
Dale Johannesen 2004-12-23 16:21:31 +00:00 committed by Dale Johannesen
parent 08167d1cdb
commit d070d4fd52
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2004-12-23 Dale Johannesen <dalej@apple.com>
* tree.c (iterative_hash_expr): Canonicalize builtins.
2004-12-23 Alexandre Oliva <aoliva@redhat.com>
PR target/16819

View File

@ -4130,12 +4130,24 @@ iterative_hash_expr (tree t, hashval_t val)
for (; t; t = TREE_CHAIN (t))
val = iterative_hash_expr (TREE_VALUE (t), val);
return val;
case FUNCTION_DECL:
/* When referring to a built-in FUNCTION_DECL, use the
__builtin__ form. Otherwise nodes that compare equal
according to operand_equal_p might get different
hash codes. */
if (DECL_BUILT_IN (t))
{
val = iterative_hash_pointer (built_in_decls[DECL_FUNCTION_CODE (t)],
val);
return val;
}
/* else FALL THROUGH */
default:
class = TREE_CODE_CLASS (code);
if (class == tcc_declaration)
{
/* Decls we can just compare by pointer. */
/* Otherwise, we can just compare decls by pointer. */
val = iterative_hash_pointer (t, val);
}
else