PR 17819: Fix --build-id=tree when using --compress-debug-sections.
[deliverable/binutils-gdb.git] / gdb / expression.h
index 45f336e2b283439a922b4c3499bba7fc33a6f97e..6af83317f39fedd5be2490e4a8f150c7788afc1f 100644 (file)
@@ -1,7 +1,6 @@
 /* Definitions for expressions stored in reversed prefix form, for GDB.
 
-   Copyright (C) 1986, 1989, 1992, 1994, 2000, 2003, 2005, 2007, 2008, 2009,
-   2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1986-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -73,7 +72,7 @@ union exp_element
     char string;
     struct type *type;
     struct internalvar *internalvar;
-    struct block *block;
+    const struct block *block;
     struct objfile *objfile;
   };
 
@@ -96,20 +95,25 @@ struct expression
 
 /* 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 **, 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 */
 
@@ -127,7 +131,10 @@ enum noside
                                   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
@@ -137,6 +144,8 @@ extern struct value *evaluate_subexp_standard
 
 extern void print_expression (struct expression *, struct ui_file *);
 
+extern char *op_name (struct expression *exp, enum exp_opcode opcode);
+
 extern char *op_string (enum exp_opcode);
 
 extern void dump_raw_expression (struct expression *,
This page took 0.030554 seconds and 4 git commands to generate.