if (symbol_read_needs_frame (sym.symbol))
pstate->block_tracker->update (sym);
- pstate->push_new<var_value_operation> (sym.symbol,
- sym.block);
+ pstate->push_new<var_value_operation> (sym);
}
;
= find_gnu_ifunc (sym.symbol);
if (resolver.minsym != NULL)
pstate->push_new<var_msym_value_operation>
- (resolver.minsym, resolver.objfile);
+ (resolver);
else
- pstate->push_new<var_value_operation>
- (sym.symbol, sym.block);
+ pstate->push_new<var_value_operation> (sym);
}
else if ($1.is_a_field_of_this)
{
? find_function_alias_target (msymbol)
: NULL);
if (alias_target != NULL)
- pstate->push_new<var_value_operation>
- (alias_target, SYMBOL_BLOCK_VALUE (alias_target));
+ {
+ block_symbol bsym { alias_target,
+ SYMBOL_BLOCK_VALUE (alias_target) };
+ pstate->push_new<var_value_operation> (bsym);
+ }
else
pstate->push_new<var_msym_value_operation>
- (msymbol.minsym, msymbol.objfile);
+ (msymbol);
}
}
;
cpstate->type_stack.insert (pstate,
copy_name ($2.stoken).c_str ());
}
+ | '@' UNKNOWN_CPP_NAME
+ {
+ cpstate->type_stack.insert (pstate,
+ copy_name ($2.stoken).c_str ());
+ }
;
qualifier_seq_noopt:
single_qualifier
- | qualifier_seq single_qualifier
+ | qualifier_seq_noopt single_qualifier
;
qualifier_seq:
|| type->code () == TYPE_CODE_UNION
|| type->code () == TYPE_CODE_NAMESPACE
|| (type->code () == TYPE_CODE_ENUM
- && TYPE_DECLARED_CLASS (type)));
+ && type->is_declared_class ()));
}
/* Validate a parameter typelist. */