aboutsummaryrefslogtreecommitdiff
path: root/gcc/ggc-common.cc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2022-11-01 17:46:37 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2022-11-01 17:46:37 +0100
commit762066ae83e0b863f647cb7a04e745fa334c22ef (patch)
treec40d3716dd47e65d8ac1aeab28f6fed8dd497c35 /gcc/ggc-common.cc
parent2d1c287af3a074d40e84234be9feca904af627d5 (diff)
parente7310e24b1c0ca67b1bb507c1330b2bf39e59e32 (diff)
downloadgcc-762066ae83e0b863f647cb7a04e745fa334c22ef.zip
gcc-762066ae83e0b863f647cb7a04e745fa334c22ef.tar.gz
gcc-762066ae83e0b863f647cb7a04e745fa334c22ef.tar.bz2
Merge remote-tracking branch 'mainline/trunk' into ibuclaw/merge_trunk
Diffstat (limited to 'gcc/ggc-common.cc')
-rw-r--r--gcc/ggc-common.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ggc-common.cc b/gcc/ggc-common.cc
index 8b3389e..62da09d 100644
--- a/gcc/ggc-common.cc
+++ b/gcc/ggc-common.cc
@@ -253,7 +253,8 @@ static vec<void *> reloc_addrs_vec;
int
gt_pch_note_object (void *obj, void *note_ptr_cookie,
- gt_note_pointers note_ptr_fn)
+ gt_note_pointers note_ptr_fn,
+ size_t length_override)
{
struct ptr_data **slot;
@@ -273,7 +274,9 @@ gt_pch_note_object (void *obj, void *note_ptr_cookie,
(*slot)->obj = obj;
(*slot)->note_ptr_fn = note_ptr_fn;
(*slot)->note_ptr_cookie = note_ptr_cookie;
- if (note_ptr_fn == gt_pch_p_S)
+ if (length_override != (size_t)-1)
+ (*slot)->size = length_override;
+ else if (note_ptr_fn == gt_pch_p_S)
(*slot)->size = strlen ((const char *)obj) + 1;
else
(*slot)->size = ggc_get_size (obj);