Age | Commit message (Collapse) | Author |
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/branches/release_60@321739 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/branches/release_60@321718 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@321569 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@321564 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
These are expected to be set by the shared lit scripts used from libc++.
Differential Revision: https://reviews.llvm.org/D40818
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@320445 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
We want to automatically copy the appropriate mailing list
for review requests to the libc++abi repository.
For context, see the proposal and discussion here:
http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html
Similar to D40500, I set up a new Diffusion repository with callsign
"CXXA" for libc++abi:
https://reviews.llvm.org/source/libcxxabi/
This explicitly updates libcxxabi's .arcconfig to point to the new
CXX repository in Diffusion, which will let us use Herald rule H268.
Reviewers: phosek, beanz, EricWF, compnerd
Reviewed By: phosek
Subscribers: cfe-commits, klimek, sammccall, dlj, bkramer
Differential Revision: https://reviews.llvm.org/D40501
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@319713 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
LLVM is gaining install-*-stripped targets to perform stripped installs,
and in order for this to be useful for install-distribution, all
potential distribution components should have stripped installation
targets. LLVM has a function to create these install targets, but since
we can't use LLVM CMake functions in libc++abi, let's do it manually.
Differential Revision: https://reviews.llvm.org/D40681
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@319499 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
Differential revision: https://reviews.llvm.org/D40279
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318874 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318765 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is useful in cases where we only build static library and
libc++abi.a is combined with libc++.a into a single archive in which
case we don't want to have libc++abi.a installed separately. The same
option is already provided by libcxx CMake build.
Differential Revision: https://reviews.llvm.org/D40194
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318568 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
When using LLVM unwinder and static unwinder option is set, merge
libunwind and libc++abi objects into a single archive. libc++ already
supports merging libc++abi.a and libc++.a into a single archive; with
this change, it is possible to also include libunwind.a in the same
archive which is useful when doing static link and using libc++ as
a default C++ library and compiler-rt as a default runtime library.
Differential Revision: https://reviews.llvm.org/D39949
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318563 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@318043 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
__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
|
|
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
|
|
__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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310546 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
These were causing failures in -Werror builds.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310535 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310530 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential revision: https://reviews.llvm.org/D36427
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310525 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310415 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is needed when using Windows threading.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310329 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@310226 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309650 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309649 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: https://reviews.llvm.org/D35542
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309551 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309520 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309349 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309342 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The demangler now demangles by producing an AST, then traverses that
AST to produce a demangled name. This is done for performance reasons,
now the demangler doesn't manuiplate std::strings, which hurt
performance and caused string operations to be inlined into the
parser, leading to large code size and stack usage.
Differential revision: https://reviews.llvm.org/D35159
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@309340 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@308461 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Fixes an exponential parse found by oss-fuzz.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307941 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This patch removes the dependancy on libc++'s __refstring header,
which was only a header in the first place so that libc++abi could
build library code using it, and not because libc++ needed it in
the headers.
This patch allows libc++ to stop shipping <__refstring> publicaly
at the cost of duplicating it across projects. Ideally libc++abi
would always require the libc++ sources when building, but that's
a separate discussion I plan to start on the mailing lists shortly.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307748 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is going to be used by the runtime build in the multi-target
setup to allow using different install prefix for each target.
Differential Revision: https://reviews.llvm.org/D33761
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307611 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential revision: https://reviews.llvm.org/D35158
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307482 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential revision: https://reviews.llvm.org/D35158
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307481 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307230 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
error message. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305977 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
unsupported
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305500 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
after r304374
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305278 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Rather than manually checking for support for the spelling of the C++
standard, indicate to CMake that we require that the compiler support
C++11 and that we compile without the GNU extensions. This simplifies
the flags handling in libc++abi itself by relying on CMake to translate
the flag and add it as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305175 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Use the POSITION_INDEPENDENT_CODE target property to indicate that we
should be building with -fPIC or the equivalent flag based on the
toolchain that we are using. This makes the check more portable and
simplifies the flags management. Because we don't want this setting to
propagate in the case of an in-tree build, set the property on the
targets we construct explicitly rather than setting
CMAKE_POSITION_INDEPENDENT_CODE to ON globally.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305174 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Use the C++11 (formalised in C++17) tag to indicate a fallthrough in the
switch case. Silences a -Wimplicit-fallthrough warning with gcc:7
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305173 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Cleanup the -Wmissing-field-initializers warnings from gcc:7 builds.
NFC.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@305172 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential revision: https://reviews.llvm.org/D33753
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@304664 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Refactor cmake to remove dependence on LLVM's cmake modules.
This improves handling of cmake checks when cross compiling and brings
libcxxabi in line with libcxx and other project modules.
Differential revision: https://reviews.llvm.org/D33635
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@304374 91177308-0d34-0410-b5e6-96231b3b80d8
|