From e63f6503fc160ed8c1b8867ac8300fa9f3e9723e Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Fri, 15 Apr 2016 23:38:56 +0200 Subject: [PATCH] hunspell: MSVC debug runtime iterators don't want to decrement past begin() Change-Id: I258dc551d14ba72113b284be3566ba924434ab4c --- external/hunspell/UnpackedTarball_hunspell.mk | 1 + external/hunspell/hunspell-iterator.patch.1 | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 external/hunspell/hunspell-iterator.patch.1 diff --git a/external/hunspell/UnpackedTarball_hunspell.mk b/external/hunspell/UnpackedTarball_hunspell.mk index 943e78830133..3aae5798af0e 100644 --- a/external/hunspell/UnpackedTarball_hunspell.mk +++ b/external/hunspell/UnpackedTarball_hunspell.mk @@ -13,6 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,hunspell,$(HUNSPELL_TARBALL))) $(eval $(call gb_UnpackedTarball_add_patches,hunspell,\ external/hunspell/hunspell-solaris.patch \ + external/hunspell/hunspell-iterator.patch.1 \ )) ifeq ($(COM),MSC) diff --git a/external/hunspell/hunspell-iterator.patch.1 b/external/hunspell/hunspell-iterator.patch.1 new file mode 100644 index 000000000000..046d6e0063a4 --- /dev/null +++ b/external/hunspell/hunspell-iterator.patch.1 @@ -0,0 +1,22 @@ +MSVC debug runtime iterators don't want to be decremented past begin() + +--- hunspell/src/hunspell/affixmgr.cxx.orig 2016-04-15 23:30:37.555875079 +0200 ++++ hunspell/src/hunspell/affixmgr.cxx 2016-04-15 23:30:43.669875027 +0200 +@@ -4638,7 +4638,7 @@ + return; + + int neg = 0; +- for (std::string::iterator k = piece.begin() + piece.size() - 1; k >= piece.begin(); --k) { ++ for (std::string::iterator k = piece.begin() + piece.size() - 1; ; --k) { + switch (*k) { + case '[': { + if (neg) +@@ -4666,6 +4666,8 @@ + *(k + 1) = *k; + } + } ++ if (k == piece.begin()) ++ break; + } + } +