This is also an update to this patch based on reviews of earlier patches. One additional hunk (mentioned below) was added to tests for when glibc debuginfo is installed. Keith Changes since last version: - use make_cleanup_delete_event_location - string_to_explicit_location remove SAVE_SPEC - Add additional completion test pattern for when glibc debuginfo installed ChangeLog 2014-05-29 Keith Seitz * completer.c: Include location.h. (enum match_type): New enum. (location_completer): Rename to ... (linespec_completer): ... this. (collect_explicit_location_matches): New function. (explicit_location_completer): New function. (location_completer): "New" function; handle linespec and explicit location completions. (complete_line_internal): Remove all location completer-specific handling. * linespec.c (linespec_lexer_lex_keyword): Export. (is_ada_operator): Ditto. (find_toplevel_char): Ditto. (linespec_parse_line_offset): Ditto. Issue error if STRING is not numerical. (gdb_get_linespec_parser_quote_characters): New function. * linespec.h (linespec_parse_line_offset): Declare. (location_completer): Declare. (get_gdb_linespec_parser_quote_characters): Declare. (is_ada_operator): Declare. (find_toplevel_char): Declare. * location.c (explicit_to_event_location): New function. (explicit_location_lex_one): New function. (string_to_explicit_location): New function. (string_to_event_location): Handle explicit locations. * location.h (explicit_to_event_location): Declare. (string_to_explicit_location): Declare. testsuite/ChangeLog 2014-05-29 Keith Seitz * gdb.base/save-bp.exp: Add tests for address locations and explicit locations, pending and not-pending, with and without conditions, including resolved pending breakpoints. * gdb.linespec/3explicit.c: New file. * gdb.linespec/cpexplicit.cc: New file. * gdb.linespec/cpexplicit.exp: New file. * gdb.linespec/explicit.c: New file. * gdb.linespec/explicit.exp: New file. * gdb.linespec/explicit2.c: New file. * gdb.linespec/ls-errs.exp: Add explicit location tests.