Eric Fiselier e2bd16c9d2 Fix std::pair on FreeBSD
Summary:
FreeBSD ships an old ABI for std::pair which requires that it have non-trivial copy/move constructors. Currently the non-trivial copy/move is achieved by providing explicit definitions of the constructors. This is problematic because it means the constructors don't SFINAE properly. In order to SFINAE copy/move constructors they have to be explicitly defaulted and hense non-trivial.

This patch attempts to provide SFINAE'ing copy/move constructors for std::pair while still making them non-trivial. It does this by adding a base class with a non-trivial copy constructor and then allowing pair's constructors to be generated by the compiler. This also allows the constructors to be constexpr.


Reviewers: emaste, theraven, rsmith, dim

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D25389

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283944 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-11 21:22:21 +00:00
2016-10-10 06:31:00 +00:00
2016-10-10 06:31:00 +00:00
2016-10-11 21:22:21 +00:00
2016-10-10 18:53:32 +00:00
2016-10-11 21:22:21 +00:00
2016-10-10 21:37:16 +00:00
2016-07-18 02:02:49 +00:00
2016-10-10 14:45:06 +00:00
2016-03-30 22:39:53 +00:00
2016-09-27 01:28:47 +00:00

libc++ Documentation
====================

The libc++ documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc++ with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBCXX_INCLUDE_DOCS=ON

After configuring libc++ with these options the make rule `docs-libcxx-html`
should be available.
Description
No description provided
Readme 28 MiB
Languages
C++ 97.4%
Python 1%
HTML 0.9%
CMake 0.5%