diff options
Diffstat (limited to 'gcc/tree-object-size.c')
-rw-r--r-- | gcc/tree-object-size.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c index 1596b7d..3c606b0 100644 --- a/gcc/tree-object-size.c +++ b/gcc/tree-object-size.c @@ -154,7 +154,7 @@ compute_object_offset (const_tree expr, const_tree var) case MEM_REF: gcc_assert (TREE_CODE (TREE_OPERAND (expr, 0)) == ADDR_EXPR); - return double_int_to_tree (sizetype, mem_ref_offset (expr)); + return wide_int_to_tree (sizetype, mem_ref_offset (expr)); default: return error_mark_node; @@ -204,10 +204,10 @@ addr_object_size (struct object_size_info *osi, const_tree ptr, } if (sz != unknown[object_size_type]) { - double_int dsz = double_int::from_uhwi (sz) - mem_ref_offset (pt_var); - if (dsz.is_negative ()) + offset_int dsz = wi::sub (sz, mem_ref_offset (pt_var)); + if (wi::neg_p (dsz)) sz = 0; - else if (dsz.fits_uhwi ()) + else if (wi::fits_uhwi_p (dsz)) sz = dsz.to_uhwi (); else sz = unknown[object_size_type]; |