[thirdparty] fix building LLVM 9 with GCC 10
This patch fixes LLVM 9 build with GCC 10 in Kudu's thirdparty. The
imported patch is already in the LLVM repo, see [1].
Prior to this patch, LLVM9 build in thirdparty would fail with the
following error:
thirdparty/src/llvm-9.0.0.src/include/llvm/Demangle/MicrosoftDemangleNodes.h:566:3: error: unknown type name 'uint32_t'
uint32_t NVOffset = 0;
^
[1] https://github.com/llvm-mirror/llvm/commit/e0402b5c9813a2458b8dd3f640883110db280395
Change-Id: I3332556229dbf2bce65d52f37c48d62624465f70
Reviewed-on: http://gerrit.cloudera.org:8080/17627
Tested-by: Kudu Jenkins
Reviewed-by: Andrew Wong <awong@cloudera.com>
diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh
index 944b00f..d724f73 100755
--- a/thirdparty/download-thirdparty.sh
+++ b/thirdparty/download-thirdparty.sh
@@ -328,13 +328,14 @@
$PYTHON_SOURCE \
$PYTHON_PATCHLEVEL
-LLVM_PATCHLEVEL=4
+LLVM_PATCHLEVEL=5
fetch_and_patch \
llvm-${LLVM_VERSION}-iwyu-${IWYU_VERSION}.src.tar.gz \
$LLVM_SOURCE \
$LLVM_PATCHLEVEL \
"patch -p1 < $TP_DIR/patches/llvm-add-iwyu.patch" \
"patch -p1 < $TP_DIR/patches/llvm-iwyu-include-picker.patch" \
+ "patch -p1 < $TP_DIR/patches/llvm-MicrosoftDemangleNodes-e0402b5c9813a2458b8dd3f640883110db280395.patch" \
"patch -p0 < $TP_DIR/patches/llvm-iwyu-sized-deallocation.patch" \
"patch -d projects -p1 < $TP_DIR/patches/llvm-947f9692440836dcb8d88b74b69dd379d85974ce.patch"
diff --git a/thirdparty/patches/llvm-MicrosoftDemangleNodes-e0402b5c9813a2458b8dd3f640883110db280395.patch b/thirdparty/patches/llvm-MicrosoftDemangleNodes-e0402b5c9813a2458b8dd3f640883110db280395.patch
new file mode 100644
index 0000000..04cfa3f
--- /dev/null
+++ b/thirdparty/patches/llvm-MicrosoftDemangleNodes-e0402b5c9813a2458b8dd3f640883110db280395.patch
@@ -0,0 +1,32 @@
+commit e0402b5c9813a2458b8dd3f640883110db280395
+Author: Than McIntosh <thanm@google.com>
+Date: Fri Jul 19 13:13:54 2019 +0000
+
+ [NFC] include cstdint/string prior to using uint8_t/string
+
+ Summary: include proper header prior to use of uint8_t typedef
+ and std::string.
+
+ Subscribers: llvm-commits
+
+ Reviewers: cherry
+
+ Tags: #llvm
+
+ Differential Revision: https://reviews.llvm.org/D64937
+
+ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366572 91177308-0d34-0410-b5e6-96231b3b80d8
+
+diff --git a/include/llvm/Demangle/MicrosoftDemangleNodes.h b/include/llvm/Demangle/MicrosoftDemangleNodes.h
+index da9d9d5bfdc..3d47471f0ef 100644
+--- a/include/llvm/Demangle/MicrosoftDemangleNodes.h
++++ b/include/llvm/Demangle/MicrosoftDemangleNodes.h
+@@ -16,6 +16,8 @@
+ #include "llvm/Demangle/DemangleConfig.h"
+ #include "llvm/Demangle/StringView.h"
+ #include <array>
++#include <cstdint>
++#include <string>
+
+ namespace llvm {
+ namespace itanium_demangle {