With --enable-valgrind-annotations the change to the member function
signature in this patch triggers compilation errors during bootstrap:
/src/gcc/trunk/gcc/ggc-common.c: In function ‘void gt_pch_save(FILE*)’:
/src/gcc/trunk/gcc/ggc-common.c:509:33: error: no matching function for
call to ‘vec<char>::safe_grow(size_t&)’
vbits.safe_grow (valid_size);
^
In file included from /src/gcc/trunk/gcc/hash-table.h:248,
from /src/gcc/trunk/gcc/coretypes.h:476,
from /src/gcc/trunk/gcc/ggc-common.c:26:
/src/gcc/trunk/gcc/vec.h:1897:1: note: candidate: ‘void
vec<T>::safe_grow(unsigned int, bool) [with T = char]’
vec<T, va_heap, vl_ptr>::safe_grow (unsigned len, bool exact
MEM_STAT_DECL)
^~~~~~~~~~~~~~~~~~~~~~~
/src/gcc/trunk/gcc/vec.h:1897:1: note: candidate expects 2 arguments,
1 provided
/src/gcc/trunk/gcc/jit/jit-recording.c: In member function ‘virtual
gcc::jit::recording::string*
gcc::jit::recording::switch_::make_debug_string()’:
/src/gcc/trunk/gcc/jit/jit-recording.c:6313:41: error: no matching
function for call to ‘auto_vec<char>::safe_grow(size_t)’
6313 | cases_str.safe_grow (idx + 1 + len);
| ^
In file included from /src/gcc/trunk/gcc/hash-table.h:248,
from /src/gcc/trunk/gcc/coretypes.h:476,
from /src/gcc/trunk/gcc/jit/jit-recording.c:23:
/src/gcc/trunk/gcc/vec.h:1897:1: note: candidate: ‘void
vec<T>::safe_grow(unsigned int, bool) [with T = char]’
1897 | vec<T, va_heap, vl_ptr>::safe_grow (unsigned len, bool exact
MEM_STAT_DECL)
| ^~~~~~~~~~~~~~~~~~~~~~~
/src/gcc/trunk/gcc/vec.h:1897:1: note: candidate expects 2 arguments,
1 provided
Bootstrap succeeds with the patch below:
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index 0d528cf455c..d4691cc5448 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -506,7 +506,7 @@ gt_pch_save (FILE *f)
if (__builtin_expect (RUNNING_ON_VALGRIND, 0))
{
if (vbits.length () < valid_size)
- vbits.safe_grow (valid_size);
+ vbits.safe_grow (valid_size, true);
get_vbits = VALGRIND_GET_VBITS (state.ptrs[i]->obj,
vbits.address (), valid_size);
if (get_vbits == 3)
diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c
index b73cd76a0a0..a9e6528db69 100644
--- a/gcc/jit/jit-recording.c
+++ b/gcc/jit/jit-recording.c
@@ -6310,7 +6310,7 @@ recording::switch_::make_debug_string ()
{
size_t len = strlen (c->get_debug_string ());
unsigned idx = cases_str.length ();
- cases_str.safe_grow (idx + 1 + len);
+ cases_str.safe_grow (idx + 1 + len, true);
cases_str[idx] = ' ';
memcpy (&(cases_str[idx + 1]),
c->get_debug_string (),
Martin