]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-ssa-operands.c (vop_free_bucket_size): Never return value greater than NUM_VOP_F...
authorJan Hubicka <jh@suse.cz>
Thu, 18 Jan 2007 21:58:18 +0000 (22:58 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 18 Jan 2007 21:58:18 +0000 (21:58 +0000)
* tree-ssa-operands.c (vop_free_bucket_size): Never return value
greater than NUM_VOP_FREE_BUCKETS.

From-SVN: r120933

gcc/ChangeLog
gcc/tree-ssa-operands.c

index 983e3d9dcbf467c2f6e431cd449b017089dee4e1..68fe46565601780a5050d7279f4fa3f9d643b5bf 100644 (file)
@@ -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.
index 23e493a2b04fac3334d29ce5926acc7eb58108a9..0006de924493dd92bf3aa2413cf755f3e0af2489 100644 (file)
@@ -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;
 }