aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/sb.c8
-rw-r--r--gas/sb.h8
3 files changed, 11 insertions, 11 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3ef40ab..595555b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2006-05-02 Ben Elliston <bje@au.ibm.com>
+
+ * sb.h (sb_list_vector): Move to sb.c.
+ * sb.c (free_list): Use type of sb_list_vector directly.
+ (sb_build): Fix off-by-one error in assertion about `size'.
+
2006-05-01 Ben Elliston <bje@au.ibm.com>
* listing.c (listing_listing): Remove useless loop.
diff --git a/gas/sb.c b/gas/sb.c
index ecd772c..f628835 100644
--- a/gas/sb.c
+++ b/gas/sb.c
@@ -56,7 +56,10 @@ static void sb_check (sb *, int);
static int string_count[sb_max_power_two];
/* Free list of sb structures. */
-static sb_list_vector free_list;
+static struct
+{
+ sb_element *size[sb_max_power_two];
+} free_list;
/* Initializes an sb. */
@@ -66,8 +69,7 @@ sb_build (sb *ptr, int size)
/* See if we can find one to allocate. */
sb_element *e;
- if (size > sb_max_power_two)
- abort ();
+ assert (size < sb_max_power_two);
e = free_list.size[size];
if (!e)
diff --git a/gas/sb.h b/gas/sb.h
index 5732688..da787e2 100644
--- a/gas/sb.h
+++ b/gas/sb.h
@@ -70,14 +70,6 @@ typedef struct le
}
sb_element;
-/* The free list. */
-
-typedef struct
-{
- sb_element *size[sb_max_power_two];
-}
-sb_list_vector;
-
extern void sb_new (sb *);
extern void sb_kill (sb *);
extern void sb_add_sb (sb *, sb *);