From ef0b55aaf4eaa9a1efece7656df1a8a997f97412 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 7 Aug 2023 00:31:04 +0200 Subject: [PATCH] [gdb/build] Fix build breaker with -std=c++11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: ... = gdb::thread_pool::g_thread_pool->post_task ([this, per_bfd, ctx] () ... Tested on x86_64-linux. Reported-By: Tom Tromey --- gdb/dwarf2/cooked-index.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index df82e86b690..775b1383ce5 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -463,10 +463,11 @@ cooked_index::start_writing_index (dwarf2_per_bfd *per_bfd) index_cache_store_context ctx (global_index_cache, per_bfd); /* This must be set after all the finalization tasks have been - started, because it may call 'wait'. */ + started, because it may call 'wait'. + TODO (c++14): The capture of ctx here can be rewritten to + "ctx = std::move (ctx)" once the standard is updated to c++14. */ m_write_future - = gdb::thread_pool::g_thread_pool->post_task ([this, per_bfd, - ctx = std::move (ctx)] () + = gdb::thread_pool::g_thread_pool->post_task ([this, per_bfd, ctx] () { maybe_write_index (per_bfd, ctx); }); base-commit: 8d27b09d0877982dc2252c01a3f1d9c631b2d6eb -- 2.35.3