From 6b53bf346d9dcf6345119e3e9c2a33ffb9a09d1f Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Fri, 12 Jun 1992 20:51:42 +0000 Subject: [PATCH] * expprint.c (print_subexp): Add missing ']'. * defs.h (reg_names): Fix declaration to match that in infcmd.c * stack.c (reg_names): Delete redundant (and inconsistent) decl. * WHATS.NEW: Point out improved C++ function name handling. * gdbtypes.c (lookup_fundamental_type): For now, use the same type names for both implicitly and explicitly signed integral types. See comment in the source code. --- gdb/ChangeLog | 10 ++++++++++ gdb/WHATS.NEW | 10 ++++++++++ gdb/gdbtypes.c | 22 ++++++++++++++++++---- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 13124c38e52..c76cfc3fbc2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +Fri Jun 12 12:49:43 1992 Fred Fish (fnf@cygnus.com) + + * expprint.c (print_subexp): Add missing ']'. + * defs.h (reg_names): Fix declaration to match that in infcmd.c + * stack.c (reg_names): Delete redundant (and inconsistent) decl. + * WHATS.NEW: Point out improved C++ function name handling. + * gdbtypes.c (lookup_fundamental_type): For now, use the same + type names for both implicitly and explicitly signed integral + types. See comment in the source code. + Thu Jun 11 12:31:50 1992 John Gilmore (gnu at cygnus.com) Two `long long' fixes from Robert R. Henry (rrh@dino.tera.com): diff --git a/gdb/WHATS.NEW b/gdb/WHATS.NEW index 280471e75c9..f10d72149e7 100755 --- a/gdb/WHATS.NEW +++ b/gdb/WHATS.NEW @@ -1,6 +1,16 @@ What has changed since GDB-3.5? (Organized release by release) +*** Changes in GDB-4.6: + + * Better support for C++ function names + +GDB now accepts as input the "demangled form" of C++ overloaded function +names and member function names, and can do command completion on such names +(using TAB, TAB-TAB, and ESC-?). The names have to be quoted with a pair of +single quotes. Examples are 'func (int, long)' and 'obj::operator==(obj&)'. +Make use of command completion, it is your friend. + *** Changes in GDB-4.5: * New machines supported (host and target) diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 77a26bc78a4..8af9e8539e7 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -880,7 +880,21 @@ init_type (code, length, flags, name, objfile) define fundamental types. For the formats which don't provide fundamental types, gdb can create - such types, using defaults reasonable for the current target machine. */ + such types, using defaults reasonable for the current target machine. + + FIXME: Some compilers distinguish explicitly signed integral types + (signed short, signed int, signed long) from "regular" integral types + (short, int, long) in the debugging information. There is some dis- + agreement as to how useful this feature is. In particular, gcc does + not support this. Also, only some debugging formats allow the + distinction to be passed on to a debugger. For now, we always just + use "short", "int", or "long" as the type name, for both the implicit + and explicitly signed types. This also makes life easier for the + gdb test suite since we don't have to account for the differences + in output depending upon what the compiler and debugging format + support. We will probably have to re-examine the issue when gdb + starts taking it's fundamental type information directly from the + debugging information supplied by the compiler. fnf@cygnus.com */ struct type * lookup_fundamental_type (objfile, typeid) @@ -959,7 +973,7 @@ lookup_fundamental_type (objfile, typeid) type = init_type (TYPE_CODE_INT, TARGET_SHORT_BIT / TARGET_CHAR_BIT, TYPE_FLAG_SIGNED, - "signed short", objfile); + "short", objfile); /* FIXME -fnf */ break; case FT_UNSIGNED_SHORT: type = init_type (TYPE_CODE_INT, @@ -977,7 +991,7 @@ lookup_fundamental_type (objfile, typeid) type = init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, TYPE_FLAG_SIGNED, - "signed int", objfile); + "int", objfile); /* FIXME -fnf */ break; case FT_UNSIGNED_INTEGER: type = init_type (TYPE_CODE_INT, @@ -1001,7 +1015,7 @@ lookup_fundamental_type (objfile, typeid) type = init_type (TYPE_CODE_INT, TARGET_LONG_BIT / TARGET_CHAR_BIT, TYPE_FLAG_SIGNED, - "signed long", objfile); + "long", objfile); /* FIXME -fnf */ break; case FT_UNSIGNED_LONG: type = init_type (TYPE_CODE_INT, -- 2.30.2