xref: /netbsd-src/external/gpl3/gdb/dist/gdb/testsuite/gdb.base/structs2.exp (revision d11b170b9000ada93db553723522a63d5deac310)
1# Copyright 1998-2013 Free Software Foundation, Inc.
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
16set prototypes 1
17set testfile "structs2"
18set srcfile ${testfile}.c
19set binfile ${objdir}/${subdir}/${testfile}
20
21# Create and source the file that provides information about the compiler
22# used to compile the test case.
23if [get_compiler_info] {
24    return -1;
25}
26
27# build the first test case
28if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
29    # built the second test case since we can't use prototypes
30    warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES"
31    if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } {
32	untested structs2.exp
33	return -1
34    }
35    set prototypes 0
36}
37
38# Start with a fresh gdb.
39
40gdb_start
41gdb_reinitialize_dir $srcdir/$subdir
42gdb_load ${binfile}
43
44gdb_test_no_output "set width 0"
45
46if { ![runto_main] } then {
47    gdb_suppress_tests
48}
49
50# Ok, we're finally ready to actually do our tests.
51
52gdb_test "f" \
53    ".*bkpt = 0.*" \
54    "structs2 sanity check"
55
56gdb_test "break param_reg" \
57    "Breakpoint .* at .*" \
58    "structs2 breakpoint set"
59
60if [test_compiler_info gcc-3-*] {
61  setup_xfail hppa*-* gcc/15860
62}
63gdb_test "continue" \
64    ".*pr_char=120.*pr_uchar=130.*pr_short=32000.*pr_ushort=33000.*bkpt = 1.*" \
65    "structs2 continue1"
66
67if [test_compiler_info gcc-3-*] {
68  setup_xfail hppa*-* gcc/15860
69}
70gdb_test "continue" \
71    ".*pr_char=-126.*pr_uchar=120.*pr_short=-32536.*pr_ushort=32000.*bkpt = 1.*" \
72    "structs2 continue2"
73
74# End of tests.
75
76gdb_stop_suppressing_tests
77
78return 0
79