This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] Linespecs with dollars
- From: Keith Seitz <kseitz at uglyboxes dot com>
- To: "gdb-patches at sourceware dot org ml" <gdb-patches at sourceware dot org>
- Date: Mon, 26 Mar 2012 15:32:43 -0700
- Subject: [RFA] Linespecs with dollars
Hi,
As recommended by Tom and Pedro, I'm splitting off the miscellaneous
patches from my linespec rewrite.
This patch adds tests for linespecs with dollar signs.
Keith
testsuite/ChangeLog
2012-03-26 Keith Seitz <keiths@redhat.com>
* gdb.linespec/ls-dollar.cc: New file.
* gdb.linespec/ls-dollar.exp: New test.
Index: testsuite/gdb.linespec/ls-dollar.cc
===================================================================
RCS file: testsuite/gdb.linespec/ls-dollar.cc
diff -N testsuite/gdb.linespec/ls-dollar.cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ testsuite/gdb.linespec/ls-dollar.cc 26 Mar 2012 22:25:56 -0000
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2012 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+static int $dollar_var = 0;
+
+int $dollar_func (void) { return $dollar_var; } /* dollar_func */
+
+int
+main (void)
+{
+ return $dollar_func ();
+}
Index: testsuite/gdb.linespec/ls-dollar.exp
===================================================================
RCS file: testsuite/gdb.linespec/ls-dollar.exp
diff -N testsuite/gdb.linespec/ls-dollar.exp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ testsuite/gdb.linespec/ls-dollar.exp 26 Mar 2012 22:25:56 -0000
@@ -0,0 +1,38 @@
+# Copyright 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Tests for dollar signs in linespecs
+
+set base "ls-dollar"
+set srcfile "$base.cc"
+set testfile "$base.exp"
+set exefile $base
+
+if {[skip_cplus_tests]} {
+ unsupported "skipping C++ tests"
+ return
+}
+
+if {[prepare_for_testing $testfile $exefile $srcfile \
+ {debug nowarnings c++}]} {
+ return -1
+}
+
+gdb_test_no_output "set listsize 1"
+
+gdb_test "list \$dollar_var" \
+ ".*static int [string_to_regexp {$dollar_var}] = 0;"
+gdb_test "break \$dollar_func" \
+ "Breakpoint $decimal at $hex: file .*$srcfile, line [gdb_get_line_number {dollar_func}]\\\."