]> git.saurik.com Git - bison.git/commitdiff
Fix `%nonassoc and eof'.
authorAkim Demaille <akim@epita.fr>
Sun, 27 Jan 2002 13:57:17 +0000 (13:57 +0000)
committerAkim Demaille <akim@epita.fr>
Sun, 27 Jan 2002 13:57:17 +0000 (13:57 +0000)
* src/state.c (errs_dup): Aaaah!  The failure was due to bytes
which were not properly copied!  Replace
memcpy (res->errs, src->errs, src->nerrs);
with
memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
!!!
* tests/regression.at (%nonassoc and eof): Adjust to newest
Autotest: `.' is not in the PATH.

ChangeLog
src/LR0.c
src/state.c
tests/regression.at

index e9876f3d04e9c085a319c9f8770f3fa5d7bc7d5a..06216c55bc79eea1418241bca63895c66d920a8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2002-01-27  Akim Demaille  <akim@epita.fr>
+
+       Fix `%nonassoc and eof'.
+
+       * src/state.c (errs_dup): Aaaah!  The failure was due to bytes
+       which were not properly copied!  Replace
+       memcpy (res->errs, src->errs, src->nerrs);
+       with
+       memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
+       !!!
+       * tests/regression.at (%nonassoc and eof): Adjust to newest
+       Autotest: `.' is not in the PATH.
+
 2002-01-27  Akim Demaille  <akim@epita.fr>
 
        * tests/sets.at (AT_EXTRACT_SETS): New.
index e914c6ef13be4f205100bc6184d0b350d6d4ca51..6a911f240f47fe0bc569729854dd6c9e820aa4dc 100644 (file)
--- a/src/LR0.c
+++ b/src/LR0.c
@@ -364,9 +364,9 @@ save_reductions (void)
 }
 
 \f
-/*--------------------.
+/*---------------.
 | Build STATES.  |
-`--------------------*/
+`---------------*/
 
 static void
 set_states (void)
index a1e83f383d1ad603dc2cc6f7bb36c6276f1d4a34..b8c647e823f8f16d915cf31d4d88dc2e299c4aac 100644 (file)
@@ -61,7 +61,7 @@ errs *
 errs_dup (errs *src)
 {
   errs *res = errs_new (src->nerrs);
-  memcpy (res->errs, src->errs, src->nerrs);
+  memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
   return res;
 }
 
index 4a17ffa66b6cab4222bc933f2fb93eaf28930657..ebe240c04fab4ee7e3b5df6f081e897caff6a29b 100644 (file)
@@ -75,20 +75,20 @@ main (int argc, const char *argv[])
 AT_CHECK([bison input.y -o input.c])
 AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore])
 
-AT_CHECK([input '0<0'])
+AT_CHECK([./input '0<0'])
 # FIXME: This is an actual bug, but a new one, in the sense that
 # no one has ever spotted it!  The messages are *wrong*: there should
 # be nothing there, it should be expected eof.
-AT_CHECK([input '0<0<0'], [1], [],
+AT_CHECK([./input '0<0<0'], [1], [],
          [parse error, unexpected '<', expecting '<' or '>'
 ])
 
-AT_CHECK([input '0>0'])
-AT_CHECK([input '0>0>0'], [1], [],
+AT_CHECK([./input '0>0'])
+AT_CHECK([./input '0>0>0'], [1], [],
          [parse error, unexpected '>', expecting '<' or '>'
 ])
 
-AT_CHECK([input '0<0>0'], [1], [],
+AT_CHECK([./input '0<0>0'], [1], [],
          [parse error, unexpected '>', expecting '<' or '>'
 ])