Message ID | 20211014071417.205211-1-aldyh@redhat.com |
---|---|
State | New |
Headers | show |
Series | Add debug helpers for auto_bitmap. | expand |
Aldy Hernandez via Gcc-patches <gcc-patches@gcc.gnu.org> writes: > Using debug() on an auto_bitmap from gdb doesn't work because the > implicit conversion from auto_bitmap to bitmap_head doesn't work > from within a debugging session. This patch adds the convenience > functions for auto_bitmap. > > OK? OK, thanks. Richard > --- > gcc/bitmap.c | 12 ++++++++++++ > gcc/bitmap.h | 3 +++ > 2 files changed, 15 insertions(+) > > diff --git a/gcc/bitmap.c b/gcc/bitmap.c > index b915fdfbb54..98c6d0b9e05 100644 > --- a/gcc/bitmap.c > +++ b/gcc/bitmap.c > @@ -2830,6 +2830,18 @@ debug (const bitmap_head *ptr) > fprintf (stderr, "<nil>\n"); > } > > +DEBUG_FUNCTION void > +debug (const auto_bitmap &ref) > +{ > + debug ((const bitmap_head &) ref); > +} > + > +DEBUG_FUNCTION void > +debug (const auto_bitmap *ptr) > +{ > + debug ((const bitmap_head *) ptr); > +} > + > void > bitmap_head::dump () > { > diff --git a/gcc/bitmap.h b/gcc/bitmap.h > index 0846f79665d..1bddcdbfaee 100644 > --- a/gcc/bitmap.h > +++ b/gcc/bitmap.h > @@ -964,6 +964,9 @@ class auto_bitmap > bitmap_head m_bits; > }; > > +extern void debug (const auto_bitmap &ref); > +extern void debug (const auto_bitmap *ptr); > + > /* Base class for bitmap_view; see there for details. */ > template<typename T, typename Traits = array_traits<T> > > class base_bitmap_view
diff --git a/gcc/bitmap.c b/gcc/bitmap.c index b915fdfbb54..98c6d0b9e05 100644 --- a/gcc/bitmap.c +++ b/gcc/bitmap.c @@ -2830,6 +2830,18 @@ debug (const bitmap_head *ptr) fprintf (stderr, "<nil>\n"); } +DEBUG_FUNCTION void +debug (const auto_bitmap &ref) +{ + debug ((const bitmap_head &) ref); +} + +DEBUG_FUNCTION void +debug (const auto_bitmap *ptr) +{ + debug ((const bitmap_head *) ptr); +} + void bitmap_head::dump () { diff --git a/gcc/bitmap.h b/gcc/bitmap.h index 0846f79665d..1bddcdbfaee 100644 --- a/gcc/bitmap.h +++ b/gcc/bitmap.h @@ -964,6 +964,9 @@ class auto_bitmap bitmap_head m_bits; }; +extern void debug (const auto_bitmap &ref); +extern void debug (const auto_bitmap *ptr); + /* Base class for bitmap_view; see there for details. */ template<typename T, typename Traits = array_traits<T> > class base_bitmap_view