aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-01-18 22:58:18 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2007-01-18 21:58:18 +0000
commit4cdffd965f87a83f2c2b87ae217d9ebe1d0f8512 (patch)
treed836e6e2597775f04cbafe1608370dbd46cfdf42 /gcc
parent3e5937d7b3b7da7404e8cc249d15ed67735524f8 (diff)
downloadgcc-4cdffd965f87a83f2c2b87ae217d9ebe1d0f8512.zip
gcc-4cdffd965f87a83f2c2b87ae217d9ebe1d0f8512.tar.gz
gcc-4cdffd965f87a83f2c2b87ae217d9ebe1d0f8512.tar.bz2
tree-ssa-operands.c (vop_free_bucket_size): Never return value greater than NUM_VOP_FREE_BUCKETS.
* tree-ssa-operands.c (vop_free_bucket_size): Never return value greater than NUM_VOP_FREE_BUCKETS. From-SVN: r120933
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-operands.c12
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 983e3d9..68fe465 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-18 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-operands.c (vop_free_bucket_size): Never return value
+ greater than NUM_VOP_FREE_BUCKETS.
+
2007-01-18 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c: Update comments.
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 23e493a..0006de9 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -305,15 +305,17 @@ vop_free_bucket_size (int bucket)
static inline int
vop_free_bucket_index (int num)
{
- gcc_assert (num > 0);
+ gcc_assert (num > 0 && NUM_VOP_FREE_BUCKETS > 16);
/* Sizes 1 through 16 use buckets 0-15. */
if (num <= 16)
return num - 1;
- /* Buckets 16 - 45 represent 17 through 256 in 8 unit chunks. */
- if (num < 256)
- return 14 + (num - 1) / 8;
- return -1;
+ /* Buckets 16 - NUM_VOP_FREE_BUCKETS represent 8 unit chunks. */
+ num = 14 + (num - 1) / 8;
+ if (num >= NUM_VOP_FREE_BUCKETS)
+ return -1;
+ else
+ return num;
}