[v2,02/11] gdb: rename some preg/treg variables

Message ID 20261001020952.698419-3-simon.marchi@polymtl.ca
State New
Headers
Series None |

Commit Message

Simon Marchi Oct. 1, 2026, 2:09 a.m. UTC
  From: Simon Marchi <simon.marchi@polymtl.ca>

global_symbol_searcher and some code around that use "preg" and "treg" as
variable, parameter or field names.  Rename to the clearer "name_regex" and
"type_regex".

I guess that "preg" came from the parameter name of regcomp/regexec, and
treg was derived from that.

Change-Id: Ic74c6acde11976d0b26757614d2b2c3093b147cf
---
 gdb/stack.c  | 20 ++++++++--------
 gdb/symtab.c | 68 +++++++++++++++++++++++++++-------------------------
 gdb/symtab.h | 42 +++++++++++++++++---------------
 3 files changed, 68 insertions(+), 62 deletions(-)
  

Comments

Andrew Burgess Oct. 1, 2026, 12:59 p.m. UTC | #1
simon.marchi@polymtl.ca writes:

> From: Simon Marchi <simon.marchi@polymtl.ca>
>
> global_symbol_searcher and some code around that use "preg" and "treg" as
> variable, parameter or field names.  Rename to the clearer "name_regex" and
> "type_regex".
>
> I guess that "preg" came from the parameter name of regcomp/regexec, and
> treg was derived from that.

There are 5 lines that you touch where NULL could be changed to nullptr.

I thought we generally made that update whenever we touched a line, but
I'll leave it up to you.

Approved-By: Andrew Burgess <aburgess@redhat.com>

Thanks,
Andrew
  
Simon Marchi Oct. 1, 2026, 1:52 p.m. UTC | #2
On 10/1/26 8:59 AM, Andrew Burgess wrote:
> simon.marchi@polymtl.ca writes:
> 
>> From: Simon Marchi <simon.marchi@polymtl.ca>
>>
>> global_symbol_searcher and some code around that use "preg" and "treg" as
>> variable, parameter or field names.  Rename to the clearer "name_regex" and
>> "type_regex".
>>
>> I guess that "preg" came from the parameter name of regcomp/regexec, and
>> treg was derived from that.
> 
> There are 5 lines that you touch where NULL could be changed to nullptr.
> 
> I thought we generally made that update whenever we touched a line, but
> I'll leave it up to you.

Yes but I don't always remember to do it, done now.

> Approved-By: Andrew Burgess <aburgess@redhat.com>

Thanks,

Simon
  

Patch

