From: Josh Durgin <josh.durgin@inktank.com>
To: Noah Watkins <noah.watkins@inktank.com>,
"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>,
Gregory Farnum <greg@inktank.com>,
Gregory Farnum <gregory.farnum@inktank.com>
Subject: Re: feedback on supporting libc++
Date: Wed, 30 Oct 2013 12:02:24 -0700 [thread overview]
Message-ID: <527157C0.40802@inktank.com> (raw)
In-Reply-To: <CA+Hcz5-8k3rnCaJJj3htb0F63V+fitoBtofCkGzJZ4a_j29K8Q@mail.gmail.com>
On 10/29/2013 03:51 PM, Noah Watkins wrote:
> Out of the box on OSX Mavericks libc++ [1] is being used as opposed to
> libstdc++. One of the issues is that stuff from tr1 isn't available
> (e.g. std::tr1::shared_ptr), as they have moved to std in c++11.
>
> I'm looking for any feedback on this patch set, or if there is a
> better way forward.
>
> A set of patches on ceph.git:wip-libc++ [2] adds initial support (with
> a couple temporary hacks). These patches are very similar to the
> method used to support libc++ in mongodb.
>
> Summary of changes:
>
> std::tr1::shared/weak_ptr maps to ceph::shared/weak_ptr
I'm fine with this approach in general, but we need to be careful about
changing librados.h[pp], since that may break the ABI.
We really should've hidden the entire implementation of ObjectIterator
to begin with, but now we're stuck with it in librados.hpp. This branch
changes a std::tr1::shared_ptr there to a ceph::shard_ptr, which looks
unsafe to me. Could you check whether you can run 'rados ls' compiled
against an old librados, but dynamically loading librados from this
branch compiled in c++98 mode?
Josh
> hash_map/set maps to ceph::unordered_map/set
>
> which will choose tr1::unordered_map/set over ext/hash_map/set.
>
> [1] http://libcxx.llvm.org/
> [2] https://github.com/ceph/ceph/compare/wip-libc%2B%2B
next prev parent reply other threads:[~2013-10-30 19:02 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-29 22:51 feedback on supporting libc++ Noah Watkins
2013-10-30 16:13 ` asomers
2013-10-30 19:02 ` Josh Durgin [this message]
2013-12-27 23:34 ` Noah Watkins
2013-12-31 1:19 ` Josh Durgin
2013-12-31 16:59 ` Noah Watkins
2013-12-31 18:59 ` Josh Durgin
2014-01-09 19:54 ` Noah Watkins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=527157C0.40802@inktank.com \
--to=josh.durgin@inktank.com \
--cc=ceph-devel@vger.kernel.org \
--cc=greg@inktank.com \
--cc=gregory.farnum@inktank.com \
--cc=noah.watkins@inktank.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.