From d82241ce17d0197c7c2e9e1667ad2cf8114ee67e Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Tue, 1 Jan 2019 15:49:05 +0800 Subject: [PATCH] librbd: workaround an ICE of GCC GCC is somehow annoyed at seeing the combination of decltype and initializer_list in this place. See https://tracker.ceph.com/issues/37719 for a semi-related issue. Signed-off-by: Jason Dillaman --- src/test/librbd/object_map/test_mock_LockRequest.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/test/librbd/object_map/test_mock_LockRequest.cc b/src/test/librbd/object_map/test_mock_LockRequest.cc index 5f95429acd2e..5954a461e7ed 100644 --- a/src/test/librbd/object_map/test_mock_LockRequest.cc +++ b/src/test/librbd/object_map/test_mock_LockRequest.cc @@ -46,11 +46,12 @@ public: entity_name_t entity2(entity_name_t::CLIENT(2)); cls_lock_get_info_reply reply; - reply.lockers = decltype(reply.lockers){ - {rados::cls::lock::locker_id_t(entity1, "cookie1"), - rados::cls::lock::locker_info_t()}, - {rados::cls::lock::locker_id_t(entity2, "cookie2"), - rados::cls::lock::locker_info_t()}}; + reply.lockers.emplace( + rados::cls::lock::locker_id_t(entity1, "cookie1"), + rados::cls::lock::locker_info_t()); + reply.lockers.emplace( + rados::cls::lock::locker_id_t(entity2, "cookie2"), + rados::cls::lock::locker_info_t()); bufferlist bl; encode(reply, bl, CEPH_FEATURES_SUPPORTED_DEFAULT); -- 2.47.3