* src/tables.c (tables_generate): Use free for pointers that

cannot be NULL, not XFREE.
(pack_vector): Use assert, not fatal, for bound violations.
* src/state.c (state_new): Likewise.
* src/reader.c (reader): Likewise.
* src/lalr.c (set_goto_map): Likewise.
* src/location.h (LOCATION_PRINT): If first_line is 0, just issue
the file name.
This commit is contained in:
Akim Demaille
2002-11-12 08:30:47 +00:00
parent 7ec2d4cd39
commit b1ae9233bc
6 changed files with 34 additions and 27 deletions

View File

@@ -1,3 +1,14 @@
2002-11-12 Akim Demaille <akim@epita.fr>
* src/tables.c (tables_generate): Use free for pointers that
cannot be NULL, not XFREE.
(pack_vector): Use assert, not fatal, for bound violations.
* src/state.c (state_new): Likewise.
* src/reader.c (reader): Likewise.
* src/lalr.c (set_goto_map): Likewise.
* src/location.h (LOCATION_PRINT): If first_line is 0, just issue
the file name.
2002-11-12 Akim Demaille <akim@epita.fr>
* src/scan-gram.l, src/reader.h (scanner_last_string_free):

View File

@@ -87,9 +87,7 @@ set_goto_map (void)
int i;
for (i = sp->num - 1; i >= 0 && TRANSITION_IS_GOTO (sp, i); --i)
{
if (ngotos == GOTO_NUMBER_MAX)
fatal (_("too many gotos (max %d)"), GOTO_NUMBER_MAX);
assert (ngotos < GOTO_NUMBER_MAX);
ngotos++;
goto_map[TRANSITION_SYMBOL (sp, i)]++;
}

View File

@@ -53,20 +53,23 @@ do { \
Warning: it uses quotearg's slot 3. */
# define LOCATION_PRINT(Out, Loc) \
do { \
fprintf (stderr, "%s:", quotearg_n_style (3, escape_quoting_style, \
fprintf (stderr, "%s:", quotearg_n_style (3, escape_quoting_style, \
(Loc).file)); \
if ((Loc).first_line != (Loc).last_line) \
fprintf (Out, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column - 1); \
else if ((Loc).first_column < (Loc).last_column - 1) \
fprintf (Out, "%d.%d-%d", (Loc).first_line, \
(Loc).first_column, (Loc).last_column - 1); \
else \
fprintf (Out, "%d.%d", (Loc).first_line, (Loc).first_column); \
if ((Loc).first_line) \
{ \
if ((Loc).first_line != (Loc).last_line) \
fprintf (Out, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column - 1); \
else if ((Loc).first_column < (Loc).last_column - 1) \
fprintf (Out, "%d.%d-%d", (Loc).first_line, \
(Loc).first_column, (Loc).last_column - 1); \
else \
fprintf (Out, "%d.%d", (Loc).first_line, (Loc).first_column); \
} \
} while (0)
extern location_t empty_location;
#endif /* !LOCATION_H_ */

View File

@@ -539,10 +539,7 @@ reader (void)
grammar = p;
}
if (SYMBOL_NUMBER_MAX < nsyms)
fatal (_("too many symbols (tokens plus nonterminals); maximum %d"),
SYMBOL_NUMBER_MAX);
assert (nsyms <= SYMBOL_NUMBER_MAX);
assert (nsyms == ntokens + nvars);
xfclose (finput);

View File

@@ -141,8 +141,7 @@ state_new (symbol_number_t accessing_symbol,
{
state_t *res;
if (nstates >= STATE_NUMBER_MAX)
fatal (_("too many states (max %d)"), STATE_NUMBER_MAX);
assert (nstates < STATE_NUMBER_MAX);
res = STATE_ALLOC (core_size);
res->accessing_symbol = accessing_symbol;

View File

@@ -692,8 +692,7 @@ pack_vector (vector_number_t vector)
if (loc > high)
high = loc;
if (j < BASE_MIN || BASE_MAX < j)
fatal ("base_t too small to hold %d\n", j);
assert (BASE_MIN <= j && j <= BASE_MAX);
return j;
}
}
@@ -802,9 +801,9 @@ tables_generate (void)
token_actions ();
goto_actions ();
XFREE (goto_map + ntokens);
XFREE (from_state);
XFREE (to_state);
free (goto_map + ntokens);
free (from_state);
free (to_state);
order = XCALLOC (vector_number_t, nvectors);
sort_actions ();
@@ -816,8 +815,8 @@ tables_generate (void)
for (i = 0; i < nvectors; i++)
{
XFREE (froms[i]);
XFREE (tos[i]);
free (froms[i]);
free (tos[i]);
XFREE (conflict_tos[i]);
}