Date: Sun, 1 Apr 2018 14:19:30 +0200 From: Willem Jan Withagen <wjw@digiware.nl> To: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, Dimitry Andric <dim@FreeBSD.org> Subject: Looking for std::map::merge when compiling for Clang... Message-ID: <7f0f0f04-7073-ba49-526d-82330b1d0842@digiware.nl>
next in thread | raw e-mail | index | archive | help
Hi, I'm trying to compile a src file with Ceph that has been upgrade to use more of the C++17 features, but it fails on a missing function: /home/jenkins/workspace/ceph-master/src/mds/OpenFileTable.cc:349:26: error: no member named 'merge' in 'std::__1::map<std::__1::basic_string<char>, ceph::buffer::list, std::__1::less<std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, ceph::buffer::list> > >' ctl.journaled_update.merge(ctl.to_update); ~~~~~~~~~~~~~~~~~~~~ ^ The actual code looks like: ==== ctl.journaled_update.merge(ctl.to_update); //ctl.journaled_update.insert(ctl.to_update.begin(), ctl.to_update.end()); // ctl.journaled_remove.merge(ctl.to_remove); ctl.journaled_remove.insert(ctl.to_remove.begin(), ctl.to_remove.end()); ==== The first "merge" fails, but the second (old code) works. It does compile on Linux/GCC, so probably there is a wrong/missing include, given the error. But which one??? included are: #include <iosfwd> #include <list> #include <map> #include <set> #include <string> #include <string_view> Suggestions? Thanx, --WjW
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7f0f0f04-7073-ba49-526d-82330b1d0842>