gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / expression.h
index 8db4b9d7e2639495804a09a428bdd6628e4a8d72..f1128c442483a742c1fdcee6772e6018df75adee 100644 (file)
@@ -1,6 +1,6 @@
 /* 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.
 
@@ -20,6 +20,8 @@
 #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
@@ -66,6 +68,7 @@ enum exp_opcode : uint8_t
 
 /* Language specific operators.  */
 #include "ada-operator.def"
+#include "fortran-operator.def"
 
 #undef OP
 
@@ -110,7 +113,9 @@ typedef gdb::unique_xmalloc_ptr<expression> expression_up;
 
 /* 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);
@@ -118,14 +123,10 @@ extern expression_up parse_expression_with_language (const char *string,
 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 */
 
This page took 0.025147 seconds and 4 git commands to generate.