{
if (sym->aclass () == LOC_UNRESOLVED)
return true;
- else if (SYMBOL_IS_ARGUMENT (sym))
+ else if (sym->is_argument ())
arg_sym = sym;
else
{
{
if (sym->aclass () != LOC_UNRESOLVED)
{
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
arg_sym = sym;
else
{
{
if (sym->aclass () != LOC_UNRESOLVED)
{
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
arg_sym = sym;
else
{
sym->domain (), domain))
{
sym_found = sym;
- if (!SYMBOL_IS_ARGUMENT (sym))
+ if (!sym->is_argument ())
{
break;
}
we haven't fully initialized the block yet. */
ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (block), miter, sym)
{
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
nparams++;
}
if (nparams > 0)
if (iparams == nparams)
break;
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
{
ftype->field (iparams).set_type (SYMBOL_TYPE (sym));
TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0;
variable: name_not_typename ENTRY
{ struct symbol *sym = $1.sym.symbol;
- if (sym == NULL || !SYMBOL_IS_ARGUMENT (sym)
+ if (sym == NULL || !sym->is_argument ()
|| !symbol_read_needs_frame (sym))
error (_("@entry can be used only for function "
"parameters, not for \"%s\""),
case C_ARG:
sym->set_aclass_index (LOC_ARG);
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
add_symbol_to_list (sym, get_local_symbols ());
break;
case C_REGPARM:
sym->set_aclass_index (coff_register_index);
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
SYMBOL_VALUE (sym) = cs->c_value;
add_symbol_to_list (sym, get_local_symbols ());
break;
struct context_stack *curr
= cu->get_builder ()->get_current_context_stack ();
if (curr != nullptr && curr->name != nullptr)
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
attr = dwarf2_attr (die, DW_AT_location, cu);
if (attr != nullptr)
{
{ struct symbol *sym = $1.sym.symbol;
if (sym == NULL
- || !SYMBOL_IS_ARGUMENT (sym)
+ || !sym->is_argument ()
|| !symbol_read_needs_frame (sym))
error (_("@entry can be used only for function "
"parameters, not for \"%s\""),
= syscm_get_valid_symbol_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
const struct symbol *symbol = s_smob->symbol;
- return scm_from_bool (SYMBOL_IS_ARGUMENT (symbol));
+ return scm_from_bool (symbol->is_argument ());
}
/* (symbol-constant? <gdb:symbol>) -> boolean */
theclass = symbol->aclass ();
- return scm_from_bool (!SYMBOL_IS_ARGUMENT (symbol)
+ return scm_from_bool (!symbol->is_argument ()
&& (theclass == LOC_LOCAL || theclass == LOC_REGISTER
|| theclass == LOC_STATIC || theclass == LOC_COMPUTED
|| theclass == LOC_OPTIMIZED_OUT));
b = SYMBOL_BLOCK_VALUE (func);
ALL_BLOCK_SYMBOLS (b, iter, sym)
{
- if (!SYMBOL_IS_ARGUMENT (sym))
+ if (!sym->is_argument ())
continue;
if (argno == 0)
s = new_symbol (name);
s->set_domain (VAR_DOMAIN);
- SYMBOL_IS_ARGUMENT (s) = 1;
+ s->set_is_argument (1);
switch (sh->sc)
{
case scRegister:
if (iparams == nparams)
break;
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
{
ftype->field (iparams).set_type (SYMBOL_TYPE (sym));
TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0;
stb.puts ("@entry");
uiout->field_stream ("name", stb);
- if (what == all && SYMBOL_IS_ARGUMENT (arg->sym))
+ if (what == all && arg->sym->is_argument ())
uiout->field_signed ("arg", 1);
if (values == PRINT_SIMPLE_VALUES)
if (what == all)
print_me = 1;
else if (what == locals)
- print_me = !SYMBOL_IS_ARGUMENT (sym);
+ print_me = !sym->is_argument ();
else
- print_me = SYMBOL_IS_ARGUMENT (sym);
+ print_me = sym->is_argument ();
break;
}
if (print_me)
struct symbol *sym2;
struct frame_arg arg, entryarg;
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
sym2 = lookup_symbol_search_name (sym->search_name (),
block, VAR_DOMAIN).symbol;
else
&& type->code () != TYPE_CODE_UNION)
{
case PRINT_ALL_VALUES:
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
read_frame_arg (fp_opts, sym2, fi, &arg, &entryarg);
else
read_frame_local (sym2, fi, &arg);
in that objfile. */
regno = SYMBOL_REGISTER_OPS (sym)->register_number (sym, gdbarch);
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
printf_filtered (_("an argument in register %s"),
gdbarch_register_name (gdbarch, regno));
else
case LOC_REGISTER: /* register */
case LOC_COMPUTED: /* computed location */
if (type == MI_PRINT_LOCALS)
- print_me = ! SYMBOL_IS_ARGUMENT (sym);
+ print_me = ! sym->is_argument ();
else
- print_me = SYMBOL_IS_ARGUMENT (sym);
+ print_me = sym->is_argument ();
}
return print_me;
}
SYMPY_REQUIRE_VALID (self, symbol);
- return PyBool_FromLong (SYMBOL_IS_ARGUMENT (symbol));
+ return PyBool_FromLong (symbol->is_argument ());
}
static PyObject *
theclass = symbol->aclass ();
- return PyBool_FromLong (!SYMBOL_IS_ARGUMENT (symbol)
+ return PyBool_FromLong (!symbol->is_argument ()
&& (theclass == LOC_LOCAL || theclass == LOC_REGISTER
|| theclass == LOC_STATIC || theclass == LOC_COMPUTED
|| theclass == LOC_OPTIMIZED_OUT));
sym->set_aclass_index (LOC_ARG);
SYMBOL_VALUE (sym) = valu;
sym->set_domain (VAR_DOMAIN);
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
add_symbol_to_list (sym, get_local_symbols ());
if (gdbarch_byte_order (gdbarch) != BFD_ENDIAN_BIG)
/* Parameter which is in a register. */
SYMBOL_TYPE (sym) = read_type (&p, objfile);
sym->set_aclass_index (stab_register_index);
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
SYMBOL_VALUE (sym) = valu;
sym->set_domain (VAR_DOMAIN);
add_symbol_to_list (sym, get_local_symbols ());
/* Reference parameter */
SYMBOL_TYPE (sym) = read_type (&p, objfile);
sym->set_aclass_index (LOC_REF_ARG);
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
SYMBOL_VALUE (sym) = valu;
sym->set_domain (VAR_DOMAIN);
add_symbol_to_list (sym, get_local_symbols ());
/* Reference parameter which is in a register. */
SYMBOL_TYPE (sym) = read_type (&p, objfile);
sym->set_aclass_index (stab_regparm_index);
- SYMBOL_IS_ARGUMENT (sym) = 1;
+ sym->set_is_argument (1);
SYMBOL_VALUE (sym) = valu;
sym->set_domain (VAR_DOMAIN);
add_symbol_to_list (sym, get_local_symbols ());
register or on the stack) instead of the structure itself. */
if (gdbarch_stabs_argument_has_addr (gdbarch, SYMBOL_TYPE (sym))
- && SYMBOL_IS_ARGUMENT (sym))
+ && sym->is_argument ())
{
/* We have to convert LOC_REGISTER to LOC_REGPARM_ADDR (for
variables passed in a register). */
/* Keep track of the highest stack argument offset seen, and
skip over any kinds of symbols we don't care about. */
- if (!SYMBOL_IS_ARGUMENT (sym))
+ if (!sym->is_argument ())
continue;
if (!print_names)
b, VAR_DOMAIN).symbol;
gdb_assert (nsym != NULL);
if (nsym->aclass () == LOC_REGISTER
- && !SYMBOL_IS_ARGUMENT (nsym))
+ && !nsym->is_argument ())
{
/* There is a LOC_ARG/LOC_REGISTER pair. This means
that it was passed on the stack and loaded into a
case LOC_STATIC:
case LOC_COMPUTED:
case LOC_OPTIMIZED_OUT:
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
break;
if (sym->domain () == COMMON_BLOCK_DOMAIN)
break;
ALL_BLOCK_SYMBOLS (b, iter, sym)
{
/* Don't worry about things which aren't arguments. */
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
{
/* We have to look up the symbol because arguments can have
two entries (one a parameter, one a local) and the one we
break;
case LOC_REGISTER:
- if (SYMBOL_IS_ARGUMENT (symbol))
+ if (symbol->is_argument ())
fprintf_filtered (outfile, "parameter register %s",
plongest (SYMBOL_VALUE (symbol)));
else
: m_domain (UNDEF_DOMAIN),
m_aclass_index (0),
m_is_objfile_owned (1),
- is_argument (0),
+ m_is_argument (0),
is_inlined (0),
maybe_copied (0),
subclass (SYMBOL_NONE),
m_is_objfile_owned = is_objfile_owned;
}
+ bool is_argument () const
+ {
+ return m_is_argument;
+ }
+
+ void set_is_argument (bool is_argument)
+ {
+ m_is_argument = is_argument;
+ }
+
/* Data type of value */
struct type *type = nullptr;
/* Whether this is an argument. */
- unsigned is_argument : 1;
+ unsigned m_is_argument : 1;
/* Whether this is an inlined function (class LOC_BLOCK only). */
unsigned is_inlined : 1;
/* Note: There is no accessor macro for symbol.owner because it is
"private". */
-#define SYMBOL_IS_ARGUMENT(symbol) (symbol)->is_argument
#define SYMBOL_INLINED(symbol) (symbol)->is_inlined
#define SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION(symbol) \
(((symbol)->subclass) == SYMBOL_TEMPLATE)
regno = SYMBOL_REGISTER_OPS (sym)->register_number (sym,
gdbarch);
- if (SYMBOL_IS_ARGUMENT (sym))
+ if (sym->is_argument ())
printf_filtered ("an argument in register $%s",
gdbarch_register_name (gdbarch, regno));
else