2003-12-06 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Sat, 6 Dec 2003 22:49:02 +0000 (22:49 +0000)
committerAndrew Cagney <cagney@redhat.com>
Sat, 6 Dec 2003 22:49:02 +0000 (22:49 +0000)
* 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

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/structs.exp

index fc704ab82fb20c704bb6813f54206df59cb0cd6e..90d2ff1411342d5f7e2f393bacce3ffffd0c1361 100644 (file)
@@ -1,3 +1,9 @@
+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
index 140ee70c310ec17ed8e975e575902c2bbbd2a2dc..7ff54c9057c8546e8d999aae63c24a51c3d671a3 100644 (file)
@@ -299,6 +299,7 @@ proc test_struct_returns { n } {
 
     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).
@@ -307,10 +308,10 @@ proc test_struct_returns { n } {
        }
        -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. $" {
@@ -355,6 +356,15 @@ proc test_struct_returns { 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.