]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Promote verify_range to vrange.
authorAndrew MacLeod <amacleod@redhat.com>
Fri, 20 Jun 2025 01:19:27 +0000 (21:19 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Wed, 25 Jun 2025 14:24:52 +0000 (10:24 -0400)
most range classes had a verufy_range, but it was all private. Make it a
supported routine from vrange.

* value-range.cc (frange::verify_range): Constify.
(irange::verify_range): Constify.
* value-range.h (vrange::verify_range): New.
(irange::verify_range): Make public.
(prange::verify_range): Make public.
(prange::verify_range): Make public.
(value_range::verify_range): New.

gcc/value-range.cc
gcc/value-range.h

index 85c1e26287e98cc46d4e58f10d08becdcf66bd8f..dc6909e77c54b4d3aa184a82851f98889203433a 100644 (file)
@@ -1205,7 +1205,7 @@ frange::supports_type_p (const_tree type) const
 }
 
 void
-frange::verify_range ()
+frange::verify_range () const
 {
   if (!undefined_p ())
     gcc_checking_assert (HONOR_NANS (m_type) || !maybe_isnan ());
@@ -1515,7 +1515,7 @@ irange::set (tree min, tree max, value_range_kind kind)
 // Check the validity of the range.
 
 void
-irange::verify_range ()
+irange::verify_range () const
 {
   gcc_checking_assert (m_discriminator == VR_IRANGE);
   if (m_kind == VR_UNDEFINED)
index c32c5076b63af1362f290c67fede1c3bc05ba2f5..5c358f3c70cdfa2b5eefbe1cf97f1eae2452d8ba 100644 (file)
@@ -111,6 +111,7 @@ public:
   bool operator== (const vrange &) const;
   bool operator!= (const vrange &r) const { return !(*this == r); }
   void dump (FILE *) const;
+  virtual void verify_range () const { }
 protected:
   vrange (enum value_range_discriminator d) : m_discriminator (d) { }
   ENUM_BITFIELD(value_range_kind) m_kind : 8;
@@ -323,6 +324,7 @@ public:
   virtual void update_bitmask (const class irange_bitmask &) override;
   virtual irange_bitmask get_bitmask () const override;
 
+  virtual void verify_range () const;
 protected:
   void maybe_resize (int needed);
   virtual void set (tree, tree, value_range_kind = VR_RANGE) override;
@@ -335,7 +337,6 @@ protected:
 
   void normalize_kind ();
 
-  void verify_range ();
 
   // Hard limit on max ranges allowed.
   static const int HARD_MAX_RANGES = 255;
@@ -421,7 +422,7 @@ public:
   bool contains_p (const wide_int &) const;
   wide_int lower_bound () const;
   wide_int upper_bound () const;
-  void verify_range () const;
+  virtual void verify_range () const;
   irange_bitmask get_bitmask () const final override;
   void update_bitmask (const irange_bitmask &) final override;
 protected:
@@ -593,14 +594,13 @@ public:
   bool nan_signbit_p (bool &signbit) const;
   bool known_isnormal () const;
   bool known_isdenormal_or_zero () const;
-
+  virtual void verify_range () const;
 protected:
   virtual bool contains_p (tree cst) const override;
   virtual void set (tree, tree, value_range_kind = VR_RANGE) override;
 
 private:
   bool internal_singleton_p (REAL_VALUE_TYPE * = NULL) const;
-  void verify_range ();
   bool normalize_kind ();
   bool union_nans (const frange &);
   bool intersect_nans (const frange &);
@@ -798,6 +798,7 @@ public:
   void update_bitmask (const class irange_bitmask &bm)
   { return m_vrange->update_bitmask (bm); }
   void accept (const vrange_visitor &v) const { m_vrange->accept (v); }
+  void verify_range () const { m_vrange->verify_range (); }
 private:
   void init (tree type);
   void init (const vrange &);