[v2,01/13,gdb/symtab] Refactor condition in scan_attributes
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
In scan_attributes there's code:
...
if (new_reader->cu == reader->cu
&& new_info_ptr > watermark_ptr
&& *parent_entry == nullptr)
...
else if (*parent_entry == nullptr)
...
...
that uses the "*parent_entry == nullptr" condition twice.
Make this somewhat more readable by factoring out the condition:
...
if (*parent_entry == nullptr)
{
if (new_reader->cu == reader->cu
&& new_info_ptr > watermark_ptr)
...
else
...
}
...
This also allows us to factor out "form_addr (origin_offset, origin_is_dwz)".
Tested on x86_64-linux.
---
gdb/dwarf2/read.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
Comments
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
Tom> Make this somewhat more readable by factoring out the condition:
Tom> ...
Tom> if (*parent_entry == nullptr)
Tom> {
Tom> if (new_reader->cu == reader->cu
Tom> && new_info_ptr > watermark_ptr)
Tom> ...
Tom> else
Tom> ...
Tom> }
Tom> ...
Ok.
Approved-By: Tom Tromey <tom@tromey.com>
Tom
@@ -16170,15 +16170,17 @@ cooked_indexer::scan_attributes (dwarf2_per_cu_data *scanning_per_cu,
const gdb_byte *new_info_ptr = (new_reader->buffer
+ to_underlying (origin_offset));
- if (new_reader->cu == reader->cu
- && new_info_ptr > watermark_ptr
- && *parent_entry == nullptr)
- *maybe_defer = form_addr (origin_offset, origin_is_dwz);
- else if (*parent_entry == nullptr)
+ if (*parent_entry == nullptr)
{
- CORE_ADDR lookup = form_addr (origin_offset, origin_is_dwz);
- void *obj = m_die_range_map.find (lookup);
- *parent_entry = static_cast <cooked_index_entry *> (obj);
+ CORE_ADDR addr = form_addr (origin_offset, origin_is_dwz);
+ if (new_reader->cu == reader->cu
+ && new_info_ptr > watermark_ptr)
+ *maybe_defer = addr;
+ else
+ {
+ void *obj = m_die_range_map.find (addr);
+ *parent_entry = static_cast <cooked_index_entry *> (obj);
+ }
}
unsigned int bytes_read;