cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type) instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get...

* cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
	instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
	bytes.

From-SVN: r101864
This commit is contained in:
Jakub Jelinek 2005-07-11 09:31:08 +02:00 committed by Jakub Jelinek
parent b1b0d9acec
commit 15362b89f0
2 changed files with 12 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2005-07-11 Jakub Jelinek <jakub@redhat.com>
* cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
bytes.
2005-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR middle-end/22239

View File

@ -770,15 +770,14 @@ stack_protect_classify_type (tree type)
|| t == signed_char_type_node
|| t == unsigned_char_type_node)
{
HOST_WIDE_INT max = PARAM_VALUE (PARAM_SSP_BUFFER_SIZE);
HOST_WIDE_INT len;
unsigned HOST_WIDE_INT max = PARAM_VALUE (PARAM_SSP_BUFFER_SIZE);
unsigned HOST_WIDE_INT len;
if (!TYPE_DOMAIN (type)
|| !TYPE_MAX_VALUE (TYPE_DOMAIN (type))
|| !host_integerp (TYPE_MAX_VALUE (TYPE_DOMAIN (type)), 1))
len = max + 1;
if (!TYPE_SIZE_UNIT (type)
|| !host_integerp (TYPE_SIZE_UNIT (type), 1))
len = max;
else
len = tree_low_cst (TYPE_MAX_VALUE (TYPE_DOMAIN (type)), 1);
len = tree_low_cst (TYPE_SIZE_UNIT (type), 1);
if (len < max)
ret = SPCT_HAS_SMALL_CHAR_ARRAY | SPCT_HAS_ARRAY;