summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/findvar.c16
2 files changed, 12 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 11368fb7983..a6c6f965ade 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2004-02-19 Jim Blandy <jimb@redhat.com>
+
+ * findvar.c (value_from_register): Doc fix.
+
2004-02-19 Jeff Johnston <jjohnstn@redhat.com>
* printcmd.c (print_scalar_formatted): Do not check for sizeof
diff --git a/gdb/findvar.c b/gdb/findvar.c
index 3cb40b2c871..cb1ef655dc2 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -627,14 +627,14 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
error.
Zero-length types can legitimately arise from declarations
- like 'struct {}'. GDB may also create them when it finds
- bogus debugging information; for example, in GCC 2.95.4 and
- binutils 2.11.93.0.2, the STABS BINCL->EXCL compression
- process can create bad type numbers. GDB reads these as
- TYPE_CODE_UNDEF types, with zero length. (That bug is
- actually the only known way to get a zero-length value
- allocated to a register --- which is what it takes to make it
- here.)
+ like 'struct {}' (a GCC extension, not valid ISO C). GDB may
+ also create them when it finds bogus debugging information;
+ for example, in GCC 2.95.4 and binutils 2.11.93.0.2, the
+ STABS BINCL->EXCL compression process can create bad type
+ numbers. GDB reads these as TYPE_CODE_UNDEF types, with zero
+ length. (That bug is actually the only known way to get a
+ zero-length value allocated to a register --- which is what
+ it takes to make it here.)
We'll just attribute the value to the original register. */
VALUE_LVAL (v) = lval_register;