It seems that tokens_buff_new() has always been allocating the virtual
location buffer 4 times larger than intended, and now that location_t is
64-bit, it is 8 times larger. Fixed.
libcpp/ChangeLog:
* macro.cc (tokens_buff_new): Fix length argument to XNEWVEC.
location_t **virt_locs)
{
size_t tokens_size = len * sizeof (cpp_token *);
- size_t locs_size = len * sizeof (location_t);
-
if (virt_locs != NULL)
- *virt_locs = XNEWVEC (location_t, locs_size);
+ *virt_locs = XNEWVEC (location_t, len);
return _cpp_get_buff (pfile, tokens_size);
}