cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type) instead of TYPE_...
authorJakub Jelinek <jakub@redhat.com>
Mon, 11 Jul 2005 07:31:08 +0000 (09:31 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 11 Jul 2005 07:31:08 +0000 (09:31 +0200)
* 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

gcc/ChangeLog
gcc/cfgexpand.c

index 073b6c4..c150806 100644 (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
index 87b8245..83a88cc 100644 (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;