diff options
author | Pedro Alves <palves@redhat.com> | 2017-11-28 12:44:41 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2017-11-28 12:58:43 +0000 |
commit | 3bbcaffd8021c4b43402419c8e4aed1c1272848f (patch) | |
tree | 7d5332c2b6d275085e1b95420c2efba723ce0c21 | |
parent | e623b677c1db4e5d3a7fe2a670b851c7e27d02fa (diff) | |
download | binutils-gdb-users/palves/cxx-breakpoint-improvements-v2.tar.gz |
MI and --qualifiedusers/palves/cxx-breakpoint-improvements-v2
-rw-r--r-- | gdb/mi/mi-cmd-break.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gdb/mi/mi-cmd-break.c b/gdb/mi/mi-cmd-break.c index 6cb1d710fde..75449e8af05 100644 --- a/gdb/mi/mi-cmd-break.c +++ b/gdb/mi/mi-cmd-break.c @@ -189,7 +189,8 @@ mi_cmd_break_insert_1 (int dprintf, const char *command, char **argv, int argc) IGNORE_COUNT_OPT, THREAD_OPT, PENDING_OPT, DISABLE_OPT, TRACEPOINT_OPT, EXPLICIT_SOURCE_OPT, EXPLICIT_FUNC_OPT, - EXPLICIT_LABEL_OPT, EXPLICIT_LINE_OPT + EXPLICIT_LABEL_OPT, EXPLICIT_LINE_OPT, + QUALIFIED_OPT, }; static const struct mi_opt opts[] = { @@ -205,6 +206,7 @@ mi_cmd_break_insert_1 (int dprintf, const char *command, char **argv, int argc) {"-function", EXPLICIT_FUNC_OPT, 1}, {"-label", EXPLICIT_LABEL_OPT, 1}, {"-line", EXPLICIT_LINE_OPT, 1}, + {"-qualified", QUALIFIED_OPT, 0}, { 0, 0, 0 } }; @@ -263,6 +265,9 @@ mi_cmd_break_insert_1 (int dprintf, const char *command, char **argv, int argc) is_explicit = 1; explicit_loc.line_offset = linespec_parse_line_offset (oarg); break; + case QUALIFIED_OPT: + explicit_loc.func_name_match_type = symbol_name_match_type::FULL; + break; } } @@ -337,8 +342,9 @@ mi_cmd_break_insert_1 (int dprintf, const char *command, char **argv, int argc) } else { - location = string_to_event_location_basic (&address, current_language, - symbol_name_match_type::WILD); + location + = string_to_event_location_basic (&address, current_language, + explicit_loc.func_name_match_type); if (*address) error (_("Garbage '%s' at end of location"), address); } |