+2019-04-04 Tom Tromey <tom@tromey.com>
+
+ * rust-exp.y: Replace "parse_gdbarch" with method call.
+ * parse.c (write_dollar_variable, insert_type_address_space):
+ Replace "parse_gdbarch" with method call.
+ * p-exp.y (parse_type, yylex): Replace "parse_gdbarch" with method
+ call.
+ * objc-lang.c (end_msglist): Replace "parse_gdbarch" with method
+ call.
+ * m2-exp.y (parse_type, parse_m2_type, yylex): Replace
+ "parse_gdbarch" with method call.
+ * go-exp.y (parse_type, classify_name): Replace "parse_gdbarch"
+ with method call.
+ * f-exp.y (parse_type, parse_f_type, yylex): Replace
+ "parse_gdbarch" with method call.
+ * d-exp.y (parse_type, parse_d_type, lex_one_token): Replace
+ "parse_gdbarch" with method call.
+ * c-exp.y (parse_type, parse_number, classify_name): Replace
+ "parse_gdbarch" with method call.
+ * ada-lex.l: Replace "parse_gdbarch" with method call.
+ * ada-exp.y (parse_type, find_primitive_type, type_char)
+ (type_system_address): Replace "parse_gdbarch" with method call.
+
2019-04-04 Tom Tromey <tom@tromey.com>
* dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
#include "frame.h"
#include "block.h"
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
{
struct type *type;
type = language_lookup_primitive_type (parse_language (par_state),
- parse_gdbarch (par_state),
+ par_state->gdbarch (),
name);
if (type == NULL && strcmp ("system__address", name) == 0)
type = type_system_address (par_state);
type_char (struct parser_state *par_state)
{
return language_string_char_type (parse_language (par_state),
- parse_gdbarch (par_state));
+ par_state->gdbarch ());
}
static struct type *
{
struct type *type
= language_lookup_primitive_type (parse_language (par_state),
- parse_gdbarch (par_state),
+ par_state->gdbarch (),
"system__address");
return type != NULL ? type : parse_type (par_state)->builtin_data_ptr;
}
exp -= 1;
}
- if ((result >> (gdbarch_int_bit (parse_gdbarch (par_state))-1)) == 0)
+ if ((result >> (gdbarch_int_bit (par_state->gdbarch ())-1)) == 0)
yylval.typed_val.type = type_int (par_state);
- else if ((result >> (gdbarch_long_bit (parse_gdbarch (par_state))-1)) == 0)
+ else if ((result >> (gdbarch_long_bit (par_state->gdbarch ())-1)) == 0)
yylval.typed_val.type = type_long (par_state);
- else if (((result >> (gdbarch_long_bit (parse_gdbarch (par_state))-1)) >> 1) == 0)
+ else if (((result >> (gdbarch_long_bit (par_state->gdbarch ())-1)) >> 1) == 0)
{
/* We have a number representable as an unsigned integer quantity.
For consistency with the C treatment, we will treat it as an
assignment does the trick (no, it doesn't; read the reference manual).
*/
yylval.typed_val.type
- = builtin_type (parse_gdbarch (par_state))->builtin_unsigned_long;
+ = builtin_type (par_state->gdbarch ())->builtin_unsigned_long;
if (result & LONGEST_SIGN)
yylval.typed_val.val =
(LONGEST) (result & ~LONGEST_SIGN)
#include "typeprint.h"
#include "cp-abi.h"
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
{
CORE_ADDR theclass;
- theclass = lookup_objc_class (parse_gdbarch (pstate),
+ theclass = lookup_objc_class (pstate->gdbarch (),
copy_name ($2.stoken));
if (theclass == 0)
error (_("%s is not an ObjC Class"),
write_exp_elt_opcode (pstate, OP_LONG);
write_exp_elt_type (pstate, lookup_signed_typename
(parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"int"));
type = check_typedef (type);
{ $$ = $1.type; }
| INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"int"); }
| LONG
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| SHORT
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| LONG INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| LONG SIGNED_KEYWORD INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| LONG SIGNED_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| SIGNED_KEYWORD LONG INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| UNSIGNED LONG INT_KEYWORD
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| LONG UNSIGNED INT_KEYWORD
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| LONG UNSIGNED
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long"); }
| LONG LONG
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| LONG LONG INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| LONG LONG SIGNED_KEYWORD INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| LONG LONG SIGNED_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| SIGNED_KEYWORD LONG LONG
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| SIGNED_KEYWORD LONG LONG INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| UNSIGNED LONG LONG
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| UNSIGNED LONG LONG INT_KEYWORD
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| LONG LONG UNSIGNED
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| LONG LONG UNSIGNED INT_KEYWORD
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long long"); }
| SHORT INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| SHORT SIGNED_KEYWORD INT_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| SHORT SIGNED_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| UNSIGNED SHORT INT_KEYWORD
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| SHORT UNSIGNED
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| SHORT UNSIGNED INT_KEYWORD
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short"); }
| DOUBLE_KEYWORD
{ $$ = lookup_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"double",
NULL,
0); }
| LONG DOUBLE_KEYWORD
{ $$ = lookup_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long double",
NULL,
0); }
}
| UNSIGNED type_name
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
TYPE_NAME($2.type)); }
| UNSIGNED
{ $$ = lookup_unsigned_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"int"); }
| SIGNED_KEYWORD type_name
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
TYPE_NAME($2.type)); }
| SIGNED_KEYWORD
{ $$ = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"int"); }
/* It appears that this rule for templates is never
reduced; template recognition happens by lookahead
$$.stoken.ptr = "int";
$$.stoken.length = 3;
$$.type = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"int");
}
| LONG
$$.stoken.ptr = "long";
$$.stoken.length = 4;
$$.type = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"long");
}
| SHORT
$$.stoken.ptr = "short";
$$.stoken.length = 5;
$$.type = lookup_signed_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"short");
}
;
un = n >> 2;
if (long_p == 0
- && (un >> (gdbarch_int_bit (parse_gdbarch (par_state)) - 2)) == 0)
+ && (un >> (gdbarch_int_bit (par_state->gdbarch ()) - 2)) == 0)
{
high_bit
- = ((ULONGEST)1) << (gdbarch_int_bit (parse_gdbarch (par_state)) - 1);
+ = ((ULONGEST)1) << (gdbarch_int_bit (par_state->gdbarch ()) - 1);
/* A large decimal (not hex or octal) constant (between INT_MAX
and UINT_MAX) is a long or unsigned long, according to ANSI,
signed_type = parse_type (par_state)->builtin_int;
}
else if (long_p <= 1
- && (un >> (gdbarch_long_bit (parse_gdbarch (par_state)) - 2)) == 0)
+ && (un >> (gdbarch_long_bit (par_state->gdbarch ()) - 2)) == 0)
{
high_bit
- = ((ULONGEST)1) << (gdbarch_long_bit (parse_gdbarch (par_state)) - 1);
+ = ((ULONGEST)1) << (gdbarch_long_bit (par_state->gdbarch ()) - 1);
unsigned_type = parse_type (par_state)->builtin_unsigned_long;
signed_type = parse_type (par_state)->builtin_long;
}
{
int shift;
if (sizeof (ULONGEST) * HOST_CHAR_BIT
- < gdbarch_long_long_bit (parse_gdbarch (par_state)))
+ < gdbarch_long_long_bit (par_state->gdbarch ()))
/* A long long does not fit in a LONGEST. */
shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
else
- shift = (gdbarch_long_long_bit (parse_gdbarch (par_state)) - 1);
+ shift = (gdbarch_long_long_bit (par_state->gdbarch ()) - 1);
high_bit = (ULONGEST) 1 << shift;
unsigned_type = parse_type (par_state)->builtin_unsigned_long_long;
signed_type = parse_type (par_state)->builtin_long_long;
/* See if it's an ObjC classname. */
if (parse_language (par_state)->la_language == language_objc && !bsym.symbol)
{
- CORE_ADDR Class = lookup_objc_class (parse_gdbarch (par_state), copy);
+ CORE_ADDR Class = lookup_objc_class (par_state->gdbarch (), copy);
if (Class)
{
struct symbol *sym;
#include "charset.h"
#include "block.h"
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
-#define parse_d_type(ps) builtin_d_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
+#define parse_d_type(ps) builtin_d_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
yylval.tsym.type
= language_lookup_primitive_type (parse_language (par_state),
- parse_gdbarch (par_state), copy);
+ par_state->gdbarch (), copy);
if (yylval.tsym.type != NULL)
return TYPENAME;
#include <ctype.h>
#include <algorithm>
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
-#define parse_f_type(ps) builtin_f_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
+#define parse_f_type(ps) builtin_f_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
are the same size. So we shift it twice, with fewer bits
each time, for the same result. */
- if ((gdbarch_int_bit (parse_gdbarch (par_state))
- != gdbarch_long_bit (parse_gdbarch (par_state))
+ if ((gdbarch_int_bit (par_state->gdbarch ())
+ != gdbarch_long_bit (par_state->gdbarch ())
&& ((n >> 2)
- >> (gdbarch_int_bit (parse_gdbarch (par_state))-2))) /* Avoid
+ >> (gdbarch_int_bit (par_state->gdbarch ())-2))) /* Avoid
shift warning */
|| long_p)
{
high_bit = ((ULONGEST)1)
- << (gdbarch_long_bit (parse_gdbarch (par_state))-1);
+ << (gdbarch_long_bit (par_state->gdbarch ())-1);
unsigned_type = parse_type (par_state)->builtin_unsigned_long;
signed_type = parse_type (par_state)->builtin_long;
}
else
{
high_bit =
- ((ULONGEST)1) << (gdbarch_int_bit (parse_gdbarch (par_state)) - 1);
+ ((ULONGEST)1) << (gdbarch_int_bit (par_state->gdbarch ()) - 1);
unsigned_type = parse_type (par_state)->builtin_unsigned_int;
signed_type = parse_type (par_state)->builtin_int;
}
yylval.tsym.type
= language_lookup_primitive_type (parse_language (pstate),
- parse_gdbarch (pstate), tmp);
+ pstate->gdbarch (), tmp);
if (yylval.tsym.type != NULL)
return TYPENAME;
#include "charset.h"
#include "block.h"
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
expression_context_block); }
*/
| BYTE_KEYWORD
- { $$ = builtin_go_type (parse_gdbarch (pstate))
+ { $$ = builtin_go_type (pstate->gdbarch ())
->builtin_uint8; }
;
if (parsed_float)
{
const struct builtin_go_type *builtin_go_types
- = builtin_go_type (parse_gdbarch (par_state));
+ = builtin_go_type (par_state->gdbarch ());
/* Handle suffixes: 'f' for float32, 'l' for long double.
FIXME: This appears to be an extension -- do we want this? */
un = (ULONGEST)n >> 2;
if (long_p == 0
- && (un >> (gdbarch_int_bit (parse_gdbarch (par_state)) - 2)) == 0)
+ && (un >> (gdbarch_int_bit (par_state->gdbarch ()) - 2)) == 0)
{
high_bit
- = ((ULONGEST)1) << (gdbarch_int_bit (parse_gdbarch (par_state)) - 1);
+ = ((ULONGEST)1) << (gdbarch_int_bit (par_state->gdbarch ()) - 1);
/* A large decimal (not hex or octal) constant (between INT_MAX
and UINT_MAX) is a long or unsigned long, according to ANSI,
signed_type = parse_type (par_state)->builtin_int;
}
else if (long_p <= 1
- && (un >> (gdbarch_long_bit (parse_gdbarch (par_state)) - 2)) == 0)
+ && (un >> (gdbarch_long_bit (par_state->gdbarch ()) - 2)) == 0)
{
high_bit
- = ((ULONGEST)1) << (gdbarch_long_bit (parse_gdbarch (par_state)) - 1);
+ = ((ULONGEST)1) << (gdbarch_long_bit (par_state->gdbarch ()) - 1);
unsigned_type = parse_type (par_state)->builtin_unsigned_long;
signed_type = parse_type (par_state)->builtin_long;
}
{
int shift;
if (sizeof (ULONGEST) * HOST_CHAR_BIT
- < gdbarch_long_long_bit (parse_gdbarch (par_state)))
+ < gdbarch_long_long_bit (par_state->gdbarch ()))
/* A long long does not fit in a LONGEST. */
shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
else
- shift = (gdbarch_long_long_bit (parse_gdbarch (par_state)) - 1);
+ shift = (gdbarch_long_long_bit (par_state->gdbarch ()) - 1);
high_bit = (ULONGEST) 1 << shift;
unsigned_type = parse_type (par_state)->builtin_unsigned_long_long;
signed_type = parse_type (par_state)->builtin_long_long;
/* Try primitive types first so they win over bad/weird debug info. */
type = language_lookup_primitive_type (parse_language (par_state),
- parse_gdbarch (par_state),
+ par_state->gdbarch (),
copy);
if (type != NULL)
{
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
#include "block.h"
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
-#define parse_m2_type(ps) builtin_m2_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
+#define parse_m2_type(ps) builtin_m2_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
type
: TYPENAME
{ $$ = lookup_typename (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
copy_name ($1),
expression_context_block, 0); }
sym = lookup_symbol (tmp, expression_context_block, VAR_DOMAIN, 0).symbol;
if (sym && SYMBOL_CLASS (sym) == LOC_BLOCK)
return BLOCKNAME;
- if (lookup_typename (parse_language (pstate), parse_gdbarch (pstate),
+ if (lookup_typename (parse_language (pstate), pstate->gdbarch (),
copy_name (yylval.sval),
expression_context_block, 1))
return TYPENAME;
selname_chain = sel->next;
msglist_len = sel->msglist_len;
msglist_sel = sel->msglist_sel;
- selid = lookup_child_selector (parse_gdbarch (ps), p);
+ selid = lookup_child_selector (ps->gdbarch (), p);
if (!selid)
error (_("Can't find selector \"%s\""), p);
write_exp_elt_longcst (ps, selid);
#include "block.h"
#include "completer.h"
-#define parse_type(ps) builtin_type (parse_gdbarch (ps))
+#define parse_type(ps) builtin_type (ps->gdbarch ())
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
etc). */
struct value * val, * mark;
mark = value_mark ();
- val = value_of_internalvar (parse_gdbarch (pstate),
+ val = value_of_internalvar (pstate->gdbarch (),
intvar);
current_type = value_type (val);
value_release_to_mark (mark);
un = (ULONGEST)n >> 2;
if (long_p == 0
- && (un >> (gdbarch_int_bit (parse_gdbarch (par_state)) - 2)) == 0)
+ && (un >> (gdbarch_int_bit (par_state->gdbarch ()) - 2)) == 0)
{
high_bit
- = ((ULONGEST)1) << (gdbarch_int_bit (parse_gdbarch (par_state)) - 1);
+ = ((ULONGEST)1) << (gdbarch_int_bit (par_state->gdbarch ()) - 1);
/* A large decimal (not hex or octal) constant (between INT_MAX
and UINT_MAX) is a long or unsigned long, according to ANSI,
signed_type = parse_type (par_state)->builtin_int;
}
else if (long_p <= 1
- && (un >> (gdbarch_long_bit (parse_gdbarch (par_state)) - 2)) == 0)
+ && (un >> (gdbarch_long_bit (par_state->gdbarch ()) - 2)) == 0)
{
high_bit
- = ((ULONGEST)1) << (gdbarch_long_bit (parse_gdbarch (par_state)) - 1);
+ = ((ULONGEST)1) << (gdbarch_long_bit (par_state->gdbarch ()) - 1);
unsigned_type = parse_type (par_state)->builtin_unsigned_long;
signed_type = parse_type (par_state)->builtin_long;
}
{
int shift;
if (sizeof (ULONGEST) * HOST_CHAR_BIT
- < gdbarch_long_long_bit (parse_gdbarch (par_state)))
+ < gdbarch_long_long_bit (par_state->gdbarch ()))
/* A long long does not fit in a LONGEST. */
shift = (sizeof (ULONGEST) * HOST_CHAR_BIT - 1);
else
- shift = (gdbarch_long_long_bit (parse_gdbarch (par_state)) - 1);
+ shift = (gdbarch_long_long_bit (par_state->gdbarch ()) - 1);
high_bit = (ULONGEST) 1 << shift;
unsigned_type = parse_type (par_state)->builtin_unsigned_long_long;
signed_type = parse_type (par_state)->builtin_long_long;
lexptr++;
c = *lexptr++;
if (c == '\\')
- c = parse_escape (parse_gdbarch (pstate), &lexptr);
+ c = parse_escape (pstate->gdbarch (), &lexptr);
else if (c == '\'')
error (_("Empty character constant."));
break;
case '\\':
++tokptr;
- c = parse_escape (parse_gdbarch (pstate), &tokptr);
+ c = parse_escape (pstate->gdbarch (), &tokptr);
if (c == -1)
{
continue;
}
yylval.tsym.type
= language_lookup_primitive_type (parse_language (pstate),
- parse_gdbarch (pstate), tmp);
+ pstate->gdbarch (), tmp);
if (yylval.tsym.type != NULL)
{
free (uptokstart);
/* Handle tokens that refer to machine registers:
$ followed by a register name. */
- i = user_reg_map_name_to_regnum (parse_gdbarch (ps),
+ i = user_reg_map_name_to_regnum (ps->gdbarch (),
str.ptr + 1, str.length - 1);
if (i >= 0)
goto handle_register;
element.piece = tp_space_identifier;
insert_into_type_stack (slot, element);
- element.int_val = address_space_name_to_int (parse_gdbarch (pstate),
+ element.int_val = address_space_name_to_int (pstate->gdbarch (),
string);
insert_into_type_stack (slot, element);
}
extern int parser_debug;
-#define parse_gdbarch(ps) ((ps)->expout->gdbarch)
#define parse_language(ps) ((ps)->expout->language_defn)
struct parser_state
it as an expression_up -- passing ownership to the caller. */
ATTRIBUTE_UNUSED_RESULT expression_up release ();
+ /* Return the gdbarch that was passed to the constructor. */
+
+ struct gdbarch *gdbarch ()
+ {
+ return expout->gdbarch;
+ }
+
/* The size of the expression above. */
size_t expout_size;
/* Return the parser's gdbarch. */
struct gdbarch *arch () const
{
- return parse_gdbarch (pstate);
+ return pstate->gdbarch ();
}
/* A helper to look up a Rust type, or fail. This only works for
struct type *type;
type = language_lookup_primitive_type (parse_language (pstate),
- parse_gdbarch (pstate),
+ pstate->gdbarch (),
"()");
write_exp_elt_opcode (pstate, OP_LONG);