DOCO: Enhance the menu to select function overloads with signatures
authorPierre-Marie de Rodat <derodat@adacore.com>
Thu, 3 Sep 2015 15:34:58 +0000 (17:34 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 8 Dec 2015 08:59:44 +0000 (09:59 +0100)
gdb/ChangeLog:

* NEWS: Announce this enhancement and the corresponding new
option.

gdb/doc/ChangeLog:

* gdb.texinfo (Ada Mode Into): Move overloading support
description to its own node.
(Overloading support for Ada): New node.

gdb/ChangeLog
gdb/NEWS
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo

index f3537ea50e443ffdbd30c4a9a620385c10ef4968..b5d2431ddeaa6f0cf02e762726da89009da0ce41 100644 (file)
@@ -1,3 +1,8 @@
+2015-12-08  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * NEWS: Announce this enhancement and the corresponding new
+       option.
+
 2015-12-07  Pierre-Marie de Rodat  <derodat@adacore.com>
 
        * ada-lang.c (print_signatures): New.
index a222dfb491f030b992d8511cda7fea00fd3dc967..280c8fea3e79dc72dfacfa3bd197a14a82cf51d0 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -28,6 +28,9 @@
   and "maint info program-spaces" now list the corresponding items in
   ascending ID order, for consistency with all other "info" commands.
 
+* In Ada, the overloads selection menu has been enhanced to display the
+  parameter types and the return types for the matching overloaded subprograms.
+
 * New commands
 
 maint set target-non-stop (on|off|auto)
@@ -52,6 +55,11 @@ set remote thread-events
 show remote thread-events
   Set/show the use of thread create/exit events.
 
+set ada print-signatures on|off
+show ada print-signatures"
+  Control whether parameter types and return types are displayed in overloads
+  selection menus.  It is activaled (@code{on}) by default.
+
 * The "disassemble" command accepts a new modifier: /s.
   It prints mixed source+disassembly like /m with two differences:
   - disassembled instructions are now printed in program order, and
index 2c58ffe8f4d9039e7b2bcf38847eda2ec2d66579..6f05e361ddbd62e97e7801d4ddca9ccf718c832b 100644 (file)
@@ -1,3 +1,9 @@
+2015-12-08  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gdb.texinfo (Ada Mode Into): Move overloading support
+       description to its own node.
+       (Overloading support for Ada): New node.
+
 2015-11-30  Pedro Alves  <palves@redhat.com>
 
        PR 14618
index b82f3c67a8a6718544176f84b23677ca267df9dc..9f72c52e151f502ce9753223dc58d401d1472240 100644 (file)
@@ -15606,6 +15606,8 @@ to be difficult.
                                    in @value{GDBN}.
 * Omissions from Ada::          Restrictions on the Ada expression syntax.
 * Additions to Ada::            Extensions of the Ada expression syntax.
+* Overloading support for Ada:: Support for expressions involving overloaded
+                                   subprograms.
 * Stopping Before Main Program:: Debugging the program during elaboration.
 * Ada Exceptions::              Ada Exceptions
 * Ada Tasks::                   Listing and setting breakpoints in tasks.
@@ -15653,13 +15655,6 @@ mostly for documenting command files.  The standard @value{GDBN} comment
 (@samp{#}) still works at the beginning of a line in Ada mode, but not in the 
 middle (to allow based literals).
 
-The debugger supports limited overloading.  Given a subprogram call in which
-the function symbol has multiple definitions, it will use the number of 
-actual parameters and some information about their types to attempt to narrow
-the set of definitions.  It also makes very limited use of context, preferring
-procedures to functions in the context of the @code{call} command, and
-functions to procedures elsewhere. 
-
 @node Omissions from Ada
 @subsubsection Omissions from Ada
 @cindex Ada, omissions from
@@ -15920,6 +15915,53 @@ object.
 
 @end itemize
 
+@node Overloading support for Ada
+@subsubsection Overloading support for Ada
+@cindex overloading, Ada
+
+The debugger supports limited overloading.  Given a subprogram call in which
+the function symbol has multiple definitions, it will use the number of
+actual parameters and some information about their types to attempt to narrow
+the set of definitions.  It also makes very limited use of context, preferring
+procedures to functions in the context of the @code{call} command, and
+functions to procedures elsewhere.
+
+If, after narrowing, the set of matching definitions still contains more than
+one definition, @value{GDBN} will display a menu to query which one it should
+use, for instance:
+
+@smallexample
+(@value{GDBP}) print f(1)
+Multiple matches for f
+[0] cancel
+[1] foo.f (integer) return boolean at foo.adb:23
+[2] foo.f (foo.new_integer) return boolean at foo.adb:28
+> 
+@end smallexample
+
+In this case, just select one menu entry either to cancel expression evaluation
+(type @kbd{0} and press @key{RET}) or to continue evaluation with a specific
+instance (type the corresponding number and press @key{RET}).
+
+Here are a couple of commands to customize @value{GDBN}'s behavior in this
+case:
+
+@table @code
+
+@kindex set ada print-signatures
+@item set ada print-signatures
+Control whether parameter types and return types are displayed in overloads
+selection menus.  It is @code{on} by default.
+@xref{Overloading support for Ada}.
+
+@kindex show ada print-signatures
+@item show ada print-signatures
+Show the current setting for displaying parameter types and return types in
+overloads selection menu.
+@xref{Overloading support for Ada}.
+
+@end table
+
 @node Stopping Before Main Program
 @subsubsection Stopping at the Very Beginning