Clean up lnp_state_machine constructor
Commit Message
This changes the lnp_state_machine constructor to initialize members
directly; and changes lnp_state_machine itself to initialize members
inline when possible.
---
gdb/dwarf2/read.c | 33 +++++++++++++--------------------
1 file changed, 13 insertions(+), 20 deletions(-)
Comments
Hi,
I went through this patch, and FWIW, this looks good to me.
Reviewed-By: Lancelot Six <lancelot.six@amd.com>
Best,
Lancelot.
On Sun, Jan 29, 2023 at 09:25:37PM -0700, Tom Tromey wrote:
> This changes the lnp_state_machine constructor to initialize members
> directly; and changes lnp_state_machine itself to initialize members
> inline when possible.
> ---
> gdb/dwarf2/read.c | 33 +++++++++++++--------------------
> 1 file changed, 13 insertions(+), 20 deletions(-)
>
> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
> index cd937f24ee7..97f99160443 100644
> --- a/gdb/dwarf2/read.c
> +++ b/gdb/dwarf2/read.c
> @@ -20073,7 +20073,7 @@ class lnp_state_machine
>
> CORE_ADDR m_address;
> linetable_entry_flags m_flags;
> - unsigned int m_discriminator;
> + unsigned int m_discriminator = 0;
>
> /* Additional bits of state we need to track. */
>
> @@ -20093,7 +20093,7 @@ class lnp_state_machine
> bool m_stmt_at_address = false;
>
> /* When true, record the lines we decode. */
> - bool m_currently_recording_lines = false;
> + bool m_currently_recording_lines = true;
>
> /* The last line number that was recorded, used to coalesce
> consecutive entries for the same line. This can happen, for
> @@ -20346,25 +20346,18 @@ lnp_state_machine::record_line (bool end_sequence)
>
> lnp_state_machine::lnp_state_machine (struct dwarf2_cu *cu, gdbarch *arch,
> line_header *lh)
> + : m_cu (cu),
> + m_gdbarch (arch),
> + m_line_header (lh),
> + /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as
> + if there was a line entry for it so that the backend has a
> + chance to adjust it and also record it in case it needs it.
> + This is currently used by MIPS code,
> + cf. `mips_adjust_dwarf2_line'. */
> + m_address (gdbarch_adjust_dwarf2_line (arch, 0, 0)),
> + m_flags (lh->default_is_stmt ? LEF_IS_STMT : (linetable_entry_flags) 0),
> + m_last_address (m_address)
> {
> - m_cu = cu;
> - m_gdbarch = arch;
> - m_line_header = lh;
> -
> - m_currently_recording_lines = true;
> -
> - /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as if there
> - was a line entry for it so that the backend has a chance to adjust it
> - and also record it in case it needs it. This is currently used by MIPS
> - code, cf. `mips_adjust_dwarf2_line'. */
> - m_address = gdbarch_adjust_dwarf2_line (arch, 0, 0);
> - m_flags = 0;
> - if (lh->default_is_stmt)
> - m_flags |= LEF_IS_STMT;
> - m_discriminator = 0;
> -
> - m_last_address = m_address;
> - m_stmt_at_address = false;
> }
>
> void
> --
> 2.39.1
>
@@ -20073,7 +20073,7 @@ class lnp_state_machine
CORE_ADDR m_address;
linetable_entry_flags m_flags;
- unsigned int m_discriminator;
+ unsigned int m_discriminator = 0;
/* Additional bits of state we need to track. */
@@ -20093,7 +20093,7 @@ class lnp_state_machine
bool m_stmt_at_address = false;
/* When true, record the lines we decode. */
- bool m_currently_recording_lines = false;
+ bool m_currently_recording_lines = true;
/* The last line number that was recorded, used to coalesce
consecutive entries for the same line. This can happen, for
@@ -20346,25 +20346,18 @@ lnp_state_machine::record_line (bool end_sequence)
lnp_state_machine::lnp_state_machine (struct dwarf2_cu *cu, gdbarch *arch,
line_header *lh)
+ : m_cu (cu),
+ m_gdbarch (arch),
+ m_line_header (lh),
+ /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as
+ if there was a line entry for it so that the backend has a
+ chance to adjust it and also record it in case it needs it.
+ This is currently used by MIPS code,
+ cf. `mips_adjust_dwarf2_line'. */
+ m_address (gdbarch_adjust_dwarf2_line (arch, 0, 0)),
+ m_flags (lh->default_is_stmt ? LEF_IS_STMT : (linetable_entry_flags) 0),
+ m_last_address (m_address)
{
- m_cu = cu;
- m_gdbarch = arch;
- m_line_header = lh;
-
- m_currently_recording_lines = true;
-
- /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as if there
- was a line entry for it so that the backend has a chance to adjust it
- and also record it in case it needs it. This is currently used by MIPS
- code, cf. `mips_adjust_dwarf2_line'. */
- m_address = gdbarch_adjust_dwarf2_line (arch, 0, 0);
- m_flags = 0;
- if (lh->default_is_stmt)
- m_flags |= LEF_IS_STMT;
- m_discriminator = 0;
-
- m_last_address = m_address;
- m_stmt_at_address = false;
}
void