aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.ada/arrayptr.exp9
-rw-r--r--gdb/testsuite/gdb.ada/arrayptr/foo.adb7
3 files changed, 21 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index fc02e25..9723a04 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
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.
2011-04-01 Pedro Alves <pedro@codesourcery.com>
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;