Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [RFA/testsuite/ada] Add test with function returning "small" array of floats
@ 2006-12-26  5:51 Joel Brobecker
  2006-12-26 14:07 ` Mark Kettenis
  0 siblings, 1 reply; 4+ messages in thread
From: Joel Brobecker @ 2006-12-26  5:51 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 774 bytes --]

Hello,

Following a question raised by Mark in:

        http://www.sourceware.org/ml/gdb-patches/2006-12/msg00312.html

I decided to add a test in gdb.ada/array_return to cover that case.

2006-12-26  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.

Tested on sparc64-solaris.  OK to apply?

Thank you,
-- 
Joel

[-- Attachment #2: float-array-return.diff --]
[-- Type: text/plain, Size: 3778 bytes --]

Index: array_return/pck.ads
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.ada/array_return/pck.ads,v
retrieving revision 1.2
diff -u -p -r1.2 pck.ads
--- array_return/pck.ads	6 Oct 2006 18:05:58 -0000	1.2
+++ array_return/pck.ads	26 Dec 2006 05:32:06 -0000
@@ -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;
 
Index: array_return/pck.adb
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.ada/array_return/pck.adb,v
retrieving revision 1.2
diff -u -p -r1.2 pck.adb
--- array_return/pck.adb	6 Oct 2006 18:05:58 -0000	1.2
+++ array_return/pck.adb	26 Dec 2006 05:32:06 -0000
@@ -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;
Index: array_return/p.adb
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.ada/array_return/p.adb,v
retrieving revision 1.2
diff -u -p -r1.2 p.adb
--- array_return/p.adb	6 Oct 2006 18:05:58 -0000	1.2
+++ array_return/p.adb	26 Dec 2006 05:32:06 -0000
@@ -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;
Index: array_return.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.ada/array_return.exp,v
retrieving revision 1.2
diff -u -p -r1.2 array_return.exp
--- array_return.exp	7 Feb 2006 19:37:46 -0000	1.2
+++ array_return.exp	26 Dec 2006 05:32:06 -0000
@@ -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"
+

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFA/testsuite/ada] Add test with function returning "small" array of floats
  2006-12-26  5:51 [RFA/testsuite/ada] Add test with function returning "small" array of floats Joel Brobecker
@ 2006-12-26 14:07 ` Mark Kettenis
  2006-12-26 15:21   ` Daniel Jacobowitz
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Kettenis @ 2006-12-26 14:07 UTC (permalink / raw)
  To: brobecker; +Cc: gdb-patches

> Date: Tue, 26 Dec 2006 09:52:33 +0400
> From: Joel Brobecker <brobecker@adacore.com>
> 
> Hello,
> 
> Following a question raised by Mark in:
> 
>         http://www.sourceware.org/ml/gdb-patches/2006-12/msg00312.html
> 
> I decided to add a test in gdb.ada/array_return to cover that case.
> 
> 2006-12-26  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.
> 
> Tested on sparc64-solaris.  OK to apply?

Looks reasonable to me, but then I don't know any Ada.

Mark


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFA/testsuite/ada] Add test with function returning "small" array of floats
  2006-12-26 14:07 ` Mark Kettenis
@ 2006-12-26 15:21   ` Daniel Jacobowitz
  2006-12-27  6:16     ` Joel Brobecker
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Jacobowitz @ 2006-12-26 15:21 UTC (permalink / raw)
  To: Mark Kettenis; +Cc: brobecker, gdb-patches

On Tue, Dec 26, 2006 at 03:06:53PM +0100, Mark Kettenis wrote:
> > Tested on sparc64-solaris.  OK to apply?
> 
> Looks reasonable to me, but then I don't know any Ada.

Ditto - Joel, I think you should go ahead.

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFA/testsuite/ada] Add test with function returning "small" array of floats
  2006-12-26 15:21   ` Daniel Jacobowitz
@ 2006-12-27  6:16     ` Joel Brobecker
  0 siblings, 0 replies; 4+ messages in thread
From: Joel Brobecker @ 2006-12-27  6:16 UTC (permalink / raw)
  To: Mark Kettenis, gdb-patches

> On Tue, Dec 26, 2006 at 03:06:53PM +0100, Mark Kettenis wrote:
> > > Tested on sparc64-solaris.  OK to apply?
> > 
> > Looks reasonable to me, but then I don't know any Ada.
> 
> Ditto - Joel, I think you should go ahead.

Thank you! This is now checked in.

-- 
Joel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-12-27  6:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-26  5:51 [RFA/testsuite/ada] Add test with function returning "small" array of floats Joel Brobecker
2006-12-26 14:07 ` Mark Kettenis
2006-12-26 15:21   ` Daniel Jacobowitz
2006-12-27  6:16     ` Joel Brobecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox