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>
