Skip to content

Releases: Bareflank/libcxx

v2.0.2

13 Sep 17:39
Compare
Choose a tag to compare
Recommit r370502: Make `vector` unconditionally move elements when

exceptions are disabled.

The patch was reverted due to some confusion about non-movable types. ie
types
that explicitly delete their move constructors. However, such types do
not meet
the requirement for `MoveConstructible`, which is required by
`std::vector`:

Summary:

`std::vector<T>` is free choose between using copy or move operations
when it
needs to resize. The standard only candidates that the correct exception
safety
guarantees are provided. When exceptions are disabled these guarantees
are
trivially satisfied. Meaning vector is free to optimize it's
implementation by
moving instead of copying.

This patch makes `std::vector` unconditionally move elements when
exceptions are
disabled. This optimization is conforming according to the current
standard wording.

There are concerns that moving in `-fno-noexceptions`mode will be a
surprise to
users. For example, a user may be surprised to find their code is slower
with
exceptions enabled than it is disabled. I'm sympathetic to this
surprised, but
I don't think it should block this optimization.

Reviewers: mclow.lists, ldionne, rsmith
Reviewed By: ldionne
Subscribers: zoecarver, christof, dexonsmith, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D62228

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@371867 91177308-0d34-0410-b5e6-96231b3b80d8

v2.0.1

22 Aug 13:05
Compare
Choose a tag to compare
fix warning

v2.0

12 Mar 11:36
Compare
Choose a tag to compare
Merging r325147:

------------------------------------------------------------------------
r325147 | marshall | 2018-02-14 19:05:25 +0100 (Wed, 14 Feb 2018) | 3 lines

Add a catch for std::length_error for the case where the string can't handle 2GB. (like say 32-bit big-endian)


------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/branches/release_60@325219 91177308-0d34-0410-b5e6-96231b3b80d8

v1.2

26 Dec 13:06
Compare
Choose a tag to compare
v1.2 patch

Signed-off-by: Rian Quinn <“[email protected]”>