(yyparse): here. This undoes some of the 2002-07-25 change.
Compatibility problem reported by Ralf S. Engelschall with
OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.
(yyparse): here. This undoes some of the 2002-07-25 change.
Compatibility problem reported by Ralf S. Engelschall with
OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.
(lbitset_bytes): Adjust to new, unique names for structures.
(lbitset_and, lbitset_and_cmp, lbitset_andn, lbitset_andn_cmp,
lbitset_or, lbitset_or_cmp, lbitset_xor, lbitset_xor_cmp,
lbitset_empty_p, lbitset_ones, lbitset_not, lbitset_subset_p,
lbitset_disjoint_p, debug_lbitset): Supply prototype decls.
(enum_lbitset_find_mode): New type. All instances of parameters of
type enum FOO are now of type enum_FOO, to conform to the C Standard.
(struct lbitset_struct, lbitset, bitset_struct, PFV): Remove.
(lbitset_and, lbitset_andn, lbitset_or, lbitset_xor): New functions.
objects. Do not assume that adding a header size to a multiple of a
word size yields a value that is properly aligned for the whole union.
(bitsetv_alloc): Add a cast to (void *) to avoid a GCC warning.
(union bitset_union, struct abitset_struct, struct ebitset_struct,
struct lbitset_struct, struct bitset_stats_struct): New types.
All uses of struct bitset_struct changed to union bitset_union,
etc.
(bitset_next, bitset_prev, bitset_only_set_p): Declare.
All instances of parameters of type enum bitset_opts are now of
type enum_bitset_opts, to conform to the C Standard, and similarly
for enum_bitset_type.
(bitset): Now points to a union, not to a struct.
All instances of "struct bitset_struct *" replaced with "bitset".
(bitset_and_or_, bitset_andn_or_, bitset_or_and_): New decls.
(abitset_bytes): Return a size that is aligned
properly for vectors of objects. Do not assume that adding a
header size to a multiple of a word size yields a value that is
properly aligned for the whole union.
(abitset_ones, abitset_zero, abitset_empty_p, abitset_copy1,
abitset_not, abitset_equal_p, abitset_subset_p, abitset_disjoint_p,
abitset_and, abitset_and_cmp, abitset_andn, abitset_andn_cmp,
abitset_or, abitset_or_cmp, abitset_xor, abitset_xor_cmp,
abitset_and_or, abitset_and_or_cmp, abitset_andn_or,
abitset_andn_or_cmp, abitset_or_and, abitset_or_and_cmp,
abitset_copy): Supply prototype decls, to improve the type-checking
that GCC can do.
(struct abitset_struct, abitset, struct bitset_struct): Remove.
the same width as int. This reapplies a hunk of the 2002-08-12 patch
<http://mail.gnu.org/pipermail/bison-patches/2002-August/001111.html>,
which was inadvertently undone by the 2002-09-30 patch.
* lib/lbitset.c (debug_lbitset): Do not assume that bitset_word is
the same width as int.
(Symbols): Mention that any negative value returned from yylex
signifies end-of-input. Warn about negative chars. Mention
the portable Standard C character set.
Use bitset_bindex, not int or unsigned int or size_t, to count bits.
(lbitset_bytes): Use size_t, not unsigned int, to count bytes.
Use proper printf formats for widths of integer types.
(lbitset_ones, lbitset_not): Use bitset_windex instead of unsigned int.
(lbitset_elt_find): Simplify windex calculation and avoid cast to unsigned.
Use bitset_bindex, not int or unsigned int or size_t, to count bits.
(ebitset_bytes): Use size_t, not unsigned int, to count bytes.
(struct ebitset_struct.size, ebitset_elts_grow,
ebitset_elt_add, ebitset_elt_remove, ebitset_weed,
ebitset_elt_find, ebitset_list_reverse, ebitset_list, ebitset_init):
Use bitset_windex instead of unsigned int.
(ebitset_elts_grow): Check for arithmetic overflow when computing sizes.
bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
bitsetv_reflexive_transitive_closure):
Use bitset_bindex, not int or unsigned int or size_t, to count bits.
(bitsetv_alloc): Use size_t, not unsigned int, to count bytes.
(bitsetv_dump, debug_bitsetv):
Use bitset_windex instead of unsigned int.
Use proper printf formats for widths of integer types.
(bitsetv_alloc): Check for arithmetic overflow when computing sizes.
bitset_stats_list_reverse, bitset_stats_size,
bitset_stats_count, bitset_stats_list, bitset_stat_list_reverse):
Use bitset_bindex, not int or unsigned int or size_t, to count bits.
(bitset_stats_bytes, bitset_stats_init):
Use size_t, not unsigned int, to count bytes.
(bitset_percent_histogram_print,
bitset_log_histogram_print, bitset_stats_print_1):
Use proper printf formats for width of integer types.
Use size_t, not unsigned int, to count bytes.
(bitset_print): Use proper printf format for bitset types.
(bitset_next, bitset_prev, bitset_first, bitset_last):
Return BITSET_BINDEX_MAX (not -1) for no value,
since we now return the bitset_bindex type (not int).
struct bitset_vtable.list, struct bitset_vtable.list_reverse,
bitset_count_, bitset_next, bitset_prev, bitset_first, bitset_last,
bitset_count_):
Use bitset_bindex, not int or unsigned int or size_t, to count bits.
(BITSET_BINDEX_MAX, BITSET_WINDEX_MAX, BITSET_SIZE_MAX): New macros.
(BITSET_INDEX_MAX): Remove. It wasn't right, since it assumed that
sizeof (bitset_word) == sizeof (bitset_windex). All uses changed
to BITSET_WINDEX_MAX.