<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/include/__tree, 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-16T23:38:58+00:00</updated>
<entry>
<title>[libc++] Rework compressed pair constructors.</title>
<updated>2019-12-16T23:38:58+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-12-16T23:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=549545b64aab77d2a1784062451ee1c33f8324d2'/>
<id>urn:sha1:549545b64aab77d2a1784062451ee1c33f8324d2</id>
<content type='text'>
This patch de-duplicates most compressed pair constructors
to use the same code in C++11 and C++03.

Part of doing that is deleting the "__second_tag()" and replacing
it with a "__value_init_tag()" which has the same effect, but
allows for the removal of the special "one-arg" first element
constructor.

This patch is intended to have no semantic change.
</content>
</entry>
<entry>
<title>[libc++] Cleanup and enable multiple warnings.</title>
<updated>2019-12-13T02:09:08+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-12-13T01:48:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f97936fabd263e3b311e3b8e9ffca4920e4fcff0'/>
<id>urn:sha1:f97936fabd263e3b311e3b8e9ffca4920e4fcff0</id>
<content type='text'>
Too many warnings are being disabled too quickly. Warnings are
important to keeping libc++ correct. This patch re-enables two
warnings: -Wconstant-evaluated and -Wdeprecated-copy.

In future, all warnings disabled for the test suite should require
an attached bug. The bug should state the plan for re-enabling that
warning, or a strong case why it should remain disabled.
</content>
</entry>
<entry>
<title>Rename __is_foo_iterator traits to reflect their Cpp17 nature.</title>
<updated>2019-11-18T06:49:32+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-11-18T06:46:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f82dba019253ced73ceadfde10e5f150bdb182f3'/>
<id>urn:sha1:f82dba019253ced73ceadfde10e5f150bdb182f3</id>
<content type='text'>
With the upcoming introduction of iterator concepts in ranges,
the meaning of "__is_contiguous_iterator" changes drastically.

Currently we intend it to mean "does it have this iterator category",
but it could now also mean "does it meet the requirements of this
concept", and these can be different.
</content>
</entry>
<entry>
<title>Fix memory leak in set and map.</title>
<updated>2019-07-11T23:13:38+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-07-11T23:13:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=41798c05cd20401b3f77d12b8bfcb0437132021f'/>
<id>urn:sha1:41798c05cd20401b3f77d12b8bfcb0437132021f</id>
<content type='text'>
When assigning an initializer list into set/map, libc++ would
leak memory if the initializer list contained equivalent keys
because we failed to check if the insertion was successful.

llvm-svn: 365840
</content>
</entry>
<entry>
<title>Avoid name conflict with kernel headers</title>
<updated>2019-04-24T09:43:44+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-04-24T09:43:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6886f1e39bbb1adb4b16be6e3293c4f339358dbf'/>
<id>urn:sha1:6886f1e39bbb1adb4b16be6e3293c4f339358dbf</id>
<content type='text'>
llvm-svn: 359080
</content>
</entry>
<entry>
<title>[libc++] Make sure we don't eagerly diagnose non-const comparators for containers of incomplete types</title>
<updated>2019-04-11T16:14:56+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2019-04-11T16:14:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7c142fcc06850c7cee3cdb07e98cc57f04ee5e8b'/>
<id>urn:sha1:7c142fcc06850c7cee3cdb07e98cc57f04ee5e8b</id>
<content type='text'>
Summary:
In r348529, I improved the library-defined diagnostic for using containers
with a non-const comparator/hasher. However, the check is now performed
too early, which leads to the diagnostic being emitted in cases where it
shouldn't. See PR41360 for details.

This patch moves the diagnostic to the destructor of the containers, which
means that the diagnostic will only be emitted when the container is instantiated
at a point where the comparator and the key/value are required to be complete.
We still retain better diagnostics than before r348529, because the diagnostics
are performed in the containers themselves instead of __tree and __hash_table.

As a drive-by fix, I improved the diagnostic to mention that we can't find
a _viable_ const call operator, as suggested by EricWF in PR41360.

Reviewers: EricWF, mclow.lists

Subscribers: christof, jkorous, dexonsmith, libcxx-commits, zoecarver

Tags: #libc

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

llvm-svn: 358189
</content>
</entry>
<entry>
<title>Apply D28248: 'Work around GCC PR37804'. Thanks to mdaniels for the patch</title>
<updated>2019-01-23T23:06:18+00:00</updated>
<author>
<name>Marshall Clow</name>
<email>mclow.lists@gmail.com</email>
</author>
<published>2019-01-23T23:06:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=28166dd9b385861fb5bbadd7186cca16fc6a5174'/>
<id>urn:sha1:28166dd9b385861fb5bbadd7186cca16fc6a5174</id>
<content type='text'>
llvm-svn: 351993
</content>
</entry>
<entry>
<title>Update more file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T10:56:40+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T10:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=57b08b0944046a6a57ee9b7b479181f548a5b9b4'/>
<id>urn:sha1:57b08b0944046a6a57ee9b7b479181f548a5b9b4</id>
<content type='text'>
to reflect the new license. These used slightly different spellings that
defeated my regular expressions.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351648
</content>
</entry>
<entry>
<title>[libc++] Improve diagnostics for non-const comparators and hashers in associative containers</title>
<updated>2018-12-06T21:46:17+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2018-12-06T21:46:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3560fbf3049045bf2ac3f3ecb1ddeb73cbe946cf'/>
<id>urn:sha1:3560fbf3049045bf2ac3f3ecb1ddeb73cbe946cf</id>
<content type='text'>
Summary:
When providing a non-const-callable comparator in a map or set, the
warning diagnostic does not include the point of instantiation of
the container that triggered the warning, which makes it difficult
to track down the problem. This commit improves the diagnostic by
placing it directly in the body of the associative container.

The same change is applied to unordered associative containers, which
had a similar problem.

Finally, this commit cleans up the forward declarations of several
map and unordered_map helpers, which are not needed anymore.

&lt;rdar://problem/41370747&gt;

Reviewers: EricWF, mclow.lists

Subscribers: christof, dexonsmith, llvm-commits

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

llvm-svn: 348529
</content>
</entry>
<entry>
<title>Second half of C++17's splicing maps and sets</title>
<updated>2018-10-31T17:31:35+00:00</updated>
<author>
<name>Erik Pilkington</name>
<email>erik.pilkington@gmail.com</email>
</author>
<published>2018-10-31T17:31:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5c4e07ae5c6f7f467b436f1b24f41ef4cf9897b3'/>
<id>urn:sha1:5c4e07ae5c6f7f467b436f1b24f41ef4cf9897b3</id>
<content type='text'>
This commit adds a merge member function to all the map and set containers,
which splices nodes from the source container. This completes support for
P0083r3.

Differential revision: https://reviews.llvm.org/D48896

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