summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-05-21 16:01:06 -0400
committerPetr Mladek <pmladek@suse.cz>2013-05-22 09:23:37 +0200
commit91714a9430e4b83b91cd1f6fc56ea398bfc685d0 (patch)
treea9a1cf1b44b84a1a6dd360b7217188314939b9d8
parent5110964b590f5e6af70ed190e34320567c655793 (diff)
Try not to crash in mdds when _GLIBCXX_DEBUG is defined.
Change-Id: Id3a5ca97129177cae27cc38ec044f4fa62f08477
-rw-r--r--mdds/0001-Avoid-crash-when-_GLIBCXX_DEBUG-is-defined.patch31
-rw-r--r--mdds/UnpackedTarball_mdds.mk1
2 files changed, 32 insertions, 0 deletions
diff --git a/mdds/0001-Avoid-crash-when-_GLIBCXX_DEBUG-is-defined.patch b/mdds/0001-Avoid-crash-when-_GLIBCXX_DEBUG-is-defined.patch
new file mode 100644
index 000000000000..acddb8b17de4
--- /dev/null
+++ b/mdds/0001-Avoid-crash-when-_GLIBCXX_DEBUG-is-defined.patch
@@ -0,0 +1,31 @@
+From e77d3ba18a2fd53488048b78264be011db5423f6 Mon Sep 17 00:00:00 2001
+From: Kohei Yoshida <kohei.yoshida@gmail.com>
+Date: Tue, 21 May 2013 15:38:51 -0400
+Subject: [PATCH] Avoid crash when _GLIBCXX_DEBUG is defined.
+
+I'm not sure why gcc's STL debug complains when swapping two iterators
+when one of them is a singular, but doesn't when I assign one to the
+other via assignment. But whichever works....
+---
+ include/mdds/multi_type_vector_itr.hpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/include/mdds/multi_type_vector_itr.hpp b/include/mdds/multi_type_vector_itr.hpp
+index a7954d2..7923a22 100644
+--- a/b/include/mdds/multi_type_vector_itr.hpp
++++ u/r/screwed/include/mdds/multi_type_vector_itr.hpp
+@@ -216,8 +216,9 @@ public:
+
+ iterator_common_base& operator= (const iterator_common_base& other)
+ {
+- iterator_common_base assigned(other);
+- swap(assigned);
++ m_cur_node = other.m_cur_node;
++ m_pos = other.m_pos;
++ m_end = other.m_end;
+ return *this;
+ }
+
+--
+1.8.0
+
diff --git a/mdds/UnpackedTarball_mdds.mk b/mdds/UnpackedTarball_mdds.mk
index b33bc1baee46..1891f29631a5 100644
--- a/mdds/UnpackedTarball_mdds.mk
+++ b/mdds/UnpackedTarball_mdds.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,mdds,\
mdds/mdds_0.6.0.patch \
mdds/0001-Workaround-for-gcc-bug.patch \
mdds/mdds_0.7.0_unreachable_warning.patch.1 \
+ mdds/0001-Avoid-crash-when-_GLIBCXX_DEBUG-is-defined.patch \
))
# vim: set noet sw=4 ts=4: