mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-15 15:23:02 +00:00
Port to GCC 2.95. First two problems reported by Michael Deutschmann in
<http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00018.html>. * src/parse-gram.y (symbol_declaration): Don't put statements before declarations; it's not portable to C89. * src/scan-code.l (handle_action_at): Likewise. * src/scan-code.l: Always initialize braces_level; the old code left it uninitialized and therefore had undefined behavior. Don't attempt to redefine 'assert', since it runs afoul of systems where standard headers (mistakenly) include <assert.h>. Instead, define and use our own alternative, called 'aver'. * src/reader.c: Don't include assert.h, since we no longer use assert. * src/scan-code.l: Likewise. * src/system.h (assert): Remove, replacing with.... (aver): New function, taking a bool arg. All uses changed. * src/tables.c (pack_vector): Ensure that aver arg is bool, not merely an integer.
This commit is contained in:
10
src/state.c
10
src/state.c
@@ -61,7 +61,7 @@ transitions_to (transitions *shifts, symbol_number sym)
|
||||
int j;
|
||||
for (j = 0; ; j++)
|
||||
{
|
||||
assert (j < shifts->num);
|
||||
aver (j < shifts->num);
|
||||
if (TRANSITION_SYMBOL (shifts, j) == sym)
|
||||
return shifts->states[j];
|
||||
}
|
||||
@@ -135,7 +135,7 @@ state_new (symbol_number accessing_symbol,
|
||||
state *res;
|
||||
size_t items_size = nitems * sizeof *core;
|
||||
|
||||
assert (nstates < STATE_NUMBER_MAXIMUM);
|
||||
aver (nstates < STATE_NUMBER_MAXIMUM);
|
||||
|
||||
res = xmalloc (offsetof (state, items) + items_size);
|
||||
res->number = nstates++;
|
||||
@@ -176,7 +176,7 @@ state_free (state *s)
|
||||
void
|
||||
state_transitions_set (state *s, int num, state **trans)
|
||||
{
|
||||
assert (!s->transitions);
|
||||
aver (!s->transitions);
|
||||
s->transitions = transitions_new (num, trans);
|
||||
}
|
||||
|
||||
@@ -188,7 +188,7 @@ state_transitions_set (state *s, int num, state **trans)
|
||||
void
|
||||
state_reductions_set (state *s, int num, rule **reds)
|
||||
{
|
||||
assert (!s->reductions);
|
||||
aver (!s->reductions);
|
||||
s->reductions = reductions_new (num, reds);
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ state_reduction_find (state *s, rule *r)
|
||||
void
|
||||
state_errs_set (state *s, int num, symbol **tokens)
|
||||
{
|
||||
assert (!s->errs);
|
||||
aver (!s->errs);
|
||||
s->errs = errs_new (num, tokens);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user