tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields when comparing types.

Fri Sep 10 16:48:26 1999  Andrew Haley  <aph@cygnus.com>

        * tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
        when comparing types.

From-SVN: r29271
This commit is contained in:
Andrew Haley 1999-09-10 16:07:18 +00:00 committed by Andrew Haley
parent 69ba6af33e
commit da48638eff
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Fri Sep 10 16:48:26 1999 Andrew Haley <aph@cygnus.com>
* tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
when comparing types.
Wed Sep 8 16:12:04 1999 Andrew Haley <aph@cygnus.com>
* alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used

View File

@ -3672,12 +3672,18 @@ type_hash_lookup (hashcode, type)
tree type;
{
register struct type_hash *h;
/* The TYPE_ALIGN field of a type is set by layout_type(), so we
must call that routine before comparing TYPE_ALIGNs. */
layout_type (type);
for (h = type_hash_table[hashcode % TYPE_HASH_SIZE]; h; h = h->next)
if (h->hashcode == hashcode
&& TREE_CODE (h->type) == TREE_CODE (type)
&& TREE_TYPE (h->type) == TREE_TYPE (type)
&& attribute_list_equal (TYPE_ATTRIBUTES (h->type),
TYPE_ATTRIBUTES (type))
&& TYPE_ALIGN (h->type) == TYPE_ALIGN (type)
&& (TYPE_MAX_VALUE (h->type) == TYPE_MAX_VALUE (type)
|| tree_int_cst_equal (TYPE_MAX_VALUE (h->type),
TYPE_MAX_VALUE (type)))