From 2922d2b195c2fa640c00c7b9b0bd47b78420dfb6 Mon Sep 17 00:00:00 2001
From: "nicolas.marie" <nicolas.marie@ensiie.eu>
Date: Sun, 5 Nov 2023 22:19:47 +0100
Subject: [PATCH] remove log file

---
 log | 1397 -----------------------------------------------------------
 1 file changed, 1397 deletions(-)
 delete mode 100644 log

diff --git a/log b/log
deleted file mode 100644
index 35fc2e8..0000000
--- a/log
+++ /dev/null
@@ -1,1397 +0,0 @@
-In file included from ./include/mpi_collective.hpp:5,
-                 from src/mpi_collective_graph_utils.cpp:3:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:31:8: error: ‘size_t’ does not name a type
-   31 | extern size_t ggc_round_alloc_size (size_t requested_size);
-      |        ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1:1: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-  +++ |+#include <cstddef>
-    1 | /* Vector API for GNU compiler.
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:32:35: error: ‘size_t’ has not been declared
-   32 | extern void *ggc_realloc (void *, size_t MEM_STAT_DECL);
-      |                                   ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:186:8: error: ‘htab_t’ does not name a type
-  186 | extern htab_t vec_mem_usage_hash;
-      |        ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:197:35: error: ‘size_t’ has not been declared
-  197 |   void register_overhead (void *, size_t, size_t CXX_MEM_STAT_INFO);
-      |                                   ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:197:43: error: ‘size_t’ has not been declared
-  197 |   void register_overhead (void *, size_t, size_t CXX_MEM_STAT_INFO);
-      |                                           ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:198:34: error: ‘size_t’ has not been declared
-  198 |   void release_overhead (void *, size_t, size_t, bool CXX_MEM_STAT_INFO);
-      |                                  ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:198:42: error: ‘size_t’ has not been declared
-  198 |   void release_overhead (void *, size_t, size_t, bool CXX_MEM_STAT_INFO);
-      |                                          ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In static member function ‘static unsigned int vec_prefix::calculate_allocation(vec_prefix*, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:231:12: error: ‘MAX’ was not declared in this scope
-  231 |     return MAX (4, reserve);
-      |            ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:231:12: note: the macro ‘MAX’ had not yet been defined
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:28,
-                 from ./include/mpi_collective.hpp:8:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/system.h:396: note: it was later defined here
-  396 | #define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:277:19: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
-  277 |                   MEM_STAT_DECL)
-      |                   ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In static member function ‘static void va_heap::reserve(vec<T, va_heap, vl_embed>*&, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:279:3: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?
-  279 |   size_t elt_size = sizeof (T);
-      |   ^~~~~~
-      |   std::size_t
-In file included from /usr/include/c++/12/bits/stl_algobase.h:59,
-                 from /usr/include/c++/12/list:60,
-                 from src/mpi_collective_graph_utils.cpp:1:
-/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:298:33: note: ‘std::size_t’ declared here
-  298 |   typedef __SIZE_TYPE__         size_t;
-      |                                 ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:282:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
-  282 |   gcc_checking_assert (alloc);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:282:3: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:284:7: error: ‘GATHER_STATISTICS’ was not declared in this scope
-  284 |   if (GATHER_STATISTICS && v)
-      |       ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:284:7: note: the macro ‘GATHER_STATISTICS’ had not yet been defined
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/config.h:6,
-                 from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:27:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/auto-host.h:312: note: it was later defined here
-  312 | #define GATHER_STATISTICS 0
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:285:38: error: ‘elt_size’ was not declared in this scope
-  285 |     v->m_vecpfx.release_overhead (v, elt_size * v->allocated (),
-      |                                      ^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:288:9: error: expected ‘;’ before ‘size’
-  288 |   size_t size = vec<T, va_heap, vl_embed>::embedded_size (alloc);
-      |         ^~~~~
-      |         ;
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:290:63: error: ‘size’ was not declared in this scope; did you mean ‘std::size’?
-  290 |   v = static_cast <vec<T, va_heap, vl_embed> *> (xrealloc (v, size));
-      |                                                               ^~~~
-      |                                                               std::size
-In file included from /usr/include/c++/12/list:62:
-/usr/include/c++/12/bits/range_access.h:274:5: note: ‘std::size’ declared here
-  274 |     size(const _Tp (&)[_Nm]) noexcept
-      |     ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:293:7: error: ‘GATHER_STATISTICS’ was not declared in this scope
-  293 |   if (GATHER_STATISTICS)
-      |       ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:293:7: note: the macro ‘GATHER_STATISTICS’ had not yet been defined
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/auto-host.h:312: note: it was later defined here
-  312 | #define GATHER_STATISTICS 0
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:294:46: error: ‘elt_size’ was not declared in this scope
-  294 |     v->m_vecpfx.register_overhead (v, alloc, elt_size PASS_MEM_STAT);
-      |                                              ^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In static member function ‘static void va_heap::release(vec<T, va_heap, vl_embed>*&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:309:3: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?
-  309 |   size_t elt_size = sizeof (T);
-      |   ^~~~~~
-      |   std::size_t
-/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:298:33: note: ‘std::size_t’ declared here
-  298 |   typedef __SIZE_TYPE__         size_t;
-      |                                 ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:310:12: error: ‘NULL’ was not declared in this scope
-  310 |   if (v == NULL)
-      |            ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:310:12: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:313:7: error: ‘GATHER_STATISTICS’ was not declared in this scope
-  313 |   if (GATHER_STATISTICS)
-      |       ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:313:7: note: the macro ‘GATHER_STATISTICS’ had not yet been defined
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/auto-host.h:312: note: it was later defined here
-  312 | #define GATHER_STATISTICS 0
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:314:38: error: ‘elt_size’ was not declared in this scope
-  314 |     v->m_vecpfx.release_overhead (v, elt_size * v->allocated (),
-      |                                      ^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:316:5: error: ‘::free’ has not been declared
-  316 |   ::free (v);
-      |     ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1:1: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
-  +++ |+#include <cstdlib>
-    1 | /* Vector API for GNU compiler.
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:317:7: error: ‘NULL’ was not declared in this scope
-  317 |   v = NULL;
-      |       ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:317:7: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In static member function ‘static void va_gc::release(vec<T, A, vl_embed>*&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:352:7: error: ‘NULL’ was not declared in this scope
-  352 |   v = NULL;
-      |       ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:352:7: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:364:17: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
-  364 |                 MEM_STAT_DECL)
-      |                 ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In static member function ‘static void va_gc::reserve(vec<T, A, vl_embed>*&, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:371:11: error: ‘NULL’ was not declared in this scope
-  371 |       v = NULL;
-      |           ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:371:11: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:376:3: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?
-  376 |   size_t size = vec<T, A, vl_embed>::embedded_size (alloc);
-      |   ^~~~~~
-      |   std::size_t
-/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:298:33: note: ‘std::size_t’ declared here
-  298 |   typedef __SIZE_TYPE__         size_t;
-      |                                 ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:379:3: error: ‘size’ was not declared in this scope; did you mean ‘std::size’?
-  379 |   size = ::ggc_round_alloc_size (size);
-      |   ^~~~
-      |   std::size
-/usr/include/c++/12/bits/range_access.h:274:5: note: ‘std::size’ declared here
-  274 |     size(const _Tp (&)[_Nm]) noexcept
-      |     ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:379:12: error: ‘::ggc_round_alloc_size’ has not been declared
-  379 |   size = ::ggc_round_alloc_size (size);
-      |            ^~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:382:9: error: expected ‘;’ before ‘vec_offset’
-  382 |   size_t vec_offset = sizeof (vec_prefix);
-      |         ^~~~~~~~~~~
-      |         ;
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:383:9: error: expected ‘;’ before ‘elt_size’
-  383 |   size_t elt_size = sizeof (T);
-      |         ^~~~~~~~~
-      |         ;
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:384:19: error: ‘vec_offset’ was not declared in this scope
-  384 |   alloc = (size - vec_offset) / elt_size;
-      |                   ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:384:33: error: ‘elt_size’ was not declared in this scope
-  384 |   alloc = (size - vec_offset) / elt_size;
-      |                                 ^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:390:66: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  390 |   v = static_cast <vec<T, A, vl_embed> *> (::ggc_realloc (v, size
-      |                                                          ~       ^
-      |                                                                  )
-  391 |                                                                PASS_MEM_STAT));
-      |                                                                ~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:418:20: error: expected initializer before ‘vec’
-  418 | struct GTY((user)) vec
-      |                    ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:445:20: error: wrong number of template arguments (1, should be 3)
-  445 | debug_helper (vec<T> &ref)
-      |                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void debug_helper(int&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:448:23: error: request for member ‘length’ in ‘ref’, which is of non-class type ‘int’
-  448 |   for (i = 0; i < ref.length (); ++i)
-      |                       ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:450:16: error: ‘stderr’ was not declared in this scope
-  450 |       fprintf (stderr, "[%d] = ", i);
-      |                ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1:1: note: ‘stderr’ is defined in header ‘<cstdio>’; did you forget to ‘#include <cstdio>’?
-  +++ |+#include <cstdio>
-    1 | /* Vector API for GNU compiler.
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:450:7: error: there are no arguments to ‘fprintf’ that depend on a template parameter, so a declaration of ‘fprintf’ must be available [-fpermissive]
-  450 |       fprintf (stderr, "[%d] = ", i);
-      |       ^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:451:22: error: invalid types ‘int[unsigned int]’ for array subscript
-  451 |       debug_slim (ref[i]);
-      |                      ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:451:7: error: there are no arguments to ‘debug_slim’ that depend on a template parameter, so a declaration of ‘debug_slim’ must be available [-fpermissive]
-  451 |       debug_slim (ref[i]);
-      |       ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:452:7: error: there are no arguments to ‘fputc’ that depend on a template parameter, so a declaration of ‘fputc’ must be available [-fpermissive]
-  452 |       fputc ('\n', stderr);
-      |       ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:463:27: error: wrong number of template arguments (2, should be 3)
-  463 | debug_helper (vec<T, va_gc> &ref)
-      |                           ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:463:1: error: redefinition of ‘template<class T> void debug_helper(int&)’
-  463 | debug_helper (vec<T, va_gc> &ref)
-      | ^~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:445:1: note: ‘template<class T> void debug_helper(int&)’ previously declared here
-  445 | debug_helper (vec<T> &ref)
-      | ^~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:583:20: error: expected initializer before ‘vec’
-  583 | struct GTY((user)) vec<T, A, vl_embed>
-      |                    ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘T* vec_safe_address(vec<T, A, vl_embed>*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:676:30: error: ‘NULL’ was not declared in this scope
-  676 |   return v ? v->address () : NULL;
-      |                              ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:676:30: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:693:19: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  693 |                   CXX_MEM_STAT_INFO)
-      |                   ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘bool vec_safe_reserve(vec<T, A, vl_embed>*&, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:697:33: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  697 |     A::reserve (v, nelems, exact PASS_MEM_STAT);
-      |                ~                ^~~~~~~~~~~~~~
-      |                                 )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:704:25: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  704 |                         CXX_MEM_STAT_INFO)
-      |                         ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘bool vec_safe_reserve_exact(vec<T, A, vl_embed>*&, unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:706:43: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  706 |   return vec_safe_reserve (v, nelems, true PASS_MEM_STAT);
-      |                           ~               ^~~~~~~~~~~~~~
-      |                                           )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:715:53: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  715 | vec_alloc (vec<T, A, vl_embed> *&v, unsigned nelems CXX_MEM_STAT_INFO)
-      |                                                     ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_alloc(vec<T, A, vl_embed>*&, unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:717:7: error: ‘NULL’ was not declared in this scope
-  717 |   v = NULL;
-      |       ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:717:7: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:718:37: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  718 |   vec_safe_reserve (v, nelems, false PASS_MEM_STAT);
-      |                    ~                ^~~~~~~~~~~~~~
-      |                                     )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:736:35: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  736 |                bool exact = false CXX_MEM_STAT_INFO)
-      |                                   ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_safe_grow(vec<T, A, vl_embed>*&, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:739:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
-  739 |   gcc_checking_assert (len >= oldlen);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:740:43: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  740 |   vec_safe_reserve (v, len - oldlen, exact PASS_MEM_STAT);
-      |                    ~                      ^~~~~~~~~~~~~~
-      |                                           )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:749:43: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  749 |                        bool exact = false CXX_MEM_STAT_INFO)
-      |                                           ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_safe_grow_cleared(vec<T, A, vl_embed>*&, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:752:31: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  752 |   vec_safe_grow (v, len, exact PASS_MEM_STAT);
-      |                 ~             ^~~~~~~~~~~~~~
-      |                               )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:762:57: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  762 |                        unsigned len, bool exact = false CXX_MEM_STAT_INFO)
-      |                                                         ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_safe_grow_cleared(vec<T, va_heap, vl_ptr>*&, unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:764:35: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  764 |   v->safe_grow_cleared (len, exact PASS_MEM_STAT);
-      |                        ~          ^~~~~~~~~~~~~~
-      |                                   )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:773:19: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  773 |                   CXX_MEM_STAT_INFO)
-      |                   ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:811:54: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  811 | vec_safe_push (vec<T, A, vl_embed> *&v, const T &obj CXX_MEM_STAT_INFO)
-      |                                                      ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘T* vec_safe_push(vec<T, A, vl_embed>*&, const T&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:813:32: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  813 |   vec_safe_reserve (v, 1, false PASS_MEM_STAT);
-      |                    ~           ^~~~~~~~~~~~~~
-      |                                )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:823:18: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  823 |                  CXX_MEM_STAT_INFO)
-      |                  ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_safe_insert(vec<T, A, vl_embed>*&, unsigned int, const T&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:825:32: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  825 |   vec_safe_reserve (v, 1, false PASS_MEM_STAT);
-      |                    ~           ^~~~~~~~~~~~~~
-      |                                )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:843:41: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  843 | vec_safe_copy (vec<T, A, vl_embed> *src CXX_MEM_STAT_INFO)
-      |                                         ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘vec<T, A, vl_embed>* vec_safe_copy(vec<T, A, vl_embed>*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:845:27: error: ‘ALONE_PASS_MEM_STAT’ was not declared in this scope
-  845 |   return src ? src->copy (ALONE_PASS_MEM_STAT) : NULL;
-      |                           ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:845:27: note: the macro ‘ALONE_PASS_MEM_STAT’ had not yet been defined
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/hash-table.h:246,
-                 from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/coretypes.h:486,
-                 from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:29:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/statistics.h:49: note: it was later defined here
-   49 | #define ALONE_PASS_MEM_STAT
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:845:50: error: ‘NULL’ was not declared in this scope
-  845 |   return src ? src->copy (ALONE_PASS_MEM_STAT) : NULL;
-      |                                                  ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:845:50: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:853:18: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
-  853 |                  CXX_MEM_STAT_INFO)
-      |                  ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_safe_splice(vec<T, A, vl_embed>*&, const vec<T, A, vl_embed>*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:858:67: error: expected ‘)’ before ‘PASS_MEM_STAT’
-  858 |       vec_safe_reserve_exact (dst, vec_safe_length (dst) + src_len
-      |                              ~                                    ^
-      |                                                                   )
-  859 |                               PASS_MEM_STAT);
-      |                               ~~~~~~~~~~~~~                        
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:879:47: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  879 | vec<T, A, vl_embed>::operator[] (unsigned ix) const
-      |                                               ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:887:45: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  887 | vec<T, A, vl_embed>::operator[] (unsigned ix)
-      |                                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:898:32: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  898 | vec<T, A, vl_embed>::last (void)
-      |                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:913:46: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  913 | vec<T, A, vl_embed>::space (unsigned nelems) const
-      |                                              ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:928:52: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  928 | vec<T, A, vl_embed>::iterate (unsigned ix, T *ptr) const
-      |                                                    ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:954:53: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  954 | vec<T, A, vl_embed>::iterate (unsigned ix, T **ptr) const
-      |                                                     ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:973:47: error: template definition of non-template ‘vec<T, A, vl_embed>* vec<T, A, vl_embed>::copy’
-  973 | vec<T, A, vl_embed>::copy (ALONE_MEM_STAT_DECL) const
-      |                                               ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:973:28: error: ‘ALONE_MEM_STAT_DECL’ was not declared in this scope
-  973 | vec<T, A, vl_embed>::copy (ALONE_MEM_STAT_DECL) const
-      |                            ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:973:28: note: the macro ‘ALONE_MEM_STAT_DECL’ had not yet been defined
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/statistics.h:47: note: it was later defined here
-   47 | #define ALONE_MEM_STAT_DECL void
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:992:60: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
-  992 | vec<T, A, vl_embed>::splice (const vec<T, A, vl_embed> &src)
-      |                                                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1005:60: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1005 | vec<T, A, vl_embed>::splice (const vec<T, A, vl_embed> *src)
-      |                                                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1018:46: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1018 | vec<T, A, vl_embed>::quick_push (const T &obj)
-      |                                              ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1031:31: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1031 | vec<T, A, vl_embed>::pop (void)
-      |                               ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1043:45: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1043 | vec<T, A, vl_embed>::truncate (unsigned size)
-      |                                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1055:61: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1055 | vec<T, A, vl_embed>::quick_insert (unsigned ix, const T &obj)
-      |                                                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1071:49: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1071 | vec<T, A, vl_embed>::ordered_remove (unsigned ix)
-      |                                                 ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1118:51: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1118 | vec<T, A, vl_embed>::unordered_remove (unsigned ix)
-      |                                                   ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1130:61: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1130 | vec<T, A, vl_embed>::block_remove (unsigned ix, unsigned len)
-      |                                                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1144:68: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1144 | vec<T, A, vl_embed>::qsort (int (*cmp) (const void *, const void *))
-      |                                                                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1156:38: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1156 |                            void *data)
-      |                                      ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1168:65: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1168 |                                              void *), void *data)
-      |                                                                 ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1180:73: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1180 |                               int (*compar) (const void *, const void *))
-      |                                                                         ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1215:65: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1215 |                                              void *), void *data)
-      |                                                                 ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1248:49: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1248 | vec<T, A, vl_embed>::contains (const T &search) const
-      |                                                 ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1266:3: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1266 |   const
-      |   ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1303:8: error: ‘size_t’ does not name a type
- 1303 | inline size_t
-      |        ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1303:8: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1321:79: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1321 | vec<T, A, vl_embed>::embedded_init (unsigned alloc, unsigned num, unsigned aut)
-      |                                                                               ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1334:46: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1334 | vec<T, A, vl_embed>::quick_grow (unsigned len)
-      |                                              ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1346:54: error: invalid use of incomplete type ‘struct vec<T, A, vl_embed>’
- 1346 | vec<T, A, vl_embed>::quick_grow_cleared (unsigned len)
-      |                                                      ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<T, A, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1359:24: error: wrong number of template arguments (2, should be 3)
- 1359 | gt_ggc_mx (vec<T, va_gc> *v)
-      |                        ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void gt_ggc_mx(int*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1362:31: error: request for member ‘length’ in ‘v->’, which is of non-class type ‘int’
- 1362 |   for (unsigned i = 0; i < v->length (); i++)
-      |                               ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1363:20: error: invalid types ‘int[unsigned int]’ for array subscript
- 1363 |     gt_ggc_mx ((*v)[i]);
-      |                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1368:46: error: expected ‘,’ or ‘...’ before ‘ATTRIBUTE_UNUSED’
- 1368 | gt_ggc_mx (vec<T, va_gc_atomic, vl_embed> *v ATTRIBUTE_UNUSED)
-      |                                              ^~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1388:38: error: ‘gt_pointer_operator’ has not been declared
- 1388 | gt_pch_nx (vec<T *, A, vl_embed> *v, gt_pointer_operator op, void *cookie)
-      |                                      ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void gt_pch_nx(vec<T*, A, vl_embed>*, int, void*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1391:21: error: ‘NULL’ was not declared in this scope
- 1391 |     op (&((*v)[i]), NULL, cookie);
-      |                     ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1391:21: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1396:36: error: ‘gt_pointer_operator’ has not been declared
- 1396 | gt_pch_nx (vec<T, A, vl_embed> *v, gt_pointer_operator op, void *cookie)
-      |                                    ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void gt_pch_nx(vec<T, A, vl_embed>*, int, void*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1398:31: error: ‘gt_pointer_operator’ has not been declared
- 1398 |   extern void gt_pch_nx (T *, gt_pointer_operator, void *);
-      |                               ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1432:22: error: ‘size_t’ has not been declared
- 1432 | template<typename T, size_t N = 0>
-      |                      ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1454:13: error: ‘size_t’ has not been declared
- 1454 |   template <size_t N>
-      |             ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1455:20: error: ‘N’ was not declared in this scope
- 1455 |   vec (auto_vec<T, N> &) = delete;
-      |                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1455:21: error: template argument 2 is invalid
- 1455 |   vec (auto_vec<T, N> &) = delete;
-      |                     ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1457:13: error: ‘size_t’ has not been declared
- 1457 |   template <size_t N>
-      |             ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1458:31: error: ‘N’ was not declared in this scope
- 1458 |   void operator= (auto_vec<T, N> &) = delete;
-      |                               ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1458:32: error: template argument 2 is invalid
- 1458 |   void operator= (auto_vec<T, N> &) = delete;
-      |                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1462:32: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
- 1462 |   void create (unsigned nelems CXX_MEM_STAT_INFO);
-      |                                ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1505:13: error: ‘ALONE_CXX_MEM_STAT_INFO’ has not been declared
- 1505 |   vec copy (ALONE_CXX_MEM_STAT_INFO) const;
-      |             ^~~~~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1506:40: error: expected ‘,’ before ‘CXX_MEM_STAT_INFO’
- 1506 |   bool reserve (unsigned, bool = false CXX_MEM_STAT_INFO);
-      |                                        ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1514:42: error: expected ‘,’ before ‘CXX_MEM_STAT_INFO’
- 1514 |   void safe_grow (unsigned, bool = false CXX_MEM_STAT_INFO);
-      |                                          ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1515:50: error: expected ‘,’ before ‘CXX_MEM_STAT_INFO’
- 1515 |   void safe_grow_cleared (unsigned, bool = false CXX_MEM_STAT_INFO);
-      |                                                  ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘bool vec<T, va_heap, vl_ptr>::exists() const’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1467:21: error: ‘NULL’ was not declared in this scope
- 1467 |   { return m_vec != NULL; }
-      |                     ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1467:21: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘T* vec<T, va_heap, vl_ptr>::address()’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1476:39: error: ‘NULL’ was not declared in this scope
- 1476 |   { return m_vec ? m_vec->m_vecdata : NULL; }
-      |                                       ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1476:39: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘const T* vec<T, va_heap, vl_ptr>::address() const’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1479:39: error: ‘NULL’ was not declared in this scope
- 1479 |   { return m_vec ? m_vec->m_vecdata : NULL; }
-      |                                       ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1479:39: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1547:22: error: ‘size_t’ has not been declared
- 1547 | template<typename T, size_t N /* = 0 */>
-      |                      ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1548:39: error: wrong number of template arguments (2, should be 3)
- 1548 | class auto_vec : public vec<T, va_heap>
-      |                                       ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1590:45: error: wrong number of template arguments (2, should be 3)
- 1590 | class auto_vec<T, 0> : public vec<T, va_heap>
-      |                                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1657:17: error: wrong number of template arguments (1, should be 3)
- 1657 | vec_alloc (vec<T> *&v, unsigned nelems CXX_MEM_STAT_INFO)
-      |                 ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1657:40: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
- 1657 | vec_alloc (vec<T> *&v, unsigned nelems CXX_MEM_STAT_INFO)
-      |                                        ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_alloc(int*&, unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1659:16: error: wrong number of template arguments (1, should be 3)
- 1659 |   v = new vec<T>;
-      |                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1660:6: error: request for member ‘create’ in ‘v->’, which is of non-class type ‘int’
- 1660 |   v->create (nelems PASS_MEM_STAT);
-      |      ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1660:20: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 1660 |   v->create (nelems PASS_MEM_STAT);
-      |             ~      ^~~~~~~~~~~~~~
-      |                    )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1667:48: error: template argument 2 is invalid
- 1667 | class auto_string_vec : public auto_vec <char *>
-      |                                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1686:45: error: template argument 2 is invalid
- 1686 | class auto_delete_vec : public auto_vec <T *>
-      |                                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1690:26: error: expected ‘)’ before ‘s’
- 1690 |   auto_delete_vec (size_t s) : auto_vec <T *> (s) {}
-      |                   ~      ^~
-      |                          )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1695:3: error: ISO C++ forbids declaration of ‘DISABLE_COPY_AND_ASSIGN’ with no type [-fpermissive]
- 1695 |   DISABLE_COPY_AND_ASSIGN(auto_delete_vec);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1702:32: error: wrong number of template arguments (2, should be 3)
- 1702 | vec_check_alloc (vec<T, va_heap> *&vec, unsigned nelems CXX_MEM_STAT_INFO)
-      |                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1702:57: error: expected ‘,’ or ‘...’ before ‘CXX_MEM_STAT_INFO’
- 1702 | vec_check_alloc (vec<T, va_heap> *&vec, unsigned nelems CXX_MEM_STAT_INFO)
-      |                                                         ^~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_check_alloc(int*&, unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1705:27: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 1705 |     vec_alloc (vec, nelems PASS_MEM_STAT);
-      |               ~           ^~~~~~~~~~~~~~
-      |                           )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1705:15: error: no matching function for call to ‘vec_alloc(int*&, unsigned int&)’
- 1705 |     vec_alloc (vec, nelems PASS_MEM_STAT);
-      |     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:715:1: note: candidate: ‘template<class T, class A> void vec_alloc(vec<T, A, vl_embed>*&, unsigned int)’
-  715 | vec_alloc (vec<T, A, vl_embed> *&v, unsigned nelems CXX_MEM_STAT_INFO)
-      | ^~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:715:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1705:15: note:   mismatched types ‘vec<T, A, vl_embed>’ and ‘int’
- 1705 |     vec_alloc (vec, nelems PASS_MEM_STAT);
-      |     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1657:1: note: candidate: ‘template<class T> void vec_alloc(int*&, unsigned int)’
- 1657 | vec_alloc (vec<T> *&v, unsigned nelems CXX_MEM_STAT_INFO)
-      | ^~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1657:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1705:15: note:   couldn’t deduce template parameter ‘T’
- 1705 |     vec_alloc (vec, nelems PASS_MEM_STAT);
-      |     ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1713:16: error: wrong number of template arguments (1, should be 3)
- 1713 | vec_free (vec<T> *&v)
-      |                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void vec_free(int*&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1715:12: error: ‘NULL’ was not declared in this scope
- 1715 |   if (v == NULL)
-      |            ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1715:12: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1718:6: error: request for member ‘release’ in ‘v->’, which is of non-class type ‘int’
- 1718 |   v->release ();
-      |      ^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1720:7: error: ‘NULL’ was not declared in this scope
- 1720 |   v = NULL;
-      |       ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1720:7: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In destructor ‘auto_string_vec::~auto_string_vec()’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1770:19: error: ‘class auto_string_vec’ has no member named ‘iterate’
- 1770 |   for (I = 0; (V).iterate ((I), &(P)); ++(I))
-      |                   ^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1798:3: note: in expansion of macro ‘FOR_EACH_VEC_ELT’
- 1798 |   FOR_EACH_VEC_ELT (*this, i, str)
-      |   ^~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1799:5: error: ‘free’ was not declared in this scope
- 1799 |     free (str);
-      |     ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1799:5: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1820:1: error: ‘vec<T, va_heap, vl_ptr> vec<T, va_heap, vl_ptr>::copy’ is not a static data member of ‘struct vec<T, va_heap, vl_ptr>’
- 1820 | vec<T, va_heap, vl_ptr>::copy (ALONE_MEM_STAT_DECL) const
-      | ^~~~~~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1820:51: error: template definition of non-template ‘vec<T, va_heap, vl_ptr> vec<T, va_heap, vl_ptr>::copy’
- 1820 | vec<T, va_heap, vl_ptr>::copy (ALONE_MEM_STAT_DECL) const
-      |                                                   ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1820:32: error: ‘ALONE_MEM_STAT_DECL’ was not declared in this scope
- 1820 | vec<T, va_heap, vl_ptr>::copy (ALONE_MEM_STAT_DECL) const
-      |                                ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1820:32: note: the macro ‘ALONE_MEM_STAT_DECL’ had not yet been defined
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/statistics.h:47: note: it was later defined here
-   47 | #define ALONE_MEM_STAT_DECL void
-      | 
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1840:63: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 1840 | vec<T, va_heap, vl_ptr>::reserve (unsigned nelems, bool exact MEM_STAT_DECL)
-      |                                                               ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1853:15: error: ‘NULL’ was not declared in this scope
- 1853 |       m_vec = NULL;
-      |               ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1853:15: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1858:41: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 1858 |   va_heap::reserve (m_vec, nelems, exact PASS_MEM_STAT);
-      |                    ~                    ^~~~~~~~~~~~~~
-      |                                         )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1876:57: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 1876 | vec<T, va_heap, vl_ptr>::reserve_exact (unsigned nelems MEM_STAT_DECL)
-      |                                                         ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:31: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 1878 |   return reserve (nelems, true PASS_MEM_STAT);
-      |                  ~            ^~~~~~~~~~~~~~
-      |                               )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1889:50: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 1889 | vec<T, va_heap, vl_ptr>::create (unsigned nelems MEM_STAT_DECL)
-      |                                                  ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘void vec<T, va_heap, vl_ptr>::create(unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1891:11: error: ‘NULL’ was not declared in this scope
- 1891 |   m_vec = NULL;
-      |           ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1891:11: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:26: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 1893 |     reserve_exact (nelems PASS_MEM_STAT);
-      |                   ~      ^~~~~~~~~~~~~~
-      |                          )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1937:39: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 1937 |                                       MEM_STAT_DECL)
-      |                                       ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1965:50: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 1965 | vec<T, va_heap, vl_ptr>::safe_push (const T &obj MEM_STAT_DECL)
-      |                                                  ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘T* vec<T, va_heap, vl_ptr>::safe_push(const T&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1967:20: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 1967 |   reserve (1, false PASS_MEM_STAT);
-      |           ~        ^~~~~~~~~~~~~~
-      |                    )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘void vec<T, va_heap, vl_ptr>::truncate(unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1992:5: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 1992 |     gcc_checking_assert (size == 0);
-      |     ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2002:62: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 2002 | vec<T, va_heap, vl_ptr>::safe_grow (unsigned len, bool exact MEM_STAT_DECL)
-      |                                                              ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘void vec<T, va_heap, vl_ptr>::safe_grow(unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2005:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2005 |   gcc_checking_assert (oldlen <= len);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2006:31: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 2006 |   reserve (len - oldlen, exact PASS_MEM_STAT);
-      |           ~                   ^~~~~~~~~~~~~~
-      |                               )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2010:5: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2010 |     gcc_checking_assert (len == 0);
-      |     ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2021:45: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 2021 |                                             MEM_STAT_DECL)
-      |                                             ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘void vec<T, va_heap, vl_ptr>::safe_grow_cleared(unsigned int, bool)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2024:3: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?
- 2024 |   size_t growby = len - oldlen;
-      |   ^~~~~~
-      |   std::size_t
-/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h:298:33: note: ‘std::size_t’ declared here
-  298 |   typedef __SIZE_TYPE__         size_t;
-      |                                 ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2025:24: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 2025 |   safe_grow (len, exact PASS_MEM_STAT);
-      |             ~          ^~~~~~~~~~~~~~
-      |                        )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2026:7: error: ‘growby’ was not declared in this scope
- 2026 |   if (growby != 0)
-      |       ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2072:65: error: expected ‘,’ or ‘...’ before ‘MEM_STAT_DECL’
- 2072 | vec<T, va_heap, vl_ptr>::safe_insert (unsigned ix, const T &obj MEM_STAT_DECL)
-      |                                                                 ^~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘void vec<T, va_heap, vl_ptr>::safe_insert(unsigned int, const T&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2074:20: error: expected ‘)’ before ‘PASS_MEM_STAT’
- 2074 |   reserve (1, false PASS_MEM_STAT);
-      |           ~        ^~~~~~~~~~~~~~
-      |                    )
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘T* vec<T, va_heap, vl_ptr>::bsearch(const void*, int (*)(const void*, const void*))’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2158:10: error: ‘NULL’ was not declared in this scope
- 2158 |   return NULL;
-      |          ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2158:10: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘T* vec<T, va_heap, vl_ptr>::bsearch(const void*, int (*)(const void*, const void*, void*), void*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2172:10: error: ‘NULL’ was not declared in this scope
- 2172 |   return NULL;
-      |          ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2172:10: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2224:27: error: wrong number of template arguments (1, should be 3)
- 2224 | release_vec_vec (vec<vec<T> > &vec)
-      |                           ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2224:29: error: wrong number of template arguments (1, should be 3)
- 2224 | release_vec_vec (vec<vec<T> > &vec)
-      |                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In function ‘void release_vec_vec(int&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2226:32: error: request for member ‘length’ in ‘vec’, which is of non-class type ‘int’
- 2226 |   for (unsigned i = 0; i < vec.length (); i++)
-      |                                ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2227:8: error: invalid types ‘int[unsigned int]’ for array subscript
- 2227 |     vec[i].release ();
-      |        ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2229:7: error: request for member ‘release’ in ‘vec’, which is of non-class type ‘int’
- 2229 |   vec.release ();
-      |       ^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2260:12: error: ‘size_t’ has not been declared
- 2260 |   template<size_t N>
-      |            ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2261:27: error: ‘N’ was not declared in this scope
- 2261 |   array_slice (T (&array)[N]) : m_base (array), m_size (N) {}
-      |                           ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2264:32: error: wrong number of template arguments (1, should be 3)
- 2264 |   array_slice (const vec<OtherT> &v)
-      |                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2281:3: error: ‘size_t’ does not name a type
- 2281 |   size_t size () const { return m_size; }
-      |   ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2281:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2282:3: error: ‘size_t’ does not name a type
- 2282 |   size_t size_bytes () const { return m_size * sizeof (T); }
-      |   ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2282:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In constructor ‘array_slice<T>::array_slice(...)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2261:41: error: ‘array’ was not declared in this scope
- 2261 |   array_slice (T (&array)[N]) : m_base (array), m_size (N) {}
-      |                                         ^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2261:57: error: ‘N’ was not declared in this scope
- 2261 |   array_slice (T (&array)[N]) : m_base (array), m_size (N) {}
-      |                                                         ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In constructor ‘array_slice<T>::array_slice(const int&)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2265:17: error: request for member ‘address’ in ‘v’, which is of non-class type ‘const int’
- 2265 |     : m_base (v.address ()), m_size (v.length ()) {}
-      |                 ^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2265:40: error: request for member ‘length’ in ‘v’, which is of non-class type ‘const int’
- 2265 |     : m_base (v.address ()), m_size (v.length ()) {}
-      |                                        ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘array_slice<T>::value_type& array_slice<T>::front()’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2301:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2301 |   gcc_checking_assert (m_size);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘const array_slice<T>::value_type& array_slice<T>::front() const’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2309:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2309 |   gcc_checking_assert (m_size);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘array_slice<T>::value_type& array_slice<T>::back()’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2317:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2317 |   gcc_checking_assert (m_size);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘const array_slice<T>::value_type& array_slice<T>::back() const’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2325:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2325 |   gcc_checking_assert (m_size);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘array_slice<T>::value_type& array_slice<T>::operator[](unsigned int)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2333:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2333 |   gcc_checking_assert (i < m_size);
-      |   ^~~~~~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In member function ‘const array_slice<T>::value_type& array_slice<T>::operator[](unsigned int) const’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2341:3: error: there are no arguments to ‘gcc_checking_assert’ that depend on a template parameter, so a declaration of ‘gcc_checking_assert’ must be available [-fpermissive]
- 2341 |   gcc_checking_assert (i < m_size);
-      |   ^~~~~~~~~~~~~~~~~~~
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/backend.h:29,
-                 from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:30:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:131:24: error: wrong number of template arguments (2, should be 3)
-  131 |   vec<rtx_insn *, va_gc> *x_forced_labels;
-      |                        ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:145:19: error: wrong number of template arguments (2, should be 3)
-  145 |   vec<uchar, va_gc> *action_record_data;
-      |                   ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:147:30: error: wrong number of template arguments (2, should be 3)
-  147 |   vec<call_site_record, va_gc> *call_site_record_v[2];
-      |                              ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:230:29: error: wrong number of template arguments (2, should be 3)
-  230 |   vec<callinfo_callee, va_gc> *callees;
-      |                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:234:29: error: wrong number of template arguments (2, should be 3)
-  234 |   vec<callinfo_dalloc, va_gc> *dallocs;
-      |                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:288:18: error: wrong number of template arguments (2, should be 3)
-  288 |   vec<tree, va_gc> *local_decls;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:497:31: error: wrong number of template arguments (2, should be 3)
-  497 | extern GTY(()) vec<tree, va_gc> *types_used_by_cur_var_decl;
-      |                               ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:709:16: error: wrong number of template arguments (1, should be 3)
-  709 | extern vec<edge> convert_jumps_to_returns (basic_block last_bb, bool simple_p,
-      |                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/function.h:710:52: error: wrong number of template arguments (1, should be 3)
-  710 |                                            vec<edge> unconverted);
-      |                                                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/backend.h:32:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:119:18: error: wrong number of template arguments (2, should be 3)
-  119 |   vec<edge, va_gc> *preds;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:120:18: error: wrong number of template arguments (2, should be 3)
-  120 |   vec<edge, va_gc> *succs;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘bool single_succ_p(const_basic_block)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: error: no matching function for call to ‘vec_safe_length(int* const&)’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:323:10: note: in expansion of macro ‘EDGE_COUNT’
-  323 |   return EDGE_COUNT (bb->succs) == 1;
-      |          ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note: candidate: ‘template<class T, class A> unsigned int vec_safe_length(const vec<T, A, vl_embed>*)’
-  665 | vec_safe_length (const vec<T, A, vl_embed> *v)
-      | ^~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: note:   mismatched types ‘const vec<T, A, vl_embed>’ and ‘int’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:323:10: note: in expansion of macro ‘EDGE_COUNT’
-  323 |   return EDGE_COUNT (bb->succs) == 1;
-      |          ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘bool single_pred_p(const_basic_block)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: error: no matching function for call to ‘vec_safe_length(int* const&)’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:331:10: note: in expansion of macro ‘EDGE_COUNT’
-  331 |   return EDGE_COUNT (bb->preds) == 1;
-      |          ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note: candidate: ‘template<class T, class A> unsigned int vec_safe_length(const vec<T, A, vl_embed>*)’
-  665 | vec_safe_length (const vec<T, A, vl_embed> *v)
-      | ^~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: note:   mismatched types ‘const vec<T, A, vl_embed>’ and ‘int’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:331:10: note: in expansion of macro ‘EDGE_COUNT’
-  331 |   return EDGE_COUNT (bb->preds) == 1;
-      |          ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘edge_def* single_succ_edge(const_basic_block)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:316:55: error: invalid types ‘int[int]’ for array subscript
-  316 | #define EDGE_SUCC(bb,i)                 (*(bb)->succs)[(i)]
-      |                                                       ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:341:10: note: in expansion of macro ‘EDGE_SUCC’
-  341 |   return EDGE_SUCC (bb, 0);
-      |          ^~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘edge_def* single_pred_edge(const_basic_block)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:315:55: error: invalid types ‘int[int]’ for array subscript
-  315 | #define EDGE_PRED(bb,i)                 (*(bb)->preds)[(i)]
-      |                                                       ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:351:10: note: in expansion of macro ‘EDGE_PRED’
-  351 |   return EDGE_PRED (bb, 0);
-      |          ^~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:376:18: error: wrong number of template arguments (2, should be 3)
-  376 |   vec<edge, va_gc> **container;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:379:30: error: wrong number of template arguments (2, should be 3)
-  379 | static inline vec<edge, va_gc> *
-      |                              ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:391:28: error: wrong number of template arguments (2, should be 3)
-  391 | ei_start_1 (vec<edge, va_gc> **ev)
-      |                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:404:27: error: wrong number of template arguments (2, should be 3)
-  404 | ei_last_1 (vec<edge, va_gc> **ev)
-      |                           ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘edge_iterator ei_last_1(int**)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: error: no matching function for call to ‘vec_safe_length(int*&)’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:408:13: note: in expansion of macro ‘EDGE_COUNT’
-  408 |   i.index = EDGE_COUNT (*ev) - 1;
-      |             ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note: candidate: ‘template<class T, class A> unsigned int vec_safe_length(const vec<T, A, vl_embed>*)’
-  665 | vec_safe_length (const vec<T, A, vl_embed> *v)
-      | ^~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: note:   mismatched types ‘const vec<T, A, vl_embed>’ and ‘int’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:408:13: note: in expansion of macro ‘EDGE_COUNT’
-  408 |   i.index = EDGE_COUNT (*ev) - 1;
-      |             ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘bool ei_end_p(edge_iterator)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: error: no matching function for call to ‘vec_safe_length(int*)’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:418:22: note: in expansion of macro ‘EDGE_COUNT’
-  418 |   return (i.index == EDGE_COUNT (ei_container (i)));
-      |                      ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note: candidate: ‘template<class T, class A> unsigned int vec_safe_length(const vec<T, A, vl_embed>*)’
-  665 | vec_safe_length (const vec<T, A, vl_embed> *v)
-      | ^~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: note:   mismatched types ‘const vec<T, A, vl_embed>’ and ‘int’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:418:22: note: in expansion of macro ‘EDGE_COUNT’
-  418 |   return (i.index == EDGE_COUNT (ei_container (i)));
-      |                      ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘bool ei_one_before_end_p(edge_iterator)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: error: no matching function for call to ‘vec_safe_length(int*)’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:426:26: note: in expansion of macro ‘EDGE_COUNT’
-  426 |   return (i.index + 1 == EDGE_COUNT (ei_container (i)));
-      |                          ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note: candidate: ‘template<class T, class A> unsigned int vec_safe_length(const vec<T, A, vl_embed>*)’
-  665 | vec_safe_length (const vec<T, A, vl_embed> *v)
-      | ^~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: note:   mismatched types ‘const vec<T, A, vl_embed>’ and ‘int’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:426:26: note: in expansion of macro ‘EDGE_COUNT’
-  426 |   return (i.index + 1 == EDGE_COUNT (ei_container (i)));
-      |                          ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘void ei_next(edge_iterator*)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: error: no matching function for call to ‘vec_safe_length(int*)’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/system.h:800:49: note: in definition of macro ‘gcc_checking_assert’
-  800 | #define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
-      |                                                 ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:433:35: note: in expansion of macro ‘EDGE_COUNT’
-  433 |   gcc_checking_assert (i->index < EDGE_COUNT (ei_container (*i)));
-      |                                   ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note: candidate: ‘template<class T, class A> unsigned int vec_safe_length(const vec<T, A, vl_embed>*)’
-  665 | vec_safe_length (const vec<T, A, vl_embed> *v)
-      | ^~~~~~~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:665:1: note:   template argument deduction/substitution failed:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:313:57: note:   mismatched types ‘const vec<T, A, vl_embed>’ and ‘int’
-  313 | #define EDGE_COUNT(ev)                  vec_safe_length (ev)
-      |                                         ~~~~~~~~~~~~~~~~^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/system.h:800:49: note: in definition of macro ‘gcc_checking_assert’
-  800 | #define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
-      |                                                 ^~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:433:35: note: in expansion of macro ‘EDGE_COUNT’
-  433 |   gcc_checking_assert (i->index < EDGE_COUNT (ei_container (*i)));
-      |                                   ^~~~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: In function ‘edge_def* ei_edge(edge_iterator)’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:314:46: error: invalid types ‘int[unsigned int]’ for array subscript
-  314 | #define EDGE_I(ev,i)                    (*ev)[(i)]
-      |                                              ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:449:10: note: in expansion of macro ‘EDGE_I’
-  449 |   return EDGE_I (ei_container (i), i.index);
-      |          ^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h: At global scope:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/basic-block.h:554:36: error: wrong number of template arguments (2, should be 3)
-  554 | find_fallthru_edge (vec<edge, va_gc> *edges)
-      |                                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfg.h:23,
-                 from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/backend.h:33:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:40:65: error: wrong number of template arguments (1, should be 3)
-   40 |                                                  vec<basic_block>);
-      |                                                                 ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:45:60: error: wrong number of template arguments (1, should be 3)
-   45 |                                             vec<basic_block>);
-      |                                                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:49:28: error: template argument 2 is invalid
-   49 | extern auto_vec<basic_block> get_dominated_by (enum cdi_direction, basic_block);
-      |                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:50:28: error: template argument 2 is invalid
-   50 | extern auto_vec<basic_block> get_dominated_by_region (enum cdi_direction,
-      |                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:53:28: error: template argument 2 is invalid
-   53 | extern auto_vec<basic_block> get_dominated_to_depth (enum cdi_direction,
-      |                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:55:28: error: template argument 2 is invalid
-   55 | extern auto_vec<basic_block> get_all_dominated_blocks (enum cdi_direction,
-      |                            ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/dominance.h:81:52: error: wrong number of template arguments (1, should be 3)
-   81 |                                     vec<basic_block> &, bool);
-      |                                                    ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfg.h:45:25: error: wrong number of template arguments (2, should be 3)
-   45 |   vec<basic_block, va_gc> *x_basic_block_info;
-      |                         ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfg.h:61:25: error: wrong number of template arguments (2, should be 3)
-   61 |   vec<basic_block, va_gc> *x_label_to_block_map;
-      |                         ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:31:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfghooks.h:174:64: error: wrong number of template arguments (1, should be 3)
-  174 |                                                        vec<edge> *, int);
-      |                                                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfghooks.h:259:54: error: wrong number of template arguments (1, should be 3)
-  259 |                                              vec<edge> *to_remove, int flags);
-      |                                                      ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:34:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfganal.h:47:18: error: wrong number of template arguments (1, should be 3)
-   47 |   vec<bitmap_head> control_dependence_map;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfganal.h:48:27: error: wrong number of template arguments (1, should be 3)
-   48 |   vec<std::pair<int, int> > m_el;
-      |                           ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfganal.h:69:49: error: wrong number of template arguments (1, should be 3)
-   69 | extern void inverted_post_order_compute (vec<int> *postorder, sbitmap *start_points = 0);
-      |                                                 ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/cfganal.h:75:75: error: wrong number of template arguments (1, should be 3)
-   75 |                                                   vec<std::pair<int, int> > *);
-      |                                                                           ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-In file included from /usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/gcc-plugin.h:42:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:1521:29: error: wrong number of template arguments (2, should be 3)
- 1521 |   vec<constructor_elt, va_gc> *elts;
-      |                             ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:1653:18: error: wrong number of template arguments (2, should be 3)
- 1653 |   vec<tree, va_gc> *nonlocalized_vars;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:1740:18: error: wrong number of template arguments (2, should be 3)
- 1740 |   vec<tree, va_gc> *base_accesses;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:1746:18: error: wrong number of template arguments (2, should be 3)
- 1746 |   vec<tree, va_gc> base_binfos;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:2175:18: error: wrong number of template arguments (2, should be 3)
- 2175 |   vec<tree, va_gc> *pending_statics;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:2216:18: error: wrong number of template arguments (2, should be 3)
- 2216 |   vec<tree, va_gc> *to;
-      |                  ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:2275:37: error: wrong number of template arguments (2, should be 3)
- 2275 | extern GTY(()) vec<alias_pair, va_gc> *alias_pairs;
-      |                                     ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/tree-core.h:2289:32: error: wrong number of template arguments (2, should be 3)
- 2289 | extern GTY (()) vec<tree, va_gc> *all_translation_units;
-      |                                ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-./include/mpi_collective.hpp:158:14: error: wrong number of template arguments (1, should be 3)
-  158 | vec<cpp_ttype> fun_vec; //function vector in pragma.
-      |              ^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: provided for ‘template<class, class, class> struct vec’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘unsigned int vec<T, va_heap, vl_ptr>::length() const [with T = ipa_ref]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:80:28:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1473:27: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 1473 |   { return m_vec ? m_vec->length () : 0; }
-      |                    ~~~~~~~^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘T& vec<T, va_heap, vl_ptr>::operator[](unsigned int) [with T = ipa_ref]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:82:25:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1495:20: error: no match for ‘operator[]’ (operand types are ‘vec<ipa_ref, va_heap, vl_embed>’ and ‘unsigned int’)
- 1495 |   { return (*m_vec)[ix]; }
-      |            ~~~~~~~~^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘unsigned int vec<T, va_heap, vl_ptr>::length() const [with T = ipa_ref*]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:88:27:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1473:27: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 1473 |   { return m_vec ? m_vec->length () : 0; }
-      |                    ~~~~~~~^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘T& vec<T, va_heap, vl_ptr>::operator[](unsigned int) [with T = ipa_ref*]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:90:23:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1495:20: error: no match for ‘operator[]’ (operand types are ‘vec<ipa_ref*, va_heap, vl_embed>’ and ‘unsigned int’)
- 1495 |   { return (*m_vec)[ix]; }
-      |            ~~~~~~~~^
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = ipa_ref*]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:10:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:5:   required from ‘void vec<T, va_heap, vl_ptr>::create(unsigned int) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:122:22:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1854:25: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 1854 |       oldsize = oldvec->length ();
-      |                 ~~~~~~~~^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1861:34: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 1861 |       vec_copy_construct (m_vec->address (), oldvec->address (), oldsize);
-      |                           ~~~~~~~^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1861:54: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 1861 |       vec_copy_construct (m_vec->address (), oldvec->address (), oldsize);
-      |                                              ~~~~~~~~^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1862:14: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 1862 |       m_vec->m_vecpfx.m_num = oldsize;
-      |       ~~~~~~~^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = ipa_ref]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:10:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:5:   required from ‘void vec<T, va_heap, vl_ptr>::create(unsigned int) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:123:23:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1854:25: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 1854 |       oldsize = oldvec->length ();
-      |                 ~~~~~~~~^~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1861:34: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 1861 |       vec_copy_construct (m_vec->address (), oldvec->address (), oldsize);
-      |                           ~~~~~~~^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1861:54: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 1861 |       vec_copy_construct (m_vec->address (), oldvec->address (), oldsize);
-      |                                              ~~~~~~~~^~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1862:14: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 1862 |       m_vec->m_vecpfx.m_num = oldsize;
-      |       ~~~~~~~^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::space(int) const [with T = ipa_ref*]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1842:7:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:10:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:5:   required from ‘void vec<T, va_heap, vl_ptr>::create(unsigned int) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:122:22:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1501:27: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 1501 |   { return m_vec ? m_vec->space (nelems) : nelems == 0; }
-      |                    ~~~~~~~^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::using_auto_storage() const [with T = ipa_ref*]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1850:35:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:10:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:5:   required from ‘void vec<T, va_heap, vl_ptr>::create(unsigned int) [with T = ipa_ref*]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:122:22:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2217:25: error: invalid use of incomplete type ‘struct vec<ipa_ref*, va_heap, vl_embed>’
- 2217 |   return m_vec ? m_vec->m_vecpfx.m_using_auto_storage : false;
-      |                  ~~~~~~~^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref*, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::space(int) const [with T = ipa_ref]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1842:7:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:10:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:5:   required from ‘void vec<T, va_heap, vl_ptr>::create(unsigned int) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:123:23:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1501:27: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 1501 |   { return m_vec ? m_vec->space (nelems) : nelems == 0; }
-      |                    ~~~~~~~^~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::using_auto_storage() const [with T = ipa_ref]’:
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1850:35:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1878:10:   required from ‘bool vec<T, va_heap, vl_ptr>::reserve_exact(unsigned int) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:1893:5:   required from ‘void vec<T, va_heap, vl_ptr>::create(unsigned int) [with T = ipa_ref]’
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/ipa-ref.h:123:23:   required from here
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:2217:25: error: invalid use of incomplete type ‘struct vec<ipa_ref, va_heap, vl_embed>’
- 2217 |   return m_vec ? m_vec->m_vecpfx.m_using_auto_storage : false;
-      |                  ~~~~~~~^~~~~~~~
-/usr/lib/gcc/x86_64-linux-gnu/12/plugin/include/vec.h:208:57: note: declaration of ‘struct vec<ipa_ref, va_heap, vl_embed>’
-  208 |   template <typename, typename, typename> friend struct vec;
-      |                                                         ^~~
-make[2]: *** [Makefile:78: obj/mpi_collective_graph_utils.o] Error 1
-make[1]: *** [Makefile:50: plugin] Error 2
-make: *** [Makefile:42: all] Error 2
-- 
GitLab