1 # Tests of overloaded operators resolution.
2 # Copyright 1998, 1999 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 # Please email any bugs, comments, and/or additions to this file to:
19 # bug-gdb@prep.ai.mit.edu
21 # written by Elena Zannoni (ezannoni@cygnus.com)
23 # source file "userdef.cc"
30 if { [skip_cplus_tests] } { continue }
32 set testfile "userdef"
33 set srcfile ${testfile}.cc
34 set binfile ${objdir}/${subdir}/${testfile}
36 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
37 gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
43 gdb_reinitialize_dir $srcdir/$subdir
47 if ![runto_main] then {
48 perror "couldn't run to breakpoint"
52 send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
55 -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
58 -re ".*$gdb_prompt $" { pass "up from marker1" }
59 timeout { fail "up from marker1" }
62 -re "$gdb_prompt $" { fail "continue to marker1" }
63 timeout { fail "(timeout) continue to marker1" }
67 setup_xfail "hppa*-*-*"
68 send_gdb "print one+two\n"
70 -re "FIXME.*$gdb_prompt $" {
71 pass "print value of one + two"
73 -re ".*$gdb_prompt $" { xfail "print value of one two" }
74 timeout { fail "(timeout) print value of one two" }
77 setup_xfail "hppa*-*-*"
78 send_gdb "print one-two\n"
80 -re ".*FIXME.*$gdb_prompt $" {
81 pass "print value of one - two"
83 -re ".*$gdb_prompt $" { xfail "print value of one - two" }
84 timeout { fail "(timeout) print value of one - two" }
87 setup_xfail "hppa*-*-*"
88 send_gdb "print one*two\n"
90 -re ".*FIXME.*$gdb_prompt $" {
91 pass "print value of one * two"
93 -re ".*$gdb_prompt $" { xfail "print value of one * two" }
94 timeout { fail "(timeout) print value of one * two" }
97 setup_xfail "hppa*-*-*"
98 send_gdb "print one/two\n"
100 -re ".*FIXME.*$gdb_prompt $" {
101 pass "print value of one / two"
103 -re ".*$gdb_prompt $" { xfail "print value of one / two" }
104 timeout { fail "(timeout) print value of one / two" }
107 setup_xfail "hppa*-*-*"
108 send_gdb "print one%two\n"
110 -re ".*FIXME.*$gdb_prompt $" {
111 pass "print value of one % two"
113 -re ".*$gdb_prompt $" { xfail "print value of one % two" }
114 timeout { fail "(timeout) print value of one % two" }
117 setup_xfail "hppa*-*-*"
118 send_gdb "print one&&two\n"
120 -re ".*FIXME.*$gdb_prompt $" {
121 pass "print value of one && two"
123 -re ".*$gdb_prompt $" { xfail "print value of one && two" }
124 timeout { fail "(timeout) print value of one && two" }
127 setup_xfail "hppa*-*-*"
128 send_gdb "print one||two\n"
130 -re ".*FIXME.*$gdb_prompt $" {
131 pass "print value of one|| two"
133 -re ".*$gdb_prompt $" { xfail "print value of one|| two" }
134 timeout { fail "(timeout) print value of one|| two" }
137 setup_xfail "hppa*-*-*"
138 send_gdb "print one&two\n"
140 -re ".*FIXME.*$gdb_prompt $" {
141 pass "print value of one & two"
143 -re ".*$gdb_prompt $" { xfail "print value of one & two" }
144 timeout { fail "(timeout) print value of one & two" }
147 setup_xfail "hppa*-*-*"
148 send_gdb "print one|two\n"
150 -re ".*FIXME.*$gdb_prompt $" {
151 pass "print value of one | two"
153 -re ".*$gdb_prompt $" { xfail "print value of one | two" }
154 timeout { fail "(timeout) print value of one | two" }
157 setup_xfail "hppa*-*-*"
158 send_gdb "print one ^ two\n"
160 -re ".*FIXME.*$gdb_prompt $" {
161 pass "print value of one ^ two"
163 -re ".*$gdb_prompt $" { xfail "print value of one ^ two" }
164 timeout { fail "(timeout) print value of one ^ two" }
168 setup_xfail "hppa*-*-*"
169 send_gdb "print one < two\n"
171 -re ".*FIXME.*$gdb_prompt $" {
172 pass "print value of one < two"
174 -re ".*$gdb_prompt $" { xfail "print value of one < two" }
175 timeout { fail "(timeout) print value of one < two" }
178 setup_xfail "hppa*-*-*"
179 send_gdb "print one <= two\n"
181 -re ".*FIXME.*$gdb_prompt $" {
182 pass "print value of one <= two"
184 -re ".*$gdb_prompt $" { xfail "print value of one <= two" }
185 timeout { fail "(timeout) print value of one <= two" }
188 setup_xfail "hppa*-*-*"
189 send_gdb "print one > two\n"
191 -re ".*FIXME.*$gdb_prompt $" {
192 pass "print value of one > two"
194 -re ".*$gdb_prompt $" { xfail "print value of one > two" }
195 timeout { fail "(timeout) print value of one > two" }
198 setup_xfail "hppa*-*-*"
199 send_gdb "print one >= two\n"
201 -re ".*FIXME.*$gdb_prompt $" {
202 pass "print value of one >= two"
204 -re ".*$gdb_prompt $" { xfail "print value of one >= two" }
205 timeout { fail "(timeout) print value of one >= two" }
209 setup_xfail "hppa*-*-*"
210 send_gdb "print one==two\n"
212 -re ".*FIXME.*$gdb_prompt $" {
213 pass "print value of one == two"
215 -re ".*$gdb_prompt $" { xfail "print value of one == two" }
216 timeout { fail "(timeout) print value of one == two" }
220 setup_xfail "hppa*-*-*"
221 send_gdb "print one!=two\n"
223 -re ".*FIXME.*$gdb_prompt $" {
224 pass "print value of one != two"
226 -re ".*$gdb_prompt $" { xfail "print value of one != two" }
227 timeout { fail "(timeout) print value of one != two" }
230 setup_xfail "hppa*-*-*"
231 send_gdb "print one<<31\n"
233 -re ".*FIXME.*$gdb_prompt $" {
234 pass "print value of one<<31"
236 -re ".*$gdb_prompt $" { xfail "print value of one<<31" }
237 timeout { fail "(timeout) print value of one<<31" }
240 setup_xfail "hppa*-*-*"
241 send_gdb "print one>>31\n"
243 -re ".*FIXME.*$gdb_prompt $" {
244 pass "print value of one>>31"
246 -re ".*$gdb_prompt $" { xfail "print value of one>>31" }
247 timeout { fail "(timeout) print value of one>>31" }
250 setup_xfail "hppa*-*-*"
251 send_gdb "print !one\n"
253 -re ".*FIXME.*$gdb_prompt $" {
254 pass "print value of !one"
256 -re ".*$gdb_prompt $" { xfail "print value of !one" }
257 timeout { fail "(timeout) print value of !one" }
260 setup_xfail "hppa*-*-*"
261 send_gdb "print ~one\n"
263 -re ".*FIXME.*$gdb_prompt $" {
264 pass "print value of ~one"
266 -re ".*$gdb_prompt $" { xfail "print value of ~one" }
267 timeout { fail "(timeout) print value of ~one" }
270 setup_xfail "hppa*-*-*"
271 send_gdb "print -one\n"
273 -re ".*FIXME.*$gdb_prompt $" {
274 pass "print value of -one"
276 -re ".*$gdb_prompt $" { xfail "print value of -one" }
277 timeout { fail "(timeout) print value of -one" }
280 setup_xfail "hppa*-*-*"
281 send_gdb "print one++\n"
283 -re ".*FIXME.*$gdb_prompt $" {
284 pass "print value of one++"
286 -re ".*$gdb_prompt $" { xfail "print value of one++" }
287 timeout { fail "(timeout) print value of one++" }
290 setup_xfail "hppa*-*-*"
291 send_gdb "print ++one\n"
293 -re ".*FIXME.*$gdb_prompt $" {
294 pass "print value of ++one>>31"
296 -re ".*$gdb_prompt $" { xfail "print value of ++one" }
297 timeout { fail "(timeout) print value of ++one" }
300 setup_xfail "hppa*-*-*"
301 send_gdb "print one--\n"
303 -re ".*.FIXME*$gdb_prompt $" {
304 pass "print value of one-->>31"
306 -re ".*$gdb_prompt $" { xfail "print value of one-->>31" }
307 timeout { fail "(timeout) print value of one-->>31" }
311 setup_xfail "hppa*-*-*"
312 send_gdb "print --one\n"
314 -re ".*FIXME.*$gdb_prompt $" {
315 pass "print value of --one"
317 -re ".*$gdb_prompt $" { xfail "print value of --one" }
318 timeout { fail "(timeout) print value of --one" }
321 setup_xfail "hppa*-*-*"
322 send_gdb "print one+=7\n"
324 -re ".*FIXME.*$gdb_prompt $" {
325 pass "print value of one+=7"
327 -re ".*$gdb_prompt $" { xfail "print value of one+=7" }
328 timeout { fail "(timeout) print value of one+=7" }
331 setup_xfail "hppa*-*-*"
332 send_gdb "print two=one\n"
334 -re ".*FIXME.*$gdb_prompt $" {
335 pass "print value of two=one"
337 -re ".*$gdb_prompt $" { xfail "print value of two=one" }
338 timeout { fail "(timeout) print value of two=one" }