+2021-03-13 Tom Tromey <tom@tromey.com>
+
+ * dwarf2/read.c (struct partial_die_info): Update.
+ (peek_die_abbrev, skip_children, skip_one_die, read_full_die_1)
+ (load_partial_dies, partial_die_info::partial_die_info): Update.
+ * dwarf2/abbrev.h (lookup_abbrev): Constify.
+
2021-03-13 Tom Tromey <tom@tromey.com>
* dwarf2/abbrev.c (abbrev_table::read): Remove Irix 6 workaround.
need this much information. */
struct partial_die_info : public allocate_on_obstack
{
- partial_die_info (sect_offset sect_off, struct abbrev_info *abbrev);
+ partial_die_info (sect_offset sect_off, const struct abbrev_info *abbrev);
/* Disable assign but still keep copy ctor, which is needed
load_partial_dies. */
static const gdb_byte *skip_one_die (const struct die_reader_specs *reader,
const gdb_byte *info_ptr,
- struct abbrev_info *abbrev);
+ const struct abbrev_info *abbrev);
static hashval_t partial_die_hash (const void *item);
an empty DIE). In either case *BYTES_READ will be set to the length of
the initial number. */
-static struct abbrev_info *
+static const struct abbrev_info *
peek_die_abbrev (const die_reader_specs &reader,
const gdb_byte *info_ptr, unsigned int *bytes_read)
{
if (abbrev_number == 0)
return NULL;
- abbrev_info *abbrev = reader.abbrev_table->lookup_abbrev (abbrev_number);
+ const abbrev_info *abbrev
+ = reader.abbrev_table->lookup_abbrev (abbrev_number);
if (!abbrev)
{
error (_("Dwarf Error: Could not find abbrev number %d in %s"
while (1)
{
unsigned int bytes_read;
- abbrev_info *abbrev = peek_die_abbrev (*reader, info_ptr, &bytes_read);
+ const abbrev_info *abbrev = peek_die_abbrev (*reader, info_ptr,
+ &bytes_read);
if (abbrev == NULL)
return info_ptr + bytes_read;
static const gdb_byte *
skip_one_die (const struct die_reader_specs *reader, const gdb_byte *info_ptr,
- struct abbrev_info *abbrev)
+ const struct abbrev_info *abbrev)
{
unsigned int bytes_read;
struct attribute attr;
int num_extra_attrs)
{
unsigned int abbrev_number, bytes_read, i;
- struct abbrev_info *abbrev;
+ const struct abbrev_info *abbrev;
struct die_info *die;
struct dwarf2_cu *cu = reader->cu;
bfd *abfd = reader->abfd;
while (1)
{
- abbrev_info *abbrev = peek_die_abbrev (*reader, info_ptr, &bytes_read);
+ const abbrev_info *abbrev = peek_die_abbrev (*reader, info_ptr,
+ &bytes_read);
/* A NULL abbrev means the end of a series of children. */
if (abbrev == NULL)
}
partial_die_info::partial_die_info (sect_offset sect_off_,
- struct abbrev_info *abbrev)
+ const struct abbrev_info *abbrev)
: partial_die_info (sect_off_, abbrev->tag, abbrev->has_children)
{
}