diff options
Diffstat (limited to 'gcc/gimple-fold.cc')
-rw-r--r-- | gcc/gimple-fold.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/gimple-fold.cc b/gcc/gimple-fold.cc index 04d9fac..853edd9 100644 --- a/gcc/gimple-fold.cc +++ b/gcc/gimple-fold.cc @@ -876,10 +876,8 @@ size_must_be_zero_p (tree size) wide_int zero = wi::zero (TYPE_PRECISION (type)); value_range valid_range (type, zero, ssize_max); value_range vr; - if (cfun) - get_range_query (cfun)->range_of_expr (vr, size); - else - get_global_range_query ()->range_of_expr (vr, size); + get_range_query (cfun)->range_of_expr (vr, size); + if (vr.undefined_p ()) vr.set_varying (TREE_TYPE (size)); vr.intersect (valid_range); @@ -7857,7 +7855,7 @@ gimple_fold_stmt_to_constant (gimple *stmt, tree (*valueize) (tree)) is not explicitly available, but it is known to be zero such as 'static const int a;'. */ static tree -get_base_constructor (tree base, poly_int64_pod *bit_offset, +get_base_constructor (tree base, poly_int64 *bit_offset, tree (*valueize)(tree)) { poly_int64 bit_offset2, size, max_size; |