This is an autogenerated patch header for a single-debian-patch file. The
delta against upstream is either kept as a single patch, or maintained
in some VCS, and exported as a single patch instead of more manageable
atomic patches.

--- libpmemobj-cpp-1.13.0.orig/include/libpmemobj++/experimental/radix_tree.hpp
+++ libpmemobj-cpp-1.13.0/include/libpmemobj++/experimental/radix_tree.hpp
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: BSD-3-Clause
-/* Copyright 2020-2021, Intel Corporation */
+/* Copyright 2020-2022, Intel Corporation */
 
 /**
  * @file
@@ -583,13 +583,12 @@ struct radix_tree<Key, Value, BytesView,
 	end() const;
 
 	template <bool Direction = direction::Forward, typename Ptr>
-	auto find_child(const Ptr &n) const -> decltype(begin<Direction>());
+	iterator<Direction> find_child(const Ptr &n) const;
 
 	template <bool Direction = direction::Forward,
 		  typename Enable = typename std::enable_if<
 			  Direction == direction::Forward>::type>
-	auto make_iterator(const atomic_pointer_type *ptr) const
-		-> decltype(begin<Direction>());
+	iterator<Direction> make_iterator(const atomic_pointer_type *ptr) const;
 
 	uint8_t padding[256 - sizeof(parent) - sizeof(leaf) - sizeof(child) -
 			sizeof(byte) - sizeof(bit)];
@@ -3003,9 +3002,9 @@ radix_tree<Key, Value, BytesView, MtMode
 
 template <typename Key, typename Value, typename BytesView, bool MtMode>
 template <bool Direction, typename Ptr>
-auto
+typename radix_tree<Key, Value, BytesView,
+		    MtMode>::node::template iterator<Direction>
 radix_tree<Key, Value, BytesView, MtMode>::node::find_child(const Ptr &n) const
-	-> decltype(begin<Direction>())
 {
 	auto it = begin<Direction>();
 	while (it != end<Direction>()) {
@@ -3018,9 +3017,10 @@ radix_tree<Key, Value, BytesView, MtMode
 
 template <typename Key, typename Value, typename BytesView, bool MtMode>
 template <bool Direction, typename Enable>
-auto
+typename radix_tree<Key, Value, BytesView,
+		    MtMode>::node::template iterator<Direction>
 radix_tree<Key, Value, BytesView, MtMode>::node::make_iterator(
-	const atomic_pointer_type *ptr) const -> decltype(begin<Direction>())
+	const atomic_pointer_type *ptr) const
 {
 	return forward_iterator(ptr, this);
 }
--- libpmemobj-cpp-1.13.0.orig/tests/helpers.cmake
+++ libpmemobj-cpp-1.13.0/tests/helpers.cmake
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2021, Intel Corporation
+# Copyright 2018-2022, Intel Corporation
 
 set(DIR ${PARENT_DIR}/${TEST_NAME})
 
@@ -105,7 +105,7 @@ function(execute_common expect_success o
     elseif(${TRACER} STREQUAL memcheck)
         set(TRACE valgrind --error-exitcode=99 --tool=memcheck --leak-check=full
            --suppressions=${TEST_ROOT_DIR}/ld.supp --suppressions=${TEST_ROOT_DIR}/memcheck-stdcpp.supp --suppressions=${TEST_ROOT_DIR}/memcheck-libunwind.supp
-           --suppressions=${TEST_ROOT_DIR}/memcheck-ndctl.supp)
+           --suppressions=${TEST_ROOT_DIR}/memcheck-ndctl.supp --suppressions=${TEST_ROOT_DIR}/memcheck.supp)
         set(ENV{LIBPMEMOBJ_CPP_TRACER_MEMCHECK} 1)
     elseif(${TRACER} STREQUAL helgrind)
         set(TRACE valgrind --error-exitcode=99 --tool=helgrind --suppressions=${TEST_ROOT_DIR}/helgrind.supp)
--- /dev/null
+++ libpmemobj-cpp-1.13.0/tests/memcheck.supp
@@ -0,0 +1,6 @@
+{
+   <string cmp vectorization, libpmemobj-cpp #1262>
+   Memcheck:Addr32
+   fun:__wmemcmp_avx2_movbe
+   ...
+}
--- libpmemobj-cpp-1.13.0.orig/utils/docker/images/install-pmdk.sh
+++ libpmemobj-cpp-1.13.0/utils/docker/images/install-pmdk.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2021, Intel Corporation
+# Copyright 2018-2022, Intel Corporation
 
 #
 # install-pmdk.sh - installs libpmem & libpmemobj
@@ -16,8 +16,8 @@ fi
 
 PACKAGE_MANAGER=${1}
 
-# master: 1.11.0, 02.07.2021
-PMDK_VERSION="8583fcfd68764ac6779e6f93db89b06971b26704"
+# common: 1.12.0 release, 24.05.2022
+PMDK_VERSION="73d8f958e855904dc0776a7d77d0f0d3698a65b1"
 
 git clone https://github.com/pmem/pmdk
 cd pmdk
