From: Adam Emerson Date: Fri, 31 May 2024 04:45:27 +0000 (-0400) Subject: clang14: Clang14 broken on lambda captures of structured bindings X-Git-Tag: testing/wip-vshankar-testing-20250407.170244-debug~16^2~6 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=310372e5e0ee8bd24b1bc9e80ebd20900ba10343;p=ceph-ci.git clang14: Clang14 broken on lambda captures of structured bindings This works fine on GCC11, which is the actual target we use for builds on Shaman. Signed-off-by: Adam Emerson --- diff --git a/src/rgw/driver/rados/rgw_log_backing.cc b/src/rgw/driver/rados/rgw_log_backing.cc index 3a6efb10b36..0ea4ff16ddb 100644 --- a/src/rgw/driver/rados/rgw_log_backing.cc +++ b/src/rgw/driver/rados/rgw_log_backing.cc @@ -243,7 +243,9 @@ asio::awaitable logback_generations::setup(const DoutPrefixProvider *dpp, bool must_create = false; try { // First, read. - auto [es, v] = co_await read(dpp); + entries_t es; + obj_version v; + std::tie(es, v) = co_await read(dpp); co_await async::async_dispatch( strand, [&] { @@ -294,7 +296,9 @@ asio::awaitable logback_generations::setup(const DoutPrefixProvider *dpp, } // Did someone race us? Then re-read. if (ec == sys::errc::file_exists) { - auto [es, v] = co_await read(dpp); + entries_t es; + obj_version v; + std::tie(es, v) = co_await read(dpp); if (es.empty()) { throw sys::system_error{ EIO, sys::generic_category(), @@ -343,7 +347,9 @@ asio::awaitable logback_generations::setup(const DoutPrefixProvider *dpp, asio::awaitable logback_generations::update(const DoutPrefixProvider *dpp) { - auto [es, v] = co_await read(dpp); + entries_t es; + obj_version v; + std::tie(es, v) = co_await read(dpp); auto [do_nothing, highest_empty, new_entries] = co_await async::async_dispatch( strand,