Commit d021d274 by Michael Meissner Committed by Michael Meissner

Fix PR tree-optimization/40219

From-SVN: r147807
parent 4d7a65ea
2009-05-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR tree-optimization/40219
* tree.c (iterative_hash_expr): Make sure the builtin function is
a normal builtin function and not a front end or back end builtin
before indexing into the built_in_decls array.
2009-05-22 Richard Guenther <rguenther@suse.de> 2009-05-22 Richard Guenther <rguenther@suse.de>
PR middle-end/38964 PR middle-end/38964
......
...@@ -5422,11 +5422,13 @@ iterative_hash_expr (const_tree t, hashval_t val) ...@@ -5422,11 +5422,13 @@ iterative_hash_expr (const_tree t, hashval_t val)
return val; return val;
} }
case FUNCTION_DECL: case FUNCTION_DECL:
/* When referring to a built-in FUNCTION_DECL, use the /* When referring to a built-in FUNCTION_DECL, use the __builtin__ form.
__builtin__ form. Otherwise nodes that compare equal Otherwise nodes that compare equal according to operand_equal_p might
according to operand_equal_p might get different get different hash codes. However, don't do this for machine specific
hash codes. */ or front end builtins, since the function code is overloaded in those
if (DECL_BUILT_IN (t) && built_in_decls[DECL_FUNCTION_CODE (t)]) cases. */
if (DECL_BUILT_IN_CLASS (t) == BUILT_IN_NORMAL
&& built_in_decls[DECL_FUNCTION_CODE (t)])
{ {
t = built_in_decls[DECL_FUNCTION_CODE (t)]; t = built_in_decls[DECL_FUNCTION_CODE (t)];
code = TREE_CODE (t); code = TREE_CODE (t);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment