[review] gdb: improve debug output of function overload resolution

Message ID gerrit.1575023121000.I771017e7afbbaf4809e2238a9b23274f55c61f55@gnutoolchain-gerrit.osci.io
State New
Headers show
Series
  • [review] gdb: improve debug output of function overload resolution
Related show

Commit Message

Tankut Baris Aktemur (Code Review) Nov. 29, 2019, 10:25 a.m.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/735
......................................................................

gdb: improve debug output of function overload resolution

Function overload resolution prints debug output if turned on via the
'set debug overload' command.  The output includes the badness vector
(BV).  For each function, this vector contains a badness value of the
length of parameters as its first element.  So, BV[0] does not
correspond to a parameter.  The badness values of parameters start
with BV[1].

A badness value is a pair; it contains a rank and a subrank.  Printing
both fields provides useful information.

Improve printing the badness vector along these lines.

gdb/ChangeLog:
2019-11-29  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

	* valops.c (find_oload_champ): Improve debug output.

Change-Id: I771017e7afbbaf4809e2238a9b23274f55c61f55
---
M gdb/valops.c
1 file changed, 8 insertions(+), 3 deletions(-)




-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I771017e7afbbaf4809e2238a9b23274f55c61f55
Gerrit-Change-Number: 735
Gerrit-PatchSet: 1
Gerrit-Owner: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Gerrit-MessageType: newchange

Comments

Tankut Baris Aktemur (Code Review) Nov. 29, 2019, 11:10 a.m. | #1
Andrew Burgess has posted comments on this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/735
......................................................................


Patch Set 1: Code-Review+2

LGTM.


-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I771017e7afbbaf4809e2238a9b23274f55c61f55
Gerrit-Change-Number: 735
Gerrit-PatchSet: 1
Gerrit-Owner: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Gerrit-Reviewer: Andrew Burgess <andrew.burgess@embecosm.com>
Gerrit-Comment-Date: Fri, 29 Nov 2019 11:10:59 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment

Patch

diff --git a/gdb/valops.c b/gdb/valops.c
index 8af53de..e3fc2dc 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -3039,10 +3039,15 @@ 
 			      "%s # of parms %d\n",
 			      functions[ix]->demangled_name (),
 			      (int) parm_types.size ());
-	  for (jj = 0; jj < args.size () - static_offset; jj++)
+
+	  fprintf_filtered (gdb_stderr,
+			    "...Badness of length : {%d, %d}\n",
+			    bv[0].rank, bv[0].subrank);
+
+	  for (jj = 1; jj < bv.size (); jj++)
 	    fprintf_filtered (gdb_stderr,
-			      "...Badness @ %d : %d\n",
-			      jj, bv[jj].rank);
+			      "...Badness of arg %d : {%d, %d}\n",
+			      jj, bv[jj].rank, bv[jj].subrank);
 	}
 
       if (oload_champ_bv->empty ())