+2003-12-06 Andrew Cagney <cagney@redhat.com>
+
+ * gdb.base/structs.exp (test_struct_returns): When applicable, set
+ "return_value_unimplemented". When an unimplemented struct return
+ architecture, report incorrect values as a KFAIL
+
2003-12-05 Michael Chastain <mec.gnu@mindspring.com>
* gdb.cp/rtti.exp: Accept new wording of warning from
set test "return foo<n>; ${tests}"
set return_value_unknown 0
+ set return_value_unimplemented 0
gdb_test_multiple "return foo${n}" "${test}" {
-re "The location" {
# Ulgh, a struct return, remember this (still need prompt).
}
-re "A structure or union" {
# Ulgh, a struct return, remember this (still need prompt).
- # Set it to something unique so that it won't match a
- # struct return convention value.
- # set return_value_unknown -1
set return_value_unknown 1
+ # Double ulgh. Architecture doesn't use return_value and
+ # hence hasn't implemented small structure return.
+ set return_value_unimplemented 1
exp_continue
}
-re "Make fun${n} return now.*y or n. $" {
fail "${test}"
}
}
+ -re ".*${gdb_prompt} $" {
+ if $return_value_unimplemented {
+ # What a suprize. The architecture hasn't implemented
+ # return_value, and hence has to fail.
+ kfail "$test" gdb/1444
+ } else {
+ fail "$test"
+ }
+ }
}
# Check that a "finish" works.