- if (host_integerp (TREE_OPERAND (pt_var, 1), 0))
- sz -= TREE_INT_CST_LOW (TREE_OPERAND (pt_var, 1));
+ }
+ 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))
+ sz = 0;
+ else if (double_int_fits_in_uhwi_p (dsz))
+ sz = double_int_to_uhwi (dsz);