daily update
[binutils-gdb.git] / gdb / parser-defs.h
index 86f3bdf10632b4e1003bc219efbe7e3db0155c39..c3f2607531548887841b40fe0c5538d09d9d40ab 100644 (file)
@@ -1,7 +1,6 @@
 /* Parser definitions for GDB.
 
-   Copyright (C) 1986, 1989-2000, 2002, 2007-2012 Free Software
-   Foundation, Inc.
+   Copyright (C) 1986-2014 Free Software Foundation, Inc.
 
    Modified from expread.y by the Department of Computer Science at the
    State University of New York at Buffalo.
@@ -26,6 +25,7 @@
 
 #include "doublest.h"
 #include "vec.h"
+#include "expression.h"
 
 struct block;
 
@@ -41,7 +41,7 @@ extern int expout_ptr;
 /* If this is nonzero, this block is used as the lexical context
    for symbol names.  */
 
-extern struct block *expression_context_block;
+extern const struct block *expression_context_block;
 
 /* If expression_context_block is non-zero, then this is the PC within
    the block that we want to evaluate expressions at.  When debugging
@@ -51,12 +51,12 @@ extern CORE_ADDR expression_context_pc;
 
 /* The innermost context required by the stack and register variables
    we've encountered so far.  */
-extern struct block *innermost_block;
+extern const struct block *innermost_block;
 
 /* The block in which the most recently discovered symbol was found.
    FIXME: Should be declared along with lookup_symbol in symtab.h; is not
    related specifically to parsing.  */
-extern struct block *block_found;
+extern const struct block *block_found;
 
 /* Number of arguments seen so far in innermost function call.  */
 extern int arglist_len;
@@ -67,7 +67,7 @@ extern int arglist_len;
 struct stoken
   {
     /* Pointer to first byte of char-string or first bit of bit-string.  */
-    char *ptr;
+    const char *ptr;
     /* Length of string in bytes for char-string or bits for bit-string.  */
     int length;
   };
@@ -191,17 +191,17 @@ void write_exp_string_vector (int type, struct stoken_vector *vec);
 
 extern void write_exp_bitstring (struct stoken);
 
-extern void write_exp_elt_block (struct block *);
+extern void write_exp_elt_block (const struct block *);
 
 extern void write_exp_elt_objfile (struct objfile *objfile);
 
-extern void write_exp_msymbol (struct minimal_symbol *);
+extern void write_exp_msymbol (struct bound_minimal_symbol);
 
 extern void write_dollar_variable (struct stoken str);
 
 extern void mark_struct_expression (void);
 
-extern char *find_template_name_end (char *);
+extern const char *find_template_name_end (const char *);
 
 extern void start_arglist (void);
 
@@ -264,11 +264,11 @@ extern int parse_c_float (struct gdbarch *gdbarch, const char *p, int len,
 /* During parsing of a C expression, the pointer to the next character
    is in this variable.  */
 
-extern char *lexptr;
+extern const char *lexptr;
 
 /* After a token has been recognized, this variable points to it.
    Currently used only for error reporting.  */
-extern char *prev_lexptr;
+extern const char *prev_lexptr;
 
 /* Current depth in parentheses within the expression.  */
 
@@ -335,7 +335,10 @@ struct exp_descriptor
                                                void *data),
                           void *data);
 
-    /* Name of this operator for dumping purposes.  */
+    /* Name of this operator for dumping purposes.
+       The returned value should never be NULL, even if EXP_OPCODE is
+       an unknown opcode (a string containing an image of the numeric
+       value of the opcode can be returned, for instance).  */
     char *(*op_name) (enum exp_opcode);
 
     /* Dump the rest of this (prefix) expression after the operator
@@ -369,4 +372,8 @@ extern void parser_fprintf (FILE *, const char *, ...) ATTRIBUTE_PRINTF (2, 3);
 
 extern int exp_uses_objfile (struct expression *exp, struct objfile *objfile);
 
+extern void mark_completion_tag (enum type_code, const char *ptr,
+                                int length);
+
 #endif /* PARSER_DEFS_H */
+