From: Jason Dillaman Date: Tue, 1 Jan 2019 07:49:05 +0000 (+0800) Subject: librbd: workaround an ICE of GCC X-Git-Tag: v14.2.5~142^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d82241ce17d0197c7c2e9e1667ad2cf8114ee67e;p=ceph.git 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 --- diff --git a/src/test/librbd/object_map/test_mock_LockRequest.cc b/src/test/librbd/object_map/test_mock_LockRequest.cc index 5f95429acd2..5954a461e7e 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);