<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/src/support/runtime, 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-04-23T14:05:04+00:00</updated>
<entry>
<title>[libc++] Remove redundant conditionals for Apple platforms</title>
<updated>2019-04-23T14:05:04+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2019-04-23T14:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d524fe5b3a0975a1c037669ade35c182681c14f9'/>
<id>urn:sha1:d524fe5b3a0975a1c037669ade35c182681c14f9</id>
<content type='text'>
Summary:
In a bunch of places, we used to check whether LIBCXX_BUILDING_LIBCXXABI
is defined OR we're building for an Apple platform. This used to
be necessary in a time when Apple's build script did NOT define
LIBCXX_BUILDING_LIBCXXABI. However this is not relevant anymore
since Apple's build does define LIBCXX_BUILDING_LIBCXXABI.

Reviewers: EricWF

Subscribers: christof, jkorous, dexonsmith, libcxx-commits

Tags: #libc

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

llvm-svn: 358988
</content>
</entry>
<entry>
<title>Fix ABI compatibility of `&lt;stdexcept&gt;` with VCRuntime.</title>
<updated>2019-03-06T20:31:57+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-03-06T20:31:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2710d8e105a683656cdaa825b6c0af46ae25f8ae'/>
<id>urn:sha1:2710d8e105a683656cdaa825b6c0af46ae25f8ae</id>
<content type='text'>
Summary:
Currently, libc++'s `&lt;stdexcept&gt;` doesn't play nice with `vcruntime`. Specifically:

* `logic_error` and `runtime_error` have a different layout.
* libc++'s `logic_error` and `runtime_error` override `what()` but `vcruntime` does not.
*  `vcruntime` uses weak vtables for `&lt;stdexcept&gt;` types.
* libc++'s `&lt;stdexcept&gt;` constructors and assignment operators may have different manglings than `vcruntimes`.

This patch makes libc++'s declarations in `&lt;stdexcept&gt;` match those provided by MSVC's STL as closely as possible.
If MSVC doesn't declare a special member, then neither do we. This ensures that the implicit definitions have the same linkage, visibility, triviality, and noexcept-ness.







Reviewers: thomasanderson, ldionne, smeenai

Reviewed By: thomasanderson

Subscribers: jdoerfert, libcxx-commits

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

llvm-svn: 355546
</content>
</entry>
<entry>
<title>Make VCRuntime ABI configuration a first-class option.</title>
<updated>2019-03-05T01:57:01+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2019-03-05T01:57:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e69290dc7ff7319acf5904f15ab6630fad07ab58'/>
<id>urn:sha1:e69290dc7ff7319acf5904f15ab6630fad07ab58</id>
<content type='text'>
Summary:
On Windows we currently provide two separate ABI configurations. One which defers to `vcruntime` to provide the C++ runtime and another which doesn't.
Using `vcruntime` allows interoperability which programs compiled against the MSVC STL, and should be preferred whenever possible.

When deferring to `vcruntime` much of the ABI we provide changes. Including the layout of `&lt;stdexcept&gt;` types, their vtables, and how the linkage of their members.

This patch introduces the `_LIBCPP_ABI_VCRUNTIME` macro to denote this configuration. It also cleans up the existing configuration for using `vcruntime`.

This cleanup lays the groundwork for fixing a number of ABI and interoperability bugs in  `&lt;stdexcept&gt;`.


Reviewers: thomasanderson, ldionne, smeenai

Reviewed By: smeenai

Subscribers: jdoerfert, libcxx-commits, #libc

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

llvm-svn: 355366
</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>[libcxx] Remove bad_array_length</title>
<updated>2018-11-29T19:44:57+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne@apple.com</email>
</author>
<published>2018-11-29T19:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e823b6d7e616b8338b5c2690f0e15e8b1b10b1c7'/>
<id>urn:sha1:e823b6d7e616b8338b5c2690f0e15e8b1b10b1c7</id>
<content type='text'>
Summary:
std::bad_array_length was added by n3467, but this never made it into C++.
This commit removes the definition of std::bad_array_length from the headers
AND from the shared library. See the comments in the ABI changelog for details
about the ABI implications of this change.

