# Copyright 2011-2024 Free Software Foundation, Inc. # # Contributed by Red Hat, originally written by Keith Seitz. # # 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 . # This file is part of the gdb testsuite. require allow_cplus_tests # Tests for c++/12273, breakpoint/12803 standard_testfile .cc # Do NOT compile with debug flag. if {[prepare_for_testing "failed to prepare" $testfile $srcfile {c++}]} { return -1 } # Before setting the language, try to set a few simple breakpoints set min_syms [list \ "GDB::a() const" \ "GDB::b() volatile" \ "GDB::c() const volatile"] foreach sym $min_syms { set tst "setting breakpoint at '$sym'" if {[gdb_breakpoint "'$sym'"]} { pass $tst } } gdb_test_no_output "set language c++" # A list of minimal symbol names to check. # Note that GDB::even_harder(char) is quoted and includes # the return type. This is necessary because this is the demangled name # of the minimal symbol. set min_syms [list \ "GDB::operator ==" \ "GDB::operator==(GDB const&)" \ "GDB::harder(char)" \ "GDB::harder(int)" \ {"int GDB::even_harder(char)"} \ "GDB::simple()"] foreach sym $min_syms { set tst "setting breakpoint at $sym" if {[gdb_breakpoint $sym]} { pass $tst } } gdb_exit