]>
Commit | Line | Data |
---|---|---|
b811d2c2 | 1 | # Copyright 2011-2020 Free Software Foundation, Inc. |
c91513d8 PP |
2 | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 3 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
15 | ||
16 | # This file is part of the gdb testsuite | |
17 | ||
18 | # Test casting, especially between class types or pointer-to-class | |
19 | # types. | |
20 | ||
21 | # This file is part of the gdb testsuite | |
22 | ||
c91513d8 PP |
23 | # |
24 | # test running programs | |
25 | # | |
26 | if { [skip_cplus_tests] } { continue } | |
27 | ||
a64d2530 | 28 | standard_testfile .cc |
c91513d8 | 29 | |
4c93b1db | 30 | if [get_compiler_info "c++"] { |
ae59b1da | 31 | return -1 |
c91513d8 PP |
32 | } |
33 | ||
34 | set additional_flags {-ffunction-sections -Wl,--gc-sections} | |
4d142eaa JK |
35 | if {[build_executable_from_specs $testfile.exp $testfile \ |
36 | {c++ additional_flags=-Wl,--gc-sections} \ | |
37 | $srcfile {debug c++ additional_flags=-ffunction-sections}]} { | |
5b362f04 | 38 | untested "failed to compile" |
c91513d8 PP |
39 | return -1 |
40 | } | |
41 | ||
4d142eaa JK |
42 | clean_restart $testfile |
43 | ||
c3b7b696 YQ |
44 | proc set_breakpoint_on_gcd_function {} { |
45 | # Single hex digit | |
46 | set xd {[0-9a-f]} | |
47 | ||
48 | # This accepts e.g. "Breakpoint 1 at 0x40968a" (fixed GDB) | |
49 | # but rejects e.g. "Breakpoint 1 at 0x4" (broken GDB). | |
50 | gdb_test "b [gdb_get_line_number "gdb break here"]" \ | |
51 | "Breakpoint \[0-9\] at 0x${xd}${xd}+: .*" | |
52 | } | |
53 | ||
54 | set_breakpoint_on_gcd_function | |
c91513d8 | 55 | |
c3b7b696 YQ |
56 | set saved_gdbflags $GDBFLAGS |
57 | set GDBFLAGS "$GDBFLAGS --readnow" | |
58 | clean_restart ${testfile} | |
59 | set GDBFLAGS $saved_gdbflags | |
60 | ||
61 | with_test_prefix "readnow" { | |
62 | set_breakpoint_on_gcd_function | |
63 | } |