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