aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergio Durigan Junior <sergiodj@redhat.com>2017-06-20 09:33:53 -0400
committerSergio Durigan Junior <sergiodj@redhat.com>2017-06-20 09:33:53 -0400
commit96160d605128658378af73bb62732d1cbfa73d8a (patch)
tree96b5db6aac4eafa9f808f563cee51c74c71b73d1
parent9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e (diff)
downloadgdb-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'.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/common/environ.c4
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))
{