/* 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 "symtab.h" /* Needed for "struct block" type. */
+#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
/* 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 */