From 9e87a40907128affbb3c7bbfe2bee68fdd34fa0a Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Wed, 29 Dec 2010 08:02:59 +0000 Subject: [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. --- gdb/testsuite/gdb.ada/arrayptr/foo.adb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gdb/testsuite/gdb.ada/arrayptr/foo.adb') diff --git a/gdb/testsuite/gdb.ada/arrayptr/foo.adb b/gdb/testsuite/gdb.ada/arrayptr/foo.adb index 8cedd87..c11ccfb 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; -- cgit v1.1