From: Simon Marchi Date: Tue, 12 Apr 2022 16:30:08 +0000 (-0400) Subject: gdbsupport: use result_of_t instead of result_of in parallel-for.h X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a09520cdd91a87ada081b065c42256bec2be6946;p=binutils-gdb.git gdbsupport: use result_of_t instead of result_of in parallel-for.h When building with -std=c++11, I get: In file included from /home/smarchi/src/binutils-gdb/gdb/unittests/parallel-for-selftests.c:22: /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/parallel-for.h:134:10: error: ‘result_of_t’ is not a member of ‘std’; did you mean ‘result_of’? 134 | std::result_of_t | ^~~~~~~~~~~ | result_of This is because result_of_t has been introduced in C++14. Use the equivalent result_of<...>::type instead. result_of and result_of_t have been removed in C++20 though, so I think we'll need some patches eventually to make the code use invoke_result instead, depending on the C++ version. Change-Id: I4817f361c0ebcdd4b32976898fc368bb302b61b9 --- diff --git a/gdbsupport/parallel-for.h b/gdbsupport/parallel-for.h index 44303abb716..713ec660306 100644 --- a/gdbsupport/parallel-for.h +++ b/gdbsupport/parallel-for.h @@ -131,13 +131,13 @@ private: template typename gdb::detail::par_for_accumulator< - std::result_of_t + typename std::result_of::type >::result_type parallel_for_each (unsigned n, RandomIt first, RandomIt last, RangeFunction callback) { - typedef typename std::result_of_t - result_type; + using result_type + = typename std::result_of::type; size_t n_threads = thread_pool::g_thread_pool->thread_count (); size_t n_elements = last - first;