diff options
Diffstat (limited to 'gcc/tree-object-size.c')
-rw-r--r-- | gcc/tree-object-size.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c index fcf9316..9a537f1 100644 --- a/gcc/tree-object-size.c +++ b/gcc/tree-object-size.c @@ -192,12 +192,11 @@ addr_object_size (struct object_size_info *osi, const_tree ptr, } if (sz != unknown[object_size_type]) { - double_int dsz = double_int_sub (uhwi_to_double_int (sz), - mem_ref_offset (pt_var)); - if (double_int_negative_p (dsz)) + double_int dsz = double_int::from_uhwi (sz) - mem_ref_offset (pt_var); + if (dsz.is_negative ()) sz = 0; - else if (double_int_fits_in_uhwi_p (dsz)) - sz = double_int_to_uhwi (dsz); + else if (dsz.fits_uhwi ()) + sz = dsz.to_uhwi (); else sz = unknown[object_size_type]; } |