History log of /external/libcxxabi/src/cxa_exception.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a3f273ac00d2a4169dbb18df1e5814509906b812 28-Nov-2017 Akira Hatanaka <ahatanaka@apple.com> Insert padding before the __cxa_exception header to ensure the thrown
object is sufficiently aligned.

r303175 annotated field unwindHeader of __cxa_exception with attribute
'aligned' to ensure the thrown object following the __cxa_exception
header was sufficiently aligned. This caused changes in the field
offsets of __cxa_exception relative to the start of the thrown object,
which was an ABI breaking change for some clients.

Instead of annotating field unwindHeader, this commit inserts extra
space before the header. This ensures the thrown object following the
header is sufficiently aligned without changing the field offsets, thus
avoiding any ABI breakages.

rdar://problem/25364625
rdar://problem/35556163

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@319123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
05ba3281482304ae8de31123a594972a495da06d 15-Sep-2017 Eric Fiselier <eric@efcs.ca> Fix ASAN build with older compiler-rt versions.

compiler-rt recently added the __asan_handle_no_return() function that libc++abi
needs to use, however older versions of compiler-rt don't declare this interface
publicly and that breaks the libc++abi build.

This patch attempts to fix the issues by declaring the asan function explicitly,
so we don't depend on compiler-rt to provide the declaration.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@313308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
6b4fee29c8a12e05201d5823c67ef91429e57369 15-Sep-2017 Eric Fiselier <eric@efcs.ca> [libc++abi] Fix ASAN build with older compiler-rt versions.

Summary:
compiler-rt recently added the `__asan_handle_no_return()` function that libc++abi needs to use, however older versions of compiler-rt don't provide this interface and that breaks the libc++abi build.

This patch attempts to fix the issues by using a macro to detect if `asan_interface.h` is new enough to provide the function.

See D37871

Reviewers: phosek, vitalybuka

Reviewed By: phosek, vitalybuka

Subscribers: dberris, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@313304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
05e2ac5c83553f9678f018bd8032357f40882a80 14-Sep-2017 Petr Hosek <phosek@chromium.org> Reland "When built with ASan, __cxa_throw calls __asan_handle_no_return"

The ASan runtime on many systems intercepts cxa_throw just so it
can call asan_handle_no_return first. Some newer systems such as
Fuchsia don't use interceptors on standard library functions at all,
but instead use sanitizer-instrumented versions of the standard
libraries. When libc++abi is built with ASan, cxa_throw can just
call asan_handle_no_return itself so no interceptor is required.

Patch by Roland McGrath

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@313215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
caa78daf9285dada17e3e6b8aebcf7d128427f83 06-Sep-2017 Petr Hosek <phosek@chromium.org> Revert "[libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_return"

