mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:54:41 +08:00
* 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.
This commit is contained in:
parent
e223b5bf0e
commit
ba54f3188b
@ -1,3 +1,15 @@
|
||||
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.
|
||||
|
@ -54,12 +54,16 @@ gdb_test "break create_large" \
|
||||
"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\\)" \
|
||||
@ -70,7 +74,7 @@ gdb_test "finish" \
|
||||
|
||||
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
|
||||
@ -84,3 +88,14 @@ gdb_test "finish" \
|
||||
"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"
|
||||
|
||||
|
@ -20,8 +20,11 @@ with Pck; use Pck;
|
||||
procedure P is
|
||||
Small : Data_Small;
|
||||
Large : Data_Large;
|
||||
Vector : Small_Float_Vector;
|
||||
begin
|
||||
Small := Create_Small;
|
||||
Large := Create_Large;
|
||||
Vector := Create_Small_Float_Vector;
|
||||
Small (1) := Large (1);
|
||||
Small (2) := Integer (Vector (1));
|
||||
end P;
|
||||
|
@ -27,4 +27,9 @@ package body Pck is
|
||||
return (others => 2);
|
||||
end Create_Large;
|
||||
|
||||
function Create_Small_Float_Vector return Small_Float_Vector is
|
||||
begin
|
||||
return (others => 4.25);
|
||||
end Create_Small_Float_Vector;
|
||||
|
||||
end Pck;
|
||||
|
@ -20,8 +20,11 @@ package Pck is
|
||||
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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user