summaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2010-12-29 08:02:58 +0000
committerJoel Brobecker <brobecker@gnat.com>2010-12-29 08:02:58 +0000
commit237fdcbd30b5d8d69b6fb8bd2e4333541843f8f0 (patch)
treeee1748ce280d93d915d40becb75dc67e4c297926 /gdb/testsuite
parent4b88473c312f66c7fba0c1a5d862cd5f95b732c2 (diff)
downloadgdb-237fdcbd30b5d8d69b6fb8bd2e4333541843f8f0.tar.gz
[Ada] print null array pointer as `0x0' rather than `(null)'
Trying to print a variable defined as an access to an unconstrained array: type String_Access is access String; S1 : String_Access; If that variable is null, then GDB prints its value in an odd way: (gdb) print S1 $1 = (string_bug.string_access) (null) ^^^^^^ This patch changes the debugger behavior to print the pointer using the same output we'd use for any null pointer: (gdb) print S1 $1 = (string_bug.string_access) 0x0 It also adds an assert, helping us verify an assumption. gdb/ChangeLog: * ada-valprint.c (ada_val_print_1): Print null array pointers as `0x0' rather than `(null)'. Add assertion. gdb/testsuite/ChangeLog: * gdb.ada/arrayptr/foo.adb: Add new local variable Null_String. * gdb.ada/arrayptr.exp: Add test printing that new variable.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.ada/arrayptr.exp1
-rw-r--r--gdb/testsuite/gdb.ada/arrayptr/foo.adb2
3 files changed, 8 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 5124dbb8b65..4580f60021b 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2010-12-29 Joel Brobecker <brobecker@adacore.com>
+ * gdb.ada/arrayptr/foo.adb: Add new local variable Null_String.
+ * gdb.ada/arrayptr.exp: Add test printing that new variable.
+
+2010-12-29 Joel Brobecker <brobecker@adacore.com>
+
* gdb.ada/lang_switch.exp: Correct expected parameter value.
2010-12-25 Andreas Schwab <schwab@linux-m68k.org>
diff --git a/gdb/testsuite/gdb.ada/arrayptr.exp b/gdb/testsuite/gdb.ada/arrayptr.exp
index 0f450a0f476..43a04c1c064 100644
--- a/gdb/testsuite/gdb.ada/arrayptr.exp
+++ b/gdb/testsuite/gdb.ada/arrayptr.exp
@@ -44,3 +44,4 @@ gdb_test "print string_p" \
"= \\(foo\\.string_access\\) 0x\[0-9a-zA-Z\]+" \
"print string_p"
+gdb_test "print null_string" "= \\(foo\\.string_access\\) 0x0"
diff --git a/gdb/testsuite/gdb.ada/arrayptr/foo.adb b/gdb/testsuite/gdb.ada/arrayptr/foo.adb
index 8cedd870138..c11ccfb2a86 100644
--- a/gdb/testsuite/gdb.ada/arrayptr/foo.adb
+++ b/gdb/testsuite/gdb.ada/arrayptr/foo.adb
@@ -19,6 +19,8 @@ procedure Foo is
type String_Access is access String;
String_P : String_Access := new String'("Hello");
+ Null_String : String_Access := null;
begin
Do_Nothing (String_P'Address); -- STOP
+ Do_Nothing (Null_String'Address);
end Foo;