diff options
author | Jan Hubicka <jh@suse.cz> | 2007-01-18 22:58:18 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2007-01-18 21:58:18 +0000 |
commit | 4cdffd965f87a83f2c2b87ae217d9ebe1d0f8512 (patch) | |
tree | d836e6e2597775f04cbafe1608370dbd46cfdf42 /gcc/tree-ssa-operands.c | |
parent | 3e5937d7b3b7da7404e8cc249d15ed67735524f8 (diff) | |
download | gcc-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/tree-ssa-operands.c')
-rw-r--r-- | gcc/tree-ssa-operands.c | 12 |
1 files changed, 7 insertions, 5 deletions
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; } |