This reverts commit r312606 because it's causing an error on
libcxx-libcxxabi-x86_64-linux-ubuntu-asan bot.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@312609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
f6e94df5624f1e4dcddbde98001cdd83b0a7d4a1 06-Sep-2017 Petr Hosek <phosek@chromium.org> [libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_return

The ASan runtime on many systems intercepts cxa_throw just so it
can call asan_handle_no_return first. Some newer systems such as
Fuchsia don't use interceptors on standard library functions at all,
but instead use sanitizer-instrumented versions of the standard
libraries. When libc++abi is built with ASan, cxa_throw can just
call asan_handle_no_return itself so no interceptor is required.

This is a re-land of r311045, which has become safe after r311869
changed compiler-rt to declare __asan_handle_no_return.

Patch by Roland McGrath

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@312606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
b157fdd968a4e1093645ec7c65213736c4bc7ea6 17-Aug-2017 Petr Hosek <phosek@chromium.org> Revert "[libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_return"

This reverts commit r311045 because it's causing an error on
libcxx-libcxxabi-x86_64-linux-ubuntu-asan bot.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@311047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
fef681d9e0bd73e70f22e9fd03cae5c492e09966 16-Aug-2017 Petr Hosek <phosek@chromium.org> [libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_return

The ASan runtime on many systems intercepts cxa_throw just so it
can call asan_handle_no_return first. Some newer systems such as
Fuchsia don't use interceptors on standard library functions at all,
but instead use sanitizer-instrumented versions of the standard
libraries. When libc++abi is built with ASan, cxa_throw can just
call asan_handle_no_return itself so no interceptor is required.

Patch by Roland McGrath

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@311045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
847e4d2486074be3d0dd15e87bcbebb92cd0d064 31-Mar-2017 Shoaib Meenai <smeenai@fb.com> [libc++abi] Delete config.h

Summary: It's now completely empty, so we can remove it entirely.

Reviewers: mclow.lists, EricWF

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@299129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
aad059409f93f48058f669d730cb35ad7b84bb69 04-Mar-2017 Eric Fiselier <eric@efcs.ca> [libcxxabi] Fix alignment of allocated exceptions in 32 bit builds

Summary:
In 32 bit builds on a 64 bit system `std::malloc` does not return correctly aligned memory. This leads to undefined behavior.

This patch switches to using `posix_memalign` to allocate correctly aligned memory instead.

Reviewers: mclow.lists, danalbert, jroelofs, compnerd

Reviewed By: compnerd

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@296952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
2ecb4ee2222ad37b0d4da0812fa09edd3834a5d3 01-Mar-2017 Ranjeet Singh <Ranjeet.Singh@arm.com> [libcxxabi] Clean up macro usage.

Convention in libcxxabi is to use !defined(FOO) not !FOO.

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



git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@296612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
54227aec1d6116c936afa576e2ea36ca3e94b29c 01-Mar-2017 Shoaib Meenai <smeenai@fb.com> [libc++abi] Clean up visibility

Use the libc++abi visibility macros instead of pragmas or using
visibility attributes directly. Clean up redundant attributes on
definitions (where the declarations already have visibility attributes
applied, from either libc++ or libc++abi headers).

Introduce _LIBCXXABI_WEAK as a drive-by cleanup, which matches the
semantics of _LIBCPP_WEAK.

No functional change. Tested by building on Linux before and after this
change and verifying that the list of exported symbols is identical.

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@296576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
9e2169efef5bd447dac9620c9c76fe4020e9b7e8 01-Mar-2017 Eric Fiselier <eric@efcs.ca> Fix non-reserved macro names LIBCXXABI_NORETURN and LIBCXXABI_ARM_EHABI.

This patch adds the required leading underscore to those macros.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@296567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
71ba2871943cec379da0585c16f69fb5ac5a884b 03-Jan-2017 Asiri Rathnayake <asiri.rathnayake@arm.com> [libcxxabi] Introduce an externally threaded libc++abi variant.

r281179 Introduced an externally threaded variant of the libc++ library. This
patch adds support for a similar library variant for libc++abi.

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

Reviewers: EricWF

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@290888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
5180673e0abca22cdc611dc869caf82ae728f3d3 13-Oct-2016 Asiri Rathnayake <asiri.rathnayake@arm.com> [libcxxabi] Refactor pthread usage into a separate API

This patch refactors all pthread uses of libc++abi into a separate API. This
is the first step towards supporting an externlly-threaded libc++abi library.

I've followed the conventions already used in the libc++ library for the same
purpose.

Patch from: Saleem Abdulrasool and Asiri Rathnayake

Reviewed by: compnerd, EricWF

Differential revisions:
https://reviews.llvm.org/D18482 (original)
https://reviews.llvm.org/D24864 (final)

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@284128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
ace657208972b9d29bff7e062a19f59199133a4d 07-Oct-2016 Igor Kudrin <ikudrin.dev@gmail.com> Recommit r282692: [libc++abi] Use fallback_malloc to allocate __cxa_eh_globals in case of dynamic memory exhaustion.

Throwing an exception for the first time may lead to call calloc to
allocate memory for __cxa_eh_globals. If the memory pool is exhausted
at that moment, it results in abnormal termination of the program.

This patch addresses the issue by using fallback_malloc in that case.

In this revision, some restrictions were added into the test to not
run it in unsuitable environments.

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



git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@283531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
336985fdf6ba0675fa56b439ce69c19aa249336b 29-Sep-2016 Igor Kudrin <ikudrin.dev@gmail.com> Revert r282692: Use fallback_malloc to allocate __cxa_eh_globals in case of dynamic memory exhaustion.

The test breaks build bots.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@282703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
feb04d70afb8388150f2ba40df8333ca4c4817ec 29-Sep-2016 Igor Kudrin <ikudrin.dev@gmail.com> [libc++abi] Use fallback_malloc to allocate __cxa_eh_globals in case of dynamic memory exhaustion.

Throwing an exception for the first time may lead to call calloc to
allocate memory for __cxa_eh_globals. If the memory pool is exhausted
at that moment, it results in abnormal termination of the program.

This patch addresses the issue by using fallback_malloc in that case.

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


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@282692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
b62a4dd90c2568cfc49f710d15a326b9ead3f610 21-Sep-2016 Asiri Rathnayake <asiri.rathnayake@arm.com> [libcxxabi] cleanup the use of LIBCXXABI_HAS_NO_THREADS macro (NFC)

Align the naming / use of the macro LIBCXXABI_HAS_NO_THREADS to follow what we
have in libcxx. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@282062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
f67395cccae6049982ad67530f406624cc0445ac 22-Dec-2015 Logan Chien <tzuhsiang.chien@gmail.com> Fix ARM __cxa_end_cleanup() and gc-sections.

This commit adds SHF_ALLOC and SHF_EXECINSTR section flags to
`.text.__cxa_end_cleanup` section. This fixes a link error when we are
using integrated-as and `ld.gold` (with `-Wl,--gc-sections` and
`-Wl,--fatal-warnings`.)

Detailed Explanation:

1. There might be some problem with LLVM integrated-as. It is not
emitting any section flags for text sections. (This will be fixed in
an independent commit.)

2. `ld.gold` will skip the external symbols in the section without
SHF_ALLOC. This is the reason why `.text.__cxa_end_cleanup_impl`
section is discarded even though it is referenced by
`__cxa_end_cleanup()`.

This commit workaround the problem by specifying the section flags
explicitly.

Fix http://llvm.org/PR21292


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@256241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
b4ec5796f2d2d0c7bf3faeb87ce87281c185b28e 04-Dec-2015 Saleem Abdulrasool <compnerd@compnerd.org> ibc++abi: mark visibility

Mark functions and types with the appropriate visibility. This is particularly
useful for environments which explicitly indicate origin of functions (Windows).
This aids in generating libc++abi as a DSO which exposes only the public
interfaces.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@254691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
77a304b28be4b50a508298d6a0e40ee9d4bb3ccd 04-Dec-2015 Saleem Abdulrasool <compnerd@compnerd.org> c++abi: whitespace adjustment

Cleanup some code with clang-format to make the following change easier to
identify material difference. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@254690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
4c91e387a7e126a1f3c9706df4f2c65f350859b0 18-Nov-2015 Saleem Abdulrasool <compnerd@compnerd.org> c++abi: use __builtin_offsetof instead of offsetof

Use `__builtin_offsetof` in place of `offsetof`. Certain environments provide a
macro definition of `offsetof` which may end up causing issues. This was
observed on Windows. Use `__builtin_offsetof` to ensure correct evaluation
everywhere. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@253435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
5013d7c4d0baf9c67939f123fea6f5b3dc31052d 02-Jun-2015 Marshall Clow <mclow.lists@gmail.com> Implement uncaught_exceptions() to get a count, rather than a bool. Update the libc++abi version. Reviewed as http://reviews.llvm.org/D10067

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@238827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
da5a6b1de034870097d881d8f7ab5b77e2ed4b7f 06-Feb-2015 Dan Albert <danalbert@google.com> Formatting fixes.

We should clang-format the whole thing when we finally move the
unwinder to its new home.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@228360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
a1fce46063c99e307594236c55004b4e5b62243f 05-Feb-2015 Dan Albert <danalbert@google.com> Enable -Wundef.

The problem that caused the need for http://reviews.llvm.org/D7419 was
caused by testing the value of something that was undefined. This
should prevent that in the future.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@228257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
239a0322e4f377c93998230261063a048ab5b7f7 05-Sep-2014 Jonathan Roelofs <jonathan@codesourcery.com> s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx

Also remove the audotedection part so that if you're crazy enough to want a
single-threaded abi library, you'll say so explicitly in the build.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@217262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
d6e233687f0e2a20e77f864f96503d1b73f9d7de 26-Jun-2014 Nico Weber <nicolasweber@gmx.de> Update libc++abi to use the ARM EHABI unwinder from its libunwind.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@211745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
05d51bcf07d0ec1c40785b4a860fd917410b4be1 10-May-2014 Logan Chien <tzuhsiang.chien@gmail.com> Implement ARM EHABI exception handling.

This commit implements the ARM zero-cost exception handling
support for libc++abi.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
c285efad792f81f323c18e7f7674164ad94b4059 06-May-2014 Jonathan Roelofs <jonathan@codesourcery.com> On single threaded systems, turn mutexes into nops

http://reviews.llvm.org/D3386


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
674e99db596c1cd16864bb6d3de05d39eeb932cd 23-Apr-2014 Dan Albert <danalbert@google.com> Fixes incorrect #ifs for SJ/LJ exceptions

The was working because, given __APPLE__, _LIBUNWIND_BUILD_SJLJ_APIS was set to
__arm__, but other ARM targets not using SJ/LJ will fail to compile.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
c82e02dd25b36e5d05cd3644499a553709c9395d 12-Feb-2014 Jonathan Roelofs <jonathan@codesourcery.com> [libcxxabi] Fix broken codesourcery.com links in comments

review: http://llvm-reviews.chandlerc.com/D2718


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
6c33e768c1b37af3e5d5f9f0e2a72fcf1dc51382 17-Jun-2013 Howard Hinnant <hhinnant@apple.com> Demangler update: This now demangles many more (all?) C++11 symbols. Demangler tests updated.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
6d00feffc82d4f8c0201242291a0e93b492e1dd4 15-Feb-2013 Howard Hinnant <hhinnant@apple.com> Bruce Mitchener: Typo fixes.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@175275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7f9d213dae9bb6aaea7fc8f697680b5f69178f84 29-Feb-2012 Howard Hinnant <hhinnant@apple.com> First attempt at arm support.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
0240685ed6756ee0eed7c76e37eb2abdc01dcf82 02-Feb-2012 Howard Hinnant <hhinnant@apple.com> Work on restricting symbol visibility.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
8dd7a48855cc1e11101b967664d9602f49ab6842 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Teach exception_cleanup_func about dependent exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7ab185ea390a9ad39f512bd3e7d3ee6ea76812c8 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Treat all exceptions except that the ones that this library throws as foreign. Even other C++ exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
723ef221e08a1f60cd6b85bed883b351f5397f42 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Removed debugging print statements

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7da9b96afc66c4496eb8809897c1b707b574a5c4 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Add a descriptive name for a constant. Also I'm at least temporarily waging war on throw specs, both old and new style. Except where we have already publicly exposed the throw spec, I'm getting rid of them. They may come back later. But they seem somewhat prone to cyclic dependencies here. The throw spec implies compiler generated code that this library has to jump to during stack unwinding. I'd like to minimize the possiblity that the code used to properly make that jump is itself creating such jumps.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
978bfdea305b62e4de913a8532657ebf977ab03f 28-Jan-2012 Howard Hinnant <hhinnant@apple.com> Minor updates to a couple of comments.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
f81cdffb22a1f20a3adadccbaba60513aa29cb0d 25-Jan-2012 Howard Hinnant <hhinnant@apple.com> By changing all of the throw() specs to noexcept I've been able to compile and link all of the source files into a dylib. Prior to this substitution the changed functions were calling __cxa_call_unexpected which isn't implemented yet. However in none of these cases do we actaully want __cxa_call_unexpected to be called. Primative buildit script added.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
60a178840d23fbf169a22fde1cef5e558ef232f9 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Marshall Clow reminded me that fallback_malloc.cpp was broken out for testing purposes. We've agreed to simply rename fallback_malloc.cpp to fallback_malloc.ipp. Thanks Marshall.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
c2dfdeb45185892867d765a75668760285dbfbf0 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Got fooled by fallback_malloc.cpp source file: it is really a private header. I've manually included it into the only place it is used: cxa_exception.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
2a70c109842324cebbfc1299eb70b6a1b8c0e5b6 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Move kOurExceptionClass and kOurDependentExceptionClass from source to header so that they can be used in multiple sources. This is a private header, these constants are not publicly exposed.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
ca6514dfeab3c7fad4c111cd07996661452cecb0 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Changed my mind about __cxa_uncaught_exception and added it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
a36fb308d6767c013e6714b50e40c059be1a1911 22-Jan-2012 Howard Hinnant <hhinnant@apple.com> I kept getting confused among the __cxa_exception*, the _Unwind_Exception* and the void* to the thrown object. So I've gone through these two files and attempted to institute a consistent variable naming scheme, and in a few instances, turned void* into a concrete* to have the type system help me out. No change in functionality for this commit is intended.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
8ca7603d21b85b03a57d703feb9e8e8bcd6dcfd0 09-Jan-2012 Howard Hinnant <hhinnant@apple.com> Add a few TODO's and FIXME's. Making notes as I go along, but not slowing down to fix these yet. Just don't want anything to fall through the cracks.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
0acbd98b56b3e10c7e02db24ae09e9875be27c40 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Improved comment to explain why we can use __cxa_get_globals_fast here

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
ed2ea9bfd2ff873061734d7fc59886901f462c00 04-Jan-2012 Howard Hinnant <hhinnant@apple.com> Just getting started on the personality routine. This is just a skeleton. Still learning how to fill it in...

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
2bce81b9692028a861666035755904a406cd084a 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Better comment

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
aeed3a90ceedca2111fc93301de2acc38a80229c 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Don't allocate TLS storage when checking to see if an exception has been thrown - really

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
62edc0172b356c9d2b4c46c1f309884d40ab1b7e 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Don't allocate TLS storage when checking to see if an exception has been thrown

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
57d64cd19aee4b6cf4acf6184a3f5d454bb69e9d 22-Dec-2011 Howard Hinnant <hhinnant@apple.com> credits adjustment

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
64e0097014e8a321735633265e5f9460f505c155 22-Dec-2011 Marshall Clow <mclow@qualcomm.com> Updated __cxa_current_exception_type to call __cxa_get_globals_fast - will not allocate globals

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
dd47ca4f1c0252fbdfd1d6338eaac9c42cade3b8 22-Dec-2011 Howard Hinnant <hhinnant@apple.com> Forgot to increment uncaughtExceptions in __cxa_rethrow_primary_exception

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
1b0aed9312dca7ffd27522864b9101ca816112b1 22-Dec-2011 Howard Hinnant <hhinnant@apple.com> Added __cxa_increment_exception_refcount, __cxa_decrement_exception_refcount, __cxa_current_primary_exception, __cxa_rethrow_primary_exception

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
d4028fe9fa58c189d699c8aad79941b5f3eef86e 12-Dec-2011 Howard Hinnant <hhinnant@apple.com> Made some minor tweaks to __cxa_rethrow

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
b5fea43d2d4953c953ed4dde24caedca4f4e9733 12-Dec-2011 Howard Hinnant <hhinnant@apple.com> Added dependent exception support to __cxa_current_exception_type

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
6eb54ad96edcf6311d304068c2fc7c9f15eb808d 08-Dec-2011 Howard Hinnant <hhinnant@apple.com> Modified __cxa_end_catch to handle dependent exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
e8fcf83b576ff70ba5886fbd73434218a68ac414 07-Dec-2011 Howard Hinnant <hhinnant@apple.com> Reviewing cxa_exception.cpp and marking as implemented as I go. Not marking as implemented on arm when I'm not sure about that platform.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
fb271ad9c5f92a5d35bdc847020ba698bbff8997 06-Dec-2011 Howard Hinnant <hhinnant@apple.com> Substituted std::get_terminate() for direct access to the handler function pointer (which is now a static in cxa_handlers.cpp). This has the advantage of going through the atomic API and so is less likely to cause a data race. Ditto for unexpected.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7ac31268d7e8ece416572ccea8eb3b7f4029ea42 15-Aug-2011 Marshall Clow <mclow@qualcomm.com> reformatted to match Clang style; thanks to John McCall for the nudge

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7c4652fc013fe114c9df54b85ea8f892499ed399 09-Aug-2011 Marshall Clow <mclow@qualcomm.com> First cut at exception handling; missing dependent exceptions. Next step: tests

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
87143dced1a13254922973c14f5f71054b1e5b77 08-Aug-2011 Marshall Clow <mclow@qualcomm.com> Remove include reference to non-existant file cxa_exception_storage.hpp

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
81b7ea7df48333715c0c57d5418c5383e3f5c950 20-Jul-2011 Howard Hinnant <hhinnant@apple.com> Update status: http://libcxxabi.llvm.org/spec.html . Looking good! :-)

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
47c29eb784f53ff170074ea00cd238e0e95af82f 20-Jul-2011 Marshall Clow <mclow@qualcomm.com> Memory manangement routines for exception objects

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp