This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 2/2] extend scope of testing in gdb.ada/arrayptr
- From: Joel Brobecker <brobecker at adacore dot com>
- To: gdb-patches at sourceware dot org
- Cc: Joel Brobecker <brobecker at adacore dot com>
- Date: Thu, 17 Mar 2011 07:58:32 -0700
- Subject: [PATCH 2/2] extend scope of testing in gdb.ada/arrayptr
- References: <1300373912-2531-1-git-send-email-brobecker@adacore.com>
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