* line-map.c (location_adhoc_data_update): Perform addition in
uintptr_t type rather than char * type. Read *data using
ptrdiff_t type instead of int64_t.
(get_combined_adhoc_loc): Change offset type to ptrdiff_t from
int64_t.
From-SVN: r249446
+2017-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ * line-map.c (location_adhoc_data_update): Perform addition in
+ uintptr_t type rather than char * type. Read *data using
+ ptrdiff_t type instead of int64_t.
+ (get_combined_adhoc_loc): Change offset type to ptrdiff_t from
+ int64_t.
+
2017-06-20 David Malcolm <dmalcolm@redhat.com>
* include/line-map.h (class rich_location): Document that attempts
static int
location_adhoc_data_update (void **slot, void *data)
{
- *((char **) slot) += *((int64_t *) data);
+ *((char **) slot)
+ = (char *) ((uintptr_t) *((char **) slot) + *((ptrdiff_t *) data));
return 1;
}
set->location_adhoc_data_map.allocated)
{
char *orig_data = (char *) set->location_adhoc_data_map.data;
- int64_t offset;
+ ptrdiff_t offset;
/* Cast away extern "C" from the type of xrealloc. */
line_map_realloc reallocator = (set->reallocator
? set->reallocator