Clean up lnp_state_machine constructor

Message ID 20230130042537.909340-1-tom@tromey.com
State Committed
Commit 9d00e8d76a7d7fd4a2029e9a47607e73d5aa9536
Headers
Series Clean up lnp_state_machine constructor |

Commit Message

Tom Tromey Jan. 30, 2023, 4:25 a.m. UTC
  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

Lancelot SIX Jan. 30, 2023, 12:34 p.m. UTC | #1
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
>
  

Patch

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