<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/include/valarray, 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-13T02:09:08+00:00</updated>
<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>Remove incorrect explicit instantiation declarations for valarray</title>
<updated>2019-04-25T21:31:58+00:00</updated>
<author>
<name>Richard Smith</name>
<email>richard-llvm@metafoo.co.uk</email>
</author>
<published>2019-04-25T21:31:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=de329354aa37aea0fcf06e5bb88f40b73717956c'/>
<id>urn:sha1:de329354aa37aea0fcf06e5bb88f40b73717956c</id>
<content type='text'>
libc++ ABI v1 provides three valarray symbols as part of the shared library:

valarray&lt;size_t&gt;::valarray(size_t)
valarray&lt;size_t&gt;::~valarray()
valarray&lt;size_t&gt;::resize(size_t, size_t)

The first two of these are intended to be removed in V2 of the ABI: they're
attributed _LIBCPP_HIDE_FROM_ABI_AFTER_V1, and  it appears that the intention
is that these symbols from the library are not used even when building using
the V1 ABI. However, there are explicit instantiation declarations for all
three symbols in the header, which are not correct as we do not intend to find
an instantiation of these functions that is provided elsewhere.

(A recent change to clang to properly diagnose explicit instantiation
declarations of internal linkage functions -- required by [temp.explicit]p13 --
had to be rolled back because it diagnosed these explicit instantiations.)

Remove the explicit instantiation declarations, and remove the explicit
instantiation definitions for V2 of the libc++ ABI onwards.

llvm-svn: 359243
</content>
</entry>
<entry>
<title>Fix a number of bugs in __val_expr's subset operator[].</title>
<updated>2019-04-02T08:05:23+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-04-02T08:05:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0657197588ffea508426de1e0c2afa65e76e24fa'/>
<id>urn:sha1:0657197588ffea508426de1e0c2afa65e76e24fa</id>
<content type='text'>
The current definitions were entirely broken. They didn't call any
existing constructor and the forgot to friend the expression types they
were trying to construct.

llvm-svn: 357453
</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>Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. </title>
<updated>2019-01-16T01:51:12+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-01-16T01:51:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d108bf85b09e3f1355fea866d90e3dd2266d67b5'/>
<id>urn:sha1:d108bf85b09e3f1355fea866d90e3dd2266d67b5</id>
<content type='text'>
Summary:
Starting in Clang 8.0 and GCC 8.0, `alignof` and `__alignof` return different values in same cases. Specifically `alignof` and `_Alignof` return the minimum alignment for a type, where as `__alignof` returns the preferred alignment. libc++ currently uses `__alignof` but means to use `alignof`. See  llvm.org/PR39713

This patch introduces the macro `_LIBCPP_ALIGNOF` so we can control which spelling gets used.

This patch does not introduce any ABI guard to provide the old behavior with newer compilers. However, if we decide that is needed, this patch makes it trivial to implement.

I think we should commit this change immediately, and decide what we want to do about the ABI afterwards. 

Reviewers: ldionne, EricWF

Reviewed By: ldionne, EricWF

Subscribers: jyknight, christof, libcxx-commits

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

llvm-svn: 351289
</content>
</entry>
<entry>
<title>Revert "Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. "</title>
<updated>2018-11-28T22:24:19+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2018-11-28T22:24:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9d25ada420feea3a3ffafbb3eeee3679da774042'/>
<id>urn:sha1:9d25ada420feea3a3ffafbb3eeee3679da774042</id>
<content type='text'>
This reverts commit 087f065cb0c7463f521a62599884493aaee2ea12.

The tests were failing on 32 bit builds, and I don't have time
to clean them up right now. I'll recommit tomorrow with fixed tests.

llvm-svn: 347816
</content>
</entry>
<entry>
<title>Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. </title>
<updated>2018-11-28T18:16:02+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2018-11-28T18:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8a486dac25c84840907cfe842ca4227eabb46094'/>
<id>urn:sha1:8a486dac25c84840907cfe842ca4227eabb46094</id>
<content type='text'>
Summary:
Starting in Clang 8.0 and GCC 8.0, `alignof` and `__alignof` return different values in same cases. Specifically `alignof` and `_Alignof` return the minimum alignment for a type, where as `__alignof` returns the preferred alignment. libc++ currently uses `__alignof` but means to use `alignof`. See  llvm.org/PR39713

This patch introduces the macro `_LIBCPP_ALIGNOF` so we can control which spelling gets used.

This patch does not introduce any ABI guard to provide the old behavior with newer compilers. However, if we decide that is needed, this patch makes it trivial to implement.

I think we should commit this change immediately, and decide what we want to do about the ABI afterwards. 

Reviewers: ldionne, EricWF

Reviewed By: EricWF

Subscribers: christof, libcxx-commits

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

llvm-svn: 347787
</content>
</entry>
<entry>
<title>fix incorrect placement of _LIBCPP_ALWAYS_INLINE in valarray</title>
<updated>2018-10-25T17:43:26+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2018-10-25T17:43:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8622e866a6e18afb6e3f92c103793a490652b779'/>
<id>urn:sha1:8622e866a6e18afb6e3f92c103793a490652b779</id>
<content type='text'>
llvm-svn: 345289
</content>
</entry>
<entry>
<title>Implement sized deallocation for std::allocator and friends.</title>
<updated>2018-10-25T17:21:30+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2018-10-25T17:21:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f25b75b91b2d5906609bb609d39cf0ee3dcc746b'/>
<id>urn:sha1:f25b75b91b2d5906609bb609d39cf0ee3dcc746b</id>
<content type='text'>
Summary:
C++14 sized deallocation is disabled by default due to ABI concerns. However, when a user manually enables it then libc++ should take advantage of it since sized deallocation can provide a significant performance win depending on the underlying malloc implementation. (Note that libc++'s definitions of sized delete don't do anything special yet, but users are free to provide their own).

This patch updates __libcpp_deallocate to selectively call sized operator delete when it's available. `__libcpp_deallocate_unsized` should be used when the size of the allocation is unknown.

On Apple this patch makes no attempt to determine if the sized operator delete is unavailable, only that the language feature is enabled. This could cause a compile error when using `std::allocator`, but the same compile error would occur whenever the user calls `new`, so I don't think it's a problem.

Reviewers: ldionne, mclow.lists

Reviewed By: ldionne

Subscribers: rsmith, ckennelly, libcxx-commits, christof

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

llvm-svn: 345281
</content>
</entry>
<entry>
<title>Temporarily Revert "Implement sized deallocation for std::allocator and friends."</title>
<updated>2018-10-25T06:20:12+00:00</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@gmail.com</email>
</author>
<published>2018-10-25T06:20:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9bbee38db3b12c47a898e2723b69342355cdfe4f'/>
<id>urn:sha1:9bbee38db3b12c47a898e2723b69342355cdfe4f</id>
<content type='text'>
This is breaking the bots here (and related): http://lab.llvm.org:8011/builders/libcxx-libcxxabi-x86_64-linux-ubuntu-asan/builds/1428

This reverts commit r345214.

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