/[bison]/bison/data/bison.simple
ViewVC logotype

Diff of /bison/data/bison.simple

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by akim, Tue Mar 19 08:16:24 2002 UTC revision 1.6 by eggert, Wed Mar 20 07:28:52 2002 UTC
# Line 193  union yyalloc Line 193  union yyalloc
193       + YYSTACK_GAP_MAX)       + YYSTACK_GAP_MAX)
194  # endif  # endif
195    
196  /* Relocate the TYPE STACK from its old location to the new one.  The  /* Copy COUNT objects from FROM to TO.  The source and destination do
197       not overlap.  */
198    # ifndef YYCOPY
199    #  if 1 < __GNUC__
200    #   define YYCOPY(To, From, Count) \
201          __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
202    #  else
203    #   define YYCOPY(To, From, Count)              \
204          do                                        \
205            {                                       \
206              register YYSIZE_T yyi;                \
207              for (yyi = 0; yyi < (Count); yyi++)   \
208                (To)[yyi] = (From)[yyi];            \
209            }                                       \
210          while (0)
211    #  endif
212    # endif
213    
214    /* Relocate STACK from its old location to the new one.  The
215     local variables YYSIZE and YYSTACKSIZE give the old and new number of     local variables YYSIZE and YYSTACKSIZE give the old and new number of
216     elements in the stack, and YYPTR gives the new location of the     elements in the stack, and YYPTR gives the new location of the
217     stack.  Advance YYPTR to a properly aligned location for the next     stack.  Advance YYPTR to a properly aligned location for the next
218     stack.  */     stack.  */
219  # define YYSTACK_RELOCATE(Type, Stack)                                  \  # define YYSTACK_RELOCATE(Stack)                                        \
220      do                                                                  \      do                                                                  \
221        {                                                                 \        {                                                                 \
222          YYSIZE_T yynewbytes;                                            \          YYSIZE_T yynewbytes;                                            \
223          yymemcpy ((char *) yyptr, (char *) (Stack),                     \          YYCOPY (&yyptr->Stack, Stack, yysize);                          \
                   yysize * (YYSIZE_T) sizeof (Type));                   \  
224          Stack = &yyptr->Stack;                                          \          Stack = &yyptr->Stack;                                          \
225          yynewbytes = yystacksize * sizeof (Type) + YYSTACK_GAP_MAX;     \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
226          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
227        }                                                                 \        }                                                                 \
228      while (0)      while (0)
# Line 456  int yydebug; Line 473  int yydebug;
473    
474    
475    
 #if ! defined (yyoverflow) && ! defined (yymemcpy)  
 # if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */  
 #  define yymemcpy __builtin_memcpy  
 # else                          /* not GNU C or C++ */  
   
 /* This is the most reliable way to avoid incompatibilities  
    in available built-in functions on various systems.  */  
 static void  
 #  if defined (__STDC__) || defined (__cplusplus)  
 yymemcpy (char *yyto, const char *yyfrom, YYSIZE_T yycount)  
 #  else  
 yymemcpy (yyto, yyfrom, yycount)  
      char *yyto;  
      const char *yyfrom;  
      YYSIZE_T yycount;  
 #  endif  
 {  
   register const char *yyf = yyfrom;  
   register char *yyt = yyto;  
   register YYSIZE_T yyi = yycount;  
   
   while (yyi-- != 0)  
     *yyt++ = *yyf++;  
 }  
 # endif  
 #endif  
   
476  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
477    
478  # ifndef yystrlen  # ifndef yystrlen
# Line 736  yyparse (YYPARSE_PARAM_ARG) Line 726  yyparse (YYPARSE_PARAM_ARG)
726            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
727          if (! yyptr)          if (! yyptr)
728            goto yyoverflowlab;            goto yyoverflowlab;
729          YYSTACK_RELOCATE (short, yyss);          YYSTACK_RELOCATE (yyss);
730          YYSTACK_RELOCATE (YYSTYPE, yyvs);          YYSTACK_RELOCATE (yyvs);
731  # if YYLSP_NEEDED  # if YYLSP_NEEDED
732          YYSTACK_RELOCATE (YYLTYPE, yyls);          YYSTACK_RELOCATE (yyls);
733  # endif  # endif
734  # undef YYSTACK_RELOCATE  # undef YYSTACK_RELOCATE
735          if (yyss1 != yyssa)          if (yyss1 != yyssa)

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26