Re: feedback on supporting libc++

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux