* gdb.texinfo: Describe CHAR array vs. string identifcation rules.
authorJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 26 Jan 2007 20:53:52 +0000 (20:53 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 26 Jan 2007 20:53:52 +0000 (20:53 +0000)
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo

index 1dc171856e4900c0c0ae7e0101787c0f98124103..350c01d23f266d8ae1e8945ab7ebca5e18876140 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-26  Jan Kratochvil <jan.kratochvil@redhat.com>
+           Eli Zaretskii  <eliz@gnu.org>
+
+       * gdb.texinfo: Describe CHAR array vs. string identifcation rules.
+
 2007-01-26  Eli Zaretskii  <eliz@gnu.org>
 
        * gdb.texinfo (Compilation, Files, Bootstrapping, Bug Reporting):
index 2cb6e06760e1cf1ab0806000acd88044726ba3f2..de740ac1b05c158465826f6b99d41f31f5bb4d11 100644 (file)
@@ -5632,6 +5632,26 @@ If you ask to print an object whose contents are unknown to
 by the debug information, @value{GDBN} will say @samp{<incomplete
 type>}.  @xref{Symbols, incomplete type}, for more about this.
 
+Strings are identified as arrays of @code{char} values without specified
+signedness.  Arrays of either @code{signed char} or @code{unsigned char} get
+printed as arrays of 1 byte sized integers.  @code{-fsigned-char} or
+@code{-funsigned-char} @value{NGCC} options have no effect as @value{GDBN}
+defines literal string type @code{"char"} as @code{char} without a sign.
+For program code
+
+@smallexample
+char var0[] = "A";
+signed char var1[] = "A";
+@end smallexample
+
+You get during debugging
+@smallexample
+(gdb) print var0
+$1 = "A"
+(gdb) print var1
+$2 = @{65 'A', 0 '\0'@}
+@end smallexample
+
 @node Arrays
 @section Artificial arrays