Reviewers: mclow.lists, dexonsmith, howard.hinnant, EricWF

Subscribers: christof, jkorous, libcxx-commits

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

llvm-svn: 347903
</content>
</entry>
<entry>
<title>Fix embarrasing typo in uncaught_exceptions. Update tests to really test this. Thanks to Peter Klotz for calling my attention to this.</title>
<updated>2018-05-29T22:25:42+00:00</updated>
<author>
<name>Marshall Clow</name>
<email>mclow.lists@gmail.com</email>
</author>
<published>2018-05-29T22:25:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3a92ecc8e6452c9369e1202c99dc14e0a1b8e62c'/>
<id>urn:sha1:3a92ecc8e6452c9369e1202c99dc14e0a1b8e62c</id>
<content type='text'>
llvm-svn: 333467
</content>
</entry>
<entry>
<title>libcxx: Use vcruntime declarations for typeinfo on Windows.</title>
<updated>2018-01-26T01:22:17+00:00</updated>
<author>
<name>Peter Collingbourne</name>
<email>peter@pcc.me.uk</email>
</author>
<published>2018-01-26T01:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=1634c15e3c7e57bf95bb2bab7f5ea6a8a353d7c8'/>
<id>urn:sha1:1634c15e3c7e57bf95bb2bab7f5ea6a8a353d7c8</id>
<content type='text'>
We need to use the vcruntime declarations on Windows to avoid an
ODR violation involving rtti.obj, which provides the definition of
the runtime function implementing dynamic_cast and depends on the
vcruntime implementations of bad_cast and bad_typeid.

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

llvm-svn: 323491
</content>
</entry>
<entry>
<title>libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions without dllimport.</title>
<updated>2018-01-18T00:33:35+00:00</updated>
<author>
<name>Peter Collingbourne</name>
<email>peter@pcc.me.uk</email>
</author>
<published>2018-01-18T00:33:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5e27cce46729ab431da4e503c651763a0798e5a5'/>
<id>urn:sha1:5e27cce46729ab431da4e503c651763a0798e5a5</id>
<content type='text'>
It turns out that the MSVC headers define these functions without
dllimport even when compiling with /MD. This change fixes the resulting
compile-time error.

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

llvm-svn: 322794
</content>
</entry>
<entry>
<title>libcxx: Stop using private MSVC macros in the exception implementation.</title>
<updated>2018-01-17T04:37:04+00:00</updated>
<author>
<name>Peter Collingbourne</name>
<email>peter@pcc.me.uk</email>
</author>
<published>2018-01-17T04:37:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4bdb80faf2dda9818ee98456f90ae356c201ee05'/>
<id>urn:sha1:4bdb80faf2dda9818ee98456f90ae356c201ee05</id>
<content type='text'>
Inline the provided "fallback" definitions (which seem to always be
taken) that expand to __cdecl into users. The fallback definitions
for the *CRTIMP* macros were wrong in the case where the CRT is being
linked statically, so define our own macro as a replacement.

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

llvm-svn: 322617
</content>
</entry>
<entry>
<title>[libc++] Support Microsoft ABI without vcruntime headers</title>
<updated>2017-10-09T19:25:17+00:00</updated>
<author>
<name>Shoaib Meenai</name>
<email>smeenai@fb.com</email>
</author>
<published>2017-10-09T19:25:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=492d7134f3bdd76415d8e7b20a4f1c9a42b85e44'/>
<id>urn:sha1:492d7134f3bdd76415d8e7b20a4f1c9a42b85e44</id>
<content type='text'>
The vcruntime headers are hairy and clash with both libc++ headers
themselves and other libraries. libc++ normally deals with the clashes
by deferring to the vcruntime headers and silencing its own definitions,
but for clients which don't want to depend on vcruntime headers, it's
desirable to support the opposite, i.e. have libc++ provide its own
definitions.

Certain operator new/delete replacement scenarios are not currently
supported in this mode, which requires some tests to be marked XFAIL.
The added documentation has more details.

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

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