From f06b75776428f524d91d860aecbbe2734cf5580c Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 1 Dec 2023 11:27:16 -0500 Subject: gdb: make store_integer take an array_view Change store_integer, store_signed_integer and store_unsigned_integer to accept an array_view. Add some backwards compatibility overloads to avoid changing all callers at once. Change-Id: Ibb1381228ab1cb65fc7e2e4b92cf9ab1047cdc03 Reviewed-By: John Baldwin --- gdb/findvar.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'gdb/findvar.c') diff --git a/gdb/findvar.c b/gdb/findvar.c index 02b4a12..8f016f5 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -159,12 +159,12 @@ extract_typed_address (const gdb_byte *buf, struct type *type) target-format integer at ADDR which is LEN bytes long. */ template void -store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, +store_integer (gdb::array_view dst, enum bfd_endian byte_order, T val) { gdb_byte *p; - gdb_byte *startaddr = addr; - gdb_byte *endaddr = startaddr + len; + gdb_byte *startaddr = dst.data (); + gdb_byte *endaddr = startaddr + dst.size (); /* Start at the least significant end of the integer, and work towards the most significant. */ @@ -187,13 +187,11 @@ store_integer (gdb_byte *addr, int len, enum bfd_endian byte_order, } /* Explicit instantiations. */ -template void store_integer (gdb_byte *addr, int len, - enum bfd_endian byte_order, - LONGEST val); +template void store_integer (gdb::array_view dst, + bfd_endian byte_order, LONGEST val); -template void store_integer (gdb_byte *addr, int len, - enum bfd_endian byte_order, - ULONGEST val); +template void store_integer (gdb::array_view dst, + bfd_endian byte_order, ULONGEST val); /* Store the address ADDR as a pointer of type TYPE at BUF, in target form. */ -- cgit v1.1