<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/include/__mutex_base, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-12-13T20:42:07+00:00</updated>
<entry>
<title>[libc++] Ensure __config always defines certain configuration macros.</title>
<updated>2019-12-13T20:42:07+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-12-13T20:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fda3825c7a96a04b08d2e3fa55ad84d78addcb19'/>
<id>urn:sha1:fda3825c7a96a04b08d2e3fa55ad84d78addcb19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[libc++] Take 2: Implement LWG 2510</title>
<updated>2019-09-26T14:51:10+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2019-09-26T14:51:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e16f2cb6789286dbfa4a184cef25b91dfb499206'/>
<id>urn:sha1:e16f2cb6789286dbfa4a184cef25b91dfb499206</id>
<content type='text'>
Summary:
LWG2510 makes tag types like allocator_arg_t explicitly default
constructible instead of implicitly default constructible. It also
makes the constructors for std::pair and std::tuple conditionally
explicit based on the explicit-ness of the default constructibility
for the pair/tuple's elements.

This was previously committed as r372777 and reverted in r372832 due to
the commit breaking LLVM's build in C++14 mode. This issue has now been
addressed.

Reviewers: mclow.lists

Subscribers: christof, jkorous, dexonsmith, libcxx-commits

Tags: #libc

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

llvm-svn: 372983
</content>
</entry>
<entry>
<title>Revert r372777: [libc++] Implement LWG 2510 and its follow-ups</title>
<updated>2019-09-25T09:10:38+00:00</updated>
<author>
<name>Ilya Biryukov</name>
<email>ibiryukov@google.com</email>
</author>
<published>2019-09-25T09:10:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a3d337a9a7d00d82bb190c5e551181d3998f6b98'/>
<id>urn:sha1:a3d337a9a7d00d82bb190c5e551181d3998f6b98</id>
<content type='text'>
This also reverts:
 - r372778: [libc++] Implement LWG 3158
 - r372782: [libc++] Try fixing tests that fail on GCC 5 and older
 - r372787: Purge mentions of GCC 4 from the test suite

Reason: the change breaks compilation of LLVM with libc++, for details see
http://lists.llvm.org/pipermail/libcxx-dev/2019-September/000599.html

llvm-svn: 372832
</content>
</entry>
<entry>
<title>[libc++] Implement LWG 2510</title>
<updated>2019-09-24T20:18:54+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2019-09-24T20:18:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=95411dd426e6ea5b13c8f1bb7c4ba7190ecd6c1a'/>
<id>urn:sha1:95411dd426e6ea5b13c8f1bb7c4ba7190ecd6c1a</id>
<content type='text'>
Summary:
LWG2510 makes tag types like allocator_arg_t explicitly default
constructible instead of implicitly default constructible. It also
makes the constructors for std::pair and std::tuple conditionally
explicit based on the explicit-ness of the default constructibility
for the pair/tuple's elements.

Reviewers: mclow.lists, EricWF

Subscribers: christof, jkorous, dexonsmith, libcxx-commits

Tags: #libc

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

llvm-svn: 372777
</content>
</entry>
<entry>
<title>Revert "Revert "Implement std::condition_variable via pthread_cond_clockwait() where available""</title>
<updated>2019-09-18T18:13:32+00:00</updated>
<author>
<name>Dan Albert</name>
<email>danalbert@google.com</email>
</author>
<published>2019-09-18T18:13:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=85e26f56cbf3e1ae3aed155b817912f02172bbef'/>
<id>urn:sha1:85e26f56cbf3e1ae3aed155b817912f02172bbef</id>
<content type='text'>
With the fix for non-Linux.

This reverts commit c1c519d2f1a66dd2eeaa4c321d8d7b50f623eb71.

llvm-svn: 372242
</content>
</entry>
<entry>
<title>Revert "Implement std::condition_variable via pthread_cond_clockwait() where available"</title>
<updated>2019-09-16T21:20:32+00:00</updated>
<author>
<name>Dan Albert</name>
<email>danalbert@google.com</email>
</author>
<published>2019-09-16T21:20:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c1c519d2f1a66dd2eeaa4c321d8d7b50f623eb71'/>
<id>urn:sha1:c1c519d2f1a66dd2eeaa4c321d8d7b50f623eb71</id>
<content type='text'>
This reverts commit 5e37d7f9ff257ec62d733d3d94b11f03e0fe51ca.

