cmpd-minsyms.exp revision 1.3
1# Copyright 2011-2015 Free Software Foundation, Inc.
2#
3# Contributed by Red Hat, originally written by Keith Seitz.
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 3 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18# This file is part of the gdb testsuite.
19
20if {[skip_cplus_tests]} { continue }
21
22# Tests for c++/12273, breakpoint/12803
23standard_testfile .cc
24
25# Do NOT compile with debug flag.
26if {[prepare_for_testing $testfile $testfile $srcfile {c++}]} {
27    return -1
28}
29
30# Before setting the language, try to set a few simple breakpoints
31set min_syms [list \
32		  "GDB<int>::a() const" \
33		  "GDB<int>::b() volatile" \
34		  "GDB<int>::c() const volatile"]
35foreach sym $min_syms {
36    set tst "setting breakpoint at '$sym'"
37    if {[gdb_breakpoint "'$sym'"]} {
38	pass $tst
39    }
40}
41
42
43gdb_test_no_output "set language c++"
44
45# A list of minimal symbol names to check.
46# Note that GDB<char>::even_harder<int>(char) is quoted and includes
47# the return type.  This is necessary because this is the demangled name
48# of the minimal symbol.
49set min_syms [list \
50		  "GDB<int>::operator ==" \
51		  "GDB<int>::operator==(GDB<int> const&)" \
52		  "GDB<char>::harder(char)" \
53		  "GDB<int>::harder(int)" \
54		  {"int GDB<char>::even_harder<int>(char)"} \
55		  "GDB<int>::simple()"]
56
57foreach sym $min_syms {
58    set tst "setting breakpoint at $sym"
59    if {[gdb_breakpoint $sym]} {
60	pass $tst
61    }
62}
63
64gdb_exit
65