aboutsummaryrefslogtreecommitdiff
path: root/gdb/linespec.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-03-24 19:39:49 +0000
committerTom Tromey <tromey@redhat.com>2011-03-24 19:39:49 +0000
commit7efd8fc2d8d20fbed21a8e4271ab6768ddc75ea0 (patch)
tree374a931d5ec7ff0239de47f7c0f0a8f1de971356 /gdb/linespec.h
parent28d9b232b037c7d060b8a29309383eb813db55bf (diff)
downloadgdb-7efd8fc2d8d20fbed21a8e4271ab6768ddc75ea0.zip
gdb-7efd8fc2d8d20fbed21a8e4271ab6768ddc75ea0.tar.gz
gdb-7efd8fc2d8d20fbed21a8e4271ab6768ddc75ea0.tar.bz2
* symtab.c (decode_line_spec): Update.
* linespec.c (build_canonical_line_spec): Change type of 'canonical'. (decode_line_2, decode_line_1, decode_objc, decode_compound) (find_method, decode_all_digits, decode_dollar, decode_label) (symbol_found): Likewise. (init_linespec_result): New function. * breakpoint.c (struct captured_parse_breakpoint_args) <canonical_p>: New field, replaces addr_string_p. (create_breakpoints_sal): Add 'canonical' parameter, replacing 'addr_string'. (parse_breakpoint_sals): Likewise. (do_captured_parse_breakpoint): Update. (create_breakpoint): Use struct linespec_result. (until_break_command): Update. (breakpoint_re_set_one): Update. (decode_line_spec_1): Update. * linespec.h (struct linespec_result): New. (init_linespec_result): Declare.
Diffstat (limited to 'gdb/linespec.h')
-rw-r--r--gdb/linespec.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/gdb/linespec.h b/gdb/linespec.h
index 7201638..3366fc6 100644
--- a/gdb/linespec.h
+++ b/gdb/linespec.h
@@ -20,9 +20,27 @@
struct symtab;
+/* An instance of this may be filled in by decode_line_1. The caller
+ must call init_linespec_result to initialize it. */
+
+struct linespec_result
+{
+ /* If non-NULL, an array of canonical names for returned
+ symtab_and_line objects. The array has as many elements as the
+ `nelts' field in the symtabs_and_line returned by decode_line_1.
+ An element in the array may be NULL. The array and each non-NULL
+ element in it are allocated with xmalloc and must be freed by the
+ caller. */
+ char **canonical;
+};
+
+/* Initialize a linespec_result. */
+
+extern void init_linespec_result (struct linespec_result *);
+
extern struct symtabs_and_lines
decode_line_1 (char **argptr, int funfirstline,
struct symtab *default_symtab, int default_line,
- char ***canonical, int *not_found_ptr);
+ struct linespec_result *canonical, int *not_found_ptr);
#endif /* defined (LINESPEC_H) */