diff --git a/ChangeLog b/ChangeLog index 51db4e6d..e6847a1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-11-27 Paul Eggert + + * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to + use alloca when we didn't want to, and vice versa. + 2001-11-27 Akim Demaille * tests/torture.at (Exploding the Stack Size with Malloc): diff --git a/src/bison.simple b/src/bison.simple index 98fa0c4b..fa23877f 100644 --- a/src/bison.simple +++ b/src/bison.simple @@ -80,6 +80,14 @@ If WHAT was malloc'ed (not the original automatic ARRAY), free it. */ #if YYSTACK_USE_ALLOCA # define YYSTACK_REALLOC(Type, What, Array) \ +do { \ + Type *old = What; \ + What = (Type *) alloca (yystacksize * sizeof (Type)); \ + __yy_memcpy ((char *) What, (char *) old, \ + (size) * (unsigned int) sizeof (Type)); \ +} while (0) +#else +# define YYSTACK_REALLOC(Type, What, Array) \ do { \ Type *old = What; \ What = (Type *) malloc (yystacksize * sizeof (Type)); \ @@ -89,14 +97,6 @@ do { \ if (old != Array) \ free (old); \ } while (0) -#else -# define YYSTACK_REALLOC(Type, What, Array) \ -do { \ - Type *old = What; \ - What = (Type *) alloca (yystacksize * sizeof (Type)); \ - __yy_memcpy ((char *) What, (char *) old, \ - (size) * (unsigned int) sizeof (Type)); \ -} while (0) #endif #define yyerrok (yyerrstatus = 0)