aboutsummaryrefslogtreecommitdiff
path: root/gdb/macrotab.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/macrotab.h')
-rw-r--r--gdb/macrotab.h39
1 files changed, 18 insertions, 21 deletions
diff --git a/gdb/macrotab.h b/gdb/macrotab.h
index 0d06dde..16e959a 100644
--- a/gdb/macrotab.h
+++ b/gdb/macrotab.h
@@ -20,6 +20,8 @@
#ifndef MACROTAB_H
#define MACROTAB_H
+#include "common/function-view.h"
+
struct obstack;
struct bcache;
struct compunit_symtab;
@@ -329,28 +331,23 @@ struct macro_source_file *(macro_definition_location
const char *name,
int *definition_line));
-/* Callback function when walking a macro table. NAME is the name of
- the macro, and DEFINITION is the definition. SOURCE is the file at the
- start of the include path, and LINE is the line number of the SOURCE file
- where the macro was defined. USER_DATA is an arbitrary pointer which is
- passed by the caller to macro_for_each or macro_for_each_in_scope. */
-typedef void (*macro_callback_fn) (const char *name,
- const struct macro_definition *definition,
- struct macro_source_file *source,
- int line,
- void *user_data);
-
-/* Call the function FN for each macro in the macro table TABLE.
- USER_DATA is passed, untranslated, to FN. */
-void macro_for_each (struct macro_table *table, macro_callback_fn fn,
- void *user_data);
-
-/* Call the function FN for each macro that is visible in a given
- scope. The scope is represented by FILE and LINE. USER_DATA is
- passed, untranslated, to FN. */
+/* Prototype for a callback callable when walking a macro table. NAME
+ is the name of the macro, and DEFINITION is the definition. SOURCE
+ is the file at the start of the include path, and LINE is the line
+ number of the SOURCE file where the macro was defined. */
+typedef void (macro_callback_fn) (const char *name,
+ const struct macro_definition *definition,
+ struct macro_source_file *source,
+ int line);
+
+/* Call the callable FN for each macro in the macro table TABLE. */
+void macro_for_each (struct macro_table *table,
+ gdb::function_view<macro_callback_fn> fn);
+
+/* Call FN for each macro that is visible in a given scope. The scope
+ is represented by FILE and LINE. */
void macro_for_each_in_scope (struct macro_source_file *file, int line,
- macro_callback_fn fn,
- void *user_data);
+ gdb::function_view<macro_callback_fn> fn);
/* Return FILE->filename with possibly prepended compilation directory name.
This is raw concatenation without the "set substitute-path" and gdb_realpath