|
GDB (xrefs)
|
#include "defs.h"#include "gdb_obstack.h"#include "splay-tree.h"#include "filenames.h"#include "symtab.h"#include "symfile.h"#include "objfiles.h"#include "macrotab.h"#include "bcache.h"#include "complaints.h"#include "macroexp.h"Go to the source code of this file.
Classes | |
| struct | macro_table |
| struct | macro_key |
| struct | macro_for_each_data |
Functions | |
| static void * | macro_alloc (int size, struct macro_table *t) |
| static void | macro_free (void *object, struct macro_table *t) |
| static const void * | macro_bcache (struct macro_table *t, const void *addr, int len) |
| static const char * | macro_bcache_str (struct macro_table *t, const char *s) |
| static void | macro_bcache_free (struct macro_table *t, void *obj) |
| static int | inclusion_depth (struct macro_source_file *file) |
| static int | compare_locations (struct macro_source_file *file1, int line1, struct macro_source_file *file2, int line2) |
| static int | key_compare (struct macro_key *key, const char *name, struct macro_source_file *file, int line) |
| static int | macro_tree_compare (splay_tree_key untyped_key1, splay_tree_key untyped_key2) |
| static struct macro_key * | new_macro_key (struct macro_table *t, const char *name, struct macro_source_file *file, int line) |
| static void | macro_tree_delete_key (void *untyped_key) |
| static struct macro_source_file * | new_source_file (struct macro_table *t, const char *filename) |
| static void | free_macro_source_file (struct macro_source_file *src) |
| struct macro_source_file * | macro_set_main (struct macro_table *t, const char *filename) |
| struct macro_source_file * | macro_main (struct macro_table *t) |
| void | macro_allow_redefinitions (struct macro_table *t) |
| struct macro_source_file * | macro_include (struct macro_source_file *source, int line, const char *included) |
| struct macro_source_file * | macro_lookup_inclusion (struct macro_source_file *source, const char *name) |
| static struct macro_definition * | new_macro_definition (struct macro_table *t, enum macro_kind kind, int argc, const char **argv, const char *replacement) |
| static void | macro_tree_delete_value (void *untyped_definition) |
| static splay_tree_node | find_definition (const char *name, struct macro_source_file *file, int line) |
| static struct macro_key * | check_for_redefinition (struct macro_source_file *source, int line, const char *name, enum macro_kind kind, int argc, const char **argv, const char *replacement) |
| static void | macro_define_object_internal (struct macro_source_file *source, int line, const char *name, const char *replacement, enum macro_special_kind kind) |
| void | macro_define_object (struct macro_source_file *source, int line, const char *name, const char *replacement) |
| void | macro_define_special (struct macro_table *table) |
| void | macro_define_function (struct macro_source_file *source, int line, const char *name, int argc, const char **argv, const char *replacement) |
| void | macro_undef (struct macro_source_file *source, int line, const char *name) |
| static struct macro_definition * | fixup_definition (const char *filename, int line, struct macro_definition *def) |
| struct macro_definition * | macro_lookup_definition (struct macro_source_file *source, int line, const char *name) |
| struct macro_source_file * | macro_definition_location (struct macro_source_file *source, int line, const char *name, int *definition_line) |
| static int | foreach_macro (splay_tree_node node, void *arg) |
| void | macro_for_each (struct macro_table *table, gdb::function_view< macro_callback_fn > fn) |
| static int | foreach_macro_in_scope (splay_tree_node node, void *info) |
| void | macro_for_each_in_scope (struct macro_source_file *file, int line, gdb::function_view< macro_callback_fn > fn) |
| struct macro_table * | new_macro_table (struct obstack *obstack, struct bcache *b, struct compunit_symtab *cust) |
| void | free_macro_table (struct macro_table *table) |
| char * | macro_source_fullname (struct macro_source_file *file) |
|
static |
Definition at line 688 of file macrotab.c.
References _, gdb::argv, complaint, find_definition(), macro_function_like, macro_source_fullname(), name, macro_key::start_file, macro_key::start_line, symfile_complaints, and xfree().
Referenced by macro_define_function(), and macro_define_object_internal().
|
static |
Definition at line 215 of file macrotab.c.
References gdb_assert, macro_source_file::included_at_line, macro_source_file::included_by, and inclusion_depth().
Referenced by find_definition(), foreach_macro_in_scope(), and key_compare().
|
static |
Definition at line 627 of file macrotab.c.
References compare_locations(), macro_table::definitions, macro_key::end_file, macro_key::end_line, if(), name, macro_key::name, query(), and macro_source_file::table.
Referenced by check_for_redefinition(), macro_definition_location(), macro_lookup_definition(), and macro_undef().
|
static |
Definition at line 894 of file macrotab.c.
References macro_definition::argc, macro_definition::kind, macro_FILE, macro_LINE, macro_object_like, macro_stringify(), macro_definition::replacement, xfree(), and xstrprintf().
Referenced by foreach_macro(), foreach_macro_in_scope(), and macro_lookup_definition().
|
static |
Definition at line 975 of file macrotab.c.
References fixup_definition(), macro_for_each_data::fn, macro_source_fullname(), macro_key::name, macro_key::start_file, macro_key::start_line, and xfree().
Referenced by macro_for_each().
|
static |
Definition at line 1005 of file macrotab.c.
References compare_locations(), macro_key::end_file, macro_key::end_line, macro_for_each_data::file, fixup_definition(), macro_for_each_data::fn, macro_for_each_data::line, macro_source_fullname(), macro_key::name, macro_key::start_file, macro_key::start_line, and xfree().
Referenced by macro_for_each_in_scope().
|
static |
Definition at line 402 of file macrotab.c.
References macro_source_file::filename, macro_source_file::includes, macro_bcache_free(), macro_free(), macro_source_file::next_included, and macro_source_file::table.
Referenced by free_macro_table().
| void free_macro_table | ( | struct macro_table * | table | ) |
Definition at line 1078 of file macrotab.c.
References macro_table::definitions, free_macro_source_file(), and macro_table::main_source.
Referenced by scoped_free_pendings::~scoped_free_pendings().
|
static |
Definition at line 188 of file macrotab.c.
References macro_source_file::included_by.
Referenced by compare_locations(), and macro_lookup_inclusion().
|
static |
Definition at line 320 of file macrotab.c.
References compare_locations(), name, macro_key::name, macro_key::start_file, and macro_key::start_line.
Referenced by macro_define_function(), macro_define_object_internal(), and macro_tree_compare().
|
static |
Definition at line 86 of file macrotab.c.
References macro_table::obstack, size, and xmalloc().
Referenced by new_macro_definition(), new_macro_key(), new_macro_table(), and new_source_file().
| void macro_allow_redefinitions | ( | struct macro_table * | t | ) |
Definition at line 442 of file macrotab.c.
References gdb_assert, macro_table::obstack, and macro_table::redef_ok.
Referenced by _initialize_macroscope().
|
static |
Definition at line 113 of file macrotab.c.
References macro_table::bcache, bcache(), and xmalloc().
Referenced by macro_bcache_str(), and new_macro_definition().
|
static |
Definition at line 140 of file macrotab.c.
References macro_table::bcache, and xfree().
Referenced by free_macro_source_file(), macro_tree_delete_key(), and macro_tree_delete_value().
|
static |
Definition at line 131 of file macrotab.c.
References macro_bcache().
Referenced by new_macro_definition(), new_macro_key(), and new_source_file().
| void macro_define_function | ( | struct macro_source_file * | source, |
| int | line, | ||
| const char * | name, | ||
| int | argc, | ||
| const char ** | argv, | ||
| const char * | replacement | ||
| ) |
Definition at line 803 of file macrotab.c.
References macro_definition::argc, gdb::argv, check_for_redefinition(), macro_table::definitions, key_compare(), macro_function_like, name, new_macro_definition(), new_macro_key(), macro_table::redef_ok, macro_definition::replacement, and macro_source_file::table.
Referenced by macro_define_command(), and parse_macro_definition().
| void macro_define_object | ( | struct macro_source_file * | source, |
| int | line, | ||
| const char * | name, | ||
| const char * | replacement | ||
| ) |
Definition at line 784 of file macrotab.c.
References macro_define_object_internal(), macro_ordinary, name, and macro_definition::replacement.
Referenced by macro_define_command(), and parse_macro_definition().
|
static |
Definition at line 751 of file macrotab.c.
References check_for_redefinition(), macro_table::definitions, key_compare(), macro_definition::kind, macro_object_like, name, new_macro_definition(), new_macro_key(), macro_table::redef_ok, macro_definition::replacement, and macro_source_file::table.
Referenced by macro_define_object(), and macro_define_special().
| void macro_define_special | ( | struct macro_table * | table | ) |
Definition at line 794 of file macrotab.c.
References macro_define_object_internal(), macro_FILE, macro_LINE, macro_table::main_source, and macro_definition::table.
Referenced by macro_start_file().
| struct macro_source_file* macro_definition_location | ( | struct macro_source_file * | source, |
| int | line, | ||
| const char * | name, | ||
| int * | definition_line | ||
| ) |
Definition at line 944 of file macrotab.c.
References find_definition(), name, macro_key::start_file, and macro_key::start_line.
Referenced by info_macro_command().
| void macro_for_each | ( | struct macro_table * | table, |
| gdb::function_view< macro_callback_fn > | fn | ||
| ) |
Definition at line 993 of file macrotab.c.
References macro_table::definitions, macro_for_each_data::file, macro_for_each_data::fn, foreach_macro(), and macro_for_each_data::line.
Referenced by default_collect_symbol_completion_matches_break_on(), info_macro_command(), and macro_list_command().
| void macro_for_each_in_scope | ( | struct macro_source_file * | file, |
| int | line, | ||
| gdb::function_view< macro_callback_fn > | fn | ||
| ) |
Definition at line 1030 of file macrotab.c.
References macro_table::definitions, macro_for_each_data::file, macro_for_each_data::fn, foreach_macro_in_scope(), macro_for_each_data::line, and macro_source_file::table.
Referenced by default_collect_symbol_completion_matches_break_on(), info_macros_command(), and write_macro_definitions().
|
static |
Definition at line 96 of file macrotab.c.
References macro_table::obstack, and xfree().
Referenced by free_macro_source_file(), macro_tree_delete_key(), macro_tree_delete_value(), and new_macro_table().
| struct macro_source_file* macro_include | ( | struct macro_source_file * | source, |
| int | line, | ||
| const char * | included | ||
| ) |
Definition at line 450 of file macrotab.c.
References _, complaint, macro_source_file::included_at_line, macro_source_file::included_by, macro_source_file::includes, macro_source_fullname(), new_source_file(), macro_source_file::next_included, symfile_complaints, macro_source_file::table, and xfree().
Referenced by macro_start_file().
| struct macro_definition* macro_lookup_definition | ( | struct macro_source_file * | source, |
| int | line, | ||
| const char * | name | ||
| ) |
Definition at line 922 of file macrotab.c.
References find_definition(), fixup_definition(), macro_source_fullname(), name, and xfree().
Referenced by info_macro_command(), and standard_macro_lookup().
| struct macro_source_file* macro_lookup_inclusion | ( | struct macro_source_file * | source, |
| const char * | name | ||
| ) |
Definition at line 511 of file macrotab.c.
References macro_source_file::filename, macro_source_file::includes, inclusion_depth(), macro_lookup_inclusion(), name, and macro_source_file::next_included.
Referenced by macro_lookup_inclusion(), and sal_macro_scope().
| struct macro_source_file* macro_main | ( | struct macro_table * | t | ) |
Definition at line 433 of file macrotab.c.
References gdb_assert, and macro_table::main_source.
Referenced by macro_define_command(), macro_undef_command(), sal_macro_scope(), standard_macro_lookup(), and user_macro_scope().
| struct macro_source_file* macro_set_main | ( | struct macro_table * | t, |
| const char * | filename | ||
| ) |
Definition at line 419 of file macrotab.c.
References macro_source_file::filename, gdb_assert, macro_table::main_source, and new_source_file().
Referenced by _initialize_macroscope(), and macro_start_file().
| char* macro_source_fullname | ( | struct macro_source_file * | file | ) |
Definition at line 1090 of file macrotab.c.
References COMPUNIT_DIRNAME, macro_table::compunit_symtab, macro_source_file::filename, SLASH_STRING, and macro_source_file::table.
Referenced by check_for_redefinition(), foreach_macro(), foreach_macro_in_scope(), macro_include(), macro_lookup_definition(), macro_undef(), and show_pp_source_pos().
|
static |
Definition at line 336 of file macrotab.c.
References key_compare(), macro_key::name, macro_key::start_file, and macro_key::start_line.
Referenced by new_macro_table().
|
static |
Definition at line 369 of file macrotab.c.
References macro_bcache_free(), macro_free(), macro_key::name, and macro_key::table.
Referenced by new_macro_table().
|
static |
Definition at line 605 of file macrotab.c.
References macro_definition::argc, macro_definition::argv, macro_definition::kind, macro_bcache_free(), macro_free(), macro_function_like, macro_definition::replacement, and macro_definition::table.
Referenced by new_macro_table().
| void macro_undef | ( | struct macro_source_file * | source, |
| int | line, | ||
| const char * | name | ||
| ) |
Definition at line 831 of file macrotab.c.
References _, complaint, macro_table::definitions, macro_key::end_file, macro_key::end_line, macro_source_file::filename, find_definition(), if(), macro_source_fullname(), name, macro_key::start_file, macro_key::start_line, symfile_complaints, macro_source_file::table, and xfree().
Referenced by dwarf_decode_macro_bytes(), and macro_undef_command().
|
static |
Definition at line 552 of file macrotab.c.
References macro_definition::argc, gdb::argv, macro_definition::argv, macro_definition::kind, macro_alloc(), macro_bcache(), macro_bcache_str(), macro_function_like, memset(), macro_definition::replacement, and macro_definition::table.
Referenced by macro_define_function(), and macro_define_object_internal().
|
static |
Definition at line 350 of file macrotab.c.
References macro_key::end_file, macro_alloc(), macro_bcache_str(), memset(), name, macro_key::name, macro_key::start_file, macro_key::start_line, and macro_key::table.
Referenced by macro_define_function(), and macro_define_object_internal().
| struct macro_table* new_macro_table | ( | struct obstack * | obstack, |
| struct bcache * | b, | ||
| struct compunit_symtab * | cust | ||
| ) |
Definition at line 1048 of file macrotab.c.
References macro_table::bcache, macro_table::compunit_symtab, macro_table::definitions, macro_alloc(), macro_free(), macro_tree_compare(), macro_tree_delete_key(), macro_tree_delete_value(), macro_table::main_source, memset(), macro_table::obstack, macro_table::redef_ok, and XNEW.
Referenced by _initialize_macroscope(), and get_macro_table().
|
static |
Definition at line 384 of file macrotab.c.
References macro_source_file::filename, macro_source_file::includes, macro_alloc(), macro_bcache_str(), memset(), and macro_source_file::table.
Referenced by macro_include(), and macro_set_main().
1.8.14