diff options
author | Doug Evans <xdje42@gmail.com> | 2014-12-23 07:21:10 -0800 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-12-23 07:21:10 -0800 |
commit | 08be3fe322244a3684d007d9282e225fc215f5d8 (patch) | |
tree | 083e30284643e51dbc49b6b3ab9a3e3a5a0e6e35 /gdb/symtab.h | |
parent | 4347085ad3e84bdc1f91e7121cedf3e79a9467fb (diff) | |
download | gdb-08be3fe322244a3684d007d9282e225fc215f5d8.zip gdb-08be3fe322244a3684d007d9282e225fc215f5d8.tar.gz gdb-08be3fe322244a3684d007d9282e225fc215f5d8.tar.bz2 |
Replace some symbol accessor macros with functions.
gdb/ChangeLog:
* symtab.h (SYMBOL_SYMTAB): Delete
(SYMBOL_OBJFILE): Delete.
(symbol_symtab, symbol_set_symtab): Declare.
(symbol_objfile, symbol_arch): Declare.
* symtab.c (symbol_symtab): Replaces SYMBOL_SYMTAB. All uses updated.
All references to symbol->symtab redirected through here.
(symbol_set_symtab): New function. All assignments to SYMBOL_SYMTAB
redirected through here.
(symbol_arch): New function.
(symbol_objfile): New function. Replaces SYMBOL_OBJFILE.
All uses updated.
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
symbol_arch.
* findvar.c (default_read_var_value): Call symbol_arch.
* guile/scm-frame.c (gdbscm_frame_block): Call symbol_objfile.
* jv-lang.c (add_class_symtab_symbol): Call symbol_arch.
* printcmd.c (address_info): Call symbol_arch.
* tracepoint.c (scope_info): Call symbol_arch.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r-- | gdb/symtab.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h index 1446201..d195222 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -775,12 +775,10 @@ extern const struct symbol_impl *symbol_impls; (symbol)->is_cplus_template_function #define SYMBOL_TYPE(symbol) (symbol)->type #define SYMBOL_LINE(symbol) (symbol)->line -#define SYMBOL_SYMTAB(symbol) (symbol)->symtab #define SYMBOL_COMPUTED_OPS(symbol) (SYMBOL_IMPL (symbol).ops_computed) #define SYMBOL_BLOCK_OPS(symbol) (SYMBOL_IMPL (symbol).ops_block) #define SYMBOL_REGISTER_OPS(symbol) (SYMBOL_IMPL (symbol).ops_register) #define SYMBOL_LOCATION_BATON(symbol) (symbol)->aux_value -#define SYMBOL_OBJFILE(symbol) SYMTAB_OBJFILE (SYMBOL_SYMTAB (symbol)) extern int register_symbol_computed_impl (enum address_class, const struct symbol_computed_ops *); @@ -791,6 +789,28 @@ extern int register_symbol_block_impl (enum address_class aclass, extern int register_symbol_register_impl (enum address_class, const struct symbol_register_ops *); +/* Return the OBJFILE of SYMBOL. + It is an error to call this if symbol.is_objfile_owned is false, which + only happens for architecture-provided types. */ + +extern struct objfile *symbol_objfile (const struct symbol *symbol); + +/* Return the ARCH of SYMBOL. */ + +extern struct gdbarch *symbol_arch (const struct symbol *symbol); + +/* Return the SYMTAB of SYMBOL. + It is an error to call this if symbol.is_objfile_owned is false, which + only happens for architecture-provided types. */ + +extern struct symtab *symbol_symtab (const struct symbol *symbol); + +/* Set the symtab of SYMBOL to SYMTAB. + It is an error to call this if symbol.is_objfile_owned is false, which + only happens for architecture-provided types. */ + +extern void symbol_set_symtab (struct symbol *symbol, struct symtab *symtab); + /* An instance of this type is used to represent a C++ template function. It includes a "struct symbol" as a kind of base class; users downcast to "struct template_symbol *" when needed. A symbol |