aboutsummaryrefslogtreecommitdiff
path: root/ports/draco/fix-compile-error-uwp.patch
diff options
context:
space:
mode:
authorJackBoosY <47264268+JackBoosY@users.noreply.github.com>2019-03-22 14:20:18 +0800
committerPhil Christensen <philc@microsoft.com>2019-03-21 23:20:18 -0700
commitd88fa84c86a4abfc80c14be20e07028c08a3eeda (patch)
tree5aa2c89831e1cd46810481f14fda5367d110f769 /ports/draco/fix-compile-error-uwp.patch
parentd48876bab0ee18522b99aadde212f5444130e05b (diff)
downloadvcpkg-d88fa84c86a4abfc80c14be20e07028c08a3eeda.tar.gz
vcpkg-d88fa84c86a4abfc80c14be20e07028c08a3eeda.zip
[draco]Fix build error on x86-uwp. (#5755)
Diffstat (limited to 'ports/draco/fix-compile-error-uwp.patch')
-rw-r--r--ports/draco/fix-compile-error-uwp.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/ports/draco/fix-compile-error-uwp.patch b/ports/draco/fix-compile-error-uwp.patch
new file mode 100644
index 000000000..874ea7432
--- /dev/null
+++ b/ports/draco/fix-compile-error-uwp.patch
@@ -0,0 +1,30 @@
+diff --git a/src/draco/core/symbol_coding_utils.h b/src/draco/core/symbol_coding_utils.h
+index be2183d..eaaca00 100644
+--- a/src/draco/core/symbol_coding_utils.h
++++ b/src/draco/core/symbol_coding_utils.h
+@@ -41,7 +41,9 @@ typename std::make_unsigned<IntTypeT>::type ConvertSignedIntToSymbol(
+ if (val >= 0) {
+ return static_cast<UnsignedType>(val) << 1;
+ }
+- val = -(val + 1); // Map -1 to 0, -2 to -1, etc..
++ // Map -1 to 0, -2 to -1, etc..
++ val += 1;
++ val *= -1;
+ UnsignedType ret = static_cast<UnsignedType>(val);
+ ret <<= 1;
+ ret |= 1;
+diff --git a/src/draco/io/parser_utils.cc b/src/draco/io/parser_utils.cc
+index 1aa52cc..cfbbdbd 100644
+--- a/src/draco/io/parser_utils.cc
++++ b/src/draco/io/parser_utils.cc
+@@ -150,7 +150,9 @@ bool ParseSignedInt(DecoderBuffer *buffer, int32_t *value) {
+ uint32_t v;
+ if (!ParseUnsignedInt(buffer, &v))
+ return false;
+- *value = (sign < 0) ? -v : v;
++ if (sign < 0)
++ v *= -1;
++ *value = v;
+ return true;
+ }
+