From 1d7b291874b65770c0f0a56f2df59326687e7083 Mon Sep 17 00:00:00 2001 From: Willem Jan Withagen Date: Fri, 8 Mar 2019 14:59:09 +0100 Subject: [PATCH] librbd: avoid aggregate-initializing IsWriteOpVisitor Clang 8 complains about missing dtor, and this circumvents this problem. ``` /home/jenkins/workspace/ceph-master/src/librbd/io/ImageDispatchSpec.cc:136:48: error: temporary of type 'boost::static_visitor' has protected destructor return boost::apply_visitor(IsWriteOpVisitor{}, m_request); ^ /home/jenkins/workspace/ceph-master/src/librbd/io/ImageDispatchSpec.cc:152:28: note: in instantiation of member function 'librbd::io::ImageDispatchSpec::is_write_op' requested here template class librbd::io::ImageDispatchSpec; ^ /usr/local/include/boost/variant/static_visitor.hpp:53:5: note: declared protected here ~static_visitor() = default; ^ 1 error generated. gmake[2]: *** [src/librbd/CMakeFiles/rbd_internal.dir/build.make:895: src/librbd/CMakeFiles/rbd_internal.dir/io/ImageDispatchSpec.cc.o] Error 1 ``` The details of the problem are explained in more detail in: https://github.com/ceph/ceph/pull/26301/commits/09870d7a083913b5a3830ba8b0be04d0b0996aca Signed-off-by: Willem Jan Withagen --- src/librbd/io/ImageDispatchSpec.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librbd/io/ImageDispatchSpec.cc b/src/librbd/io/ImageDispatchSpec.cc index dd39e1d5b01..33020403b5a 100644 --- a/src/librbd/io/ImageDispatchSpec.cc +++ b/src/librbd/io/ImageDispatchSpec.cc @@ -133,7 +133,7 @@ uint64_t ImageDispatchSpec::extents_length() { template bool ImageDispatchSpec::is_write_op() const { - return boost::apply_visitor(IsWriteOpVisitor{}, m_request); + return boost::apply_visitor(IsWriteOpVisitor(), m_request); } template -- 2.39.5