aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-02-01 15:41:19 +0100
committerRichard Biener <rguenther@suse.de>2021-02-01 16:51:29 +0100
commitd7bd009ab00412eaa60719d38b947d3df5c69b02 (patch)
tree6f1c3dd7c7661c3767aa81633b306beaa6389ee7 /gcc
parentc2f8e378d64f65645e5f9c41a8221ca102c71208 (diff)
Fix statistic accounting for auto_vec and auto_bitmap
This fixes accounting issues with using auto_vec and auto_bitmap for -fmem-report. 2021-02-01 Richard Biener <rguenther@suse.de> * vec.h (auto_vec::auto_vec): Add memory stat parameters and pass them on. * bitmap.h (auto_bitmap::auto_bitmap): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/bitmap.h6
-rw-r--r--gcc/vec.h6
2 files changed, 7 insertions, 5 deletions
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index f9d6f4a39db..84632af7009 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -939,8 +939,10 @@ bmp_iter_and_compl (bitmap_iterator *bi, unsigned *bit_no)
class auto_bitmap
{
public:
- auto_bitmap () { bitmap_initialize (&m_bits, &bitmap_default_obstack); }
- explicit auto_bitmap (bitmap_obstack *o) { bitmap_initialize (&m_bits, o); }
+ auto_bitmap (ALONE_CXX_MEM_STAT_INFO)
+ { bitmap_initialize (&m_bits, &bitmap_default_obstack PASS_MEM_STAT); }
+ explicit auto_bitmap (bitmap_obstack *o CXX_MEM_STAT_INFO)
+ { bitmap_initialize (&m_bits, o PASS_MEM_STAT); }
~auto_bitmap () { bitmap_clear (&m_bits); }
// Allow calling bitmap functions on our bitmap.
operator bitmap () { return &m_bits; }
diff --git a/gcc/vec.h b/gcc/vec.h
index bc32299779e..24df2db0eeb 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -1519,11 +1519,11 @@ public:
this->m_vec = &m_auto;
}
- auto_vec (size_t s)
+ auto_vec (size_t s CXX_MEM_STAT_INFO)
{
if (s > N)
{
- this->create (s);
+ this->create (s PASS_MEM_STAT);
return;
}
@@ -1548,7 +1548,7 @@ class auto_vec<T, 0> : public vec<T, va_heap>
{
public:
auto_vec () { this->m_vec = NULL; }
- auto_vec (size_t n) { this->create (n); }
+ auto_vec (size_t n CXX_MEM_STAT_INFO) { this->create (n PASS_MEM_STAT); }
~auto_vec () { this->release (); }
auto_vec (vec<T, va_heap>&& r)