[review] Replace some more qsort calls with std::sort

Christian Biesinger (Code Review)
2019-10-18T21:41:13Z

Christian Biesinger has posted comments on this change.

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

Patch Set 1:

(9 comments)

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c
File gdb/breakpoint.c:

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@522
PS1, Line 522: /* Array is sorted by bp_location_is_less_than - primarily by the ADDRESS. */
> In gerrit I can't tell if this line is overlong. […]
When you're logged in, you can set diff preferences using the "gear" icon on the right, where you can set the diff width to 80. That lets you see if a line is too long.

(this line is 78 characters long)

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@11440
PS1, Line 11440: return (a->address > b->address) < (a->address < b->address);
> I think this can just be a->address < b->address ?
Yeah, I think you're right. Done. I was confused by this code.

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@11448
PS1, Line 11448: < (a->pspace->num < b->pspace->num));
> Likewise this can be simplified. […]
Done

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@11450
PS1, Line 11450: /* Sort permanent breakpoints first. */
: if (a->permanent != b->permanent)
Test of a multiline comment (I think you have to highlight in the code, then press c, instead of directly selectng multiple lines)

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@11452
PS1, Line 11452: return (a->permanent < b->permanent) < (a->permanent > b->permanent);
> Ditto.
Done

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@11460
PS1, Line 11460: < (a->owner->number < b->owner->number));
> Ditto.
Done

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/breakpoint.c@11462
PS1, Line 11462: return (a > b) < (a < b);
> Even here.
Done.

I wonder why this code wasn't just subtracting one variable from the other in all these cases.

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/disasm.c
File gdb/disasm.c:

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/disasm.c@184
PS1, Line 184: val = mle1.start_pc - mle2.start_pc;
> This code is a bit weird. It only works because "val" has signed type, […]
Done

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/mdebugread.c
File gdb/mdebugread.c:

https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/131/1/gdb/mdebugread.c@4570
PS1, Line 4570: addr_diff = (BLOCK_START (b1)) - (BLOCK_START (b2));
> This has the same oddity involving signs. I think just using the […]
Done