3d50dd94cb
Stop on first linespec terminator instead of eating what we can. * linespec.c (is_linespec_boundary): New function. (name_end): Remove function. (keep_name_info): New parameter on_boundary, replace the body. (decode_line_1): Provide the parameter to keep_name_info. (decode_compound): Likewise. Drop the trailing java return type handling. Twice. gdb/testsuite/ Stop on first linespec terminator instead of eating what we can. * gdb.cp/minsym-fallback-main.cc (main): Call also C::operator (). * gdb.cp/minsym-fallback.cc (C::operator ()): Define. * gdb.cp/minsym-fallback.exp (break 'C::f()'): Change to ... (break C::f()): ... this one. (break C::operator()()): New test. * gdb.cp/minsym-fallback.h (C::operator ()): Declare. * gdb.java/jmisc.exp (break jmisc.main(java.lang.String[])int): New test.
40 lines
1.6 KiB
Text
40 lines
1.6 KiB
Text
# Copyright (C) 2011 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/>.
|
|
|
|
# The goal is to have class with full DWARF symbols present in one file having
|
|
# only a declaration there for the method. The method is then defined in
|
|
# a different file providing only ELF symbols.
|
|
|
|
set testfile minsym-fallback
|
|
set srcfile ${testfile}.cc
|
|
set srcmainfile ${testfile}-main.cc
|
|
set executable $testfile
|
|
set objfile $objdir/$subdir/${testfile}.o
|
|
set objmainfile $objdir/$subdir/${testfile}-main.o
|
|
set binfile $objdir/$subdir/$executable
|
|
if {[gdb_compile $srcdir/$subdir/$srcfile $objfile object {}] != ""
|
|
|| [gdb_compile $srcdir/$subdir/$srcmainfile $objmainfile object {debug}] != ""
|
|
|| [gdb_compile "$objfile $objmainfile" $binfile executable {}] != ""} {
|
|
untested ${testfile}.exp
|
|
return -1
|
|
}
|
|
|
|
clean_restart ${executable}
|
|
|
|
gdb_test_no_output "set breakpoint pending off"
|
|
|
|
gdb_test "break C::f()" {Breakpoint [0-9]+ at 0x[0-9a-f]+}
|
|
|
|
gdb_test "break C::operator()()" {Breakpoint [0-9]+ at 0x[0-9a-f]+}
|