| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 373379
|
|
|
|
|
|
|
|
| |
LLVM uses .h as its extension for header files.
Differential Revision: https://reviews.llvm.org/D65981
llvm-svn: 368604
|
|
|
|
|
|
|
|
| |
Those are now hosted on GitHub.
rdar://problem/36557462
llvm-svn: 358191
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
https://reviews.llvm.org/D42242
llvm-svn: 344152
|
|
|
|
|
|
| |
This was missed in SVN r337754.
llvm-svn: 339503
|
|
|
|
|
|
|
|
|
| |
This allows handling SEH based exceptions, with unwind functions
provided by libgcc.
Differential Revision: https://reviews.llvm.org/D49638
llvm-svn: 337754
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 299129
|
|
|
|
|
|
|
|
| |
Convention in libcxxabi is to use !defined(FOO) not !FOO.
Differential Revision: https://reviews.llvm.org/D30459
llvm-svn: 296612
|
|
|
|
|
|
| |
This patch adds the required leading underscore to those macros.
llvm-svn: 296567
|
|
|
|
|
|
|
|
| |
GCC 4.7 or newer emits 0x90 (indirect | pcrel) as the ttype encoding.
This would hit an assertion in cxa_personality.cpp. This commit fixes
the problem by relaxing the assertion.
llvm-svn: 286760
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes -Wundef by replacing:
#if !LIBCXXABI_USE_LLVM_UNWINDER
with:
#if !defined(LIBCXXABI_USE_LLVM_UNWINDER)
llvm-svn: 280251
|
|
|
|
|
|
|
| |
This may be invoked by the compiler, and needs to be made available so that the
users can reference it.
llvm-svn: 269255
|
|
|
|
|
|
|
| |
The personality routines need to be exposed to the users as the functions
reference the personality routine to handle exceptions.
llvm-svn: 268477
|
|
|
|
|
|
|
|
|
|
| |
When using SjLj EH, do not use __builtin_eh_return_regno, map directly to the
ID. This would work on some targets, particularly those where the non-SjLj EH
personality used the same register mapping (0 -> 0, 1 -> 1). However, this is
not guaranteed. Avoiding the use of the builtin enables the use of libc++ with
SjLj EH on all targets.
llvm-svn: 248108
|
|
|
|
| |
llvm-svn: 241993
|
|
|
|
|
|
|
|
|
| |
As a step to fix libunwind unw_step(), a new function
__gnu_unwind_frame() has been introduced to libunwind, and it is
required to use this function so that some libunwind internal data
structure can be updated properly.
llvm-svn: 238561
|
|
|
|
|
|
|
|
| |
This papers over a layering violation currently between libc++abi and libunwind.
It reaches into the sources to get the declaration of an ABI defined function.
This should allow the ARM buildbot to continue building libc++abi again.
llvm-svn: 235965
|
|
|
|
|
|
| |
Cleans up cast qualifier warnings identified by GCC 4.9.2.
llvm-svn: 235829
|
|
|
|
| |
llvm-svn: 231852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch fixes a bug in `readEncodedPointer()` where it would read from memory that was not suitably aligned. This patch fixes it by using memcpy.
Reviewers: danalbert, echristo, compnerd, mclow.lists
Reviewed By: compnerd, mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D8179
llvm-svn: 231839
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 228257
|
|
|
|
|
|
|
| |
Implement an undocumented _US_FORCE_UNWIND flag for force
unwinding.
llvm-svn: 226820
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds a new compilation flags LIBCXXABI_USE_LLVM_UNWINDER
to specify whether the LLVM unwinder is enabled. Besides, all
unwinder-specific code are guarded with this definition.
Now, libc++abi will be able to use the unwinding routine from libgcc
when LIBCXXABI_USE_LLVM_UNWINDER is disabled.
llvm-svn: 226819
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Since the personality functions do the actual unwinding on ARM,
and will also stop unwinding when they encounter a handler, we invoke
_Unwind_VRS_Interpret() directly form _Unwind_Backtrace().
To simplify, the logic for decoding an EHT is moved out of
unwindOneFrame() and into its own function, decode_eht_entry(). Unlike
unwindOneFrame(), which could only handle ARM's compact personality
function entries (section 6.3) decode_eht_entry() can handle the generic
entries (section 6.2).
Reviewers: jroelofs
Reviewed By: jroelofs
Subscribers: piman, aemerson, cfe-commits
Differential Revision: http://reviews.llvm.org/D5112
llvm-svn: 216730
|
|
|
|
|
|
| |
http://reviews.llvm.org/D4993
llvm-svn: 216202
|
|
|
|
|
|
|
|
|
|
|
| |
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: 211745
|
|
|
|
| |
llvm-svn: 208795
|
|
|
|
|
|
|
| |
This commit implements the ARM zero-cost exception handling
support for libc++abi.
llvm-svn: 208466
|
|
|
|
|
|
| |
Replaces several `#if __arm__` with `#if __USING_SJLJ_EXCEPTIONS__`.
llvm-svn: 208352
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
review: http://llvm-reviews.chandlerc.com/D2718
llvm-svn: 201208
|
|
|
|
| |
llvm-svn: 175275
|
|
|
|
|
|
| |
Table out-of-range but still keep walking.
llvm-svn: 167733
|
|
|
|
| |
llvm-svn: 152966
|
|
|
|
| |
llvm-svn: 152415
|
|
|
|
| |
llvm-svn: 152329
|
|
|
|
| |
llvm-svn: 152328
|
|
|
|
| |
llvm-svn: 152323
|
|
|
|
| |
llvm-svn: 151765
|
|
|
|
| |
llvm-svn: 150827
|
|
|
|
|
|
| |
foreign. Even other C++ exceptions.
llvm-svn: 149518
|
|
|
|
| |
llvm-svn: 149515
|
|
|
|
| |
llvm-svn: 149513
|
|
|
|
|
|
| |
crasher on -O3. I've looked for a libc++abi bug and can't find one. I'm suspecting clang optimizer bug. But I don't have a good test case at the moment. Deferring investigation on this for now as I will soon be developing more and smaller tests.
llvm-svn: 149414
|
|
|
|
| |
llvm-svn: 149403
|
|
|
|
|
|
| |
rethrows the same exception then needed information gets overwritten in the original exception header. Therefore save it locally before executing the unexpected_handler.
llvm-svn: 149400
|
|
|
|
|
|
| |
table if the action entry is zero.
llvm-svn: 149389
|
|
|
|
|
|
| |
caught-but-unhandled exception, and choose the handler out of that if found.
llvm-svn: 149329
|