+2006-12-27 Joel Brobecker <brobecker@adacore.com>
+
+ * gdb.ada/array_return/pck.ads (Small_Float_Vector): New type.
+ (Create_Small_Float_Vector): New function.
+ * gdb.ada/array_return/pck.adb (Create_Small_Float_Vector): Add
+ function body.
+ * gdb.ada/array_return/p.adb: Use new type and function from
+ package Pck.
+ * gdb.ada/array_return.exp: Add a test verifying that GDB is
+ able to print the value returned by a function returning an
+ array of float.
+
2006-12-20 Joel Brobecker <brobecker@adacore.com>
* gdb.arch/i386-prologue.exp: Remove calls to setup_kfail.
"Breakpoint \[0-9\]+ at.*: file .*pck.adb, line \[0-9\]+." \
"insert breakpoint in create_large"
+gdb_test "break create_small_float_vector" \
+ "Breakpoint \[0-9\]+ at.*: file .*pck.adb, line \[0-9\]+." \
+ "insert breakpoint in create_small_float_vector"
+
# Then continue until reaching the first breakpoint inside Create_Small,
# and then do a "finish".
gdb_test "cont" \
"Breakpoint \[0-9\]+, pck.create_small \\(\\).*" \
- "Continuing to Create.Small"
+ "Continuing to Create_Small"
gdb_test "finish" \
"Value returned is \\\$\[0-9\]+ = \\(1, 1\\)" \
gdb_test "cont" \
"Breakpoint \[0-9\]+, pck.create_large \\(\\).*" \
- "Continuing to Create.Large"
+ "Continuing to Create_Large"
# On hppa32, the value returned is too large to be returned via a register.
# Instead, it is returned using the struct convention, and the debugger
"Value returned is \\\$\[0-9\]+ = \\(2, 2, 2, 2\\)" \
"value printed by finish of Create_Large"
+# Now continue until reaching the third breakpoint, and then do another
+# "finish" again.
+
+gdb_test "cont" \
+ "Breakpoint \[0-9\]+, pck.create_small_float_vector \\(\\).*" \
+ "Continuing to Create_Small_Float_Vector"
+
+gdb_test "finish" \
+ "Value returned is \\\$\[0-9\]+ = \\(4.25, 4.25\\)" \
+ "value printed by finish of Create_Small_Float_Vector"
+
type Data_Small is array (1 .. 2) of Integer;
type Data_Large is array (1 .. 4) of Integer;
+ type Small_Float_Vector is array (1 .. 2) of Float;
+
function Create_Small return Data_Small;
function Create_Large return Data_Large;
+ function Create_Small_Float_Vector return Small_Float_Vector;
end Pck;