[PATCH 2/2] extend scope of testing in gdb.ada/arrayptr

Joel Brobecker brobecker@adacore.com
Thu Mar 17 15:06:00 GMT 2011


We add testing of taking a slice of an array access.  And we also
introduce the same amount of testing, but with an access to a
constrained array.

Without the previous change, we get 2 FAILs:
    FAIL: gdb.ada/arrayptr.exp: print arr_ptr (2)
    FAIL: gdb.ada/arrayptr.exp: print arr_ptr (3..4)

gdb/testsuite/ChangeLog:

        * gdb.ada/arrayptr/foo.adb: Add access to constrained array.
        * gdb.ada/arrayptr.exp: Add new tests.

Tested on x86_64-linux.  Will commit in a couple of days.

---
 gdb/testsuite/gdb.ada/arrayptr.exp     |    9 +++++++++
 gdb/testsuite/gdb.ada/arrayptr/foo.adb |    7 +++++++
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/gdb/testsuite/gdb.ada/arrayptr.exp b/gdb/testsuite/gdb.ada/arrayptr.exp
index 85d920d..ba30d61 100644
--- a/gdb/testsuite/gdb.ada/arrayptr.exp
+++ b/gdb/testsuite/gdb.ada/arrayptr.exp
@@ -41,4 +41,13 @@ gdb_test "print string_p" \
          "= \\(foo\\.string_access\\) 0x\[0-9a-zA-Z\]+" \
          "print string_p"
 
+gdb_test "print string_p (3..4)" "= \"ll\""
+
 gdb_test "print null_string" "= \\(foo\\.string_access\\) 0x0"
+
+gdb_test "print arr_ptr" "= \\(access foo\\.little_array\\) 0x\[0-9a-zA-Z\]+"
+
+gdb_test "print arr_ptr (2)" "= 22"
+
+gdb_test "print arr_ptr (3..4)" "= \\(3 => 23, 24\\)"
+
diff --git a/gdb/testsuite/gdb.ada/arrayptr/foo.adb b/gdb/testsuite/gdb.ada/arrayptr/foo.adb
index fe2a424..e8596c2 100644
--- a/gdb/testsuite/gdb.ada/arrayptr/foo.adb
+++ b/gdb/testsuite/gdb.ada/arrayptr/foo.adb
@@ -20,7 +20,14 @@ procedure Foo is
 
    String_P : String_Access := new String'("Hello");
    Null_String : String_Access := null;
+
+   --  Same situation, but constrained array.
+   type Little_Array is array (1 .. 10) of Integer;
+   type Little_Array_Ptr is access all Little_Array;
+   Arr_Ptr: Little_Array_Ptr :=
+     new Little_Array'(21, 22, 23, 24, 25, 26, 27, 28, 29, 30);
 begin
    Do_Nothing (String_P'Address);  -- STOP
    Do_Nothing (Null_String'Address);
+   Do_Nothing (Arr_Ptr'Address);
 end Foo;
-- 
1.7.1



More information about the Gdb-patches mailing list