diff options
author | alianwar <alianwar> | 2013-08-12 11:54:03 +0000 |
---|---|---|
committer | alianwar <alianwar> | 2013-08-12 11:54:03 +0000 |
commit | 166fb188213f811fe065b4d3f4549ab387e15d4f (patch) | |
tree | 1f68149a9203015a3b137359a800f0f5d574c5a5 /gdb/linespec.c | |
parent | 5a3a8ca11d33cf29608c6c6843421ced5e8bea9c (diff) | |
download | gdb-166fb188213f811fe065b4d3f4549ab387e15d4f.tar.gz |
? .deps
? Makefile
? ada-exp.c
? ada-lex.c
? build-gnulib
? c-exp.c
? config.cache
? config.h
? config.log
? config.status
? cp-name-parser.c
? f-exp.c
? gcore
? gdb
? gdb-gdb.gdb
? go-exp.c
? init.c
? jit-reader.h
? jv-exp.c
? m2-exp.c
? observer.h
? observer.inc
? p-exp.c
? stamp-h
? stamp-xml
? version.c
? xml-builtin.c
? data-directory/Makefile
? data-directory/python
? data-directory/stamp-python
? data-directory/stamp-syscalls
? data-directory/stamp-system-gdbinit
? data-directory/syscalls
? data-directory/system-gdbinit
? doc/Makefile
? gdbserver/.deps
? gdbserver/Makefile
? gdbserver/build-gnulib-gdbserver
? gdbserver/config.cache
? gdbserver/config.h
? gdbserver/config.log
? gdbserver/config.status
? gdbserver/gdbreplay
? gdbserver/gdbserver
? gdbserver/i386-avx-linux.c
? gdbserver/i386-linux.c
? gdbserver/i386-mmx-linux.c
? gdbserver/stamp-h
? gdbserver/stamp-xml
? gdbserver/version.c
? gdbserver/xml-builtin.c
? testsuite/Makefile
? testsuite/config.log
? testsuite/config.status
? testsuite/gdb.log
? testsuite/gdb.sum
? testsuite/site.exp
? testsuite/gdb.ada/Makefile
? testsuite/gdb.arch/Makefile
? testsuite/gdb.asm/Makefile
? testsuite/gdb.base/Makefile
? testsuite/gdb.btrace/Makefile
? testsuite/gdb.cell/Makefile
? testsuite/gdb.cp/Makefile
? testsuite/gdb.disasm/Makefile
? testsuite/gdb.dwarf2/Makefile
? testsuite/gdb.fortran/Makefile
? testsuite/gdb.go/Makefile
? testsuite/gdb.hp/Makefile
? testsuite/gdb.hp/gdb.aCC/Makefile
? testsuite/gdb.hp/gdb.base-hp/Makefile
? testsuite/gdb.hp/gdb.compat/Makefile
? testsuite/gdb.hp/gdb.defects/Makefile
? testsuite/gdb.hp/gdb.objdbg/Makefile
? testsuite/gdb.java/Makefile
? testsuite/gdb.linespec/Makefile
? testsuite/gdb.mi/Makefile
? testsuite/gdb.modula2/Makefile
? testsuite/gdb.multi/Makefile
? testsuite/gdb.objc/Makefile
? testsuite/gdb.opencl/Makefile
? testsuite/gdb.opt/Makefile
? testsuite/gdb.pascal/Makefile
? testsuite/gdb.python/Makefile
? testsuite/gdb.reverse/Makefile
? testsuite/gdb.server/Makefile
? testsuite/gdb.stabs/Makefile
? testsuite/gdb.threads/Makefile
? testsuite/gdb.threads/threadapply
? testsuite/gdb.trace/Makefile
? testsuite/gdb.xml/Makefile
RCS file: /cvs/src/src/gdb/.dir-locals.el,v
Working file: .dir-locals.el
head: 1.2
branch:
locks: strict
access list:
symbolic names:
gdb_7_6-2013-04-26-release: 1.2
gdb_7_6-branch: 1.2.0.2
gdb_7_6-2013-03-12-branchpoint: 1.2
gdb_7_5_1-2012-11-29-release: 1.1
gdb_7_5-2012-08-17-release: 1.1
gdb_7_5-branch: 1.1.0.2
gdb_7_5-2012-07-18-branchpoint: 1.1
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r-- | gdb/linespec.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/gdb/linespec.c b/gdb/linespec.c index 019a9f80a3f..45d7817c978 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -1646,7 +1646,7 @@ linespec_parse_basic (linespec_parser *parser) else { /* NAME was not a function or a method. So it must be a label - name. */ + name or user specified variable like "break foo.c:$zippo". */ labels = find_label_symbols (PARSER_STATE (parser), NULL, &symbols, name); if (labels != NULL) @@ -1657,6 +1657,22 @@ linespec_parse_basic (linespec_parser *parser) symbols = NULL; discard_cleanups (cleanup); } + else if (token.type == LSTOKEN_STRING + && *LS_TOKEN_STOKEN (token).ptr == '$') + { + /* User specified a convenience variable or history value. */ + PARSER_RESULT (parser)->line_offset + = linespec_parse_variable (PARSER_STATE (parser), name); + + if (PARSER_RESULT (parser)->line_offset.sign == LINE_OFFSET_UNKNOWN) + { + /* The user-specified variable was not valid. Do not + throw an error here. parse_linespec will do it for us. */ + PARSER_RESULT (parser)->function_name = name; + discard_cleanups (cleanup); + return; + } + } else { /* The name is also not a label. Abort parsing. Do not throw |