diff options
author | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-06-20 09:33:53 -0400 |
---|---|---|
committer | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-06-20 09:33:53 -0400 |
commit | 96160d605128658378af73bb62732d1cbfa73d8a (patch) | |
tree | 96b5db6aac4eafa9f808f563cee51c74c71b73d1 /gdb | |
parent | 9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e (diff) | |
download | gdb-96160d605128658378af73bb62732d1cbfa73d8a.zip gdb-96160d605128658378af73bb62732d1cbfa73d8a.tar.gz gdb-96160d605128658378af73bb62732d1cbfa73d8a.tar.bz2 |
Use '::iterator' instead of '::const_iterator' on environ.c (and fix breakage on early versions of libstdc++)
Even though C++11 supports modifying containers using a const_iterator
(e.g., calling the 'erase' method of a std::vector), early versions of
libstdc++ did not implement that. Some of our buildslaves are using
these versions (e.g., the AArch64 buildslave uses gcc 4.8.8), and my
previous commit causes a breakage on them. The solution is simple:
just use a normal iterator, without const.
gdb/ChangeLog:
2017-06-20 Sergio Durigan Junior <sergiodj@redhat.com>
* common/environ.c (gdb_environ::unset): Use '::iterator' instead
of '::const_iterator'.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/common/environ.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 77001fa..f4e2b08 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2017-06-20 Sergio Durigan Junior <sergiodj@redhat.com> + * common/environ.c (gdb_environ::unset): Use '::iterator' instead + of '::const_iterator'. + +2017-06-20 Sergio Durigan Junior <sergiodj@redhat.com> + * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add 'unittests/environ-selftests.c'. (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'. diff --git a/gdb/common/environ.c b/gdb/common/environ.c index 20f8aba..2d13957 100644 --- a/gdb/common/environ.c +++ b/gdb/common/environ.c @@ -116,8 +116,8 @@ gdb_environ::unset (const char *var) /* We iterate until '.cend () - 1' because the last element is always NULL. */ - for (std::vector<char *>::const_iterator el = m_environ_vector.cbegin (); - el != m_environ_vector.cend () - 1; + for (std::vector<char *>::iterator el = m_environ_vector.begin (); + el != m_environ_vector.end () - 1; ++el) if (match_var_in_string (*el, var, len)) { |