| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
opcode is VAX. A function call pushes the number of arguments given onto
the stack and "ret" will pop it automatically. The FDE of the caller
contains the amount of stack space used for arguments (and possibly
extra padding), so unwinding has to compensate for this when "returning"
from a function. This is exactly the case when step() is done. The
existing handling in unw_set_reg no longer makes sense.
llvm-svn: 204290
|
|
|
|
|
|
|
| |
programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that
value to decide whether a value should be decoded.
llvm-svn: 203626
|
|
|
|
| |
llvm-svn: 201533
|
|
|
|
|
| |
review: http://llvm-reviews.chandlerc.com/D2718
llvm-svn: 201208
|
|
|
|
|
|
| |
pointers. Specifically, libc++abi would crash when you tried it.
llvm-svn: 200904
|
|
|
|
| |
llvm-svn: 200864
|
|
|
|
| |
llvm-svn: 200432
|
|
|
|
| |
llvm-svn: 199941
|
|
|
|
| |
llvm-svn: 199915
|
|
|
|
| |
llvm-svn: 199860
|
|
|
|
| |
llvm-svn: 199859
|
|
|
|
| |
llvm-svn: 198643
|
|
|
|
|
| |
FIXME: Dragonegg may be updated at non-trivial changes.
llvm-svn: 198274
|
|
|
|
|
|
| |
unwinding.
llvm-svn: 197591
|
|
|
|
|
|
|
| |
This is in preparation for landing an implementation of unw_getcontext
on a system where it's mangled 'unw_getcontext', not '_unw_getcontext'.
llvm-svn: 197523
|
|
|
|
|
|
| |
parameter packs, which exposed a logic bug causing an empty vector<string> to be accessed with back(). In addition to fixing the bug, I've inserted numerous preemptive checks for similar bugs in the hopes that if another bug is uncovered, the bug results in an invalid mangled string instead of a demangler crash. Test suite updated with string that was causing the crash.
llvm-svn: 197063
|