https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124553

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm.  The following does not help.  Maybe I'm misunderstanding sth.

diff --git a/gcc/vec.h b/gcc/vec.h
index 0d4cffd0c3a..948c6d1fcb3 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -290,7 +290,7 @@ struct va_heap
                       CXX_MEM_STAT_INFO);

   template<typename T>
-  static void release (vec<T, va_heap, vl_embed> *&);
+  static void release (vec<T, va_heap, vl_embed> *& CXX_MEM_STAT_INFO);
 };


@@ -311,7 +311,7 @@ va_heap::reserve (vec<T, va_heap, vl_embed> *&v, unsigned
reserve, bool exact

   if (GATHER_STATISTICS && v)
     v->m_vecpfx.release_overhead (v, elt_size * v->allocated (),
-                                 v->allocated (), false);
+                                 v->allocated (), false PASS_MEM_STAT);

   size_t size = vec<T, va_heap, vl_embed>::embedded_size (alloc);
   unsigned nelem = v ? v->length () : 0;
@@ -332,7 +332,7 @@ va_heap::reserve (vec<T, va_heap, vl_embed> *&v, unsigned
reserve, bool exact

 template<typename T>
 void
-va_heap::release (vec<T, va_heap, vl_embed> *&v)
+va_heap::release (vec<T, va_heap, vl_embed> *&v MEM_STAT_DECL)
 {
   size_t elt_size = sizeof (T);
   if (v == NULL)
@@ -343,7 +343,7 @@ va_heap::release (vec<T, va_heap, vl_embed> *&v)

   if (GATHER_STATISTICS)
     v->m_vecpfx.release_overhead (v, elt_size * v->allocated (),
-                                 v->allocated (), true);
+                                 v->allocated (), true PASS_MEM_STAT);
   ::free (v);
   v = NULL;
 }

Reply via email to