diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2017-10-14 09:28:07 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2017-10-14 09:28:07 -0400 |
commit | 824dfcc311958af08c25d29956da2bab99e240c9 (patch) | |
tree | 8605aeda41093e81f7521a900b018b887ba96939 | |
parent | 9c80ecd646a604fadcc290fca23b34c9454f5feb (diff) | |
download | gdb-824dfcc311958af08c25d29956da2bab99e240c9.zip gdb-824dfcc311958af08c25d29956da2bab99e240c9.tar.gz gdb-824dfcc311958af08c25d29956da2bab99e240c9.tar.bz2 |
Fix build failure in linux-osdata.c
Commit
Use std::vector in linux_xfer_osdata_processgroups
b129dcac882da87767cb863ad8b2572f90e9e5bc
broke the build with older gcc (at least 4.7 and 4.8):
In file included from /usr/include/c++/4.7/algorithm:63:0,
from /home/emaisin/src/binutils-gdb/gdb/nat/linux-osdata.c:40:
/usr/include/c++/4.7/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >; _Tp = pid_pgid_entry]’:
/usr/include/c++/4.7/bits/stl_algo.h:2315:70: required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >]’
/usr/include/c++/4.7/bits/stl_algo.h:2347:54: required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >; _Size = long int]’
/usr/include/c++/4.7/bits/stl_algo.h:5483:4: required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<pid_pgid_entry*, std::vector<pid_pgid_entry> >]’
/home/emaisin/src/binutils-gdb/gdb/nat/linux-osdata.c:480:57: required from here
/usr/include/c++/4.7/bits/stl_algo.h:2277:4: error: passing ‘const pid_pgid_entry’ as ‘this’ argument of ‘bool pid_pgid_entry::operator<(const pid_pgid_entry&)’ discards qualifiers [-fpermissive]
Making the operator< method const fixes it.
gdb/ChangeLog:
* nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
const.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/nat/linux-osdata.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index af22deb..25ae470 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-10-14 Simon Marchi <simon.marchi@ericsson.com> + + * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make + const. + 2017-10-14 Simon Marchi <simon.marchi@polymtl.ca> * target.h: Include tracepoint.h. diff --git a/gdb/nat/linux-osdata.c b/gdb/nat/linux-osdata.c index 5d1a7bd..0980c8d 100644 --- a/gdb/nat/linux-osdata.c +++ b/gdb/nat/linux-osdata.c @@ -407,7 +407,7 @@ struct pid_pgid_entry return pid == pgid; } - bool operator< (const pid_pgid_entry &other) + bool operator< (const pid_pgid_entry &other) const { /* Sort by PGID. */ if (this->pgid != other.pgid) |