/* Definitions for expressions stored in reversed prefix form, for GDB.
- Copyright (C) 1986, 1989, 1992, 1994, 2000, 2003, 2005, 2007-2012
- Free Software Foundation, Inc.
+ Copyright (C) 1986-2016 Free Software Foundation, Inc.
This file is part of GDB.
char string;
struct type *type;
struct internalvar *internalvar;
- struct block *block;
+ const struct block *block;
struct objfile *objfile;
};
/* From parse.c */
-extern struct expression *parse_expression (char *);
+extern struct expression *parse_expression (const char *);
-extern struct type *parse_field_expression (char *, char **);
+extern struct expression *parse_expression_with_language (const char *string,
+ enum language lang);
-extern struct expression *parse_exp_1 (char **, CORE_ADDR pc, struct block *,
- int);
+extern struct type *parse_expression_for_completion (const char *, char **,
+ enum type_code *);
+
+extern struct expression *parse_exp_1 (const char **, CORE_ADDR pc,
+ const struct block *, int);
/* For use by parsers; set if we want to parse an expression and
- attempt to complete a field name. */
-extern int in_parse_field;
+ attempt completion. */
+extern int parse_completion;
/* The innermost context required by the stack and register variables
we've encountered so far. To use this, set it to NULL, then call
parse_<whatever>, then look at it. */
-extern struct block *innermost_block;
+extern const struct block *innermost_block;
/* From eval.c */
type (inaccuracy: anything that is
listed as being in a register in
the function in which it was
- declared will be lval_register). */
+ declared will be lval_register).
+ Ideally this would not even read
+ target memory, but currently it
+ does in many situations. */
};
extern struct value *evaluate_subexp_standard