1 # Copyright (C) 1998, 1999 Free Software Foundation, Inc.
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 2 of the License, or
6 # (at your option) any later version.
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.
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 # Please email any bugs, comments, and/or additions to this file to:
18 # bug-gdb@prep.ai.mit.edu
21 # This file is part of the gdb testsuite
22 # file written by Elena Zannoni (ezannoni@cygnus.com)
24 # source files cttiadd.cc, cttiadd1.cc, cttiadd2.cc, cttiadd3.cc
32 if { [skip_cplus_tests] } { continue }
34 set testfile "cttiadd"
35 set srcfile ${testfile}.cc
36 set srcfile1 ${testfile}1.cc
37 set srcfile2 ${testfile}2.cc
38 set srcfile3 ${testfile}3.cc
39 set binfile ${objdir}/${subdir}/${testfile}
41 if [get_compiler_info ${binfile} "c++"] {
45 if { $gcc_compiled } then { continue }
47 #if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2} ${srcdir}/${subdir}/${srcfile3}" "${binfile}" executable {debug c++}] != "" } {
48 # gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
51 set cmdline "$CXX_FOR_TARGET ${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2} ${srcdir}/${subdir}/${srcfile3} -g -o ${binfile}"
53 remote_exec build $cmdline
57 gdb_reinitialize_dir $srcdir/$subdir
62 if ![runto_main] then {
63 perror "couldn't run to breakpoint"
70 -re "$decimal.*i = 2;.*$gdb_prompt $" {
73 -re ".*$gdb_prompt $" { fail "next " }
74 timeout { fail "next " }
80 -re "$decimal.*f = 4.5;.*$gdb_prompt $" {
83 -re ".*$gdb_prompt $" { fail "next " }
84 timeout { fail "next " }
89 -re "$decimal.*c = add\\(c, c\\);.*$gdb_prompt $" {
92 -re ".*$gdb_prompt $" { fail "next " }
93 timeout { fail "next " }
98 -re "$decimal.*i = add\\(i, i\\);.*$gdb_prompt $" {
101 -re ".*$gdb_prompt $" { fail "next " }
102 timeout { fail "next " }
107 -re "$decimal.*f = add\\(f, f\\);.*$gdb_prompt $" {
110 -re ".*$gdb_prompt $" { fail "next " }
111 timeout { fail "next " }
116 -re "$decimal.*add1\\(\\);.*$gdb_prompt $" {
119 -re ".*$gdb_prompt $" { fail "next " }
120 timeout { fail "next " }
125 -re ".$decimal = -62.*\r\n$gdb_prompt $" {
126 pass "print value of c"
128 -re ".*$gdb_prompt $" { fail "print value of c" }
129 timeout { fail "(timeout) print value of c" }
135 -re ".$decimal = 9\r\n$gdb_prompt $" {
136 pass "print value of f"
138 -re ".*$gdb_prompt $" { fail "print value of f" }
139 timeout { fail "(timeout) print value of f" }
145 -re ".$decimal = 4\r\n$gdb_prompt $" {
146 pass "print value of i"
148 -re ".*$gdb_prompt $" { fail "print value of i" }
149 timeout { fail "(timeout) print value of i" }
154 send_gdb "print add<int>(2,2)\n"
156 -re ".$decimal = 4\r\n$gdb_prompt $" {
157 pass "print value of add<int>(2,2)"
159 -re ".*$gdb_prompt $" { fail "print value of add<int>(2,2)" }
160 timeout { fail "(timeout) print value of add<int>(2,2)" }
163 send_gdb "print add<float>(2.3,2.3)\n"
165 -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
166 pass "print value of add<float>(2.3,2.3)"
168 -re ".*$gdb_prompt $" { fail "print value of add<float>(2.3,2.3)" }
169 timeout { fail "(timeout) print value of add<float>(2.3,2.3)" }
172 send_gdb "print add<char>('A','A')\n"
174 -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
175 pass "print value of add<char>('A','A')"
177 -re ".*$gdb_prompt $" { fail "print value of add<char>('A','A')" }
178 timeout { fail "(timeout) print value of add<char>('A','A')" }
182 send_gdb "print add2<int>(2,2)\n"
184 -re ".$decimal = 4\r\n$gdb_prompt $" {
185 pass "print value of add2<int>(2,2)"
187 -re ".*$gdb_prompt $" { fail "print value of add2<int>(2,2)" }
188 timeout { fail "(timeout) print value of add2<int>(2,2)" }
191 send_gdb "print add2<float>(2.3,2.3)\n"
193 -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
194 pass "print value of add2<float>(2.3,2.3)"
196 -re ".*$gdb_prompt $" { fail "print value of add2<float>(2.3,2.3)" }
197 timeout { fail "(timeout) print value of add2<float>(2.3,2.3)" }
200 send_gdb "print add2<char>('A','A')\n"
202 -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
203 pass "print value of add2<char>('A','A')"
205 -re ".*$gdb_prompt $" { fail "print value of add2<char>('A','A')" }
206 timeout { fail "(timeout) print value of add2<char>('A','A')" }
209 send_gdb "print add3<int>(2,2)\n"
211 -re ".$decimal = 4\r\n$gdb_prompt $" {
212 pass "print value of add3<int>(2,2)"
214 -re ".*$gdb_prompt $" { fail "print value of add3<int>(2,2)" }
215 timeout { fail "(timeout) print value of add3<int>(2,2)" }
218 send_gdb "print add3<float>(2.3,2.3)\n"
220 -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
221 pass "print value of add3<float>(2.3,2.3)"
223 -re ".*$gdb_prompt $" { fail "print value of add3<float>(2.3,2.3)" }
224 timeout { fail "(timeout) print value of add3<float>(2.3,2.3)" }
227 send_gdb "print add3<char>('A','A')\n"
229 -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
230 pass "print value of add3<char>('A','A')"
232 -re ".*$gdb_prompt $" { fail "print value of add3<char>('A','A')" }
233 timeout { fail "(timeout) print value of add3<char>('A','A')" }
236 send_gdb "print add4<int>(2,2)\n"
238 -re ".$decimal = 4\r\n$gdb_prompt $" {
239 pass "print value of add4<int>(2,2)"
241 -re ".*$gdb_prompt $" { fail "print value of add4<int>(2,2)" }
242 timeout { fail "(timeout) print value of add4<int>(2,2)" }
245 send_gdb "print add4<float>(2.3,2.3)\n"
247 -re ".$decimal = 4\\.5\[0-9\]+\r\n$gdb_prompt $" {
248 pass "print value of add4<float>(2.3,2.3)"
250 -re ".*$gdb_prompt $" { fail "print value of add4<float>(2.3,2.3)" }
251 timeout { fail "(timeout) print value of add4<float>(2.3,2.3)" }
254 send_gdb "print add4<char>('A','A')\n"
256 -re ".$decimal = -126.*202.\r\n$gdb_prompt $" {
257 pass "print value of add4<char>('A','A')"
259 -re ".*$gdb_prompt $" { fail "print value of add4<char>('A','A')" }
260 timeout { fail "(timeout) print value of add4<char>('A','A')" }