/* Definitions for expressions stored in reversed prefix form, for GDB.
- Copyright (C) 1986-2019 Free Software Foundation, Inc.
+ Copyright (C) 1986-2020 Free Software Foundation, Inc.
This file is part of GDB.
#if !defined (EXPRESSION_H)
#define EXPRESSION_H 1
+#include "gdbtypes.h"
+
/* While parsing expressions we need to track the innermost lexical block
that we encounter. In some situations we need to track the innermost
block just for symbols, and in other situations we want to track the
/* Language specific operators. */
#include "ada-operator.def"
+#include "fortran-operator.def"
#undef OP
/* From parse.c */
-extern expression_up parse_expression (const char *);
+class innermost_block_tracker;
+extern expression_up parse_expression (const char *,
+ innermost_block_tracker * = nullptr);
extern expression_up parse_expression_with_language (const char *string,
enum language lang);
extern struct type *parse_expression_for_completion
(const char *, gdb::unique_xmalloc_ptr<char> *, enum type_code *);
+class innermost_block_tracker;
extern expression_up parse_exp_1 (const char **, CORE_ADDR pc,
const struct block *, int,
- innermost_block_tracker_types
- = INNERMOST_BLOCK_FOR_SYMBOLS);
-
-/* For use by parsers; set if we want to parse an expression and
- attempt completion. */
-extern int parse_completion;
+ innermost_block_tracker * = nullptr);
/* From eval.c */