1 # Copyright 2011 Free Software Foundation, Inc.
3 # Contributed by Red Hat, originally written by Keith Seitz.
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.
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.
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/>.
18 # This file is part of the gdb testsuite.
20 if {[skip_cplus_tests]} { continue }
22 # Tests for c++/12750/12704
23 set testfile "anon-ns"
24 set srcfile $testfile.cc
26 if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
31 perror "couldn't run to breakpoint"
35 set ans {(anonymous namespace)}
36 set types {"void" "int" "char *"}
39 lappend methods "${ans}::doit1($t)"
40 lappend methods "${ans}::one::one($t)"
41 lappend methods "${ans}::A::doit2($t)"
42 lappend methods "${ans}::A::two::two($t)"
43 lappend methods "${ans}::A::${ans}::${ans}::doit3($t)"
44 lappend methods "${ans}::A::${ans}::${ans}::three::three($t)"
47 lappend methods "${ans}::one::doit(void)"
48 lappend methods "${ans}::A::two::doit(void)"
49 lappend methods "${ans}::A::${ans}::${ans}::three::doit(void)"
51 gdb_test_no_output "set listsize 1" ""
53 foreach test $methods {
54 # The result we expect is the source code name of the symbol,
55 # i.e., without "(anonymous namespace)".
56 regsub -all [string_to_regexp "${ans}::"] $test "" expected
57 set result ".*// [string_to_regexp $expected]"
59 gdb_test "list $test" $result
60 gdb_test "list '$test'" $result
61 if {[gdb_breakpoint $test]} {
64 if {[gdb_breakpoint '$test']} {