| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
No intended behavior change on Linux and Mac OS X. On Windows, having libcxxabi
in one's checkout should now no longer break running cmake. (cl.exe supports
c++11, but doesn't understand a -std= flag.)
llvm-svn: 213214
|
|
|
|
|
|
|
|
|
|
|
| |
The cmake files for libc++abi and the unwinder weren't linking against
libpthread or an unwind library. If the tests were linked with
-Wl,--as-needed, these libraries wouldn't be linked, causing them to
fail.
Patch contributed by İsmail Dönmez.
llvm-svn: 212958
|
|
|
|
|
|
|
|
| |
This is useful for distros installing under /usr/lib64.
Patch from İsmail Dönmez.
llvm-svn: 212826
|
|
|
|
|
|
|
| |
Note: The unwinder currently only works on Darwin and on ARM Linux.
Non-ARM Linux support is not yet implemented, and will fail to build.
llvm-svn: 212824
|
|
|
|
| |
llvm-svn: 212768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes running libcxxabi tests on Linux _much_ easier.
Adds a check-libcxxabi target to cmake.
Also defaults to building a dynamic libc++abi. This is so that the
default options still test the libc++abi that is being built. There are
two problems with testing a static libc++abi. In the case of a
standalone build, the tests will link the system's libc++, which might
not have been built against our libc++abi. In the case of an in tree
build, libc++ will prefer a dynamic libc++abi from the system over a
static libc++abi from the output directory.
llvm-svn: 212672
|
|
|
|
|
|
|
| |
Will add support for tests with lit in a later patch.
This does not yet support building the unwinder in src/Unwind.
llvm-svn: 212286
|
|
|
|
| |
llvm-svn: 212232
|
|
|
|
|
|
|
|
|
|
|
| |
This commit reverts the LSDA-related change in r211745.
The r211745 adds a new argument to scan_eh_tab(), i.e. lsda.
However, IMO, calling _Unwind_GetLanguageSpecificData() directly in
scan_eh_tab() was more intuitive and reduces several function call
to _Unwind_GetLanguageSpecificData() in __cxx_personality_v0().
llvm-svn: 212037
|
|
|
|
| |
llvm-svn: 211912
|
|
|
|
| |
llvm-svn: 211790
|
|
|
|
|
|
|
|
|
| |
* Replace strlcpy with snprintf since strlcpy is not available
in glibc.
* Replace __LINUX__ with __linux__.
llvm-svn: 211784
|
|
|
|
| |
llvm-svn: 211775
|
|
|
|
| |
llvm-svn: 211751
|
|
|
|
| |
llvm-svn: 211748
|
|
|
|
| |
llvm-svn: 211745
|
|
|
|
|
|
|
|
|
|
|
| |
This was written by:
Albert Wong <ajwong@chromium.org>
Antoine Labour <piman@chromium.org>
Dana Jansen <danakj@chromium.org
Jonathan Roelofs <jonathan@codesourcery.com>
Nico Weber <thakis@chromium.org>
llvm-svn: 211743
|
|
|
|
|
|
|
|
| |
The new code will be behind a LIBCXXABI_ARM_EHABI define (so that platforms
that don't want it can continue using e.g. SJLJ). This commit mostly just
adds the LIBCXXABI_ARM_EHABI define.
llvm-svn: 211739
|
|
|
|
|
|
| |
destructors live in libc++abi
llvm-svn: 210661
|
|
|
|
|
|
| |
Test case written by Dana Jansens.
llvm-svn: 210129
|
|
|
|
| |
llvm-svn: 209944
|
|
|
|
| |
llvm-svn: 209943
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a single problem in cxa_demangle.cpp, where gcc would complain
`error: changes meaning of 'String'` about the line `typedef String String;`.
According to 3.3.7p2, this diagnostic is allowed (but not required, so clang
does not have to report this).
As a fix, make string_pair a template and pass String as template parameter.
This fixes the error with gcc and also removes some repetition from the code.
No behavior change.
llvm-svn: 209909
|
|
|
|
| |
llvm-svn: 208795
|
|
|
|
|
|
|
| |
determine whether we get a mangling for a return type, rather than trying to
figure it out based on whether the mangled name ended with a '>'.
llvm-svn: 208611
|
|
|
|
|
|
|
| |
This commit implements the ARM zero-cost exception handling
support for libc++abi.
llvm-svn: 208466
|
|
|
|
|
|
|
|
|
| |
To allow the compilation with gcc, we can't use the
__has_feature(cxx_noexcept) to detect the default destructor
exception specification, which is noexcept(true) by default
in C++11. We should use __cplusplus >= 201103L instead.
llvm-svn: 208465
|
|
|
|
|
|
| |
Replaces several `#if __arm__` with `#if __USING_SJLJ_EXCEPTIONS__`.
llvm-svn: 208352
|
|
|
|
| |
llvm-svn: 208350
|
|
|
|
|
|
| |
functionality change, just removal of duplicated code.
llvm-svn: 208246
|
|
|
|
|
|
| |
http://reviews.llvm.org/D3386
llvm-svn: 208135
|
|
|
|
|
|
| |
places to increase the chance of messing up any preserved registers.
llvm-svn: 207938
|
|
|
|
| |
llvm-svn: 207907
|
|
|
|
|
|
| |
AArch64)
llvm-svn: 207481
|
|
|
|
| |
llvm-svn: 207469
|
|
|
|
|
|
| |
DwarfInstructions::lastRestoreReg() to Register::lastDwarfRegNum().
llvm-svn: 207467
|
|
|
|
| |
llvm-svn: 207463
|
|
|
|
| |
llvm-svn: 207170
|
|
|
|
| |
llvm-svn: 207169
|
|
|
|
| |
llvm-svn: 207064
|
|
|
|
|
|
|
| |
Fixes compiler complaint about:
src/Unwind/UnwindCursor.hpp:366:25: error: 'libunwind::AbstractUnwindCursor' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
llvm-svn: 206942
|
|
|
|
|
|
|
| |
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.
llvm-svn: 206941
|
|
|
|
|
|
|
| |
Darwin and the BSDs define a tagged struct dl_info typedef'd as Dl_info. glibc
and bionic typedef an anonymous struct as Dl_info.
llvm-svn: 206939
|
|
|
|
|
|
| |
... so that we can use newlib as the c library.
llvm-svn: 206427
|
|
|
|
| |
llvm-svn: 206122
|
|
|
|
| |
llvm-svn: 206121
|
|
|
|
| |
llvm-svn: 206108
|
|
|
|
|
|
| |
in the wild on SH3.
llvm-svn: 205756
|
|
|
|
| |
llvm-svn: 205573
|
|
|
|
| |
llvm-svn: 204292
|