PR22067, x86 check_relocs invalid read
[deliverable/binutils-gdb.git] / gdb / linespec.h
index 5ea8f6f57ff0b5b85438bd7b7fb18c1cf105afb1..27d237a46a30d796b0e0efc7492e1f98eacaae68 100644 (file)
@@ -19,6 +19,7 @@
 
 struct symtab;
 
+#include "location.h"
 #include "vec.h"
 
 /* Flags to pass to decode_line_1 and decode_line_full.  */
@@ -61,7 +62,6 @@ struct linespec_result
   linespec_result ()
     : special_display (0),
       pre_expanded (0),
-      location (NULL),
       sals (NULL)
   {
   }
@@ -83,8 +83,8 @@ struct linespec_result
   int pre_expanded;
 
   /* If PRE_EXPANDED is non-zero, this is set to the location entered
-     by the user.  This will be freed by destroy_linespec_result.  */
-  struct event_location *location;
+     by the user.  */
+  event_location_up location;
 
   /* The sals.  The vector will be freed by the destructor.  */
   VEC (linespec_sals) *sals;
@@ -184,6 +184,32 @@ extern const char *find_toplevel_char (const char *s, char c);
 
 extern void linespec_lex_to_end (char **stringp);
 
+extern const char * const linespec_keywords[];
+
+/* Complete a linespec.  */
+
+extern void linespec_complete (completion_tracker &tracker,
+                              const char *text);
+
+/* Complete a function symbol, in linespec mode.  If SOURCE_FILENAME
+   is non-NULL, limits completion to the list of functions defined in
+   source files that match SOURCE_FILENAME.  */
+
+extern void linespec_complete_function (completion_tracker &tracker,
+                                       const char *function,
+                                       const char *source_filename);
+
+/* Complete a label symbol, in linespec mode.  Only labels of
+   functions named FUNCTION_NAME are considered.  If SOURCE_FILENAME
+   is non-NULL, limits completion to labels of functions defined in
+   source files that match SOURCE_FILENAME.  */
+
+extern void linespec_complete_label (completion_tracker &tracker,
+                                    const struct language_defn *language,
+                                    const char *source_filename,
+                                    const char *function_name,
+                                    const char *label_name);
+
 /* Evaluate the expression pointed to by EXP_PTR into a CORE_ADDR,
    advancing EXP_PTR past any parsed text.  */
 
This page took 0.025443 seconds and 4 git commands to generate.