$NetBSD: patch-src_gallium_frontends_clover_util_range.hpp,v 1.1 2022/03/13 15:52:50 tnn Exp $ From FreeBSD ports for mesa 17.1.10: From b95533b981af9a6687b41418e7cc2a5652fc2bdb Mon Sep 17 00:00:00 2001 Date: Fri, 7 Mar 2014 15:16:08 +0100 Subject: [PATCH 3/3] Work around for clang 3.4 which fails to build Clover See: https://bugs.freedesktop.org/show_bug.cgi?id=74098#c3 --- src/gallium/frontends/clover/util/range.hpp.orig 2021-07-14 20:04:53.703990500 +0000 +++ src/gallium/frontends/clover/util/range.hpp @@ -362,6 +362,14 @@ namespace clover { return { i, i + n }; } +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) + namespace detail { + template + using fixup_function_type = + typename std::conditional::value, T &, T>::type; + } +#endif + /// /// Create a range by transforming the contents of a number of /// source ranges \a rs element-wise using a provided functor \a f. @@ -369,7 +377,11 @@ namespace clover { /// \sa adaptor_range. /// template +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) + adaptor_range, Rs...> +#else adaptor_range +#endif map(F &&f, Rs &&... rs) { return { std::forward(f), std::forward(rs)... }; }