stor-layout.c (layout_type): Don't complain about a too small an array element type size compared to its...

* stor-layout.c (layout_type): Don't complain about a too small
	an array element type size compared to its alignment when the
	size overflows.

From-SVN: r108575
This commit is contained in:
Olivier Hainque 2005-12-15 13:09:41 +00:00 committed by Olivier Hainque
parent 9286af9721
commit b606b65c44
2 changed files with 11 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2005-12-15 Olivier Hainque <hainque@adacore.com>
* stor-layout.c (layout_type): Don't complain about a too small
an array element type size compared to its alignment when the
size overflows.
2005-12-15 Jan Hubicka <jh@suse.cz>
PR target/24969

View file

@ -1816,8 +1816,13 @@ layout_type (tree type)
TYPE_MODE (type) = BLKmode;
}
}
/* When the element size is constant, check that it is at least as
large as the element alignment. */
if (TYPE_SIZE_UNIT (element)
&& TREE_CODE (TYPE_SIZE_UNIT (element)) == INTEGER_CST
/* If TYPE_SIZE_UNIT overflowed, then it is certainly larger than
TYPE_ALIGN_UNIT. */
&& !TREE_CONSTANT_OVERFLOW (TYPE_SIZE_UNIT (element))
&& !integer_zerop (TYPE_SIZE_UNIT (element))
&& compare_tree_int (TYPE_SIZE_UNIT (element),
TYPE_ALIGN_UNIT (element)) < 0)