llvm-svn: 372034
</content>
</entry>
<entry>
<title>Implement std::condition_variable via pthread_cond_clockwait() where available</title>
<updated>2019-09-16T17:57:48+00:00</updated>
<author>
<name>Dan Albert</name>
<email>danalbert@google.com</email>
</author>
<published>2019-09-16T17:57:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5e37d7f9ff257ec62d733d3d94b11f03e0fe51ca'/>
<id>urn:sha1:5e37d7f9ff257ec62d733d3d94b11f03e0fe51ca</id>
<content type='text'>
std::condition_variable is currently implemented via
pthread_cond_timedwait() on systems that use pthread. This is
problematic, since that function waits by default on CLOCK_REALTIME
and libc++ does not provide any mechanism to change from this
default.

Due to this, regardless of if condition_variable::wait_until() is
called with a chrono::system_clock or chrono::steady_clock parameter,
condition_variable::wait_until() will wait using CLOCK_REALTIME. This
is not accurate to the C++ standard as calling
condition_variable::wait_until() with a chrono::steady_clock parameter
should use CLOCK_MONOTONIC.

This is particularly problematic because CLOCK_REALTIME is a bad
choice as it is subject to discontinuous time adjustments, that may
cause condition_variable::wait_until() to immediately timeout or wait
indefinitely.

This change fixes this issue with a new POSIX function,
pthread_cond_clockwait() proposed on
http://austingroupbugs.net/view.php?id=1216. The new function is
similar to pthread_cond_timedwait() with the addition of a clock
parameter that allows it to wait using either CLOCK_REALTIME or
CLOCK_MONOTONIC, thus allowing condition_variable::wait_until() to
wait using CLOCK_REALTIME for chrono::system_clock and CLOCK_MONOTONIC
for chrono::steady_clock.

pthread_cond_clockwait() is implemented in glibc (2.30 and later) and
Android's bionic (Android API version 30 and later).

This change additionally makes wait_for() and wait_until() with clocks
other than chrono::system_clock use CLOCK_MONOTONIC.&lt;Paste&gt;

llvm-svn: 372016
</content>
</entry>
<entry>
<title>[libc++] Use [[nodiscard]] for lock_guard, as an extension</title>
<updated>2019-08-13T11:12:28+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2019-08-13T11:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=86dd28a5471480cd7a8cb5ad4801599ac0a0ac20'/>
<id>urn:sha1:86dd28a5471480cd7a8cb5ad4801599ac0a0ac20</id>
<content type='text'>
Summary:
D64914 added support for applying [[nodiscard]] to constructors. This
commit uses that capability to flag incorrect uses of std::lock_guard
where one forgets to actually create a variable for the lock_guard.

rdar://45790820

Reviewers: mclow.lists, EricWF

Subscribers: christof, jkorous, dexonsmith, libcxx-commits, Quuxplusone, lebedev.ri

Tags: #libc

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

llvm-svn: 368664
</content>
</entry>
<entry>
<title>Revert "Suppress -Wctad-maybe-unsupported on types w/o deduction guides."</title>
<updated>2019-08-04T07:13:43+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-08-04T07:13:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=278d59301446afb40f0345bd411099fa311291a4'/>
<id>urn:sha1:278d59301446afb40f0345bd411099fa311291a4</id>
<content type='text'>
Some modules builds are issuing buggy diagnostics. The cause of which is
TBD.

This reverts commit r@367770.

llvm-svn: 367777
</content>
</entry>
<entry>
<title>Suppress -Wctad-maybe-unsupported on types w/o deduction guides.</title>
<updated>2019-08-03T23:54:29+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-08-03T23:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fcd549a7d8284a8e7c763fee3da2206acd8cdc4f'/>
<id>urn:sha1:fcd549a7d8284a8e7c763fee3da2206acd8cdc4f</id>
<content type='text'>
There are a handful of standard library types that are intended
to support CTAD but don't need any explicit deduction guides to
do so.

This patch adds a dummy deduction guide to those types to suppress
-Wctad-maybe-unsupported (which gets emitted in user code).

llvm-svn: 367770
</content>
</entry>
</feed>
