With the upcoming [[assume]] work, Andrew has pointed out that
non-irange ranges are not handled in get_range_global for
SSA_NAME_IS_DEFAULT_DEF.  This patch fixes the oversight.

        PR c++/106654

gcc/ChangeLog:

        * value-query.cc (get_range_global): Handle non integer ranges for
        default def SSA names.
---
 gcc/value-query.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/value-query.cc b/gcc/value-query.cc
index 296784be31d..e8988ed67e0 100644
--- a/gcc/value-query.cc
+++ b/gcc/value-query.cc
@@ -343,7 +343,7 @@ get_range_global (vrange &r, tree name)
              && ((cfun && nonnull_arg_p (sym))
                  || get_ssa_name_ptr_info_nonnull (name)))
            r.set_nonzero (type);
-         else if (INTEGRAL_TYPE_P (type))
+         else if (!POINTER_TYPE_P (type))
            {
              get_ssa_name_range_info (r, name);
              if (r.undefined_p ())
-- 
2.37.3

Reply via email to