extend scope of testing in gdb.ada/arrayptr
authorJoel Brobecker <brobecker@gnat.com>
Fri, 1 Apr 2011 17:03:52 +0000 (17:03 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Fri, 1 Apr 2011 17:03:52 +0000 (17:03 +0000)
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.

gdb/testsuite/ChangeLog:

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

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.ada/arrayptr.exp
gdb/testsuite/gdb.ada/arrayptr/foo.adb

index fc02e259cc1f68dbdb1e80fdc81508f884d72ec5..9723a040aea867b8a2c48b2a45569a3ecf9e7c94 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-01  Joel Brobecker  <brobecker@adacore.com>
+
+       * gdb.ada/arrayptr/foo.adb: Add access to constrained array.
+       * gdb.ada/arrayptr.exp: Add new tests.
+
 2011-04-01  Joel Brobecker  <brobecker@adacore.com>
 
        * gdb.ada/mi_catch_ex: New testcase.
index 85d920da914982151856769ab1127ccd9f1de62d..ba30d612db65f85e6d4267192555c122193962ee 100644 (file)
@@ -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\\)"
+
index fe2a424ee1602ccd85aac2d2e634fa89a80836d9..e8596c2cf607aa469bd306e58a2fd8256f209827 100644 (file)
@@ -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;