From: Tom de Vries Date: Tue, 8 Aug 2023 08:08:04 +0000 (+0200) Subject: [gdb/build] Fix build breaker with -std=c++11 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aaa1d4b8f227c29f27a13a4a14622f0a3499e4b9;p=binutils-gdb.git [gdb/build] Fix build breaker with -std=c++11 When building with -std=c++11 I run into: ... gdb/dwarf2/cooked-index.c: In member function \ ‘void cooked_index::start_writing_index(dwarf2_per_bfd*)’: gdb/dwarf2/cooked-index.c:469:10: error: lambda capture initializers only \ available with -std=c++14 or -std=gnu++14 [-Werror] ctx = std::move (ctx)] () ^~~ ... Fix this by capturing a copy instead when using -std=c++11: ... = gdb::thread_pool::g_thread_pool->post_task ([this, per_bfd, ctx] () ... Tested by building with and without -stdc=++11 on x86_64-linux. Reported-By: Tom Tromey Reviewed-by: John Baldwin --- diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index df82e86b690..92ef0e35c5e 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -466,7 +466,12 @@ cooked_index::start_writing_index (dwarf2_per_bfd *per_bfd) started, because it may call 'wait'. */ m_write_future = gdb::thread_pool::g_thread_pool->post_task ([this, per_bfd, - ctx = std::move (ctx)] () +#if __cplusplus >= 201402L + ctx = std::move (ctx) +#else + ctx +#endif + ] () { maybe_write_index (per_bfd, ctx); });