This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] gdb: Use std::max and std::min throughout
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: Pedro Alves <palves at redhat dot com>, <gdb-patches at sourceware dot org>
- Date: Thu, 15 Sep 2016 13:46:51 -0400
- Subject: Re: [PATCH] gdb: Use std::max and std::min throughout
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=simon dot marchi at ericsson dot com;
- References: <1473958336-23920-1-git-send-email-palves@redhat.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 16-09-15 12:52 PM, Pedro Alves wrote:
> Otherwise including <string> or some other C++ header is broken.
> E.g.:
>
> In file included from /opt/gcc/include/c++/7.0.0/bits/char_traits.h:39:0,
> from /opt/gcc/include/c++/7.0.0/string:40,
> from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/infrun.c:68:
> /opt/gcc/include/c++/7.0.0/bits/stl_algobase.h:243:56: error: macro "min" passed 3 arguments, but takes just 2
> min(const _Tp& __a, const _Tp& __b, _Compare __comp)
> ^
> /opt/gcc/include/c++/7.0.0/bits/stl_algobase.h:265:56: error: macro "max" passed 3 arguments, but takes just 2
> max(const _Tp& __a, const _Tp& __b, _Compare __comp)
> ^
> In file included from .../src/gdb/infrun.c:21:0:
>
> To the best of my grepping abilities, I believe I adjusted all min/max
> calls.
If you missed one in the code you compile, it would show up as a compilation error.
For the rest (native files?), if you missed one it will be an easy fix.
There are a few places where it makes the lines too long. I personally don't mind,
since I finally upgraded to a terminal wider than 80 characters, but it shouldn't be
too long to fix. If you don't have your own already, may I suggest using this command
line to find long lines?
$ git show | sed "s|\t| |g" | sed -r 's|^\+(.{81,1000})|+\1 TOO LONG|g' | less
It displays "TOO LONG" at the end of the line when an added line overflows 80 chars.
> gdb/ChangeLog:
> 2016-09-15 Pedro Alves <palves@redhat.com>
>
> * defs.h (min, max): Delete.
> * aarch64-tdep.c: Include <algorigthm> and use std::min and
algorigthm -> algorithm.
> std::max throughout.
> * aarch64-tdep.c: Likewise.
> * alpha-tdep.c: Likewise.
> * amd64-tdep.c: Likewise.
> * amd64-windows-tdep.c: Likewise.
> * arm-tdep.c: Likewise.
> * avr-tdep.c: Likewise.
> * breakpoint.c: Likewise.
> * btrace.c: Likewise.
> * ctf.c: Likewise.
> * disasm.c: Likewise.
> * doublest.c: Likewise.
> * dwarf2loc.c: Likewise.
> * dwarf2read.c: Likewise.
> * environ.c: Likewise.
> * exec.c: Likewise.
> * f-exp.y: Likewise.
> * findcmd.c: Likewise.
> * ft32-tdep.c: Likewise.
> * gcore.c: Likewise.
> * hppa-tdep.c: Likewise.
> * i386-darwin-tdep.c: Likewise.
> * i386-tdep.c: Likewise.
> * linux-thread-db.c: Likewise.
> * lm32-tdep.c: Likewise.
> * m32r-tdep.c: Likewise.
> * m88k-tdep.c: Likewise.
> * memrange.c: Likewise.
> * minidebug.c: Likewise.
> * mips-tdep.c: Likewise.
> * moxie-tdep.c: Likewise.
> * nds32-tdep.c: Likewise.
> * nios2-tdep.c: Likewise.
> * nto-procfs.c: Likewise.
> * parse.c: Likewise.
> * ppc-sysv-tdep.c: Likewise.
> * probe.c: Likewise.
> * record-btrace.c: Likewise.
> * remote.c: Likewise.
> * rs6000-tdep.c: Likewise.
> * rx-tdep.c: Likewise.
> * s390-linux-nat.c: Likewise.
> * s390-linux-tdep.c: Likewise.
> * ser-tcp.c: Likewise.
> * sh-tdep.c: Likewise.
> * sh64-tdep.c: Likewise.
> * source.c: Likewise.
> * sparc-tdep.c: Likewise.
> * symfile.c: Likewise.
> * target-memory.c: Likewise.
> * target.c: Likewise.
> * tic6x-tdep.c: Likewise.
> * tilegx-tdep.c: Likewise.
> * tracefile-tfile.c: Likewise.
> * tracepoint.c: Likewise.
> * valprint.c: Likewise.
> * value.c: Likewise.
> * xtensa-tdep.c: Likewise.
> * cli/cli-cmds.c: Likewise.
> * compile/compile-object-load.c: Likewise.
I noticed that you didn't list all affected functions in your ChangeLog,
only the files. I think it makes sense for those across-the-board changes,
I'll probably do the same some day :).