* config/tc-arm.c (arm_cpus): Add entry for ARM Cortex-M0.
[binutils-gdb.git] / gdb / testsuite / gdb.base / whatis-exp.exp
blobabea6270a7743337e12f6bd5e8c3614dc4ab3c94
1 # Copyright 1998, 1999, 2007, 2008, 2009 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 3 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, see <http://www.gnu.org/licenses/>.
16 # This file was written by Elena Zannoni (ezannoni@cygnus.com)
18 # This file is part of the gdb testsuite
20 # tests for whatis command on expressions.
21 # used in file eval.c. This flavor of whatis
22 # command performs evaluation of expressions w/o actually
23 # computing the value, but just the type
24 # of the result. It goes through the evaluate_subexp_standard
25 # with the EVAL_AVOID_SIDE_EFFECTS flag rather than EVAL_NORMAL
26
28 if $tracelevel then {
29         strace $tracelevel
30         }
33 # test running programs
35 set prms_id 0
36 set bug_id 0
38 set testfile "int-type"
39 set srcfile ${testfile}.c
40 set binfile ${objdir}/${subdir}/${testfile}
41 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } {
42      untested whatis-exp.exp
43      return -1
44     }
47 gdb_exit
48 gdb_start
49 gdb_reinitialize_dir $srcdir/$subdir
50 gdb_load ${binfile}
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"
59     continue
63 # test expressions with "int" types
66 gdb_test "set variable x=14" "" "set variable x=14"
67 gdb_test "set variable y=2" "" "set variable y=2"
68 gdb_test "set variable z=2" "" "set variable z=2"
69 gdb_test "set variable w=3" "" "set variable w=3"
71 send_gdb "print x\n"
72 gdb_expect {
73     -re ".*14.*$gdb_prompt $" {
74         pass "print value of x"
75       }
76     -re ".*$gdb_prompt $" { fail "print value of x" }
77     timeout           { fail "(timeout) print value of x" }    
78   }
81 send_gdb "print y\n"
82 gdb_expect {
83     -re ".*2.*$gdb_prompt $" {
84         pass "print value of y"
85       }
86     -re ".*$gdb_prompt $" { fail "print value of y" }
87     timeout           { fail "(timeout) print value of y" }    
88   }
90 send_gdb "print z\n"
91 gdb_expect {
92     -re ".*2.*$gdb_prompt $" {
93         pass "print value of z"
94       }
95     -re ".*$gdb_prompt $" { fail "print value of z" }
96     timeout           { fail "(timeout) print value of z" }    
97   }
99 send_gdb "print w\n"
100 gdb_expect {
101     -re ".*3.*$gdb_prompt $" {
102         pass "print value of w"
103       }
104     -re ".*$gdb_prompt $" { fail "print value of w" }
105     timeout           { fail "(timeout) print value of w" }    
106   }
110 send_gdb "whatis x+y\n"
111 gdb_expect {
112     -re ".*type = int.*$gdb_prompt $" {
113         pass "whatis value of x+y"
114       }
115     -re ".*$gdb_prompt $" { fail "whatis value of x+y" }
116     timeout           { fail "(timeout) whatis value of x+y" }    
117   }
119 send_gdb "whatis x-y\n"
120 gdb_expect {
121     -re ".*type = int.*$gdb_prompt $" {
122         pass "whatis value of x-y"
123       }
124     -re ".*$gdb_prompt $" { fail "whatis value of x-y" }
125     timeout           { fail "(timeout) whatis value of x-y" }    
126   }
128 send_gdb "whatis x*y\n"
129 gdb_expect {
130     -re ".*type = int.*$gdb_prompt $" {
131         pass "whatis value of x*y"
132       }
133     -re ".*$gdb_prompt $" { fail "whatis value of x*y" }
134     timeout           { fail "(timeout) whatis value of x*y" }    
135   }
137 send_gdb "whatis x/y\n"
138 gdb_expect {
139     -re ".*type = int.*$gdb_prompt $" {
140         pass "whatis value of x/y"
141       }
142     -re ".*$gdb_prompt $" { fail "whatis value of x/y" }
143     timeout           { fail "(timeout) whatis value of x/y" }    
144   }
146 send_gdb "whatis x%y\n"
147 gdb_expect {
148     -re ".*type = int.*$gdb_prompt $" {
149         pass "whatis value of x%y"
150       }
151     -re ".*$gdb_prompt $" { fail "whatis value of x%y" }
152     timeout           { fail "(timeout) whatis value of x%y" }    
153   }
157 send_gdb "whatis x=y\n"
158 gdb_expect {
159     -re ".*type = int.*$gdb_prompt $" {
160         pass "whatis value of x=y"
161       }
162     -re ".*$gdb_prompt $" { fail "whatis value of x=y" }
163     timeout           { fail "(timeout) whatis value of x=y" }
164   }
167 send_gdb "whatis x+=2\n"
168 gdb_expect {
169     -re ".*type = int.*$gdb_prompt $" {
170         pass "whatis value of x+=2"
171       }
172     -re ".*$gdb_prompt $" { fail "whatis value of x+=2" }
173     timeout           { fail "(timeout) whatis value of x+=2" }
174   }
177 send_gdb "whatis ++x\n"
178 gdb_expect {
179     -re ".*type = int.*$gdb_prompt $" {
180         pass "whatis value of ++x"
181       }
182     -re ".*$gdb_prompt $" { fail "whatis value of ++x" }
183     timeout           { fail "(timeout) whatis value of ++x" }
184   }
186 send_gdb "whatis --x\n"
187 gdb_expect {
188     -re ".*type = int.*$gdb_prompt $" {
189         pass "whatis value of --x"
190       }
191     -re ".*$gdb_prompt $" { fail "whatis value of --x" }
192     timeout           { fail "(timeout) whatis value of --x" }
193   }
195 send_gdb "whatis x++\n"
196 gdb_expect {
197     -re ".*type = int.*$gdb_prompt $" {
198         pass "whatis value of x++"
199       }
200     -re ".*$gdb_prompt $" { fail "whatis value of x++" }
201     timeout           { fail "(timeout) whatis value of x++" }
202   }
204 send_gdb "whatis x--\n"
205 gdb_expect {
206     -re ".*type = int.*$gdb_prompt $" {
207         pass "whatis value of x--"
208       }
209     -re ".*$gdb_prompt $" { fail "whatis value of x--" }
210     timeout           { fail "(timeout) whatis value of x--" }
211   }
213 gdb_exit
214 return 0