]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Fix some memory leaks, and fix a bug: state 0 was examined twice.
[bison.git] / ChangeLog
index 6e577c11330ea229f875a431b514e5fd8f14d640..ec075d04f9ebe05bc3a1eda36bba536a9c8bbd27 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2002-07-03  Akim Demaille  <akim@epita.fr>
+
+       Fix some memory leaks, and fix a bug: state 0 was examined twice.
+
+       * src/LR0.c (new_state): Merge into...
+       (state_list_append): this.
+       (new_states): Merge into...
+       (generate_states): here.
+       (set_states): Don't ensure a proper `errs' state member here, do it...
+       * src/conflicts.c (conflicts_solve): here.
+       * src/state.h, src/state.c: Comment changes.
+       (state_t): Rename member `shifts' as `transitions'.
+       Adjust all dependencies.
+       (errs_new): For consistency, also take the values as argument.
+       (errs_dup): Remove.
+       (state_errs_set): New.
+       (state_reductions_set, state_transitions_set): Assert that no
+       previous value was assigned.
+       (state_free): New.
+       (states_free): Use it.
+       * src/conflicts.c (resolve_sr_conflict): Don't use an `errs_t' as
+       temporary storage: use `errs' and `nerrs' as elsewhere.
+       (set_conflicts): Allocate and free this `errs'.
+
+2002-07-02  Akim Demaille  <akim@epita.fr>
+
+       * lib/libiberty.h: New.
+       * lib: Update the bitset implementation from upstream.
+       * src/closure.c, src/lalr.c, src/output.c, src/print_graph.c,
+       * src/state.c: Use BITSET_FOR_EACH, not BITSET_EXECUTE.
+       * src/main.c: Adjust bitset stats calls.
+
+2002-07-01  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (<SC_ESCAPED_CHARACTER>): Convert to unsigned
+       char, so that negative chars don't collide with $.
+
 2002-06-30  Akim Demaille  <akim@epita.fr>
 
        Have the GLR tests be `warning' checked, and fix the warnings.
        afterwards.  Do it...
        * src/main.c (main): here: call states_free after `output'.
 
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       Use hash.h for the state hash table.
-
-       * src/LR0.c (STATE_HASH_SIZE, state_hash): Remove.
-       (allocate_storage): Use state_hash_new.
-       (free_storage): Use state_hash_free.
-       (new_state, get_state): Adjust.
-       * src/lalr.h, src/lalr.c (states): Move to...
-       * src/states.h (state_t): Remove the `link' member, no longer
-       used.
-       * src/states.h, src/states.c: here.
-       (state_hash_new, state_hash_free, state_hash_lookup)
-       (state_hash_insert, states_free): New.
-       * src/states.c (state_table, state_compare, state_hash): New.
-       * src/output.c (output_actions): Do not free states now, since we
-       still need to know the final_state number in `prepare', called
-       afterwards.  Do it...
-       * src/main.c (main): here: call states_free after `output'.
-
 2002-06-30  Akim Demaille  <akim@epita.fr>
 
        * src/state.h, src/state.c (state_new): New, extracted from...