* src/tables.c (tables_generate): Use free for pointers that
authorAkim Demaille <akim@epita.fr>
Tue, 12 Nov 2002 08:30:47 +0000 (08:30 +0000)
committerAkim Demaille <akim@epita.fr>
Tue, 12 Nov 2002 08:30:47 +0000 (08:30 +0000)
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.

ChangeLog
src/lalr.c
src/location.h
src/reader.c
src/state.c
src/tables.c

index 112d663..f52edb8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 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):
        Restore.
        * src/scan-gram.l (last_string): Is global to the file, not to
index 2c0c942..8fb3c29 100644 (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)]++;
        }
index d259334..5a2d64a 100644 (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_ */
index 9f83a93..5c65d02 100644 (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);
index b258cee..846bdae 100644 (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;
index 84afd1c..17883e1 100644 (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]);
     }