cris: Check UNDEFWEAK_NO_DYNAMIC_RELOC
[deliverable/binutils-gdb.git] / gdb / expression.h
index 4952d8457e90c8ab6446e77aabebb89a164531e5..9e4ddf5ded2472a6a1224c5373e089dad0e1d9d6 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions for expressions stored in reversed prefix form, for GDB.
 
-   Copyright (C) 1986-2016 Free Software Foundation, Inc.
+   Copyright (C) 1986-2017 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -64,6 +64,7 @@ union exp_element
   {
     enum exp_opcode opcode;
     struct symbol *symbol;
+    struct minimal_symbol *msymbol;
     LONGEST longconst;
     DOUBLEST doubleconst;
     gdb_byte decfloatconst[16];
@@ -85,6 +86,8 @@ struct expression
     union exp_element elts[1];
   };
 
+typedef gdb::unique_xmalloc_ptr<expression> expression_up;
+
 /* Macros for converting between number of expression elements and bytes
    to store that many expression elements.  */
 
@@ -95,16 +98,16 @@ struct expression
 
 /* From parse.c */
 
-extern struct expression *parse_expression (const char *);
+extern expression_up parse_expression (const char *);
 
-extern struct expression *parse_expression_with_language (const char *string,
-                                                         enum language lang);
+extern expression_up parse_expression_with_language (const char *string,
+                                                    enum language lang);
 
 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);
+extern expression_up 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 completion.  */
@@ -144,12 +147,12 @@ 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 const char *op_name (struct expression *exp, enum exp_opcode opcode);
 
-extern char *op_string (enum exp_opcode);
+extern const char *op_string (enum exp_opcode);
 
 extern void dump_raw_expression (struct expression *,
-                                struct ui_file *, char *);
+                                struct ui_file *, const char *);
 extern void dump_prefix_expression (struct expression *, struct ui_file *);
 
 /* In an OP_RANGE expression, either bound could be empty, indicating
This page took 0.024991 seconds and 4 git commands to generate.