This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 1/3] psymtab.c cleanup: Move expand_partial_symbol_names.


Hi.

This is the first of a set of three patches to cleanup psymtab.c a bit.

Basically, these two functions do not belong in psymtab.c:
expand_partial_symbol_names, map_partial_symbol_filenames,
and "partial" does not belong in the function name.

This first patch moves them to a better location.
The second patch adds some typedefs for function parameters to
quick_symbol_functions.expand_symtabs_matching.
The third patch removes "partial" from the function names
and uses them in more places.

Regression tested on amd64-linux.
[Hey, I remembered to say that this time. :-)]

2013-12-06  Doug Evans  <dje@google.com>

	* psymtab.c (expand_partial_symbol_names): Delete, moved to symfile.c.
	(map_partial_symbol_filenames): Ditto.
	* psymtab.h (expand_partial_symbol_names): Delete, moved to symfile.h.
	(map_partial_symbol_filenames): Ditto.
	* symfile.c (expand_partial_symbol_names): Moved here from psymtab.c.
	(map_partial_symbol_filenames): Ditto.
	* symfile.h (expand_partial_symbol_names): Moved here from psymtab.h.
	(map_partial_symbol_filenames): Ditto.
	* symtab.c: Delete #include "psymtab.h".

diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 8eac5e1..aecdfae 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -2088,34 +2088,6 @@ maintenance_check_psymtabs (char *ignore, int from_tty)
 
 
 
-void
-expand_partial_symbol_names (int (*fun) (const char *, void *),
-			     void *data)
-{
-  struct objfile *objfile;
-
-  ALL_OBJFILES (objfile)
-  {
-    if (objfile->sf)
-      objfile->sf->qf->expand_symtabs_matching (objfile, NULL, fun,
-						ALL_DOMAIN, data);
-  }
-}
-
-void
-map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
-			      int need_fullname)
-{
-  struct objfile *objfile;
-
-  ALL_OBJFILES (objfile)
-  {
-    if (objfile->sf)
-      objfile->sf->qf->map_symbol_filenames (objfile, fun, data,
-					     need_fullname);
-  }
-}
-
 extern initialize_file_ftype _initialize_psymtab;
 
 void
diff --git a/gdb/psymtab.h b/gdb/psymtab.h
index f32191a..28b6d3b 100644
--- a/gdb/psymtab.h
+++ b/gdb/psymtab.h
@@ -30,12 +30,6 @@ extern struct psymbol_bcache *psymbol_bcache_init (void);
 extern void psymbol_bcache_free (struct psymbol_bcache *);
 extern struct bcache *psymbol_bcache_get_bcache (struct psymbol_bcache *);
 
-void expand_partial_symbol_names (int (*fun) (const char *, void *),
-				  void *data);
-
-void map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
-				   int need_fullname);
-
 extern const struct quick_symbol_functions psym_functions;
 
 extern const struct quick_symbol_functions dwarf2_gdb_index_functions;
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 59d0583..634f4fd 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -3839,6 +3839,42 @@ symfile_free_objfile (struct objfile *objfile)
     remove_target_sections ((void *) objfile);
 }
 
+/* Wrapper around the quick_symbol_functions expand_symtabs_matching "method".
+   Expand all symtabs that match the specified criteria.
+   See quick_symbol_functions.expand_symtabs_matching for details.  */
+
+void
+expand_partial_symbol_names (int (*fun) (const char *, void *),
+			     void *data)
+{
+  struct objfile *objfile;
+
+  ALL_OBJFILES (objfile)
+  {
+    if (objfile->sf)
+      objfile->sf->qf->expand_symtabs_matching (objfile, NULL, fun,
+						ALL_DOMAIN, data);
+  }
+}
+
+/* Wrapper around the quick_symbol_functions map_symbol_filenames "method".
+   Map function FUN over every file.
+   See quick_symbol_functions.map_symbol_filenames for details.  */
+
+void
+map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
+			      int need_fullname)
+{
+  struct objfile *objfile;
+
+  ALL_OBJFILES (objfile)
+  {
+    if (objfile->sf)
+      objfile->sf->qf->map_symbol_filenames (objfile, fun, data,
+					     need_fullname);
+  }
+}
+
 void
 _initialize_symfile (void)
 {
diff --git a/gdb/symfile.h b/gdb/symfile.h
index 106a9d9..951f053 100644
--- a/gdb/symfile.h
+++ b/gdb/symfile.h
@@ -554,6 +554,12 @@ void free_symfile_segment_data (struct symfile_segment_data *data);
 
 extern struct cleanup *increment_reading_symtab (void);
 
+void expand_partial_symbol_names (int (*fun) (const char *, void *),
+				  void *data);
+
+void map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
+				   int need_fullname);
+
 /* From dwarf2read.c */
 
 /* Names for a dwarf2 debugging section.  The field NORMAL is the normal
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 8fac0be..d554c67 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -61,7 +61,6 @@
 #include "macrotab.h"
 #include "macroscope.h"
 
-#include "psymtab.h"
 #include "parser-defs.h"
 
 /* Prototypes for local functions */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]