diff --git a/gdb/stack.c b/gdb/stack.c
index 7fe05bb52a81..79a67865affe 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -2289,8 +2289,8 @@  iterate_over_block_local_vars_printing
 
 struct print_variable_and_value_data
 {
-  std::optional<compiled_regex> preg;
-  std::optional<compiled_regex> treg;
+  std::optional<compiled_regex> name_regex;
+  std::optional<compiled_regex> type_regex;
   struct frame_id frame_id;
   int num_tabs;
   struct ui_file *stream;
@@ -2312,11 +2312,11 @@  print_variable_and_value_data::operator() (const char *print_name,
 {
   frame_info_ptr frame;
 
-  if (preg.has_value ()
-      && preg->exec (sym->natural_name (), 0, NULL, 0) != 0)
+  if (name_regex.has_value ()
+      && name_regex->exec (sym->natural_name (), 0, NULL, 0) != 0)
     return;
-  if (treg.has_value ()
-      && !treg_matches_sym_type_name (*treg, sym))
+  if (type_regex.has_value ()
+      && !regex_matches_sym_type_name (*type_regex, sym))
     return;
   if (language_def (sym->language ())->symbol_printing_suppressed (sym))
     return;
@@ -2399,8 +2399,8 @@  print_frame_local_vars (const frame_info_ptr &frame,
       return;
     }
 
-  prepare_reg (regexp, &cb_data.preg);
-  prepare_reg (t_regexp, &cb_data.treg);
+  prepare_reg (regexp, &cb_data.name_regex);
+  prepare_reg (t_regexp, &cb_data.type_regex);
   cb_data.frame_id = get_frame_id (frame);
   cb_data.num_tabs = 4 * num_tabs;
   cb_data.stream = stream;
@@ -2592,8 +2592,8 @@  print_frame_arg_vars (const frame_info_ptr &frame,
       return;
     }
 
-  prepare_reg (regexp, &cb_data.preg);
-  prepare_reg (t_regexp, &cb_data.treg);
+  prepare_reg (regexp, &cb_data.name_regex);
+  prepare_reg (t_regexp, &cb_data.type_regex);
   cb_data.frame_id = get_frame_id (frame);
   cb_data.num_tabs = 0;
   cb_data.stream = stream;
diff --git a/gdb/symtab.c b/gdb/symtab.c
index f80e96b48285..aae82218b5cf 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -4666,18 +4666,16 @@  symbol_search::compare_search_syms (const symbol_search &sym_a,
     return -1;
 }
 
-/* Returns true if the type_name of symbol_type of SYM matches TREG.
-   If SYM has no symbol_type or symbol_name, returns false.  */
+/* See symtab.h.  */
 
 bool
-treg_matches_sym_type_name (const compiled_regex &treg,
-			    const struct symbol *sym)
+regex_matches_sym_type_name (const compiled_regex &type_regex,
+			     const symbol *sym)
 {
   struct type *sym_type;
   std::string printed_sym_type_name;
 
-  symbol_lookup_debug_printf_v ("treg_matches_sym_type_name, sym %s",
-				sym->natural_name ());
+  symbol_lookup_debug_printf_v ("sym %s", sym->natural_name ());
 
   sym_type = sym->type ();
   if (sym_type == NULL)
@@ -4695,7 +4693,7 @@  treg_matches_sym_type_name (const compiled_regex &treg,
   if (printed_sym_type_name.empty ())
     return false;
 
-  return treg.exec (printed_sym_type_name.c_str (), 0, NULL, 0) == 0;
+  return type_regex.exec (printed_sym_type_name.c_str (), 0, NULL, 0) == 0;
 }
 
 /* Return the domain search flags matching symbols of kind KIND.  */
@@ -4745,7 +4743,8 @@  global_symbol_searcher::is_suitable_msymbol
 
 bool
 global_symbol_searcher::expand_symtabs
-	(objfile *objfile, const std::optional<compiled_regex> &preg) const
+	(objfile *objfile,
+	 const std::optional<compiled_regex> &name_regex) const
 {
   bool found_func_msymbol_without_debug_info = false;
 
@@ -4762,8 +4761,8 @@  global_symbol_searcher::expand_symtabs
      &lookup_name_info::match_any (),
      [&] (const char *symname)
      {
-       return (!preg.has_value ()
-	       || preg->exec (symname, 0, NULL, 0) == 0);
+       return (!name_regex.has_value ()
+	       || name_regex->exec (symname, 0, NULL, 0) == 0);
      },
      NULL,
      SEARCH_GLOBAL_BLOCK | SEARCH_STATIC_BLOCK,
@@ -4794,9 +4793,9 @@  global_symbol_searcher::expand_symtabs
 
 	  if (is_suitable_msymbol (m_kind, msymbol))
 	    {
-	      if (!preg.has_value ()
-		  || preg->exec (msymbol->natural_name (), 0,
-				 NULL, 0) == 0)
+	      if (!name_regex.has_value ()
+		  || name_regex->exec (msymbol->natural_name (), 0,
+				       NULL, 0) == 0)
 		{
 		  /* An important side-effect of this lookup function is
 		     to expand the symbol table if msymbol is found, later
@@ -4819,8 +4818,8 @@  global_symbol_searcher::expand_symtabs
 bool
 global_symbol_searcher::add_matching_symbols
 	(objfile *objfile,
-	 const std::optional<compiled_regex> &preg,
-	 const std::optional<compiled_regex> &treg,
+	 const std::optional<compiled_regex> &name_regex,
+	 const std::optional<compiled_regex> &type_regex,
 	 std::set<symbol_search> *result_set) const
 {
   domain_search_flags domain = to_search_flags (m_kind);
@@ -4854,14 +4853,15 @@  global_symbol_searcher::add_matching_symbols
 	      if (!sym->matches (domain))
 		continue;
 
-	      if (preg.has_value () && preg->exec (sym->natural_name (), 0,
-						   nullptr, 0) != 0)
+	      if (name_regex.has_value ()
+		  && name_regex->exec (sym->natural_name (), 0,
+				       nullptr, 0) != 0)
 		continue;
 
 	      if (((sym->domain () == VAR_DOMAIN
 		    || sym->domain () == FUNCTION_DOMAIN)
-		   && treg.has_value ()
-		   && !treg_matches_sym_type_name (*treg, sym)))
+		   && type_regex.has_value ()
+		   && !regex_matches_sym_type_name (*type_regex, sym)))
 		continue;
 
 	      if (m_kind == symbol_search_kind::VARIABLE)
@@ -4898,7 +4898,7 @@  global_symbol_searcher::add_matching_symbols
 
 bool
 global_symbol_searcher::add_matching_msymbols
-	(objfile *objfile, const std::optional<compiled_regex> &preg,
+	(objfile *objfile, const std::optional<compiled_regex> &name_regex,
 	 std::vector<symbol_search> *results) const
 {
   for (minimal_symbol *msymbol : objfile->msymbols ())
@@ -4910,9 +4910,9 @@  global_symbol_searcher::add_matching_msymbols
 
       if (is_suitable_msymbol (m_kind, msymbol))
 	{
-	  if (!preg.has_value ()
-	      || preg->exec (msymbol->natural_name (), 0,
-			     NULL, 0) == 0)
+	  if (!name_regex.has_value ()
+	      || name_regex->exec (msymbol->natural_name (), 0,
+				   NULL, 0) == 0)
 	    {
 	      /* For functions we can do a quick check of whether the
 		 symbol might be found via find_pc_symtab.  */
@@ -4943,8 +4943,8 @@  global_symbol_searcher::add_matching_msymbols
 std::vector<symbol_search>
 global_symbol_searcher::search () const
 {
-  std::optional<compiled_regex> preg;
-  std::optional<compiled_regex> treg;
+  std::optional<compiled_regex> name_regex;
+  std::optional<compiled_regex> type_regex;
 
   if (m_symbol_name_regexp != NULL)
     {
@@ -4986,16 +4986,16 @@  global_symbol_searcher::search () const
 
       int cflags = REG_NOSUB | (case_sensitivity == case_sensitive_off
 				? REG_ICASE : 0);
-      preg.emplace (symbol_name_regexp, cflags,
-		    _("Invalid regexp"));
+      name_regex.emplace (symbol_name_regexp, cflags,
+			  _("Invalid regexp"));
     }
 
   if (m_symbol_type_regexp != NULL)
     {
       int cflags = REG_NOSUB | (case_sensitivity == case_sensitive_off
 				? REG_ICASE : 0);
-      treg.emplace (m_symbol_type_regexp, cflags,
-		    _("Invalid regexp"));
+      type_regex.emplace (m_symbol_type_regexp, cflags,
+			  _("Invalid regexp"));
     }
 
   bool found_func_msymbol_without_debug_info = false;
@@ -5004,13 +5004,15 @@  global_symbol_searcher::search () const
     {
       /* Expand symtabs within objfile that possibly contain matching
 	 symbols.  */
-      found_func_msymbol_without_debug_info |= expand_symtabs (&objfile, preg);
+      found_func_msymbol_without_debug_info
+	|= expand_symtabs (&objfile, name_regex);
 
       /* Find matching symbols within OBJFILE and add them in to the
 	 RESULT_SET set.  Use a set here so that we can easily detect
 	 duplicates as we go, and can therefore track how many unique
 	 matches we have found so far.  */
-      if (!add_matching_symbols (&objfile, preg, treg, &result_set))
+      if (!add_matching_symbols (&objfile, name_regex, type_regex,
+				 &result_set))
 	break;
     }
 
@@ -5025,12 +5027,12 @@  global_symbol_searcher::search () const
   if ((found_func_msymbol_without_debug_info
        || (m_filenames.empty () && m_kind == symbol_search_kind::VARIABLE))
       && !m_exclude_minsyms
-      && !treg.has_value ())
+      && !type_regex.has_value ())
     {
       gdb_assert (m_kind == symbol_search_kind::VARIABLE
 		  || m_kind == symbol_search_kind::FUNCTION);
       for (objfile &objfile : current_program_space->objfiles ())
-	if (!add_matching_msymbols (&objfile, preg, &result))
+	if (!add_matching_msymbols (&objfile, name_regex, &result))
 	  break;
     }
 
diff --git a/gdb/symtab.h b/gdb/symtab.h
index d21933759b6a..e4cfa31e25e7 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -2670,31 +2670,32 @@  class global_symbol_searcher
      of SIZE_MAX, there is no "unlimited".  */
   size_t m_max_search_results = SIZE_MAX;
 
-  /* Expand symtabs in OBJFILE that match PREG, are of type M_KIND.  Return
-     true if any msymbols were seen that we should later consider adding to
-     the results list.  */
+  /* Expand symtabs in OBJFILE that match NAME_REGEX, are of type M_KIND.
+     Return true if any msymbols were seen that we should later consider
+     adding to the results list.  */
   bool expand_symtabs (objfile *objfile,
-		       const std::optional<compiled_regex> &preg) const;
+		       const std::optional<compiled_regex> &name_regex) const;
 
-  /* Add symbols from symtabs in OBJFILE that match PREG, and TREG, and are
-     of type M_KIND, to the results set RESULTS_SET.  Return false if we
-     stop adding results early due to having already found too many results
-     (based on M_MAX_SEARCH_RESULTS limit), otherwise return true.
+  /* Add symbols from symtabs in OBJFILE that match NAME_REGEX, and
+     TYPE_REGEX, and are of type M_KIND, to the results set RESULTS_SET.
+     Return false if we stop adding results early due to having already
+     found too many results (based on M_MAX_SEARCH_RESULTS limit),
+     otherwise return true.
      Returning true does not indicate that any results were added, just
      that we didn't _not_ add a result due to reaching MAX_SEARCH_RESULTS.  */
   bool add_matching_symbols (objfile *objfile,
-			     const std::optional<compiled_regex> &preg,
-			     const std::optional<compiled_regex> &treg,
+			     const std::optional<compiled_regex> &name_regex,
+			     const std::optional<compiled_regex> &type_regex,
 			     std::set<symbol_search> *result_set) const;
 
-  /* Add msymbols from OBJFILE that match PREG and M_KIND, to the results
-     vector RESULTS.  Return false if we stop adding results early due to
-     having already found too many results (based on max search results
-     limit M_MAX_SEARCH_RESULTS), otherwise return true.  Returning true
-     does not indicate that any results were added, just that we didn't
-     _not_ add a result due to reaching MAX_SEARCH_RESULTS.  */
+  /* Add msymbols from OBJFILE that match NAME_REGEX and M_KIND, to the
+     results vector RESULTS.  Return false if we stop adding results early
+     due to having already found too many results (based on max search
+     results limit M_MAX_SEARCH_RESULTS), otherwise return true.  Returning
+     true does not indicate that any results were added, just that we
+     didn't _not_ add a result due to reaching MAX_SEARCH_RESULTS.  */
   bool add_matching_msymbols (objfile *objfile,
-			      const std::optional<compiled_regex> &preg,
+			      const std::optional<compiled_regex> &name_regex,
 			      std::vector<symbol_search> *results) const;
 
   /* Return true if MSYMBOL is of type KIND.  */
@@ -2723,8 +2724,11 @@  extern std::vector<module_symbol_search> search_module_symbols
 
 extern std::string symbol_to_info_string (struct symbol *sym, int block);
 
-extern bool treg_matches_sym_type_name (const compiled_regex &treg,
-					const struct symbol *sym);
+/* Returns true if the SYM's type name matches TYPE_REGEX.
+   If SYM has no type name, returns false.  */
+
+extern bool regex_matches_sym_type_name (const compiled_regex &type_regex,
+					 const symbol *sym);
 
 /* The name of the ``main'' function.  */
 extern const char *main_name ();