1 # Copyright (C) 1988, 1990, 1991, 1992, 1994 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:
27 # test running programs
33 set srcfile ${srcdir}/$subdir/${testfile}.c
34 set binfile ${objdir}/${subdir}/${testfile}
35 if { [compile "${srcfile} -g -o ${binfile}"] != "" } {
36 perror "Couldn't compile ${srcfile}"
40 execute_anywhere "rm -f ${binfile}.ci"
41 if { [compile "-E ${srcdir}/${subdir}/compiler.c > ${binfile}.ci"] != "" } {
42 perror "Couldn't make ${testfile}.ci file"
48 gdb_reinitialize_dir $srcdir/$subdir
54 # set it up at a breakpoint so we can play with the variable values
57 if ![runto_main] then {
58 perror "couldn't run to breakpoint"
63 # test expressions with "char" types
65 send "set variable v_char=127\n"
67 -re "set.*$prompt $" {
68 send "print v_char == 0\n"
70 -re "print.*.\[0-9\]* = 0.*$prompt $" {
71 send "print v_char == 127\n"
73 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print char ==" }
74 -re "$prompt $" { fail "print char ==" }
75 timeout { fail "(timeout) print char ==" }
78 -re "$prompt $" { fail "print char ==" }
79 timeout { fail "(timeout) print char ==" }
82 -re "$prompt $" { fail "print char ==" }
83 timeout { fail "(timeout) print char ==" }
87 send "set variable v_char=127\n"
89 -re "set.*$prompt $" {
90 send "print v_char != 0\n"
92 -re "print.*.\[0-9\]* = 1.*$prompt $" {
93 send "print v_char != 127\n"
95 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print char !=" }
96 -re "$prompt $" { fail "print char !=" }
97 timeout { fail "(timeout) print char !=" }
100 -re "$prompt $" { fail "print char !=" }
101 timeout { fail "(timeout) print char !=" }
104 -re "$prompt $" { fail "print char !=" }
105 timeout { fail "(timeout) print char !=" }
109 send "set variable v_char=127\n"
111 -re "set.*$prompt $" {
112 send "print v_char < 0\n"
114 -re "print.*.\[0-9\]* = 0.*$prompt $" {
115 send "print v_char < 127\n"
117 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print char <" }
118 -re "$prompt $" { fail "print char <" }
119 timeout { fail "(timeout) print char <" }
122 -re "$prompt $" { fail "print char <" }
123 timeout { fail "(timeout) print char <" }
126 -re "$prompt $" { fail "print char <" }
127 timeout { fail "(timeout) print char <" }
131 send "set variable v_char=127\n"
133 -re "set.*$prompt $" {
134 send "print v_char > 0\n"
136 -re "print.*.\[0-9\]* = 1.*$prompt $" {
137 send "print v_char > 127\n"
139 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print char >" }
140 -re "$prompt $" { fail "print char >" }
141 timeout { fail "(timeout) print char >" }
144 -re "$prompt $" { fail "print char >" }
145 timeout { fail "(timeout) print char >" }
148 -re "$prompt $" { fail "print char >" }
149 timeout { fail "(timeout) print char >" }
154 # test expressions with "signed char" types
156 send "set variable v_signed_char=127\n"
158 -re "set.*$prompt $" {
159 send "print v_signed_char == 0\n"
161 -re "print.*.\[0-9\]* = 0.*$prompt $" {
162 send "print v_signed_char == 127\n"
164 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed char ==" }
165 -re "$prompt $" { fail "print signed char ==" }
166 timeout { fail "(timeout) print signed char ==" }
169 -re "$prompt $" { fail "print signed char ==" }
170 timeout { fail "(timeout) print signed char ==" }
173 -re "$prompt $" { fail "print signed char ==" }
174 timeout { fail "(timeout) print signed char ==" }
178 send "set variable v_signed_char=127\n"
180 -re "set.*$prompt $" {
181 send "print v_signed_char != 0\n"
183 -re "print.*.\[0-9\]* = 1.*$prompt $" {
184 send "print v_signed_char != 127\n"
186 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed char !=" }
187 -re "$prompt $" { fail "print signed char !=" }
188 timeout { fail "(timeout) print signed char !=" }
191 -re "$prompt $" { fail "print signed char !=" }
192 timeout { fail "(timeout) print signed char !=" }
195 -re "$prompt $" { fail "print signed char !=" }
196 timeout { fail "(timeout) print signed char !=" }
200 send "set variable v_signed_char=127\n"
202 -re "set.*$prompt $" {
203 send "print v_signed_char < 0\n"
205 -re "print.*.\[0-9\]* = 0.*$prompt $" {
206 send "print v_signed_char < 127\n"
208 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed char <" }
209 -re "$prompt $" { fail "print signed char <" }
210 timeout { fail "(timeout) print signed char <" }
213 -re "$prompt $" { fail "print signed char <" }
214 timeout { fail "(timeout) print signed char <" }
217 -re "$prompt $" { fail "print signed char <" }
218 timeout { fail "(timeout) print signed char <" }
222 send "set variable v_signed_char=127\n"
224 -re "set.*$prompt $" {
225 send "print v_signed_char > 0\n"
227 -re "print.*.\[0-9\]* = 1.*$prompt $" {
228 send "print v_signed_char > 127\n"
230 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed char >" }
231 -re "$prompt $" { fail "print signed char >" }
232 timeout { fail "(timeout) print signed char >" }
235 -re "$prompt $" { fail "print signed char >" }
236 timeout { fail "(timeout) print signed char >" }
239 -re "$prompt $" { fail "print signed char >" }
240 timeout { fail "(timeout) print signed char >" }
245 if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }
246 send "set variable v_signed_char=-1\n"
248 -re "set.*$prompt $" {
249 send "print v_signed_char == 0\n"
251 -re "print.*.\[0-9\]* = 0.*$prompt $" {
252 send "print v_signed_char == -1\n"
254 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed char == (minus)" }
255 -re "$prompt $" { fail "print signed char == (minus)" }
256 timeout { fail "(timeout) print signed char == (minus)" }
259 -re "$prompt $" { fail "print signed char == (minus)" }
260 timeout { fail "(timeout) print signed char == (minus)" }
263 -re "$prompt $" { fail "print signed char == (minus)" }
264 timeout { fail "(timeout) print signed char == (minus)" }
268 if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }
269 send "set variable v_signed_char=-1\n"
271 -re "set.*$prompt $" {
272 send "print v_signed_char != 0\n"
274 -re "print.*.\[0-9\]* = 1.*$prompt $" {
275 send "print v_signed_char != -1\n"
277 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed char != (minus)" }
278 -re "$prompt $" { fail "print signed char != (minus)" }
279 timeout { fail "(timeout) print signed char != (minus)" }
282 -re "$prompt $" { fail "print signed char != (minus)" }
283 timeout { fail "(timeout) print signed char != (minus)" }
286 -re "$prompt $" { fail "print signed char != (minus)" }
287 timeout { fail "(timeout) print signed char != (minus)" }
291 if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }
292 send "set variable v_signed_char=-1\n"
294 -re "set.*$prompt $" {
295 send "print v_signed_char < 0\n"
297 -re "print.*.\[0-9\]* = 1.*$prompt $" {
298 send "print v_signed_char < 127\n"
300 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed char < (minus)" }
301 -re "$prompt $" { fail "print signed char < (minus)" }
302 timeout { fail "(timeout) print signed char < (minus)" }
305 -re "$prompt $" { fail "print signed char < (minus)" }
306 timeout { fail "(timeout) print signed char < (minus)" }
309 -re "$prompt $" { fail "print signed char < (minus)" }
310 timeout { fail "(timeout) print signed char < (minus)" }
313 if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix4*" }
314 send "set variable v_signed_char=-1\n"
316 -re "set.*$prompt $" {
317 send "print v_signed_char > 0\n"
319 -re "print.*.\[0-9\]* = 0.*$prompt $" {
320 send "print v_signed_char > 127\n"
322 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed char > (minus)" }
323 -re "$prompt $" { fail "print signed char > (minus)" }
324 timeout { fail "(timeout) print signed char > (minus)" }
327 -re "$prompt $" { fail "print signed char > (minus)" }
328 timeout { fail "(timeout) print signed char > (minus)" }
331 -re "$prompt $" { fail "print signed char > (minus)" }
332 timeout { fail "(timeout) print signed char > (minus)" }
337 # test expressions with "unsigned char" types
339 send "set variable v_unsigned_char=127\n"
341 -re "set.*$prompt $" {
342 send "print v_unsigned_char == 0\n"
344 -re "print.*.\[0-9\]* = 0.*$prompt $" {
345 send "print v_unsigned_char == 127\n"
347 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned char ==" }
348 -re "$prompt $" { fail "print unsigned char ==" }
349 timeout { fail "(timeout) print unsigned char ==" }
352 -re "$prompt $" { fail "print unsigned char ==" }
353 timeout { fail "(timeout) print unsigned char ==" }
356 -re "$prompt $" { fail "print unsigned char ==" }
357 timeout { fail "(timeout) print unsigned char ==" }
361 send "set variable v_unsigned_char=127\n"
363 -re "set.*$prompt $" {
364 send "print v_unsigned_char != 0\n"
366 -re "print.*.\[0-9\]* = 1.*$prompt $" {
367 send "print v_unsigned_char != 127\n"
369 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned char !=" }
370 -re "$prompt $" { fail "print unsigned char !=" }
371 timeout { fail "(timeout) print unsigned char !=" }
374 -re "$prompt $" { fail "print unsigned char !=" }
375 timeout { fail "(timeout) print unsigned char !=" }
378 -re "$prompt $" { fail "print unsigned char !=" }
379 timeout { fail "(timeout) print unsigned char !=" }
383 send "set variable v_unsigned_char=127\n"
385 -re "set.*$prompt $" {
386 send "print v_unsigned_char < 0\n"
388 -re "print.*.\[0-9\]* = 0.*$prompt $" {
389 send "print v_unsigned_char < 127\n"
391 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned char <" }
392 -re "$prompt $" { fail "print unsigned char <" }
393 timeout { fail "(timeout) print unsigned char <" }
396 -re "$prompt $" { fail "print unsigned char <" }
397 timeout { fail "(timeout) print unsigned char <" }
400 -re "$prompt $" { fail "print unsigned char <" }
401 timeout { fail "(timeout) print unsigned char <" }
405 send "set variable v_unsigned_char=127\n"
407 -re "set.*$prompt $" {
408 send "print v_unsigned_char > 0\n"
410 -re "print.*.\[0-9\]* = 1.*$prompt $" {
411 send "print v_unsigned_char > 127\n"
413 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned char >" }
414 -re "$prompt $" { fail "print unsigned char >" }
415 timeout { fail "(timeout) print unsigned char >" }
418 -re "$prompt $" { fail "print unsigned char >" }
419 timeout { fail "(timeout) print unsigned char >" }
422 -re "$prompt $" { fail "print unsigned char >" }
423 timeout { fail "(timeout) print unsigned char >" }
428 # FIXME: gdb mishandles the cast (unsigned char) on the i960, so I've
429 # set up an expected failure for this case.
430 send "set variable v_unsigned_char=~0\n"
432 -re "set.*$prompt $" {
433 send "print v_unsigned_char == 0\n"
435 -re "print.*.\[0-9\]* = 0.*$prompt $" {
436 send "print v_unsigned_char == ~0\n"
438 -re "print.*.\[0-9\]* = 0.*$prompt $" {
439 setup_xfail "i960-*-*" 1821
440 send "print v_unsigned_char == (unsigned char)~0\n"
442 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned char == (~0)" }
443 -re "$prompt $" { fail "print unsigned char == (~0)" }
444 timeout { fail "(timeout) print unsigned char == (~0)" }
447 -re "$prompt $" { fail "print unsigned char == (~0)" }
448 timeout { fail "(timeout) print unsigned char == (~0)" }
451 -re "$prompt $" { fail "print unsigned char == (~0)" }
452 timeout { fail "(timeout) print unsigned char == (~0)" }
455 -re "$prompt $" { fail "print unsigned char == (~0)" }
456 timeout { fail "(timeout) print unsigned char == (~0)" }
460 # FIXME: gdb mishandles the cast (unsigned char) on the i960, so I've
461 # set up an expected failure for this case.
462 send "set variable v_unsigned_char=~0\n"
464 -re "set.*$prompt $" {
465 send "print v_unsigned_char != 0\n"
467 -re "print.*.\[0-9\]* = 1.*$prompt $" {
468 setup_xfail "i960-*-*" 1821
469 send "print v_unsigned_char != (unsigned char)~0\n"
471 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned char != (~0)" }
472 -re "$prompt $" { fail "print unsigned char != (~0)" }
473 timeout { fail "(timeout) print unsigned char != (~0)" }
476 -re "$prompt $" { fail "print unsigned char != (~0)" }
477 timeout { fail "(timeout) print unsigned char != (~0)" }
480 -re "$prompt $" { fail "print unsigned char != (~0)" }
481 timeout { fail "(timeout) print unsigned char != (~0)" }
485 send "set variable v_unsigned_char=~0\n"
487 -re "set.*$prompt $" {
488 send "print v_unsigned_char < 0\n"
490 -re "print.*.\[0-9\]* = 0.*$prompt $" {
491 send "print v_unsigned_char < 127\n"
493 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned char < (~0)" }
494 -re "$prompt $" { fail "print unsigned char < (~0)" }
495 timeout { fail "(timeout) print unsigned char < (~0)" }
498 -re "$prompt $" { fail "print unsigned char < (~0)" }
499 timeout { fail "(timeout) print unsigned char < (~0)" }
502 -re "$prompt $" { fail "print unsigned char < (~0)" }
503 timeout { fail "(timeout) print unsigned char < (~0)" }
507 send "set variable v_unsigned_char=~0\n"
509 -re "set.*$prompt $" {
510 send "print v_unsigned_char > 0\n"
512 -re "print.*.\[0-9\]* = 1.*$prompt $" {
513 send "print v_unsigned_char > 127\n"
515 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned char > (~0)" }
516 -re "$prompt $" { fail "print unsigned char > (~0)" }
517 timeout { fail "(timeout) print unsigned char > (~0)" }
520 -re "$prompt $" { fail "print unsigned char > (~0)" }
521 timeout { fail "(timeout) print unsigned char > (~0)" }
524 -re "$prompt $" { fail "print unsigned char > (~0)" }
525 timeout { fail "(timeout) print unsigned char > (~0)" }
530 # test expressions with "short" types
532 send "set variable v_short=0x7FFF\n"
534 -re "set.*$prompt $" {
535 send "print v_short == 0\n"
537 -re "print.*.\[0-9\]* = 0.*$prompt $" {
538 send "print v_short == 0x7FFF\n"
540 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed short ==" }
541 -re "$prompt $" { fail "print signed short ==" }
542 timeout { fail "(timeout) print signed short ==" }
545 -re "$prompt $" { fail "print signed short ==" }
546 timeout { fail "(timeout) print signed short ==" }
549 -re "$prompt $" { fail "print signed short ==" }
550 timeout { fail "(timeout) print signed short ==" }
554 send "set variable v_short=0x7FFF\n"
556 -re "set.*$prompt $" {
557 send "print v_short != 0\n"
559 -re "print.*.\[0-9\]* = 1.*$prompt $" {
560 send "print v_short != 0x7FFF\n"
562 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed short !=" }
563 -re "$prompt $" { fail "print signed short !=" }
564 timeout { fail "(timeout) print signed short !=" }
567 -re "$prompt $" { fail "print signed short !=" }
568 timeout { fail "(timeout) print signed short !=" }
571 -re "$prompt $" { fail "print signed short !=" }
572 timeout { fail "(timeout) print signed short !=" }
576 send "set variable v_short=0x7FFF\n"
578 -re "set.*$prompt $" {
579 send "print v_short < 0\n"
581 -re "print.*.\[0-9\]* = 0.*$prompt $" {
582 send "print v_short < 0x7FFF\n"
584 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed short <" }
585 -re "$prompt $" { fail "print signed short <" }
586 timeout { fail "(timeout) print signed short <" }
589 -re "$prompt $" { fail "print signed short <" }
590 timeout { fail "(timeout) print signed short <" }
593 -re "$prompt $" { fail "print signed short <" }
594 timeout { fail "(timeout) print signed short <" }
598 send "set variable v_short=0x7FFF\n"
600 -re "set.*$prompt $" {
601 send "print v_short > 0\n"
603 -re "print.*.\[0-9\]* = 1.*$prompt $" {
604 send "print v_short > 0x7FFF\n"
606 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed short >" }
607 -re "$prompt $" { fail "print signed short >" }
608 timeout { fail "(timeout) print signed short >" }
611 -re "$prompt $" { fail "print signed short >" }
612 timeout { fail "(timeout) print signed short >" }
615 -re "$prompt $" { fail "print signed short >" }
616 timeout { fail "(timeout) print signed short >" }
621 send "set variable v_short=-1\n"
623 -re "set.*$prompt $" {
624 send "print v_short == 0\n"
626 -re "print.*.\[0-9\]* = 0.*$prompt $" {
627 send "print v_short == -1\n"
629 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed short == (minus)" }
630 -re "$prompt $" { fail "print signed short == (minus)" }
631 timeout { fail "(timeout) print signed short == (minus)" }
634 -re "$prompt $" { fail "print signed short == (minus)" }
635 timeout { fail "(timeout) print signed short == (minus)" }
638 -re "$prompt $" { fail "print signed short == (minus)" }
639 timeout { fail "(timeout) print signed short == (minus)" }
643 send "set variable v_short=-1\n"
645 -re "set.*$prompt $" {
646 send "print v_short != 0\n"
648 -re "print.*.\[0-9\]* = 1.*$prompt $" {
649 send "print v_short != -1\n"
651 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed short != (minus)" }
652 -re "$prompt $" { fail "print signed short != (minus)" }
653 timeout { fail "(timeout) print signed short != (minus)" }
656 -re "$prompt $" { fail "print signed short != (minus)" }
657 timeout { fail "(timeout) print signed short != (minus)" }
660 -re "$prompt $" { fail "print signed short != (minus)" }
661 timeout { fail "(timeout) print signed short != (minus)" }
665 send "set variable v_short=-1\n"
667 -re "set.*$prompt $" {
668 send "print v_short < 0\n"
670 -re "print.*.\[0-9\]* = 1.*$prompt $" {
671 send "print v_short < 0x7FFF\n"
673 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed short < (minus)" }
674 -re "$prompt $" { fail "print signed short < (minus)" }
675 timeout { fail "(timeout) print signed short < (minus)" }
678 -re "$prompt $" { fail "print signed short < (minus)" }
679 timeout { fail "(timeout) print signed short < (minus)" }
682 -re "$prompt $" { fail "print signed short < (minus)" }
683 timeout { fail "(timeout) print signed short < (minus)" }
687 send "set variable v_short=-1\n"
689 -re "set.*$prompt $" {
690 send "print v_short > 0\n"
692 -re "print.*.\[0-9\]* = 0.*$prompt $" {
693 send "print v_short > 0x7FFF\n"
695 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed short > (minus)" }
696 -re "$prompt $" { fail "print signed short > (minus)" }
697 timeout { fail "(timeout) print signed short > (minus)" }
700 -re "$prompt $" { fail "print signed short > (minus)" }
701 timeout { fail "(timeout) print signed short > (minus)" }
704 -re "$prompt $" { fail "print signed short > (minus)" }
705 timeout { fail "(timeout) print signed short > (minus)" }
710 # test expressions with "signed short" types
712 send "set variable v_signed_short=0x7FFF\n"
714 -re "set.*$prompt $" {
715 send "print v_signed_short == 0\n"
717 -re "print.*.\[0-9\]* = 0.*$prompt $" {
718 send "print v_signed_short == 0x7FFF\n"
720 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed short ==" }
721 -re "$prompt $" { fail "print signed signed short ==" }
722 timeout { fail "(timeout) print signed signed short ==" }
725 -re "$prompt $" { fail "print signed signed short ==" }
726 timeout { fail "(timeout) print signed signed short ==" }
729 -re "$prompt $" { fail "print signed signed short ==" }
730 timeout { fail "(timeout) print signed signed short ==" }
734 send "set variable v_signed_short=0x7FFF\n"
736 -re "set.*$prompt $" {
737 send "print v_signed_short != 0\n"
739 -re "print.*.\[0-9\]* = 1.*$prompt $" {
740 send "print v_signed_short != 0x7FFF\n"
742 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed short !=" }
743 -re "$prompt $" { fail "print signed signed short !=" }
744 timeout { fail "(timeout) print signed signed short !=" }
747 -re "$prompt $" { fail "print signed signed short !=" }
748 timeout { fail "(timeout) print signed signed short !=" }
751 -re "$prompt $" { fail "print signed signed short !=" }
752 timeout { fail "(timeout) print signed signed short !=" }
756 send "set variable v_signed_short=0x7FFF\n"
758 -re "set.*$prompt $" {
759 send "print v_signed_short < 0\n"
761 -re "print.*.\[0-9\]* = 0.*$prompt $" {
762 send "print v_signed_short < 0x7FFF\n"
764 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed short <" }
765 -re "$prompt $" { fail "print signed signed short <" }
766 timeout { fail "(timeout) print signed signed short <" }
769 -re "$prompt $" { fail "print signed signed short <" }
770 timeout { fail "(timeout) print signed signed short <" }
773 -re "$prompt $" { fail "print signed signed short <" }
774 timeout { fail "(timeout) print signed signed short <" }
778 send "set variable v_signed_short=0x7FFF\n"
780 -re "set.*$prompt $" {
781 send "print v_signed_short > 0\n"
783 -re "print.*.\[0-9\]* = 1.*$prompt $" {
784 send "print v_signed_short > 0x7FFF\n"
786 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed short >" }
787 -re "$prompt $" { fail "print signed signed short >" }
788 timeout { fail "(timeout) print signed signed short >" }
791 -re "$prompt $" { fail "print signed signed short >" }
792 timeout { fail "(timeout) print signed signed short >" }
795 -re "$prompt $" { fail "print signed signed short >" }
796 timeout { fail "(timeout) print signed signed short >" }
801 send "set variable v_signed_short=-1\n"
803 -re "set.*$prompt $" {
804 send "print v_signed_short == 0\n"
806 -re "print.*.\[0-9\]* = 0.*$prompt $" {
807 send "print v_signed_short == -1\n"
809 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed short == (minus)" }
810 -re "$prompt $" { fail "print signed signed short == (minus)" }
811 timeout { fail "(timeout) print signed signed short == (minus)" }
814 -re "$prompt $" { fail "print signed signed short == (minus)" }
815 timeout { fail "(timeout) print signed signed short == (minus)" }
818 -re "$prompt $" { fail "print signed signed short == (minus)" }
819 timeout { fail "(timeout) print signed signed short == (minus)" }
823 send "set variable v_signed_short=-1\n"
825 -re "set.*$prompt $" {
826 send "print v_signed_short != 0\n"
828 -re "print.*.\[0-9\]* = 1.*$prompt $" {
829 send "print v_signed_short != -1\n"
831 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed short != (minus)" }
832 -re "$prompt $" { fail "print signed signed short != (minus)" }
833 timeout { fail "(timeout) print signed signed short != (minus)" }
836 -re "$prompt $" { fail "print signed signed short != (minus)" }
837 timeout { fail "(timeout) print signed signed short != (minus)" }
840 -re "$prompt $" { fail "print signed signed short != (minus)" }
841 timeout { fail "(timeout) print signed signed short != (minus)" }
845 send "set variable v_signed_short=-1\n"
847 -re "set.*$prompt $" {
848 send "print v_signed_short < 0\n"
850 -re "print.*.\[0-9\]* = 1.*$prompt $" {
851 send "print v_signed_short < 0x7FFF\n"
853 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed short < (minus)" }
854 -re "$prompt $" { fail "print signed signed short < (minus)" }
855 timeout { fail "(timeout) print signed signed short < (minus)" }
858 -re "$prompt $" { fail "print signed signed short < (minus)" }
859 timeout { fail "(timeout) print signed signed short < (minus)" }
862 -re "$prompt $" { fail "print signed signed short < (minus)" }
863 timeout { fail "(timeout) print signed signed short < (minus)" }
867 send "set variable v_signed_short=-1\n"
869 -re "set.*$prompt $" {
870 send "print v_signed_short > 0\n"
872 -re "print.*.\[0-9\]* = 0.*$prompt $" {
873 send "print v_signed_short > 0x7FFF\n"
875 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed short > (minus)" }
876 -re "$prompt $" { fail "print signed signed short > (minus)" }
877 timeout { fail "(timeout) print signed signed short > (minus)" }
880 -re "$prompt $" { fail "print signed signed short > (minus)" }
881 timeout { fail "(timeout) print signed signed short > (minus)" }
884 -re "$prompt $" { fail "print signed signed short > (minus)" }
885 timeout { fail "(timeout) print signed signed short > (minus)" }
890 # test expressions with "unsigned short" types
892 send "set variable v_unsigned_short=0x7FFF\n"
894 -re "set.*$prompt $" {
895 send "print v_unsigned_short == 0\n"
897 -re "print.*.\[0-9\]* = 0.*$prompt $" {
898 send "print v_unsigned_short == 0x7FFF\n"
900 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned short ==" }
901 -re "$prompt $" { fail "print unsigned short ==" }
902 timeout { fail "(timeout) print unsigned short ==" }
905 -re "$prompt $" { fail "print unsigned short ==" }
906 timeout { fail "(timeout) print unsigned short ==" }
909 -re "$prompt $" { fail "print unsigned short ==" }
910 timeout { fail "(timeout) print unsigned short ==" }
914 send "set variable v_unsigned_short=0x7FFF\n"
916 -re "set.*$prompt $" {
917 send "print v_unsigned_short != 0\n"
919 -re "print.*.\[0-9\]* = 1.*$prompt $" {
920 send "print v_unsigned_short != 0x7FFF\n"
922 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned short !=" }
923 -re "$prompt $" { fail "print unsigned short !=" }
924 timeout { fail "(timeout) print unsigned short !=" }
927 -re "$prompt $" { fail "print unsigned short !=" }
928 timeout { fail "(timeout) print unsigned short !=" }
931 -re "$prompt $" { fail "print unsigned short !=" }
932 timeout { fail "(timeout) print unsigned short !=" }
936 send "set variable v_unsigned_short=0x7FFF\n"
938 -re "set.*$prompt $" {
939 send "print v_unsigned_short < 0\n"
941 -re "print.*.\[0-9\]* = 0.*$prompt $" {
942 send "print v_unsigned_short < 0x7FFF\n"
944 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned short <" }
945 -re "$prompt $" { fail "print unsigned short <" }
946 timeout { fail "(timeout) print unsigned short <" }
949 -re "$prompt $" { fail "print unsigned short <" }
950 timeout { fail "(timeout) print unsigned short <" }
953 -re "$prompt $" { fail "print unsigned short <" }
954 timeout { fail "(timeout) print unsigned short <" }
958 send "set variable v_unsigned_short=0x7FFF\n"
960 -re "set.*$prompt $" {
961 send "print v_unsigned_short > 0\n"
963 -re "print.*.\[0-9\]* = 1.*$prompt $" {
964 send "print v_unsigned_short > 0x7FFF\n"
966 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned short >" }
967 -re "$prompt $" { fail "print unsigned short >" }
968 timeout { fail "(timeout) print unsigned short >" }
971 -re "$prompt $" { fail "print unsigned short >" }
972 timeout { fail "(timeout) print unsigned short >" }
975 -re "$prompt $" { fail "print unsigned short >" }
976 timeout { fail "(timeout) print unsigned short >" }
981 send "set variable v_unsigned_short=~0\n"
983 -re "set.*$prompt $" {
984 send "print v_unsigned_short == 0\n"
986 -re "print.*.\[0-9\]* = 0.*$prompt $" {
987 send "print v_unsigned_short == ~0\n"
989 -re "print.*.\[0-9\]* = 0.*$prompt $" {
990 send "print v_unsigned_short == (unsigned short)~0\n"
992 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned short == (~0)" }
993 -re "$prompt $" { fail "print unsigned short == (~0)" }
994 timeout { fail "(timeout) print unsigned short == (~0)" }
997 -re "$prompt $" { fail "print unsigned short == (~0)" }
998 timeout { fail "(timeout) print unsigned short == (~0)" }
1001 -re "$prompt $" { fail "print unsigned short == (~0)" }
1002 timeout { fail "(timeout) print unsigned short == (~0)" }
1005 -re "$prompt $" { fail "print unsigned short == (~0)" }
1006 timeout { fail "(timeout) print unsigned short == (~0)" }
1010 send "set variable v_unsigned_short=~0\n"
1012 -re "set.*$prompt $" {
1013 send "print v_unsigned_short != 0\n"
1015 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1016 send "print v_unsigned_short != (unsigned short)~0\n"
1018 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned short != (~0)" }
1019 -re "$prompt $" { fail "print unsigned short != (~0)" }
1020 timeout { fail "(timeout) print unsigned short != (~0)" }
1023 -re "$prompt $" { fail "print unsigned short != (~0)" }
1024 timeout { fail "(timeout) print unsigned short != (~0)" }
1027 -re "$prompt $" { fail "print unsigned short != (~0)" }
1028 timeout { fail "(timeout) print unsigned short != (~0)" }
1032 send "set variable v_unsigned_short=~0\n"
1034 -re "set.*$prompt $" {
1035 send "print v_unsigned_short < 0\n"
1037 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1038 send "print v_unsigned_short < 0x7FFF\n"
1040 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned short < (~0)" }
1041 -re "$prompt $" { fail "print unsigned short < (~0)" }
1042 timeout { fail "(timeout) print unsigned short < (~0)" }
1045 -re "$prompt $" { fail "print unsigned short < (~0)" }
1046 timeout { fail "(timeout) print unsigned short < (~0)" }
1049 -re "$prompt $" { fail "print unsigned short < (~0)" }
1050 timeout { fail "(timeout) print unsigned short < (~0)" }
1054 send "set variable v_unsigned_short=~0\n"
1056 -re "set.*$prompt $" {
1057 send "print v_unsigned_short > 0\n"
1059 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1060 send "print v_unsigned_short > 0x7FFF\n"
1062 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned short > (~0)" }
1063 -re "$prompt $" { fail "print unsigned short > (~0)" }
1064 timeout { fail "(timeout) print unsigned short > (~0)" }
1067 -re "$prompt $" { fail "print unsigned short > (~0)" }
1068 timeout { fail "(timeout) print unsigned short > (~0)" }
1071 -re "$prompt $" { fail "print unsigned short > (~0)" }
1072 timeout { fail "(timeout) print unsigned short > (~0)" }
1077 # test expressions with "int" types
1079 send "set variable v_int=0x7FFF\n"
1081 -re "set.*$prompt $" {
1082 send "print v_int == 0\n"
1084 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1085 send "print v_int == 0x7FFF\n"
1087 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed int ==" }
1088 -re "$prompt $" { fail "print signed int ==" }
1089 timeout { fail "(timeout) print signed int ==" }
1092 -re "$prompt $" { fail "print signed int ==" }
1093 timeout { fail "(timeout) print signed int ==" }
1096 -re "$prompt $" { fail "print signed int ==" }
1097 timeout { fail "(timeout) print signed int ==" }
1101 send "set variable v_int=0x7FFF\n"
1103 -re "set.*$prompt $" {
1104 send "print v_int != 0\n"
1106 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1107 send "print v_int != 0x7FFF\n"
1109 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed int !=" }
1110 -re "$prompt $" { fail "print signed int !=" }
1111 timeout { fail "(timeout) print signed int !=" }
1114 -re "$prompt $" { fail "print signed int !=" }
1115 timeout { fail "(timeout) print signed int !=" }
1118 -re "$prompt $" { fail "print signed int !=" }
1119 timeout { fail "(timeout) print signed int !=" }
1123 send "set variable v_int=0x7FFF\n"
1125 -re "set.*$prompt $" {
1126 send "print v_int < 0\n"
1128 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1129 send "print v_int < 0x7FFF\n"
1131 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed int <" }
1132 -re "$prompt $" { fail "print signed int <" }
1133 timeout { fail "(timeout) print signed int <" }
1136 -re "$prompt $" { fail "print signed int <" }
1137 timeout { fail "(timeout) print signed int <" }
1140 -re "$prompt $" { fail "print signed int <" }
1141 timeout { fail "(timeout) print signed int <" }
1145 send "set variable v_int=0x7FFF\n"
1147 -re "set.*$prompt $" {
1148 send "print v_int > 0\n"
1150 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1151 send "print v_int > 0x7FFF\n"
1153 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed int >" }
1154 -re "$prompt $" { fail "print signed int >" }
1155 timeout { fail "(timeout) print signed int >" }
1158 -re "$prompt $" { fail "print signed int >" }
1159 timeout { fail "(timeout) print signed int >" }
1162 -re "$prompt $" { fail "print signed int >" }
1163 timeout { fail "(timeout) print signed int >" }
1168 send "set variable v_int=-1\n"
1170 -re "set.*$prompt $" {
1171 send "print v_int == 0\n"
1173 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1174 send "print v_int == -1\n"
1176 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed int == (minus)" }
1177 -re "$prompt $" { fail "print signed int == (minus)" }
1178 timeout { fail "(timeout) print signed int == (minus)" }
1181 -re "$prompt $" { fail "print signed int == (minus)" }
1182 timeout { fail "(timeout) print signed int == (minus)" }
1185 -re "$prompt $" { fail "print signed int == (minus)" }
1186 timeout { fail "(timeout) print signed int == (minus)" }
1190 send "set variable v_int=-1\n"
1192 -re "set.*$prompt $" {
1193 send "print v_int != 0\n"
1195 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1196 send "print v_int != -1\n"
1198 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed int != (minus)" }
1199 -re "$prompt $" { fail "print signed int != (minus)" }
1200 timeout { fail "(timeout) print signed int != (minus)" }
1203 -re "$prompt $" { fail "print signed int != (minus)" }
1204 timeout { fail "(timeout) print signed int != (minus)" }
1207 -re "$prompt $" { fail "print signed int != (minus)" }
1208 timeout { fail "(timeout) print signed int != (minus)" }
1212 send "set variable v_int=-1\n"
1214 -re "set.*$prompt $" {
1215 send "print v_int < 0\n"
1217 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1218 send "print v_int < 0x7FFF\n"
1220 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed int < (minus)" }
1221 -re "$prompt $" { fail "print signed int < (minus)" }
1222 timeout { fail "(timeout) print signed int < (minus)" }
1225 -re "$prompt $" { fail "print signed int < (minus)" }
1226 timeout { fail "(timeout) print signed int < (minus)" }
1229 -re "$prompt $" { fail "print signed int < (minus)" }
1230 timeout { fail "(timeout) print signed int < (minus)" }
1234 send "set variable v_int=-1\n"
1236 -re "set.*$prompt $" {
1237 send "print v_int > 0\n"
1239 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1240 send "print v_int > 0x7FFF\n"
1242 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed int > (minus)" }
1243 -re "$prompt $" { fail "print signed int > (minus)" }
1244 timeout { fail "(timeout) print signed int > (minus)" }
1247 -re "$prompt $" { fail "print signed int > (minus)" }
1248 timeout { fail "(timeout) print signed int > (minus)" }
1251 -re "$prompt $" { fail "print signed int > (minus)" }
1252 timeout { fail "(timeout) print signed int > (minus)" }
1257 # test expressions with "signed int" types
1259 send "set variable v_signed_int=0x7FFF\n"
1261 -re "set.*$prompt $" {
1262 send "print v_signed_int == 0\n"
1264 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1265 send "print v_signed_int == 0x7FFF\n"
1267 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed int ==" }
1268 -re "$prompt $" { fail "print signed signed int ==" }
1269 timeout { fail "(timeout) print signed signed int ==" }
1272 -re "$prompt $" { fail "print signed signed int ==" }
1273 timeout { fail "(timeout) print signed signed int ==" }
1276 -re "$prompt $" { fail "print signed signed int ==" }
1277 timeout { fail "(timeout) print signed signed int ==" }
1281 send "set variable v_signed_int=0x7FFF\n"
1283 -re "set.*$prompt $" {
1284 send "print v_signed_int != 0\n"
1286 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1287 send "print v_signed_int != 0x7FFF\n"
1289 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed int !=" }
1290 -re "$prompt $" { fail "print signed signed int !=" }
1291 timeout { fail "(timeout) print signed signed int !=" }
1294 -re "$prompt $" { fail "print signed signed int !=" }
1295 timeout { fail "(timeout) print signed signed int !=" }
1298 -re "$prompt $" { fail "print signed signed int !=" }
1299 timeout { fail "(timeout) print signed signed int !=" }
1303 send "set variable v_signed_int=0x7FFF\n"
1305 -re "set.*$prompt $" {
1306 send "print v_signed_int < 0\n"
1308 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1309 send "print v_signed_int < 0x7FFF\n"
1311 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed int <" }
1312 -re "$prompt $" { fail "print signed signed int <" }
1313 timeout { fail "(timeout) print signed signed int <" }
1316 -re "$prompt $" { fail "print signed signed int <" }
1317 timeout { fail "(timeout) print signed signed int <" }
1320 -re "$prompt $" { fail "print signed signed int <" }
1321 timeout { fail "(timeout) print signed signed int <" }
1325 send "set variable v_signed_int=0x7FFF\n"
1327 -re "set.*$prompt $" {
1328 send "print v_signed_int > 0\n"
1330 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1331 send "print v_signed_int > 0x7FFF\n"
1333 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed int >" }
1334 -re "$prompt $" { fail "print signed signed int >" }
1335 timeout { fail "(timeout) print signed signed int >" }
1338 -re "$prompt $" { fail "print signed signed int >" }
1339 timeout { fail "(timeout) print signed signed int >" }
1342 -re "$prompt $" { fail "print signed signed int >" }
1343 timeout { fail "(timeout) print signed signed int >" }
1348 send "set variable v_signed_int=-1\n"
1350 -re "set.*$prompt $" {
1351 send "print v_signed_int == 0\n"
1353 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1354 send "print v_signed_int == -1\n"
1356 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed int == (minus)" }
1357 -re "$prompt $" { fail "print signed signed int == (minus)" }
1358 timeout { fail "(timeout) print signed signed int == (minus)" }
1361 -re "$prompt $" { fail "print signed signed int == (minus)" }
1362 timeout { fail "(timeout) print signed signed int == (minus)" }
1365 -re "$prompt $" { fail "print signed signed int == (minus)" }
1366 timeout { fail "(timeout) print signed signed int == (minus)" }
1370 send "set variable v_signed_int=-1\n"
1372 -re "set.*$prompt $" {
1373 send "print v_signed_int != 0\n"
1375 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1376 send "print v_signed_int != -1\n"
1378 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed int != (minus)" }
1379 -re "$prompt $" { fail "print signed signed int != (minus)" }
1380 timeout { fail "(timeout) print signed signed int != (minus)" }
1383 -re "$prompt $" { fail "print signed signed int != (minus)" }
1384 timeout { fail "(timeout) print signed signed int != (minus)" }
1387 -re "$prompt $" { fail "print signed signed int != (minus)" }
1388 timeout { fail "(timeout) print signed signed int != (minus)" }
1392 send "set variable v_signed_int=-1\n"
1394 -re "set.*$prompt $" {
1395 send "print v_signed_int < 0\n"
1397 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1398 send "print v_signed_int < 0x7FFF\n"
1400 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed int < (minus)" }
1401 -re "$prompt $" { fail "print signed signed int < (minus)" }
1402 timeout { fail "(timeout) print signed signed int < (minus)" }
1405 -re "$prompt $" { fail "print signed signed int < (minus)" }
1406 timeout { fail "(timeout) print signed signed int < (minus)" }
1409 -re "$prompt $" { fail "print signed signed int < (minus)" }
1410 timeout { fail "(timeout) print signed signed int < (minus)" }
1414 send "set variable v_signed_int=-1\n"
1416 -re "set.*$prompt $" {
1417 send "print v_signed_int > 0\n"
1419 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1420 send "print v_signed_int > 0x7FFF\n"
1422 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed int > (minus)" }
1423 -re "$prompt $" { fail "print signed signed int > (minus)" }
1424 timeout { fail "(timeout) print signed signed int > (minus)" }
1427 -re "$prompt $" { fail "print signed signed int > (minus)" }
1428 timeout { fail "(timeout) print signed signed int > (minus)" }
1431 -re "$prompt $" { fail "print signed signed int > (minus)" }
1432 timeout { fail "(timeout) print signed signed int > (minus)" }
1437 # test expressions with "unsigned int" types
1439 send "set variable v_unsigned_int=0x7FFF\n"
1441 -re "set.*$prompt $" {
1442 send "print v_unsigned_int == 0\n"
1444 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1445 send "print v_unsigned_int == 0x7FFF\n"
1447 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned int ==" }
1448 -re "$prompt $" { fail "print unsigned int ==" }
1449 timeout { fail "(timeout) print unsigned int ==" }
1452 -re "$prompt $" { fail "print unsigned int ==" }
1453 timeout { fail "(timeout) print unsigned int ==" }
1456 -re "$prompt $" { fail "print unsigned int ==" }
1457 timeout { fail "(timeout) print unsigned int ==" }
1461 send "set variable v_unsigned_int=0x7FFF\n"
1463 -re "set.*$prompt $" {
1464 send "print v_unsigned_int != 0\n"
1466 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1467 send "print v_unsigned_int != 0x7FFF\n"
1469 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned int !=" }
1470 -re "$prompt $" { fail "print unsigned int !=" }
1471 timeout { fail "(timeout) print unsigned int !=" }
1474 -re "$prompt $" { fail "print unsigned int !=" }
1475 timeout { fail "(timeout) print unsigned int !=" }
1478 -re "$prompt $" { fail "print unsigned int !=" }
1479 timeout { fail "(timeout) print unsigned int !=" }
1483 send "set variable v_unsigned_int=0x7FFF\n"
1485 -re "set.*$prompt $" {
1486 send "print v_unsigned_int < 0\n"
1488 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1489 send "print v_unsigned_int < 0x7FFF\n"
1491 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned int <" }
1492 -re "$prompt $" { fail "print unsigned int <" }
1493 timeout { fail "(timeout) print unsigned int <" }
1496 -re "$prompt $" { fail "print unsigned int <" }
1497 timeout { fail "(timeout) print unsigned int <" }
1500 -re "$prompt $" { fail "print unsigned int <" }
1501 timeout { fail "(timeout) print unsigned int <" }
1505 send "set variable v_unsigned_int=0x7FFF\n"
1507 -re "set.*$prompt $" {
1508 send "print v_unsigned_int > 0\n"
1510 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1511 send "print v_unsigned_int > 0x7FFF\n"
1513 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned int >" }
1514 -re "$prompt $" { fail "print unsigned int >" }
1515 timeout { fail "(timeout) print unsigned int >" }
1518 -re "$prompt $" { fail "print unsigned int >" }
1519 timeout { fail "(timeout) print unsigned int >" }
1522 -re "$prompt $" { fail "print unsigned int >" }
1523 timeout { fail "(timeout) print unsigned int >" }
1528 send "set variable v_unsigned_int=~0\n"
1530 -re "set.*$prompt $" {
1531 send "print v_unsigned_int == 0\n"
1533 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1534 send "print v_unsigned_int == ~0\n"
1536 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1537 send "print v_unsigned_int == (unsigned int)~0\n"
1539 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned int == (~0)" }
1540 -re "$prompt $" { fail "print unsigned int == (~0)" }
1541 timeout { fail "(timeout) print unsigned int == (~0)" }
1544 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1545 fail "print unsigned int == (~0)"
1546 send "print v_unsigned_int == (unsigned int)~0\n"
1548 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned int == (~0)" }
1549 -re "$prompt $" { fail "print unsigned int == (~0)" }
1550 timeout { fail "(timeout) print unsigned int == (~0)" }
1553 -re "$prompt $" { fail "print unsigned int == (~0)" }
1554 timeout { fail "(timeout) print unsigned int == (~0)" }
1557 -re "$prompt $" { fail "print unsigned int == (~0)" }
1558 timeout { fail "(timeout) print unsigned int == (~0)" }
1561 -re "$prompt $" { fail "print unsigned int == (~0)" }
1562 timeout { fail "(timeout) print unsigned int == (~0)" }
1566 send "set variable v_unsigned_int=~0\n"
1568 -re "set.*$prompt $" {
1569 send "print v_unsigned_int != 0\n"
1571 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1572 send "print v_unsigned_int != (unsigned int)~0\n"
1574 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned int != (~0)" }
1575 -re "$prompt $" { fail "print unsigned int != (~0)" }
1576 timeout { fail "(timeout) print unsigned int != (~0)" }
1579 -re "$prompt $" { fail "print unsigned int != (~0)" }
1580 timeout { fail "(timeout) print unsigned int != (~0)" }
1583 -re "$prompt $" { fail "print unsigned int != (~0)" }
1584 timeout { fail "(timeout) print unsigned int != (~0)" }
1588 send "set variable v_unsigned_int=~0\n"
1590 -re "set.*$prompt $" {
1591 send "print v_unsigned_int < 0\n"
1593 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1594 send "print v_unsigned_int < 0x7FFF\n"
1596 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned int < (~0)" }
1597 -re "$prompt $" { fail "print unsigned int < (~0)" }
1598 timeout { fail "(timeout) print unsigned int < (~0)" }
1601 -re "$prompt $" { fail "print unsigned int < (~0)" }
1602 timeout { fail "(timeout) print unsigned int < (~0)" }
1605 -re "$prompt $" { fail "print unsigned int < (~0)" }
1606 timeout { fail "(timeout) print unsigned int < (~0)" }
1610 send "set variable v_unsigned_int=~0\n"
1612 -re "set.*$prompt $" {
1613 send "print v_unsigned_int > 0\n"
1615 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1616 send "print v_unsigned_int > 0x7FFF\n"
1618 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned int > (~0)" }
1619 -re "$prompt $" { fail "print unsigned int > (~0)" }
1620 timeout { fail "(timeout) print unsigned int > (~0)" }
1623 -re "$prompt $" { fail "print unsigned int > (~0)" }
1624 timeout { fail "(timeout) print unsigned int > (~0)" }
1627 -re "$prompt $" { fail "print unsigned int > (~0)" }
1628 timeout { fail "(timeout) print unsigned int > (~0)" }
1633 # test expressions with "long" types
1635 send "set variable v_long=0x7FFF\n"
1637 -re "set.*$prompt $" {
1638 send "print v_long == 0\n"
1640 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1641 send "print v_long == 0x7FFF\n"
1643 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed long ==" }
1644 -re "$prompt $" { fail "print signed long ==" }
1645 timeout { fail "(timeout) print signed long ==" }
1648 -re "$prompt $" { fail "print signed long ==" }
1649 timeout { fail "(timeout) print signed long ==" }
1652 -re "$prompt $" { fail "print signed long ==" }
1653 timeout { fail "(timeout) print signed long ==" }
1657 send "set variable v_long=0x7FFF\n"
1659 -re "set.*$prompt $" {
1660 send "print v_long != 0\n"
1662 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1663 send "print v_long != 0x7FFF\n"
1665 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed long !=" }
1666 -re "$prompt $" { fail "print signed long !=" }
1667 timeout { fail "(timeout) print signed long !=" }
1670 -re "$prompt $" { fail "print signed long !=" }
1671 timeout { fail "(timeout) print signed long !=" }
1674 -re "$prompt $" { fail "print signed long !=" }
1675 timeout { fail "(timeout) print signed long !=" }
1679 send "set variable v_long=0x7FFF\n"
1681 -re "set.*$prompt $" {
1682 send "print v_long < 0\n"
1684 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1685 send "print v_long < 0x7FFF\n"
1687 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed long <" }
1688 -re "$prompt $" { fail "print signed long <" }
1689 timeout { fail "(timeout) print signed long <" }
1692 -re "$prompt $" { fail "print signed long <" }
1693 timeout { fail "(timeout) print signed long <" }
1696 -re "$prompt $" { fail "print signed long <" }
1697 timeout { fail "(timeout) print signed long <" }
1701 send "set variable v_long=0x7FFF\n"
1703 -re "set.*$prompt $" {
1704 send "print v_long > 0\n"
1706 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1707 send "print v_long > 0x7FFF\n"
1709 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed long >" }
1710 -re "$prompt $" { fail "print signed long >" }
1711 timeout { fail "(timeout) print signed long >" }
1714 -re "$prompt $" { fail "print signed long >" }
1715 timeout { fail "(timeout) print signed long >" }
1718 -re "$prompt $" { fail "print signed long >" }
1719 timeout { fail "(timeout) print signed long >" }
1724 send "set variable v_long=-1\n"
1726 -re "set.*$prompt $" {
1727 send "print v_long == 0\n"
1729 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1730 send "print v_long == -1\n"
1732 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed long == (minus)" }
1733 -re "$prompt $" { fail "print signed long == (minus)" }
1734 timeout { fail "(timeout) print signed long == (minus)" }
1737 -re "$prompt $" { fail "print signed long == (minus)" }
1738 timeout { fail "(timeout) print signed long == (minus)" }
1741 -re "$prompt $" { fail "print signed long == (minus)" }
1742 timeout { fail "(timeout) print signed long == (minus)" }
1746 send "set variable v_long=-1\n"
1748 -re "set.*$prompt $" {
1749 send "print v_long != 0\n"
1751 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1752 send "print v_long != -1\n"
1754 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed long != (minus)" }
1755 -re "$prompt $" { fail "print signed long != (minus)" }
1756 timeout { fail "(timeout) print signed long != (minus)" }
1759 -re "$prompt $" { fail "print signed long != (minus)" }
1760 timeout { fail "(timeout) print signed long != (minus)" }
1763 -re "$prompt $" { fail "print signed long != (minus)" }
1764 timeout { fail "(timeout) print signed long != (minus)" }
1768 send "set variable v_long=-1\n"
1770 -re "set.*$prompt $" {
1771 send "print v_long < 0\n"
1773 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1774 send "print v_long < 0x7FFF\n"
1776 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed long < (minus)" }
1777 -re "$prompt $" { fail "print signed long < (minus)" }
1778 timeout { fail "(timeout) print signed long < (minus)" }
1781 -re "$prompt $" { fail "print signed long < (minus)" }
1782 timeout { fail "(timeout) print signed long < (minus)" }
1785 -re "$prompt $" { fail "print signed long < (minus)" }
1786 timeout { fail "(timeout) print signed long < (minus)" }
1790 send "set variable v_long=-1\n"
1792 -re "set.*$prompt $" {
1793 send "print v_long > 0\n"
1795 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1796 send "print v_long > 0x7FFF\n"
1798 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed long > (minus)" }
1799 -re "$prompt $" { fail "print signed long > (minus)" }
1800 timeout { fail "(timeout) print signed long > (minus)" }
1803 -re "$prompt $" { fail "print signed long > (minus)" }
1804 timeout { fail "(timeout) print signed long > (minus)" }
1807 -re "$prompt $" { fail "print signed long > (minus)" }
1808 timeout { fail "(timeout) print signed long > (minus)" }
1813 # test expressions with "signed long" types
1815 send "set variable v_signed_long=0x7FFF\n"
1817 -re "set.*$prompt $" {
1818 send "print v_signed_long == 0\n"
1820 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1821 send "print v_signed_long == 0x7FFF\n"
1823 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed long ==" }
1824 -re "$prompt $" { fail "print signed signed long ==" }
1825 timeout { fail "(timeout) print signed signed long ==" }
1828 -re "$prompt $" { fail "print signed signed long ==" }
1829 timeout { fail "(timeout) print signed signed long ==" }
1832 -re "$prompt $" { fail "print signed signed long ==" }
1833 timeout { fail "(timeout) print signed signed long ==" }
1837 send "set variable v_signed_long=0x7FFF\n"
1839 -re "set.*$prompt $" {
1840 send "print v_signed_long != 0\n"
1842 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1843 send "print v_signed_long != 0x7FFF\n"
1845 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed long !=" }
1846 -re "$prompt $" { fail "print signed signed long !=" }
1847 timeout { fail "(timeout) print signed signed long !=" }
1850 -re "$prompt $" { fail "print signed signed long !=" }
1851 timeout { fail "(timeout) print signed signed long !=" }
1854 -re "$prompt $" { fail "print signed signed long !=" }
1855 timeout { fail "(timeout) print signed signed long !=" }
1859 send "set variable v_signed_long=0x7FFF\n"
1861 -re "set.*$prompt $" {
1862 send "print v_signed_long < 0\n"
1864 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1865 send "print v_signed_long < 0x7FFF\n"
1867 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed long <" }
1868 -re "$prompt $" { fail "print signed signed long <" }
1869 timeout { fail "(timeout) print signed signed long <" }
1872 -re "$prompt $" { fail "print signed signed long <" }
1873 timeout { fail "(timeout) print signed signed long <" }
1876 -re "$prompt $" { fail "print signed signed long <" }
1877 timeout { fail "(timeout) print signed signed long <" }
1881 send "set variable v_signed_long=0x7FFF\n"
1883 -re "set.*$prompt $" {
1884 send "print v_signed_long > 0\n"
1886 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1887 send "print v_signed_long > 0x7FFF\n"
1889 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed long >" }
1890 -re "$prompt $" { fail "print signed signed long >" }
1891 timeout { fail "(timeout) print signed signed long >" }
1894 -re "$prompt $" { fail "print signed signed long >" }
1895 timeout { fail "(timeout) print signed signed long >" }
1898 -re "$prompt $" { fail "print signed signed long >" }
1899 timeout { fail "(timeout) print signed signed long >" }
1904 send "set variable v_signed_long=-1\n"
1906 -re "set.*$prompt $" {
1907 send "print v_signed_long == 0\n"
1909 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1910 send "print v_signed_long == -1\n"
1912 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed long == (minus)" }
1913 -re "$prompt $" { fail "print signed signed long == (minus)" }
1914 timeout { fail "(timeout) print signed signed long == (minus)" }
1917 -re "$prompt $" { fail "print signed signed long == (minus)" }
1918 timeout { fail "(timeout) print signed signed long == (minus)" }
1921 -re "$prompt $" { fail "print signed signed long == (minus)" }
1922 timeout { fail "(timeout) print signed signed long == (minus)" }
1926 send "set variable v_signed_long=-1\n"
1928 -re "set.*$prompt $" {
1929 send "print v_signed_long != 0\n"
1931 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1932 send "print v_signed_long != -1\n"
1934 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed long != (minus)" }
1935 -re "$prompt $" { fail "print signed signed long != (minus)" }
1936 timeout { fail "(timeout) print signed signed long != (minus)" }
1939 -re "$prompt $" { fail "print signed signed long != (minus)" }
1940 timeout { fail "(timeout) print signed signed long != (minus)" }
1943 -re "$prompt $" { fail "print signed signed long != (minus)" }
1944 timeout { fail "(timeout) print signed signed long != (minus)" }
1948 send "set variable v_signed_long=-1\n"
1950 -re "set.*$prompt $" {
1951 send "print v_signed_long < 0\n"
1953 -re "print.*.\[0-9\]* = 1.*$prompt $" {
1954 send "print v_signed_long < 0x7FFF\n"
1956 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print signed signed long < (minus)" }
1957 -re "$prompt $" { fail "print signed signed long < (minus)" }
1958 timeout { fail "(timeout) print signed signed long < (minus)" }
1961 -re "$prompt $" { fail "print signed signed long < (minus)" }
1962 timeout { fail "(timeout) print signed signed long < (minus)" }
1965 -re "$prompt $" { fail "print signed signed long < (minus)" }
1966 timeout { fail "(timeout) print signed signed long < (minus)" }
1970 send "set variable v_signed_long=-1\n"
1972 -re "set.*$prompt $" {
1973 send "print v_signed_long > 0\n"
1975 -re "print.*.\[0-9\]* = 0.*$prompt $" {
1976 send "print v_signed_long > 0x7FFF\n"
1978 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print signed signed long > (minus)" }
1979 -re "$prompt $" { fail "print signed signed long > (minus)" }
1980 timeout { fail "(timeout) print signed signed long > (minus)" }
1983 -re "$prompt $" { fail "print signed signed long > (minus)" }
1984 timeout { fail "(timeout) print signed signed long > (minus)" }
1987 -re "$prompt $" { fail "print signed signed long > (minus)" }
1988 timeout { fail "(timeout) print signed signed long > (minus)" }
1993 # test expressions with "unsigned long" types
1995 send "set variable v_unsigned_long=0x7FFF\n"
1997 -re "set.*$prompt $" {
1998 send "print v_unsigned_long == 0\n"
2000 -re "print.*.\[0-9\]* = 0.*$prompt $" {
2001 send "print v_unsigned_long == 0x7FFF\n"
2003 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned long ==" }
2004 -re "$prompt $" { fail "print unsigned long ==" }
2005 timeout { fail "(timeout) print unsigned long ==" }
2008 -re "$prompt $" { fail "print unsigned long ==" }
2009 timeout { fail "(timeout) print unsigned long ==" }
2012 -re "$prompt $" { fail "print unsigned long ==" }
2013 timeout { fail "(timeout) print unsigned long ==" }
2017 send "set variable v_unsigned_long=0x7FFF\n"
2019 -re "set.*$prompt $" {
2020 send "print v_unsigned_long != 0\n"
2022 -re "print.*.\[0-9\]* = 1.*$prompt $" {
2023 send "print v_unsigned_long != 0x7FFF\n"
2025 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned long !=" }
2026 -re "$prompt $" { fail "print unsigned long !=" }
2027 timeout { fail "(timeout) print unsigned long !=" }
2030 -re "$prompt $" { fail "print unsigned long !=" }
2031 timeout { fail "(timeout) print unsigned long !=" }
2034 -re "$prompt $" { fail "print unsigned long !=" }
2035 timeout { fail "(timeout) print unsigned long !=" }
2039 send "set variable v_unsigned_long=0x7FFF\n"
2041 -re "set.*$prompt $" {
2042 send "print v_unsigned_long < 0\n"
2044 -re "print.*.\[0-9\]* = 0.*$prompt $" {
2045 send "print v_unsigned_long < 0x7FFF\n"
2047 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned long <" }
2048 -re "$prompt $" { fail "print unsigned long <" }
2049 timeout { fail "(timeout) print unsigned long <" }
2052 -re "$prompt $" { fail "print unsigned long <" }
2053 timeout { fail "(timeout) print unsigned long <" }
2056 -re "$prompt $" { fail "print unsigned long <" }
2057 timeout { fail "(timeout) print unsigned long <" }
2061 send "set variable v_unsigned_long=0x7FFF\n"
2063 -re "set.*$prompt $" {
2064 send "print v_unsigned_long > 0\n"
2066 -re "print.*.\[0-9\]* = 1.*$prompt $" {
2067 send "print v_unsigned_long > 0x7FFF\n"
2069 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned long >" }
2070 -re "$prompt $" { fail "print unsigned long >" }
2071 timeout { fail "(timeout) print unsigned long >" }
2074 -re "$prompt $" { fail "print unsigned long >" }
2075 timeout { fail "(timeout) print unsigned long >" }
2078 -re "$prompt $" { fail "print unsigned long >" }
2079 timeout { fail "(timeout) print unsigned long >" }
2084 send "set variable v_unsigned_long=~0\n"
2086 -re "set.*$prompt $" {
2087 send "print v_unsigned_long == 0\n"
2089 -re "print.*.\[0-9\]* = 0.*$prompt $" {
2090 send "print v_unsigned_long == ~0\n"
2092 -re "print.*.\[0-9\]* = 1.*$prompt $" {
2093 send "print v_unsigned_long == (unsigned long)~0\n"
2095 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned long == (~0)" }
2096 -re "$prompt $" { fail "print unsigned long == (~0)" }
2097 timeout { fail "(timeout) print unsigned long == (~0)" }
2100 -re "$prompt $" { fail "print unsigned long == (~0)" }
2101 timeout { fail "(timeout) print unsigned long == (~0)" }
2104 -re "$prompt $" { fail "print unsigned long == (~0)" }
2105 timeout { fail "(timeout) print unsigned long == (~0)" }
2108 -re "$prompt $" { fail "print unsigned long == (~0)" }
2109 timeout { fail "(timeout) print unsigned long == (~0)" }
2113 send "set variable v_unsigned_long=~0\n"
2115 -re "set.*$prompt $" {
2116 send "print v_unsigned_long != 0\n"
2118 -re "print.*.\[0-9\]* = 1.*$prompt $" {
2119 send "print v_unsigned_long != (unsigned long)~0\n"
2121 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned long != (~0)" }
2122 -re "$prompt $" { fail "print unsigned long != (~0)" }
2123 timeout { fail "(timeout) print unsigned long != (~0)" }
2126 -re "$prompt $" { fail "print unsigned long != (~0)" }
2127 timeout { fail "(timeout) print unsigned long != (~0)" }
2130 -re "$prompt $" { fail "print unsigned long != (~0)" }
2131 timeout { fail "(timeout) print unsigned long != (~0)" }
2135 send "set variable v_unsigned_long=~0\n"
2137 -re "set.*$prompt $" {
2138 send "print v_unsigned_long < 0\n"
2140 -re "print.*.\[0-9\]* = 0.*$prompt $" {
2141 send "print v_unsigned_long < 0x7FFF\n"
2143 -re "print.*.\[0-9\]* = 0.*$prompt $" { pass "print unsigned long < (~0)" }
2144 -re "$prompt $" { fail "print unsigned long < (~0)" }
2145 timeout { fail "(timeout) print unsigned long < (~0)" }
2148 -re "$prompt $" { fail "print unsigned long < (~0)" }
2149 timeout { fail "(timeout) print unsigned long < (~0)" }
2152 -re "$prompt $" { fail "print unsigned long < (~0)" }
2153 timeout { fail "(timeout) print unsigned long < (~0)" }
2157 send "set variable v_unsigned_long=~0\n"
2159 -re "set.*$prompt $" {
2160 send "print v_unsigned_long > 0\n"
2162 -re "print.*.\[0-9\]* = 1.*$prompt $" {
2163 send "print v_unsigned_long > 0x7FFF\n"
2165 -re "print.*.\[0-9\]* = 1.*$prompt $" { pass "print unsigned long > (~0)" }
2166 -re "$prompt $" { fail "print unsigned long > (~0)" }
2167 timeout { fail "(timeout) print unsigned long > (~0)" }
2170 -re "$prompt $" { fail "print unsigned long > (~0)" }
2171 timeout { fail "(timeout) print unsigned long > (~0)" }
2174 -re "$prompt $" { fail "print unsigned long > (~0)" }
2175 timeout { fail "(timeout) print unsigned long > (~0)" }