summary refs log tree commit diff
path: root/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch')
-rw-r--r--gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
new file mode 100644
index 0000000000..9e76653a07
--- /dev/null
+++ b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
@@ -0,0 +1,15 @@
+https://github.com/thepowersgang/mrustc/issues/109
+From: Danny Milosavljevic <dannym@scratchpost.org>
+Date: Fri, 3 Jan 2019 13:00:00 +0100
+
+--- mrustc/src/expand/proc_macro.cpp.orig	2019-02-01 14:16:54.208486062 +0100
++++ mrustc/src/expand/proc_macro.cpp	2019-02-01 14:17:14.350925705 +0100
+@@ -977,7 +977,7 @@
+     for(;;)
+     {
+         auto b = recv_u8();
+-        v |= static_cast<uint64_t>(b) << ofs;
++        v |= static_cast<uint64_t>(b & 0x7F) << ofs;
+         if( (b & 0x80) == 0 )
+             break;
+         ofs += 7;