Hi, This patch starts exposing these new features to users. This patch adds the ability to specify explicit locations via the CLI: (gdb) break -source foo.c -line +3 -function foo -label bar As a result of these new features, this patch (finally) includes tests! [I know you were all desperate to see some of those by now.] This includes, as previously requested, completer changes to support explicit locations. Documentation changes are deferred to their own patch (#9/9). Keith ChangeLog 2014-05-08 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. (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-08 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. * gdb.mi/mi-break.exp: Likewise. * gdb.mi/mi-dprintf.exp: Use variable to track tokens in commands. Add explicit location tests.