aboutsummaryrefslogtreecommitdiffstats
path: root/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@alpinelinux.org>2018-08-14 09:25:39 +0000
committerCarlo Landmeter <clandmeter@alpinelinux.org>2018-08-14 09:25:39 +0000
commit56dba6647611cb17ba15dc150921d7f7c39eeb54 (patch)
tree9da9f9320b87214b1a721d5d0eab856b80acc7a2 /testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
parent05121428cd0fc129e40a3694cf5405698236ad14 (diff)
downloadaports-56dba6647611cb17ba15dc150921d7f7c39eeb54.tar.bz2
aports-56dba6647611cb17ba15dc150921d7f7c39eeb54.tar.xz
testing/watchman: fix tests
Diffstat (limited to 'testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch')
-rw-r--r--testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch b/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
new file mode 100644
index 0000000000..17288fef58
--- /dev/null
+++ b/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
@@ -0,0 +1,48 @@
+From e77eb9597c4c094a0b0bbeef0b957b49b40b87eb Mon Sep 17 00:00:00 2001
+From: Wez Furlong <wez@fb.com>
+Date: Mon, 8 Jan 2018 21:57:43 -0800
+Subject: [PATCH] fix art.t test failure on alpine linux
+
+Summary:
+Looks like we end up with root_ holding a nullptr after
+the associated test is finished. This only seems to be a problem
+in practice on Alpine linux's musl libc based environment, and
+only when built with `-O2`. Not sure if this is a c++ standard
+library implementation issue or a compiler optimization, or a
+combination of both of those things.
+
+Guard against that with a simple nullptr check.
+
+Refs https://github.com/facebook/watchman/issues/546
+
+Reviewed By: simpkins
+
+Differential Revision: D6681244
+
+fbshipit-source-id: f119b3552c0aeedc325fa83c71b12745536b1dac
+---
+ thirdparty/libart/src/art-inl.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/thirdparty/libart/src/art-inl.h b/thirdparty/libart/src/art-inl.h
+index fce055be..acc7cd67 100644
+--- a/thirdparty/libart/src/art-inl.h
++++ b/thirdparty/libart/src/art-inl.h
+@@ -760,7 +760,7 @@ art_tree<ValueType, KeyType>::Node::maximum() const {
+ template <typename ValueType, typename KeyType>
+ typename art_tree<ValueType, KeyType>::Leaf*
+ art_tree<ValueType, KeyType>::minimum() const {
+- return root_->minimum();
++ return root_ ? root_->minimum() : nullptr;
+ }
+
+ /**
+@@ -769,7 +769,7 @@ art_tree<ValueType, KeyType>::minimum() const {
+ template <typename ValueType, typename KeyType>
+ typename art_tree<ValueType, KeyType>::Leaf*
+ art_tree<ValueType, KeyType>::maximum() const {
+- return root_->maximum();
++ return root_ ? root_->maximum() : nullptr;
+ }
+
+ template <typename ValueType, typename KeyType>