if (syms[i].symbol->is_objfile_owned ())
symtab = symbol_symtab (syms[i].symbol);
- if (SYMBOL_LINE (syms[i].symbol) != 0 && symtab != NULL)
+ if (syms[i].symbol->line () != 0 && symtab != NULL)
{
printf_filtered ("[%d] ", i + first_choice);
ada_print_symbol_signature (gdb_stdout, syms[i].symbol,
&type_print_raw_options);
printf_filtered (_(" at %s:%d\n"),
symtab_to_filename_for_display (symtab),
- SYMBOL_LINE (syms[i].symbol));
+ syms[i].symbol->line ());
}
else if (is_enumeral
&& syms[i].symbol->type ()->name () != NULL)
{
gcc_type sym_type;
const char *filename = symbol_symtab (sym.symbol)->filename;
- unsigned short line = SYMBOL_LINE (sym.symbol);
+ unsigned short line = sym.symbol->line ();
context->error_symbol_once (sym.symbol);
/* Squash compiler warning. */
gcc_type sym_type = 0;
const char *filename = symbol_symtab (sym.symbol)->filename;
- unsigned short line = SYMBOL_LINE (sym.symbol);
+ unsigned short line = sym.symbol->line ();
instance->error_symbol_once (sym.symbol);
continue;
}
const char *filename = symbol_symtab (sym.symbol)->filename;
- unsigned int line = SYMBOL_LINE (sym.symbol);
+ unsigned int line = sym.symbol->line ();
physaddr = SYMBOL_VALUE_ADDRESS (sym.symbol);
instance->plugin ().build_decl
}
const char *filename = symbol_symtab (sym.symbol)->filename;
- unsigned int line = SYMBOL_LINE (sym.symbol);
+ unsigned int line = sym.symbol->line ();
CORE_ADDR address = BLOCK_START (SYMBOL_BLOCK_VALUE (sym.symbol));
const char *kind;
inlined_func ? DW_AT_call_line : DW_AT_decl_line,
cu);
if (attr != nullptr)
- SYMBOL_LINE (sym) = attr->constant_value (0);
+ sym->set_line (attr->constant_value (0));
attr = dwarf2_attr (die,
inlined_func ? DW_AT_call_file : DW_AT_decl_file,
gdb_assert (sym);
symtab_and_line sal;
- if (SYMBOL_LINE (sym) != 0)
+ if (sym->line () != 0)
{
sal.symtab = symbol_symtab (sym);
- sal.line = SYMBOL_LINE (sym);
+ sal.line = sym->line ();
}
else
/* If the symbol does not have a location, we don't know where
= syscm_get_valid_symbol_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
const struct symbol *symbol = s_smob->symbol;
- return scm_from_int (SYMBOL_LINE (symbol));
+ return scm_from_int (symbol->line ());
}
/* (symbol-value <gdb:symbol> [#:frame <gdb:frame>]) -> <gdb:value>
*result = {};
result->symtab = symbol_symtab (sym);
result->symbol = sym;
- result->line = SYMBOL_LINE (sym);
+ result->line = sym->line ();
result->pc = SYMBOL_VALUE_ADDRESS (sym);
result->pspace = result->symtab->pspace ();
result->explicit_pc = 1;
{
/* Nothing. */
}
- else if (SYMBOL_LINE (sym) != 0)
+ else if (sym->line () != 0)
{
/* We know its line number. */
*result = {};
result->symtab = symbol_symtab (sym);
result->symbol = sym;
- result->line = SYMBOL_LINE (sym);
+ result->line = sym->line ();
result->pc = SYMBOL_VALUE_ADDRESS (sym);
result->pspace = result->symtab->pspace ();
return 1;
{
ui_out_emit_tuple tuple_emitter (uiout, NULL);
- if (SYMBOL_LINE (sym) != 0)
- uiout->field_unsigned ("line", SYMBOL_LINE (sym));
+ if (sym->line () != 0)
+ uiout->field_unsigned ("line", sym->line ());
uiout->field_string ("name", sym->print_name ());
if (kind == FUNCTIONS_DOMAIN || kind == VARIABLES_DOMAIN)
SYMPY_REQUIRE_VALID (self, symbol);
- return gdb_py_object_from_longest (SYMBOL_LINE (symbol)).release ();
+ return gdb_py_object_from_longest (symbol->line ()).release ();
}
/* Implementation of gdb.Symbol.is_valid (self) -> Boolean.
{
/* GCC 2.x puts the line number in desc. SunOS apparently puts in the
number of bytes occupied by a type or object, which we ignore. */
- SYMBOL_LINE (sym) = desc;
+ sym->set_line (desc);
}
else
{
- SYMBOL_LINE (sym) = 0; /* unknown */
+ sym->set_line (0); /* unknown */
}
sym->set_language (get_current_subfile ()->language,
b = BLOCK_SUPERBLOCK (b);
}
if (function_block != NULL
- && SYMBOL_LINE (BLOCK_FUNCTION (function_block)) != 0)
+ && BLOCK_FUNCTION (function_block)->line () != 0)
{
- sal->line = SYMBOL_LINE (BLOCK_FUNCTION (function_block));
+ sal->line = BLOCK_FUNCTION (function_block)->line ();
sal->symtab = symbol_symtab (BLOCK_FUNCTION (function_block));
}
}
&& sym->domain () != MODULE_DOMAIN)
|| (kind == MODULES_DOMAIN
&& sym->domain () == MODULE_DOMAIN
- && SYMBOL_LINE (sym) != 0))))
+ && sym->line () != 0))))
{
if (result_set->size () < m_max_search_results)
{
s_filename));
}
- if (SYMBOL_LINE (sym) != 0)
- printf_filtered ("%d:\t", SYMBOL_LINE (sym));
+ if (sym->line () != 0)
+ printf_filtered ("%d:\t", sym->line ());
else
puts_filtered ("\t");
}
m_type = type;
}
+ unsigned short line () const
+ {
+ return m_line;
+ }
+
+ void set_line (unsigned short line)
+ {
+ m_line = line;
+ }
+
/* Data type of value */
struct type *m_type = nullptr;
to debug files longer than 64K lines? What about machine
generated programs? */
- unsigned short line = 0;
+ unsigned short m_line = 0;
/* An arbitrary data pointer, allowing symbol readers to record
additional information on a per-symbol basis. Note that this data
/* Note: There is no accessor macro for symbol.owner because it is
"private". */
-#define SYMBOL_LINE(symbol) (symbol)->line
#define SYMBOL_COMPUTED_OPS(symbol) ((symbol)->impl ().ops_computed)
#define SYMBOL_BLOCK_OPS(symbol) ((symbol)->impl ().ops_block)
#define SYMBOL_REGISTER_OPS(symbol) ((symbol)->impl ().ops_register)