605f03260ce43ec564cd0ec80ea21514e82eeeb3 |
29-Aug-2014 |
Dan Albert <danalbert@google.com> |
Make _Unwind_Backtrace() work on ARM. 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 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@216730 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 14690900fcd84fbf82767890f4d7a5673654fe38) Bug: 16874447 Change-Id: Ia52c7e2a0b7167863fea29cbf4b2d3c5d58053b2
nclude/unwind.h
rc/Unwind/Unwind-EHABI.cpp
rc/Unwind/UnwindLevel1-gcc-ext.c
rc/Unwind/libunwind_ext.h
rc/cxa_personality.cpp
est/backtrace_test.cpp
|
4c708dc711f4bf00e6ff03831d316f7df239f61e |
29-Aug-2014 |
Dan Albert <danalbert@google.com> |
Revert "Fix _Unwind_Backtrace for arm." Reverting because there is a more complete fix available upstream (one that can fully unwind in the presence of generic EHT entries). This reverts commit 0edf7c5360403441c060618014887e9a723fe423. Bug: 16874447 Change-Id: I5aa38183237865187156a8d8a050fd09a04ef109
rc/Unwind/UnwindLevel1-gcc-ext.c
|
e3f00968e6c7819bd616c413f4f22b87099236a7 |
27-Aug-2014 |
Christopher Ferris <cferris@google.com> |
Remove test code. I accidentally included some test code that I if'd 0 out. Remove it. Bug: 16874447 Change-Id: I2ffd8120e2bb088def001125c023173a2cce1e08
rc/Unwind/UnwindLevel1-gcc-ext.c
|
34ce4a6f5c6ffab0fb97be2b62f8e71b14df8fb4 |
27-Aug-2014 |
Christopher Ferris <cferris@google.com> |
Fix _Unwind_Backtrace for arm. The unwind code does not properly update the IP when on arm. There is still a bug in this unwinding code, it stops unwinding at the first catch it finds. Bug: 16874447 Change-Id: I40a4d8990246dccad18612c7291d00293266d9bc
rc/Unwind/UnwindLevel1-gcc-ext.c
|
63c802e0c5e471f0b6b4f131097a4eb8d2cb4cbe |
19-Aug-2014 |
Dan Albert <danalbert@google.com> |
Improve logging of aborts for Android. In Android, stderr only goes to the console, and as such will only ever be seen by adb shell users. Since very few developers will ever actually see that, also send the abort message to logcat and the tombstone. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@215983 91177308-0d34-0410-b5e6-96231b3b80d8 Bug: 17059126 Change-Id: I67055243d0750b1ea3cf5c77e911353cc9905878 (cherry picked from commit f02f3d37e0309314ce69f9bf49f17f54bed2c109)
rc/abort_message.cpp
|
f3015a2d9c8d1d2ff143ca9a0f7b64016b896e46 |
01-Aug-2014 |
Ying Wang <wangying@google.co> |
Exclude only modules with prebuilt in prebuilts/sdk. So we can do tapas build in the full platform source tree. Change-Id: Ia924f5d4a0159e5773dadf7516e509061fba8b1c (cherry picked from commit 9ed4d5de04a63f2445a56f63d07a15e6eb64d4d4)
ndroid.mk
|
87a9be28aceed80250cd1d1a47eb8afa0ee67b51 |
03-Jul-2014 |
Dan Albert <danalbert@google.com> |
Add support for the ARM EHABI unwinder. Only use the LLVM unwinder for ARM. The LLVM unwinder now supports ARM EHABI, so we can finally use that for exception handling on ARM. The unwinder doesn't work for other architectures though (aside from on Darwin), so use libunwind for now. Change-Id: Ife8b0b33dbfe96c10eab102cd36d30149d68ace9
ndroid.mk
rc/Unwind/config.h
|
e45805f0d3f8dafef1297cc7dc49e610713f023b |
03-Jul-2014 |
Dan Albert <danalbert@google.com> |
Merge to upstream r212232. Includes ARM EHABI unwinder. Change-Id: I7e40c761abc0a4c67f11b8e9f85efefa6ba292ba
nclude/cxxabi.h
nclude/libunwind.h
nclude/mach-o/compact_unwind_encoding.h
nclude/unwind.h
rc/Unwind/AddressSpace.hpp
rc/Unwind/DwarfInstructions.hpp
rc/Unwind/DwarfParser.hpp
rc/Unwind/Registers.hpp
rc/Unwind/Unwind-EHABI.cpp
rc/Unwind/UnwindCursor.hpp
rc/Unwind/UnwindLevel1-gcc-ext.c
rc/Unwind/UnwindLevel1.c
rc/Unwind/UnwindRegistersRestore.S
rc/Unwind/UnwindRegistersSave.S
rc/Unwind/config.h
rc/Unwind/libunwind.cpp
rc/config.h
rc/cxa_default_handlers.cpp
rc/cxa_demangle.cpp
rc/cxa_exception.cpp
rc/cxa_exception.hpp
rc/cxa_exception_storage.cpp
rc/cxa_guard.cpp
rc/cxa_handlers.cpp
rc/cxa_personality.cpp
rc/fallback_malloc.ipp
rc/stdexcept.cpp
est/catch_in_noexcept.cpp
est/catch_pointer_reference.cpp
est/inherited_exception.cpp
est/test_demangle.cpp
est/test_exception_storage.cpp
est/test_vector1.cpp
est/testit
est/unwind_06.cpp
ww/index.html
|
c2e9313c38fdd56ecd50d7cd21e8a14d8f16a1b7 |
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. Change-Id: Id774f1c6aa20661e289dbe18145532dbba6791d7 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206941 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/unwind.h
rc/cxa_exception.cpp
rc/cxa_personality.cpp
|
a3a628ad74a904edf8681d6b16ae8e293c1eb681 |
11-Jun-2014 |
Ying Wang <wangying@google.com> |
Using arch-specific variables Use arch-specific variables instead of checking TARGET_ARCH, which doesn't work in multlib build. Change-Id: If05af37c2df9d9f9bc756792a19fd34e8fe72316
ndroid.mk
|
20116856117ff5f5257fc51c5c1bb2499d436d58 |
11-Jun-2014 |
Ian Rogers <irogers@google.com> |
Make host multilib for multilib dependencies. Change-Id: Id3ee2e6b6153c355441016b479b75351030f6217
ndroid.mk
|
3be37f7492fb54dcf821b954efa74dda23751bab |
10-May-2014 |
Brian Carlstrom <bdc@google.com> |
am d5cc515c: Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk * commit 'd5cc515c98421408b082fb82bbb3e947f2583e6f': Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk
|
d5cc515c98421408b082fb82bbb3e947f2583e6f |
10-May-2014 |
Brian Carlstrom <bdc@google.com> |
Add LOCAL_ADDITIONAL_DEPENDENCIES on Android.mk Change-Id: Ic74564ccf6e0525e667a6d9e8b0bb283fffd0a32
ndroid.mk
|
4719850ec5f27792c00b0973501899fb65d0d9b9 |
10-May-2014 |
Dan Albert <danalbert@google.com> |
am 873f8586: Switch to static libs * commit '873f8586ee0ba081b0537f84dc827a400d0bc73d': Switch to static libs
|
873f8586ee0ba081b0537f84dc827a400d0bc73d |
09-May-2014 |
Dan Albert <danalbert@google.com> |
Switch to static libs Change-Id: I6009c3e13f81cfe7743b9675292b7c7eb5082e48
ndroid.mk
|
a9fab38f9587720b905f6376bf483489647edea1 |
07-May-2014 |
Dan Albert <danalbert@google.com> |
am ab22a8fc: Changes so name to match cmake target * commit 'ab22a8fc0e1fd348c19b99efa183ffd8c00af815': Changes so name to match cmake target
|
ab22a8fc0e1fd348c19b99efa183ffd8c00af815 |
03-May-2014 |
Dan Albert <danalbert@google.com> |
Changes so name to match cmake target Change-Id: I6489f371d3ad19f2b7e850ed15fcf60a0d98807e
ndroid.mk
|
a4b6c861044cd2b0ee5b23cb2f32c400980fb255 |
05-May-2014 |
Dan Albert <danalbert@google.com> |
am 6b885241: Removes libstdc++ dependency from host builds * commit '6b8852417f55cd373059531acae36fc3b052e88b': Removes libstdc++ dependency from host builds
|
ab5be358be853cfd30797154a30d31f3f462d497 |
05-May-2014 |
Dan Albert <danalbert@google.com> |
am 45b27bb2: Replaces strlcpy() with strncpy() equivalent * commit '45b27bb2d849cde9dcbb9ee702373150a060c480': Replaces strlcpy() with strncpy() equivalent
|
6b8852417f55cd373059531acae36fc3b052e88b |
03-May-2014 |
Dan Albert <danalbert@google.com> |
Removes libstdc++ dependency from host builds Change-Id: I00d2ab87bb8f34c2787afc4766d7413b2655bffe
ndroid.mk
rc/Unwind/Registers.hpp
rc/Unwind/config.h
|
45b27bb2d849cde9dcbb9ee702373150a060c480 |
05-May-2014 |
Dan Albert <danalbert@google.com> |
Replaces strlcpy() with strncpy() equivalent This is necessary for building libc++abi in non-BSD environments. Change-Id: Ia550a40b6f520a69bef963268eb2fb3c3c9c4401
rc/Unwind/AddressSpace.hpp
|
fb85ece0bea720d957515649a3e4a43b6d04f745 |
30-Apr-2014 |
Stephen Hines <srhines@google.com> |
am d71a0e61: Enable MIPS builds. * commit 'd71a0e613da222c193732a46056e8d9881040f98': Enable MIPS builds.
|
d71a0e613da222c193732a46056e8d9881040f98 |
30-Apr-2014 |
Stephen Hines <srhines@google.com> |
Enable MIPS builds. Change-Id: I47fb51d32bfa5fa175ff066b477dfb0597625873
ndroid.mk
|
c99d1316941e90b384c778c324d5ea2742917ec4 |
29-Apr-2014 |
Stephen Hines <srhines@google.com> |
am 285d67f3: Don\'t build libcxx_abi for unbundled projects. * commit '285d67f35f6044cf733091e36248405ca967c62c': Don't build libcxx_abi for unbundled projects.
|
b75e58e2cecb17b184034936c40fa4b7264dc066 |
29-Apr-2014 |
Tim Murray <timmurray@google.com> |
am 09437217: Add Apple-specific files for libunwind. * commit '09437217701ee0d16962250b375698ceece839e8': Add Apple-specific files for libunwind.
|
edb3241d654a61cdb9da2772cd9a6d24a1190777 |
29-Apr-2014 |
Dan Albert <danalbert@google.com> |
am b21e7e40: Fixes build on arm64 * commit 'b21e7e40b9f751f956cdc437b6546c3052d6b604': Fixes build on arm64
|
1045d3260fe5113e6b1a564917176acba38d980c |
29-Apr-2014 |
Dan Albert <danalbert@google.com> |
am 39c04b7e: Disables building of libcxxabi on mips targets * commit '39c04b7ea5f24565206478880df2cdc26fc8214d': Disables building of libcxxabi on mips targets
|
310682e787c707d99186b917ae3ef2020a6ff542 |
29-Apr-2014 |
Dan Albert <danalbert@google.com> |
am ddd1d803: Merge "Gets libcxxabi building for Android" * commit 'ddd1d803cc32902bb545fce2b19077375964f5dc': Gets libcxxabi building for Android
|
61866afc6d040ff286c21a5f7d2c5612e8a5393e |
29-Apr-2014 |
Dan Albert <danalbert@google.com> |
am 685b6863: Revert "Gets libcxxabi building for Android" * commit '685b686397762543524a8496c4901332588e7349': Revert "Gets libcxxabi building for Android"
|
ba9b5071ab80f48c6e286a99ec564c6701168a9d |
29-Apr-2014 |
Dan Albert <danalbert@google.com> |
am fa220390: Gets libcxxabi building for Android * commit 'fa2203904bdca85115bf2fcb9bd70150dffa9bbe': Gets libcxxabi building for Android
|
4bb72f71eb6d9a66112fc0e078ddefbdc65a8827 |
29-Apr-2014 |
Tim Murray <timmurray@google.com> |
am 426b4a20: Add module notice. * commit '426b4a2074546a3be819110978876163a8f1704c': Add module notice.
|
934a45bf8c4cd1f444e46c8f63d835e9379c004a |
29-Apr-2014 |
Tim Murray <timmurray@google.com> |
am d998eb96: Merge remote-tracking branch \'upstream/master\' into libcxxabi * commit 'd998eb96ae9865bbd7b1711abcf4c9c6f4ff2304': (257 commits) Initial empty repository Simplify. Fix DW_CFA_GNU_args_size handling. The primary architecture using this 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. 0 is a valid LSDA encoding and can be seen in statically linked programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that value to decide whether a value should be decoded. Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec. [libcxxabi] Fix broken codesourcery.com links in comments Fix PR17221 - can't catch virtual base classes when throwing derived NULL pointers. Specifically, libc++abi would crash when you tried it. Fix PR17222 - catching derived classes from thrown null pointer. Adds tests, too [libunwind] remove stray conditional Use .p2align instead of .align Add missing alignment directives in assembly Don't redefine static_assert() Fix unwinder to build for iOS Implement demangling for user-defined operators. Update the copyright credits -- Happy new year 2014! Add a first cut at a Registers_arm class, to be used for 32bit arm EHABI unwinding. Add mangling macros for Unwind's inline assembly. Fix demangling crasher. The crasher involved nested <encoding> involving 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. Rename UnwindRegisters*.s files to UnwindRegisters*.S, step 2 of 2 Rename UnwindRegisters*.s files to UnwindRegisters*.S, step 1 of 2 ...
|
285d67f35f6044cf733091e36248405ca967c62c |
26-Apr-2014 |
Stephen Hines <srhines@google.com> |
Don't build libcxx_abi for unbundled projects. It is preinstalled from prebuilts/sdk instead. Change-Id: Ife0cec3a944fb3c4f7d77b4397decae58ff14529
ndroid.mk
|
09437217701ee0d16962250b375698ceece839e8 |
21-Apr-2014 |
Tim Murray <timmurray@google.com> |
Add Apple-specific files for libunwind. Change-Id: I133910cc56fccb7f6ad094b355261890c53dace5
ndroid.mk
|
b21e7e40b9f751f956cdc437b6546c3052d6b604 |
17-Apr-2014 |
Dan Albert <danalbert@google.com> |
Fixes build on arm64 Change-Id: I2116e33691e3f4e99cccc6819f7b85783069c790
ndroid.mk
|
39c04b7ea5f24565206478880df2cdc26fc8214d |
17-Apr-2014 |
Dan Albert <danalbert@google.com> |
Disables building of libcxxabi on mips targets Change-Id: I435898547be3aa5e20c455c373c17ad10bfdfe10
ndroid.mk
|
ddd1d803cc32902bb545fce2b19077375964f5dc |
16-Apr-2014 |
Dan Albert <danalbert@google.com> |
Merge "Gets libcxxabi building for Android"
|
e085735cbedc82b1064f05ff796e32e906a95036 |
08-Apr-2014 |
Dan Albert <danalbert@google.com> |
Gets libcxxabi building for Android Fixes a few configuration issues in libcxxabi and adds an Android makefile. Change-Id: I247372d87caabe0310bedc4540b68ab2ed1986c1
ndroid.mk
nclude/unwind.h
rc/Unwind/AddressSpace.hpp
rc/Unwind/UnwindCursor.hpp
rc/Unwind/config.h
rc/cxa_exception.cpp
rc/cxa_personality.cpp
|
685b686397762543524a8496c4901332588e7349 |
15-Apr-2014 |
Dan Albert <danalbert@google.com> |
Revert "Gets libcxxabi building for Android" This reverts commit fa2203904bdca85115bf2fcb9bd70150dffa9bbe. Change-Id: Ifbe705df19347ea11b858ec5e0a4b61bc2f922c5
ndroid.mk
nclude/unwind.h
rc/Unwind/AddressSpace.hpp
rc/Unwind/UnwindCursor.hpp
rc/Unwind/config.h
rc/cxa_exception.cpp
rc/cxa_personality.cpp
|
fa2203904bdca85115bf2fcb9bd70150dffa9bbe |
08-Apr-2014 |
Dan Albert <danalbert@google.com> |
Gets libcxxabi building for Android Fixes a few configuration issues in libcxxabi and adds an Android makefile. Change-Id: I7b55f9ff0d7025cb316695fcb6c592db9ab7dd38
ndroid.mk
nclude/unwind.h
rc/Unwind/AddressSpace.hpp
rc/Unwind/UnwindCursor.hpp
rc/Unwind/config.h
rc/cxa_exception.cpp
rc/cxa_personality.cpp
|
426b4a2074546a3be819110978876163a8f1704c |
03-Apr-2014 |
Tim Murray <timmurray@google.com> |
Add module notice. Change-Id: I0d8ad33f38e5ca6addbb3da01275cf0c87ed7195
ODULE_LICENSE_BSD_LIKE
|
d998eb96ae9865bbd7b1711abcf4c9c6f4ff2304 |
03-Apr-2014 |
Tim Murray <timmurray@google.com> |
Merge remote-tracking branch 'upstream/master' into libcxxabi
|
f8023cccd64a49e2f6fdbe5ee5e8e0e5a76d3ee2 |
03-Apr-2014 |
Bill Yi <byi@google.com> |
Initial empty repository
|
6286d8340606e44e64e83f65a6e6ff28022e96e3 |
25-Mar-2014 |
Qiwen Zhao <zhao@google.com> |
Initial empty repository
|
4b51c92d708b5be144167e73a9e6af15a323debe |
20-Mar-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Simplify. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@204292 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/libunwind.cpp
|
7dfc5215ff08e992ffe88c577ba15d641e610d75 |
20-Mar-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Fix DW_CFA_GNU_args_size handling. The primary architecture using this 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. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@204290 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindCursor.hpp
rc/Unwind/libunwind.cpp
|
4fb4f2286edeef6320baa9b7ad475495f95c8c56 |
12-Mar-2014 |
Joerg Sonnenberger <joerg@bec.de> |
0 is a valid LSDA encoding and can be seen in statically linked programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that value to decide whether a value should be decoded. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@203626 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/DwarfParser.hpp
|
2950e56d0fb30123dc93a55dc92f5a903c2bec13 |
17-Feb-2014 |
Anders Carlsson <andersca@mac.com> |
Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201533 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.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
rc/cxa_aux_runtime.cpp
rc/cxa_exception.cpp
rc/cxa_exception.hpp
rc/cxa_exception_storage.cpp
rc/cxa_personality.cpp
rc/cxa_vector.cpp
rc/fallback_malloc.ipp
|
98bbf28c5eac8ed3356909563e4d80529507995f |
06-Feb-2014 |
Marshall Clow <mclow.lists@gmail.com> |
Fix PR17221 - can't catch virtual base classes when throwing derived NULL pointers. Specifically, libc++abi would crash when you tried it. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200904 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/catch_ptr_02.cpp
|
288859d0a1684e0899702f50353ccdbc1bdab8b7 |
05-Feb-2014 |
Marshall Clow <mclow.lists@gmail.com> |
Fix PR17222 - catching derived classes from thrown null pointer. Adds tests, too git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200864 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/catch_ptr_02.cpp
|
448bba28b48c9503e6a92d894e31c613a87233b8 |
30-Jan-2014 |
Nick Kledzik <kledzik@apple.com> |
[libunwind] remove stray conditional git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200432 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/mach-o/compact_unwind_encoding.h
|
b599e66f83a53986fea0ef5dbd50ab235bfe6cda |
23-Jan-2014 |
Nick Kledzik <kledzik@apple.com> |
Use .p2align instead of .align git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199941 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindRegistersRestore.S
rc/Unwind/UnwindRegistersSave.S
|
a3667741192e8ef640535b4af0d7ad6f22230b36 |
23-Jan-2014 |
Nick Kledzik <kledzik@apple.com> |
Add missing alignment directives in assembly git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199915 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindRegistersRestore.S
rc/Unwind/UnwindRegistersSave.S
|
8cb8b2086426108c6ea737d83cfd739ae5e5d8d9 |
23-Jan-2014 |
Nick Kledzik <kledzik@apple.com> |
Don't redefine static_assert() git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199860 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/config.h
|
65b726605835d1b3947d648497729a4be05dedde |
23-Jan-2014 |
Nick Kledzik <kledzik@apple.com> |
Fix unwinder to build for iOS git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199859 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/AddressSpace.hpp
rc/Unwind/assembly.h
|
f29757a358ae9c07d3a768a5b40543fae9d768dd |
07-Jan-2014 |
Howard Hinnant <hhinnant@apple.com> |
Implement demangling for user-defined operators. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@198643 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
341c0479b1e36922192ae79a0ae37463d90fe83a |
01-Jan-2014 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Update the copyright credits -- Happy new year 2014! FIXME: Dragonegg may be updated at non-trivial changes. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@198274 91177308-0d34-0410-b5e6-96231b3b80d8
ICENSE.TXT
|
5ff06b0156f5820a87b4dd90bcd06f8ed41af8cc |
18-Dec-2013 |
Nico Weber <nicolasweber@gmx.de> |
Add a first cut at a Registers_arm class, to be used for 32bit arm EHABI unwinding. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@197591 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/libunwind.h
rc/Unwind/Registers.hpp
rc/Unwind/UnwindRegistersRestore.S
rc/Unwind/UnwindRegistersSave.S
|
7c61d80c68ef9af39fbc49ef532c2252fa719ac9 |
17-Dec-2013 |
Nico Weber <nicolasweber@gmx.de> |
Add mangling macros for Unwind's inline assembly. This is in preparation for landing an implementation of unw_getcontext on a system where it's mangled 'unw_getcontext', not '_unw_getcontext'. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@197523 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindRegistersRestore.S
rc/Unwind/UnwindRegistersSave.S
rc/Unwind/assembly.h
|
753a30dd68ae008948d48f16bc942d5963fe65a1 |
11-Dec-2013 |
Howard Hinnant <hhinnant@apple.com> |
Fix demangling crasher. The crasher involved nested <encoding> involving 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. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@197063 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
be38d822057438996715f7bcae3d293a50908d03 |
06-Dec-2013 |
Nico Weber <nicolasweber@gmx.de> |
Rename UnwindRegisters*.s files to UnwindRegisters*.S, step 2 of 2 These files require preprocessing, so their name should end with a capital S. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@196555 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindRegistersRestore.S
rc/Unwind/UnwindRegistersRestore_.s
rc/Unwind/UnwindRegistersSave.S
rc/Unwind/UnwindRegistersSave_.s
|
a722aca3bf2365fd407bc1604c667100d1efd74d |
06-Dec-2013 |
Nico Weber <nicolasweber@gmx.de> |
Rename UnwindRegisters*.s files to UnwindRegisters*.S, step 1 of 2 These files require preprocessing, so their name should end with a capital S. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@196554 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindRegistersRestore.s
rc/Unwind/UnwindRegistersRestore_.s
rc/Unwind/UnwindRegistersSave.s
rc/Unwind/UnwindRegistersSave_.s
|
7a49616b36e1331a3666fc893963854a85e5832a |
06-Dec-2013 |
Nico Weber <nicolasweber@gmx.de> |
Fix minor initialization bug in Registers_x86_64. According to kledzik, this constructor isn't live code, so no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@196550 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/Registers.hpp
|
cfbfdd9b55f7c85f83aad51060d3818c559d2ca6 |
05-Dec-2013 |
Nico Weber <nicolasweber@gmx.de> |
80-column wrap a comment in a test git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@196540 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_const_pointer_nullptr.cpp
|
034e79a395bf7815fd94ad81d40609aa52f2f34c |
05-Dec-2013 |
Nick Kledzik <kledzik@apple.com> |
[unwind] remove darwin build dependency on <mach-o/dyld_priv.h> git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@196436 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/AddressSpace.hpp
|
c22004f1433b5cdd93403e1a048de21566604cd6 |
04-Dec-2013 |
Marshall Clow <mclow.lists@gmail.com> |
Fixed a couple of test errors; changed 'const A const *' to 'const A* const'. Thanks to Nico for the catch git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@196355 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_const_pointer_nullptr.cpp
|
59d65a824fbd2b6928acbf687be988059ca30ec6 |
30-Nov-2013 |
Mark Seaborn <mseaborn@chromium.org> |
Fix indentation of fields in __cxa_exception to line up Align to 8 spaces instead of an inconsistent 9. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@195974 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_exception.hpp
|
d9eb5fc4502578e2d2a4df8c60c46970c36c4046 |
22-Nov-2013 |
Yaron Keren <yaron.keren@gmail.com> |
On Windows, typeids are different between DLLs and EXEs, so comparing type_info* will work for typeids from the same compiled file but fail for typeids from a DLL and an executable. Among other things, exceptions are not caught by handlers since can_catch() returns false. Defining _LIBCXX_DYNAMIC_FALLBACK does not help since can_catch() calls is_equal() with use_strcmp=false so the string names are not compared. This patch compares typeids first (cheap) and only they are different calls strcmp. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@195502 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
36fd93fd039ef14005d6ab51c2e9f2816d2b7063 |
22-Nov-2013 |
Yaron Keren <yaron.keren@gmail.com> |
Comment correction. syslog() syntax is: void syslog(int facility_priority, const char* format, ...); This is indeed how it is used in private_typeinfo.cpp. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@195452 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
38a0eeb3adcb731111cfb03d4cfef5e4d0232cbb |
07-Nov-2013 |
Howard Hinnant <hhinnant@apple.com> |
If libc++ has not declared bad_array_length, then declare it here just so that it gets into the binary. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@194208 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_new_delete.cpp
|
7be749ac9c2c7b1871d29e5db957352d82728721 |
01-Nov-2013 |
Nick Kledzik <kledzik@apple.com> |
Swap contents of UnwindRegistersRestore.s and UnwindRegistersSave.s git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@193840 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindRegistersRestore.s
rc/Unwind/UnwindRegistersSave.s
|
29180116e559ead2486c5cf6b4fefe8a6f6443fc |
01-Nov-2013 |
Nick Kledzik <kledzik@apple.com> |
Rename LIBUNWIND_AVAIL to LIBUNWIND_UNAVAIL so as to not conflict with other (different) LIBUNWIND_AVAIL define git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@193839 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/unwind.h
|
061240c142debbe643c5ce78673f019f1c953511 |
22-Oct-2013 |
Howard Hinnant <hhinnant@apple.com> |
Move local Db type out to namespace scope. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@193169 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
839f7f23c0a652e2b799345fc3112ae0c5a03098 |
17-Oct-2013 |
Saleem Abdulrasool <compnerd@compnerd.org> |
unwinder: conditionalise availability __attribute__ (( unavailable )) is for Apple specific builds. Create a macro to conditionalise the usage of the macro. This is to aid in porting the unwinder to other platforms. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192868 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/unwind.h
|
6dc154019d5f0997d7df1d9e9f3ba1425396dcd8 |
09-Oct-2013 |
Nick Kledzik <kledzik@apple.com> |
[unwind] Fix unw_init_remote_thread() use to void* instead of thread_t for parameter to match other implementations git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192248 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/UnwindCursor.hpp
rc/Unwind/libunwind.cpp
|
3dbb334d7ac5a00381bd9a37c1ca0e4f83a2b893 |
09-Oct-2013 |
Nick Kledzik <kledzik@apple.com> |
[unwind] add required #include git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192245 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/Registers.hpp
|
952df57e2c437ad013511e445a2b8bffa77bf9ca |
08-Oct-2013 |
Nick Kledzik <kledzik@apple.com> |
Fix conditionals on __Unwind_SjLj_* functions to only build for SJLJ based architectures git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192241 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/Unwind_AppleExtras.cpp
|
17814d74f7dcaea1ad817129e020724f002ddbd2 |
08-Oct-2013 |
Joerg Sonnenberger <joerg@bec.de> |
Consistent spelling of names. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192180 91177308-0d34-0410-b5e6-96231b3b80d8
rc/Unwind/dwarf2.h
|
b78da9875b6e35187b5d584746c78faaf3230a3d |
07-Oct-2013 |
Nick Kledzik <kledzik@apple.com> |
libcxxabi contains the runtime support for C++. But, as some folks have realized, it is not complete. It relies on some _Unwind_* functions to be supplied by the OS. That means it cannot be ported to platforms that don’t already have an unwinder. Years ago Apple wrote its own unwinder for MacOSX and iOS. To make libcxxabi complete, Apple has decided the source code for its unwinder can be contributed to the open source LLVM libcxxabi project, with a dual licensed under LLVM and MIT license. So, I’ve spent some time cleaning up the sources to make them conform with LLVM style and to conditionalize the sources in a way that should make it easier to port to other platforms. The sources are in a separate "Unwind" directory under "src" in libcxxabi. Background: Most architectures now use "zero cost" exceptions for C++. The zero cost means there are no extra instructions executed if no exceptions are thrown. But if an exception is thrown, the runtime must consult side tables and figure out how to restore registers and "unwind" from the current stack frame to the catch clause. That ability to modify the stack frames and cause the thread to resume in a catch clause with all registers restored properly is the main purpose of the unwinder. This unwinder has two levels of API. The high level APIs are the _Unwind_* functions which the cxa_* exception functions in libcxxabi require. The low level APIs are the unw_* functions which are an interface defined by the the old HP libunwind project (which shares no code with this unwinder). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192136 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/libunwind.h
nclude/mach-o/compact_unwind_encoding.h
nclude/unwind.h
rc/Unwind/AddressSpace.hpp
rc/Unwind/CompactUnwinder.hpp
rc/Unwind/DwarfInstructions.hpp
rc/Unwind/DwarfParser.hpp
rc/Unwind/Registers.hpp
rc/Unwind/Unwind-sjlj.c
rc/Unwind/UnwindCursor.hpp
rc/Unwind/UnwindLevel1-gcc-ext.c
rc/Unwind/UnwindLevel1.c
rc/Unwind/UnwindRegistersRestore.s
rc/Unwind/UnwindRegistersSave.s
rc/Unwind/Unwind_AppleExtras.cpp
rc/Unwind/config.h
rc/Unwind/dwarf2.h
rc/Unwind/libunwind.cpp
rc/Unwind/libunwind_ext.h
rc/Unwind/unwind_ext.h
|
6c3f675c0bfee072f827b99b2b71fe54f92ee0c4 |
11-Sep-2013 |
Marshall Clow <mclow.lists@gmail.com> |
Adding bad_array_length to libc++abi git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@190479 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_new_delete.cpp
|
01c2084f452e3d384ae1e193a241a773f01896b8 |
10-Sep-2013 |
Marshall Clow <mclow.lists@gmail.com> |
Add ability to set OPTIONS for compile git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@190371 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
|
224f7acc3612358a427e80642fa1c78aab5d30da |
29-Aug-2013 |
Jean-Daniel Dupas <devlists@shadowlab.org> |
Change the two last remaining _LIBCPP_CANTTHROW to _NOEXCEPT git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@189603 91177308-0d34-0410-b5e6-96231b3b80d8
rc/stdexcept.cpp
|
cdf7d557bd6835f66fe707ca7b1a8f22010ffb66 |
25-Aug-2013 |
Howard Hinnant <hhinnant@apple.com> |
Propagate the removal of _LIBCPP_CANTTHROW (r189046) to libcxxabi. This fixes http://llvm.org/bugs/show_bug.cgi?id=16996. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@189194 91177308-0d34-0410-b5e6-96231b3b80d8
rc/stdexcept.cpp
|
41458a0681f60e9b6778dbb799cbb5647db628eb |
30-Jul-2013 |
Howard Hinnant <hhinnant@apple.com> |
tip-of-trunk clang has corrected some access checks for special members in a virtual inheritance hierarchy. Change a few private inheritances to protected. This change will not impact what the test was testing. This fixes http://llvm.org/bugs/show_bug.cgi?id=16753. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@187429 91177308-0d34-0410-b5e6-96231b3b80d8
est/dynamic_cast3.cpp
|
8ad6a220cfff34f8ecbadc142891c7728c4d4ed8 |
27-Jul-2013 |
Howard Hinnant <hhinnant@apple.com> |
I had a buffer mismanagement bug in the demangler. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@187255 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
e9e83878d6a90cda0b421261c2a608342b59b69a |
02-Jul-2013 |
Howard Hinnant <hhinnant@apple.com> |
Updated CREDITS.TXT git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@185464 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
|
b2d1f94e76c016628f868868ed40a53c2b40b6ed |
23-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
I'd no sooner made the last commit when Matthew Dempsky sent me another test case that led me to yet another closely related test case that the current design could not handle. I've now changed the way forward references are handled completely. It wasn't that much code to change. The demangler, when confronted with a forward reference to a template parameter, now parses things twice. During the second parse, all forward references are remembered from the first parse. Test suite updated with new case. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184672 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
eb8d46c54e181eea4d33b96a9a13e2ac0bd329a8 |
23-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
After a private conversation with Arthur O'Dwyer, and a good night's sleep, I believe this fix is a better fix than what I committed in r184656 yesterday. I've basically moved the checking for '`' from the start of the demangling process to the end of it. In the process I discovered that one of the test cases no longer demangled to the expected string. After further investigation I believe this case to not be a valid mangled string, and so I moved the test case to the 'invalid cases'. The reason I believe it is invalid is that it should use T_ instead of T0_ to index the template parameter. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184668 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
ab8cfb1dfb4bb7e5c8294a81639f08b7ff14ade9 |
23-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
Filter out '`' in mangled strings and reject them as invalid if found. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184656 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
f672517e714ff464978992a363dce47de2207472 |
21-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
I created a random mangled name generator and have thrown about 200 million random strings at the demangler. I succeeded in crashing it twice more and those crashers have been fixed and the test suite updated with the crash cases. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184562 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
93433df2421f377a55478d20c8a67b8f835380f5 |
20-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
Another demangler crasher. Updated test suite to prevent regression. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184477 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
b4033ff8b4db60bbd7f2498d85fd7c4dd0ad5b11 |
20-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
Protect against invalid mangled names. Add test suite for invalid mangled names. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184394 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
19e36dddb0023fad0c609328e6686d1bbbced718 |
19-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
Demangle objc mangling implemented in r184250 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184301 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
c62cbea03e7fb9df073bc965d3f7fc5ca5a39438 |
17-Jun-2013 |
Howard Hinnant <hhinnant@apple.com> |
Tweaks/cleanups provided by Matthew Dempsky git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184118 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxa_demangle.h
rc/cxa_demangle.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
ib/buildit
rc/cxa_demangle.cpp
rc/cxa_exception.cpp
rc/private_typeinfo.cpp
rc/stdexcept.cpp
est/test_demangle.cpp
|
5dd173b3792e868a7ebfa699d156f24075eafc01 |
10-Apr-2013 |
Howard Hinnant <hhinnant@apple.com> |
Add capability to demangle invocation functions for ObjC blocks. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@179208 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxa_demangle.h
rc/cxa_demangle.cpp
est/test_demangle.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
REDITS.TXT
rc/cxa_exception.cpp
rc/cxa_exception_storage.cpp
rc/cxa_handlers.hpp
rc/cxa_personality.cpp
rc/cxa_vector.cpp
rc/private_typeinfo.cpp
|
cba79c6fd9380becbc72a0b85ffa5fc354690e9b |
06-Feb-2013 |
Howard Hinnant <hhinnant@apple.com> |
Partially revert r152770. That commit moved the default handlers to their own file. But it also did some refactoring. It is the latter that is being reverted. The refactoring had accidentally removed the required effect that the default unexpected_handler calls std::terminate(), which is a visible effect. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@174532 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_default_handlers.cpp
|
b6ab0a42e181990d9f68e806914e93e05c57caa2 |
01-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Update the copyright coredits -- Happy new year 2013! git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@171342 91177308-0d34-0410-b5e6-96231b3b80d8
ICENSE.TXT
|
fc715856f64d44b5a4a1be0264653afb64da1a0e |
05-Dec-2012 |
Daniel Malea <daniel.malea@intel.com> |
Rename class __lambda_node to ___lambda_node to fix compile failure with gcc 4.6 and 4.7 - using "__lambda_node" causes internal compiler error in newer GCC versions git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@169402 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
342f2f9ffa476d63a1fe1fa718b3243db2c7c5a7 |
30-Nov-2012 |
Howard Hinnant <hhinnant@apple.com> |
__list::ends_with_template was giving the wrong answer for empty lists. And __parse_unnamed_type_name wasn't properly handling the list of paramters and was not safe against incorrectly mangled lambdas (running past last). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@169022 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
06bbbdde3c601994cd92206c6afe26fbc67812ba |
15-Nov-2012 |
Howard Hinnant <hhinnant@apple.com> |
Remove aborts under __dynamic_cast which were under _LIBCXX_DYNAMIC_FALLBACK. Change all type_info comparisons to use an inlined is_equal helper. However no change in functionality for this latter change at this time. This is just to encapsulate the comparison and make it a little easier to switch back and forth for testing/debugging. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@168052 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
7d39801ef5ee85869ce09c648aba6d84eccf5203 |
13-Nov-2012 |
Howard Hinnant <hhinnant@apple.com> |
Update CREDIT.TXT git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@167847 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
|
f8f7f7fee6ecdf9c9a0d3161621c518ffdac52cb |
12-Nov-2012 |
Howard Hinnant <hhinnant@apple.com> |
Wen-Han Gu: Fix for http://llvm.org/bugs/show_bug.cgi?id=14312 Exception Table out-of-range but still keep walking. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@167733 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
4f1b1b490f231440e17bad26b3a2df2a709d010b |
13-Oct-2012 |
Howard Hinnant <hhinnant@apple.com> |
Make the type_info for __shim_type_info visible. This should address some failing dynamic_casts that a few applications are doing on the type_info hierarchy. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@165883 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.h
|
33601b1827f85139727de58d2156aa51a2021b68 |
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@165397 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_demangle.cpp
|
326aca3713db53b9fb0dbfedc17d2e72aaca8a74 |
29-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Set up code under _LIBCXX_DYNAMIC_FALLBACK which is off by default. For a full description of _LIBCXX_DYNAMIC_FALLBACK, see src/private_typeinfo.cpp. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164863 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
552b14000a3063cfa561fd3f9fd3c26259e7ca31 |
28-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Improve the diagnostic messages on dynamic_cast. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164833 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
1a0d1bc64fa339249c28511fdd6a9780152c9980 |
28-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Two changes: 1) I still didn't have the ABI correct to match the gcc-4.2 std::string under the exception classes. I think the changes to stdexcept.cpp have got that down now. 2) On Apple platforms I'm seeing visibility bugs in applications with respect to type_info's being hidden. This is causing dynamic_cast to malfunction because there are multiple type_info's running around for one type within an application, making dynamic_cast believe that one type is actually multiple types. As a stop gap measure I'm trying to detect this error, print out an error message, but continue with the most likely desired result. This is all under __APPLE__. This behavior can be expanded to other platforms if desired. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164809 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/stdexcept.cpp
|
bafa55560f4fb3ae7b2342acd1120071be04ed4d |
24-Sep-2012 |
Marshall Clow <mclow@qualcomm.com> |
Updating email address git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164490 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
|
aab600ca0c9b5bae8c07051db2d675991e90d002 |
21-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Rename class __lambda to __lambda_node to avoid clash with gcc. This fixes http://llvm.org/bugs/show_bug.cgi?id=13889 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164405 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
6cb5b2821fd1e3e8b9b6717e601c2f58bbe3d5a3 |
21-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Tweak use of dlopen to be a little more correct and higher performing. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164404 91177308-0d34-0410-b5e6-96231b3b80d8
rc/stdexcept.cpp
|
b62c5886c68c0a17873810a202bbccd38a33b948 |
18-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
I've added Apple-only behavior that looks for libstdc++ in the same process and if found, checks the string stored in <stdexcept> exception objects to see if it is the gcc empty string singleton before manipulating the reference count. This is done so that if such an exception is created with a zero-length string in libstdc++, libc++abi won't try to delete the memory. This is part of a ongoing process to make libc++ exceptions ABI-compatible with libstdc++-4.2 exceptions, to the point that each library can catch exceptions thrown by the other. If other parties would also like this behavior, the #if __APPLE__ can be broadened. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@164170 91177308-0d34-0410-b5e6-96231b3b80d8
rc/stdexcept.cpp
|
86ccacd40f5ebb800066928cee322d318255c8ad |
14-Sep-2012 |
Howard Hinnant <hhinnant@apple.com> |
Specifically disallow primary-expressions of the form LT_... on the basis of this decition: http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html . Failure to disallow this was causing infinite recursion in the demangler when these symbols show up due to mangling bugs. This patch causes the demangler to return an invalid mangled name result rather than crash in infinite recursion. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@163859 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
f4ce1e270bb661e9092e1b5de651d7ea5a7bd3d2 |
08-Aug-2012 |
Howard Hinnant <hhinnant@apple.com> |
Change size of reference count field in __libcpp_nmstr from 32 bits to 64 bits for 64 bit targets. This is controls the data layout of all exceptions defined in <stdexcept>. This aligns the ABI with that of gcc-4.2. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161496 91177308-0d34-0410-b5e6-96231b3b80d8
rc/stdexcept.cpp
|
20300c77d8c91266e409eef27568a582fe9ba4a0 |
04-Aug-2012 |
Howard Hinnant <hhinnant@apple.com> |
Fixes apple: #12020687. This was a problem in the demangler with template substitution forward references. That is, sometimes a mangled name refers to a substitution that hasn't yet been defined. The demangler was derferencing a null pointer in this case because it wasn't properly guarded against a forward reference. Test case added to catch this problem. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161267 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
de2b1090d44a81c97ff3f1c21fac6088a1e28465 |
03-Aug-2012 |
Howard Hinnant <hhinnant@apple.com> |
Update status. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161221 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
ww/spec.html
|
6c08591500b5b5d8541ed67c5967be1ca22753ad |
01-Aug-2012 |
Howard Hinnant <hhinnant@apple.com> |
Update CREDITS.TXT git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161129 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
|
ab0399980a3ced1a64840c1dd71cfaed42a33c8c |
01-Aug-2012 |
Howard Hinnant <hhinnant@apple.com> |
Erik Olofsson: This patch adds support for lambda demangling. I fixed this because it crashed lldb when it tried to demangle the added test. Not sure how it should identify the lambda so that might need changing from the current 'lambdax':: Howard: Please patch CREDITS.TXT. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@161125 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
52918c96580e8b428ca36d20e58791688495a110 |
29-Jul-2012 |
Howard Hinnant <hhinnant@apple.com> |
Andrew Morrow: Mainline clang seems to have recently become more strict about the consistent application of visibility attributes, which causes some new breakage in libcxxabi: In file included from src/libcxxabi/src/cxa_default_handlers.cpp:19: src/libcxxabi/src/private_typeinfo.h:123:23: error: visibility does not match previous declaration class __attribute__ ((__visibility__(default))) __class_type_info ^ src/libcxxabi/src/private_typeinfo.h:19:13: note: previous attribute is here #pragma GCC visibility push(hidden) ^ 1 error generated. The forward declaration of __class_type_info is picking up hidden visibility from the #pragma, which conflicts with the default visibility applied when the class is later fully declared. I'm assuming that the full declaration has it right (and that the diagnostic is correct), so the attached patch applies the default visibility attribute to the forward declaration. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@160933 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
rc/private_typeinfo.h
|
cdb1d55e23b046f1eda9814fe9e73675e62ba060 |
29-Jul-2012 |
Howard Hinnant <hhinnant@apple.com> |
Andrew Morrow: The variable 't1' on line 10188 of cxa_demangle.cpp is uninitialized which generates -Wsometimes-uninitialized. Howard: The only thing this patch is missing is an update to CREDITS.TXT. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@160932 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
f59526da20aa9e8606881a6dc064a3981e91ff37 |
20-Jul-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
add a link to the libc++ website git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@160553 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
921769df6c92e67c9923933934c41a93199250b3 |
11-Jul-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add missing #include <stdlib.h> into test which uses ::exit. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@160039 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_vector3.cpp
|
08115e4bef43187ccc847abae1ebf88607d65fc7 |
15-Jun-2012 |
Howard Hinnant <hhinnant@apple.com> |
Don't dereference root in __parse_ctor_dtor_name unless it is known to not be null. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@158556 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
1c8066cf848e2b4ee1ddcb21efe8bd9c115453d9 |
02-May-2012 |
Howard Hinnant <hhinnant@apple.com> |
Fix bug in cxa_demangle involving template substitution. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155994 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
cb7f886ccca770e8b3ab9cdd892d740f5b8b8031 |
28-Apr-2012 |
Howard Hinnant <hhinnant@apple.com> |
Make __cxa_new_handler un-mangled git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155763 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_handlers.cpp
|
80e5b1732e0c63da1415b4d8300cf18a03253985 |
24-Apr-2012 |
Howard Hinnant <hhinnant@apple.com> |
Changed 'cause' from 'terminate' to 'uncaught' in default_terminate_handler git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155452 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_default_handlers.cpp
|
219b371bb323f60ffd88f87c58732739bccee649 |
18-Apr-2012 |
Howard Hinnant <hhinnant@apple.com> |
Richard Smith: __int128 is a GNU keyword which clang 3.1 supports. This usage of it as an identifier will need to be renamed. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@155044 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
|
4cfb63f07516ceff10be81c7dfac6c18122df782 |
19-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
I would really like to write the handlers in terms of C++11 atomics. This would give us the best performance, portablity, and safety tradeoff. Unfortunately I can not yet do that. So I've put the desired code in comments, and reverted the handler getters to the slower but safer legacy atomic intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@153041 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_default_handlers.cpp
rc/cxa_handlers.cpp
rc/cxa_handlers.hpp
|
0f80bb79c0181c706cf6acce44f854e96ecaf755 |
19-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
I've moved __cxa_terminate_handler, __cxa_unexpected_handler and __cxa_new_handler from the public header cxxabi.h into the private header cxa_handlers.hpp. During this move I've also moved them from namespace __cxxabiapple into the global namespace. They are, and have always been extern C and so the namespace (or lack of it) does not affect their ABI. In general external clients should not reference these symbols. They are atomic variables and will be changing into C++11 atomic variables in the future. However for those few clients who really need access to them, their name, mangling, size, alignment and layout will remain stable. You just may need your own declaration of them. Include guards have been added to the private header cxa_exception.hpp. The private header cxa_default_handlers.hpp has been removed and the default handlers are now file-static. Include guards have been added to the private header cxa_handlers.hpp. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@153039 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_default_handlers.cpp
rc/cxa_default_handlers.hpp
rc/cxa_exception.hpp
rc/cxa_handlers.cpp
rc/cxa_handlers.hpp
|
1321731d59f4afcab576de163f625c65eea96871 |
17-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Arm fixes in cxa_personality.cpp and a little refactoring. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152966 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
1ba2c4bd78fdf18737cf347d9789352d91d04741 |
15-Mar-2012 |
Dave Zarzycki <zarzycki@apple.com> |
Less lame "concurrency" support These APIs aren't thread safe, but they're pretending to be. Let's at least make the getter as fast as they can be. The setters are a lost cause unless the API can be fixed. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152786 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_default_handlers.cpp
rc/cxa_handlers.cpp
|
2507beff620a5d748de01b83bb8f33adcb228c0e |
15-Mar-2012 |
Dave Zarzycki <zarzycki@apple.com> |
Be friendly to when dead_strip doesn't work Apple Radar: 11053417 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152785 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_default_handlers.cpp
rc/cxa_handlers.cpp
|
439ce87946c310a093f4d39a2636ce6b4682bdac |
15-Mar-2012 |
Nick Kledzik <kledzik@apple.com> |
move default handlers to their own file so they can be overridden at build time (dyld) git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152770 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_default_handlers.cpp
rc/cxa_default_handlers.hpp
rc/cxa_handlers.cpp
|
4d590c39af9e199a45148da87f205c24ef52579c |
14-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Missed an underscore on the last commit. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152736 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_guard.cpp
|
fcd21a1f59d1bc797464ca7f3cfe80281756031f |
14-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable __arm__ on apple git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152735 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_guard.cpp
|
a31cad9a68d5aee38c9e4f263f0389d2f197a7e5 |
14-Mar-2012 |
Nick Kledzik <kledzik@apple.com> |
fix crash log magic git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152693 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/abort_message.cpp
|
96f01710bc5b9c37765f60b9a2e12327d2463d65 |
09-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable / silence -Wunused-parameter. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152415 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_demangle.cpp
rc/cxa_personality.cpp
rc/private_typeinfo.cpp
|
3edfd1b86d1d87f6796b1a1e87200a5d8be7b545 |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable -Wstrict-aliasing=2 -Wstrict-overflow=4. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152338 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
|
ffdd8c414f615bb056bbe04c25045355ecbcce11 |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wsign-compare. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152336 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
|
30a486dae26f8b80f8a6b3a55415783b80a1734a |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wsign-compare. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152335 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_demangle.cpp
|
91f198a4c8f43b40f23e8c51641e62fe5e13115a |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wmissing-field-initializers. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152334 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/private_typeinfo.cpp
|
dfa81caf63ec3b24c6d2ffd7d9e8e4a98b203570 |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wunused-variable. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152329 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_personality.cpp
|
85bc82e6d9dd6447c2eb8414cd3ce650cfa0091a |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wconversion. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152328 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_demangle.cpp
rc/cxa_personality.cpp
rc/fallback_malloc.ipp
|
f2ebd5904c06ebca3c759d0b8ca877ffaee62daf |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wshadow. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152325 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_handlers.cpp
|
3e5c7d0cdb8e17531d5d09f5df1d4ed85d84f356 |
08-Mar-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enable/silence -Wsign-conversion. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152323 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_demangle.cpp
rc/cxa_personality.cpp
rc/fallback_malloc.ipp
|
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
rc/cxa_exception.cpp
rc/cxa_personality.cpp
|
8f28628704f966409e860c74c46041e04c082720 |
23-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Insert a couple of dummy virtual functions to ease low level binary compatibility with other low level tools. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151282 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
ff94a3ab3ac34b588c6fe3b6e2428407c939ad21 |
23-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
And the handlers should be extern C. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151261 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_handlers.cpp
|
fdac5f9274eb4854820f45e7991099706a00504b |
23-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
I had originally made the handler function pointers a static internal detail, not accessible to the outside world. I did this because they must be accessed in a thread-safe manner, and the library provides thread-safe getters and setters for these. However I am at least temporarily making them public and giving them the Apple-extension names. In the future these may disappear again, and I think that would probably be a good idea. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151256 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_handlers.cpp
rc/temporary.cpp
|
74ecc63c3f0f72848cf0deb509e194a29487d83b |
22-Feb-2012 |
Dave Zarzycki <zarzycki@apple.com> |
Pedantic fix: missing newline at EOF git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151132 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_exception.hpp
|
a2bde87e21cf37e0703f7c2a25683776a3698e94 |
17-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Move typeinfos for exceptions in <stdexcept> to the abi git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@150834 91177308-0d34-0410-b5e6-96231b3b80d8
rc/stdexcept.cpp
|
3759e4591ba1e1fe07e097b5e0e031fb0a0de227 |
17-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add (reluctantly) a namespace alias for __cxxabiv1. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@150828 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
|
e045f21bc1c1e0d3e7102f6bab248f8c8959b77d |
17-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Remove outdated information from comment. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@150827 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
9a365feb1662dd37d134a90a25c1859f10393879 |
03-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
__gxx_personality_v0 and __cxa_call_unexpected are complete on darwin and I *think* linux (not positive), but still unimplemented on arm. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149711 91177308-0d34-0410-b5e6-96231b3b80d8
ww/spec.html
|
6a169793477ad8e13baf2b74d411e54ffe11d407 |
03-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Pushed optimization back up. Crash disappeared with compiler upgrade. Assumed to be due to compiler bug. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149702 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
|
8e0a2d23782634460d66bf45e6c781c2f0111859 |
02-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
corrected namespace in test git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149635 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_demangle.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
nclude/cxa_demangle.h
rc/abort_message.cpp
rc/abort_message.h
rc/cxa_demangle.cpp
rc/cxa_exception.cpp
rc/cxa_exception.hpp
rc/private_typeinfo.cpp
rc/private_typeinfo.h
rc/typeinfo.cpp
|
53cf764ab4a40b1e445e9e20219f950d621fcf53 |
02-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add version number to this library so we can recognize when we're using it. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149632 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
|
e35bb601572fd3b1163b16141a3440afd6bb99e3 |
02-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
There's a crasher I need to track down, occurring at -O0. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149631 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
|
cf95babcc4bf55cb4d31f993b156d422f4d71d43 |
01-Feb-2012 |
Marshall Clow <mclow@qualcomm.com> |
added const nullptr tests git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149552 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_const_pointer_nullptr.cpp
|
61a88d8800ff9d0da605fd2ae10f9a7ab21126b1 |
01-Feb-2012 |
Marshall Clow <mclow@qualcomm.com> |
removed duplicated tests - Howard was quicker than me. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149545 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_const_pointer_nullptr.cpp
|
c9577b1a2b76060662ea0cf43d7d32b03e268757 |
01-Feb-2012 |
Marshall Clow <mclow@qualcomm.com> |
Added tests for catching const/non-const nullptr git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149542 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_const_pointer_nullptr.cpp
|
4c3bdd6f627102278cd8a6d4c78b951f04df1a89 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add test for pointer qualification conversion. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149541 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_ptr_02.cpp
|
0550d57ec1c783ff5f56ff15f933e01d81574105 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Changed a TODO to a 'maybe some time in the future'. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149539 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
9f54f7a8887de57af1bb4dbe35a6df6b75a0457f |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Removed DEBUG statements. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149538 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
575160dca047ec64540c0a3caa99a26e0898bc52 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Remove a TODO regarding where some can_catch are implemented. I opted to make can_catch pure virtual in the top __shim_type_info, and have each sub-class implement its own. There are some repeated definitions, but they are trivial. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149537 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
ebe450533fae286801d85a4cbfd12e0c4ce8f507 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add some tests to test catching nullptr with pointers and member pointers. Tests are only activated if #if __has_feature(cxx_nullptr). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149536 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_member_pointer_nullptr.cpp
est/catch_pointer_nullptr.cpp
|
c649bdea9d3f67756d97fa1c9a837f53a762dbcc |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Quash a TODO related to catching pointer-to-member. These tests fail on my copy of gcc-4.2. But I believe the tests to be correct (and they pass for libc++abi). I've enquired on the C++ standards mailing list for a clarification in case I'm wrong. So far I've gotten one response that agrees with me. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149534 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/catch_member_data_pointer_01.cpp
est/catch_member_function_pointer_01.cpp
|
4b3cb1cb82c0479bc9c675b79a2250ea4c85aae8 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Quash TODO regarding catch by function type. Add tests to back it up. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149530 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/catch_function_01.cpp
est/catch_function_02.cpp
|
aafd08aa288da66805f97231e8c64020bc9d50c6 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Quash TODO regarding catch by array type. Add tests to back it up. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149527 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/catch_array_01.cpp
est/catch_array_02.cpp
|
7c73587e51f0f8edcf01eb1d9529dcac24c9681f |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Removing a TODO: can_catch is fundamentally different than search_above_dst. can_catch is looking for an unamiguous public base class of a specific type, but at any address. search_above_dst is looking for an unambiguous public base class of a specific type, *and* at a specific address. Additionally can_catch is run for all types. search_above_dst is only run on class types. So these are only superficially similar. Not similar enough for resuse, at least without making the code unreadable. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149522 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.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
rc/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
rc/cxa_exception.cpp
rc/cxa_exception.hpp
rc/cxa_handlers.cpp
rc/cxa_personality.cpp
|
29ae5fcdaedec7039c65355ef35955cbeacb61c1 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Nothing but polishing comments. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149515 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
3a1009ca976989bae6308d9bc49494d22c578e79 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Move an error detector to a better place. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149513 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
e162bf2dec6169ed06396af11eac19791e37957a |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
Here's a test for catching pointers. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149459 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_ptr.cpp
|
830713c63ecaf0a5d7690db92f83f2741754de15 |
01-Feb-2012 |
Howard Hinnant <hhinnant@apple.com> |
More test cases concentrating on catching class types. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149453 91177308-0d34-0410-b5e6-96231b3b80d8
est/catch_class_01.cpp
est/catch_class_02.cpp
est/catch_class_03.cpp
est/catch_class_04.cpp
est/dynamic_cast_stress.cpp
|
dfb07f80c1a0063130c5738ff7d060d22f79b8bf |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Some unwinding test cases git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149436 91177308-0d34-0410-b5e6-96231b3b80d8
est/testit
est/unwind_01.cpp
est/unwind_02.cpp
est/unwind_03.cpp
est/unwind_04.cpp
est/unwind_05.cpp
|
3a2765fc4e360a1eea76d439d1c5fd0b4a4a7d14 |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Back the optimization down from -O3 to -Os. I'm getting an unexplained 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. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149414 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
rc/cxa_personality.cpp
|
9fb5709499823d560501170735097ba77152aa5d |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Drop the stress a notch on dynamic_cast_stress.cpp. Otherwise it occasionally causes clang to crash. Put a noexcept(false) on a throwing destructor in test_vector1.cpp. The test now passes for both C++03 and C++11 modes. Add testit script. All tests are now PASSING :-) git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149413 91177308-0d34-0410-b5e6-96231b3b80d8
est/dynamic_cast_stress.cpp
est/test_vector1.cpp
est/testit
|
6953d901c3fd95e27241b305f35a0fc97bd881e6 |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Correct test bug. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149412 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_exception_storage.cpp
|
06b1ea1bbdc163008d1e7714f5f41f43908b8def |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Have the default unexpected/terminate handler output *demangled* names for the type of exception instead of the mangled name. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149409 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_handlers.cpp
|
2e774bf081cc1aeff076a250ade5c909f9ad79a8 |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Fix type-o in the comment of the last commit git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149403 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
135b4bd2232cf870ec45a07970f5402ba96baddf |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Found and fixed a bug in __cxa_call_unexpected. If the unexpected_handler rethrows the same exception then needed information gets overwritten in the original exception header. Therefore save it locally before executing the unexpected_handler. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149400 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
a5f9da203dc18d2c34909a63d12c2604f6d006d9 |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Found and fixed bug in personality function: Don't dive into the action table if the action entry is zero. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149389 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
rc/temporary.cpp
|
1a58491066c80bd4b599e49fe0930b9390807e0b |
31-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Minor bug fix in __cxa_call_unexpected. Changed std::terminate to detect a caught-but-unhandled exception, and choose the handler out of that if found. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149329 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_handlers.cpp
rc/cxa_personality.cpp
|
4c8d5613f35b03a3b6dc050a822e9a63e038e837 |
30-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Refactored personality function. Found one bug in scanning exception spec lists. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149272 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.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
rc/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
rc/cxa_exception.cpp
rc/cxa_exception.hpp
rc/cxa_exception_storage.cpp
rc/cxa_handlers.cpp
rc/cxa_personality.cpp
rc/cxa_unexpected.cpp
rc/fallback_malloc.ipp
|
2b891bfd06e8e1ecf399b2684d5616de507e8403 |
30-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add -fstrict-aliasing -Wstrict-aliasing and change optimization from -Os to -O3 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149250 91177308-0d34-0410-b5e6-96231b3b80d8
ib/buildit
|
ca00a4e83ed1adcdc6f34ae25c5e705315168a26 |
30-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Put throw() clauses back on these functions in cxxabi.h. This header must be C++03 compatible and these throw specs are consistent with the current cxxabi.h that Apple ships. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149249 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
|
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
rc/cxa_exception.cpp
|
a4d69a35ba389303a702621b7b6cb186a7af93c9 |
28-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add a little paranoia for testing purposes. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149157 91177308-0d34-0410-b5e6-96231b3b80d8
rc/temporary.cpp
|
27b00d862a71566e4d6e5fef5fd29bf8280a2f4a |
28-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Minor header fixups for test. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149156 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_exception_storage.cpp
|
eb6fb17e25f182de6ed219630c31af2c45ddb7ba |
28-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Silence a warning. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149155 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_aux_runtime.cpp
|
66f658093ac102462464a896e5c0f4927fed9eac |
28-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Sometimes it takes all day to write a decent comment. This is one of those times, and I'm still not quite sure I have them correct. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149154 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
|
033016c5623cca0240c5032d6d18d3a7db178e30 |
25-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
These commits are intended to be temporary in nature and are to facilitate the testing of libc++abi.dylib at this point in time. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148967 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_unexpected.cpp
rc/private_typeinfo.cpp
rc/private_typeinfo.h
rc/temporary.cpp
|
f6d4cba78392f9248251168628c7236071ed88eb |
25-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add comment documenting extension behavior of __cxa_get_globals_fast(). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148966 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_exception_storage.cpp
|
de34b3e7ee1bf1ecdc595c6117fde99f1a974dcd |
25-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
cxa_guard.cpp didn't quite make it on the last commit: Restricted headers to cxa_guard.cpp and abort_messsage.h, and added a comment regarding reentrancy brought up by John McCall. Thanks John. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148965 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_guard.cpp
|
1743feef39d62289a24b66ec3d5ef6a41edfc396 |
25-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Restricted headers to cxa_guard.cpp and abort_messsage.h, and added a comment regarding reentrancy brought up by John McCall. Thanks John. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148963 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.h
|
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
nclude/cxxabi.h
ib/buildit
rc/cxa_exception.cpp
rc/cxa_exception.hpp
rc/cxa_exception_storage.cpp
rc/fallback_malloc.ipp
|
00cc7d2c79c179b54893ad215679bfae904578f5 |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add some needed symbols in exception.cpp and eliminate dependence upon uncaught_exception() from cxa_vector.cpp. libc++abi is very nearly a self-contained (though not complete) library now. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148866 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_vector.cpp
rc/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
rc/cxa_exception.cpp
rc/fallback_malloc.ipp
est/test_fallback_malloc.cpp
|
35b2c2af6b2720a3f624ad556b1a3c75394350d7 |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add some needed symbols to cxa_new_delete.cpp and put the display() stuff under #DEBUG (again). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148860 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_new_delete.cpp
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
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
rc/cxa_exception.cpp
rc/fallback_malloc.cpp
|
73fd45bc7dbe3f3874a69783cc8d5419201c4f1f |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add new file for public type_info-related signatures git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148853 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/typeinfo.cpp
|
c632c50527eb60090a5c1ba092cf6c9118d80dbe |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
CrashReporterClient.h is back, but this time protected with __has_include. Thanks for the suggestion Doug. The use is consistent with how the same header is used in llvm/lib/Support/PrettyStackTrace.cpp (though there autoconfig is used instead of __has_include). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148851 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.c
rc/abort_message.cpp
rc/abort_message.h
|
3f034b77daeb3d7ab5a0c5167b2ffece7c9cbd28 |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Remove dependence upon std::exception_ptr from the default_terminate_handler. Recovered the equivalent functionality at a lower level. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148830 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_handlers.cpp
rc/cxa_handlers.hpp
|
08f419c67a30f4c03684e8f317c9234549842740 |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Forgot to include this file in the last commit: 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@148829 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.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
rc/cxa_exception.cpp
rc/cxa_exception.hpp
|
ae154287dd55f8fb2b374af757b41db2e328a5c2 |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Removed reference to internal header git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148763 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.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
rc/cxa_exception.cpp
ww/spec.html
|
8f696ff15c2e188dac75dbed3f7524fb80928607 |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
I renamed abort_message to be a C++ file to simplify my simplistic build script which I'm still working on. I also added a struct for the crash reporter on __APPLE__. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148752 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.cpp
|
928afcd281e2bcad26baaa67dfd035e547870a8d |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
A lot of the code in cxa_exception.cpp depends on __cxa_get_globals_fast() returning null if __cxa_get_globals() hasn't been called yet. However it doesn't reliably do that, at least on OS X if __cxa_get_globals_fast() is called prior to pthread_key_create() running. Our choice is to either limit our use of __cxa_get_globals_fast() more than we have, or to have __cxa_get_globals_fast() initialize with pthread_key_create() if necessary. I chose the latter, and replaced pthread_once with a C++11 local static (which should do the same thing). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148750 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_exception_storage.cpp
|
9c6f621671600fbbe85c54e9233e42a68ec4d69c |
24-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Added missing #include git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148749 91177308-0d34-0410-b5e6-96231b3b80d8
rc/fallback_malloc.cpp
|
a1919d2ee24b06c833493cf06335afa307028bf7 |
23-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
I'm beginning to be able to throw/catch a wide variety of objects. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148713 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
c30bfdc7ff4f0ab46e614fb8891be0785ae9a753 |
22-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Getting started on matching a thrown exception to a catch clause, and setting the adjusted pointer to the caught object appearing in the catch clause. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148666 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.cpp
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
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
rc/cxa_exception.cpp
rc/cxa_personality.cpp
|
facfc46ef3ecde55e675fa19d93d9a25b169c49f |
22-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Add __shim_type_info which fits below std::type_info and above all of the other type_info-derived classes. This is where all of the virtual functions that serve as details of the inner-workings of type_info will live (safely hidden from public view). All type_info objects will be safely down-castable to __shim_type_info, so as to access implementation detail virtual functions. Also temporarily add some print/display statements to each type_info-derived class. This is in support of the continuing development on the personality function. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148647 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
321a095c08f0700e8619266518b63d438285d3a1 |
22-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Change header to generic, instead of implementation specific git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148646 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_demangle.cpp
|
65255631de793131622f701df9075dfd78abfc50 |
16-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
One more small optimization: Where possible, for loops that do a search and then try to break out of the loop early, eliminate the attempt to break out of the loop after the last search. And with that, I'm declaring __dynamic_cast done. Though if anyone sees any problems, has suggestions for improvements, or wants to contribute some test cases, that is certainly welcome feedback. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148246 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/dynamic_cast_stress.cpp
ww/spec.html
|
cc614df38c199d9781a6dea123e714970e82711f |
16-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Comment smithing. Changed some casts from C-style to C++. And added timings to all of the tests. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148241 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
est/dynamic_cast14.cpp
est/dynamic_cast3.cpp
est/dynamic_cast5.cpp
|
1309366d3676ca5a34bea0388ad2d2dd5701dc9b |
16-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
I think this is getting close on __dynamic_cast. There's been quite a bit of code rearrangement, renaming, and better commenting. This exercise has exposed and fixed a few more bugs. I've also added several more tests (there's definitely a need for more tests here). git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148227 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
est/dynamic_cast14.cpp
est/dynamic_cast5.cpp
est/dynamic_cast_stress.cpp
|
481fe05b27444f74f941678051e3a6b3ada25f39 |
14-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Two bug fixes, several clarifications, and a few comment updates. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148180 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
271f1ac649aac4c80df7534270b19f3fbdce9c5d |
14-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
A bug fix involving the updating of path_dst_ptr_to_static_ptr. Some minor code rearrangement optimizations (putting most likely 'if' first in an if-else series. And some major optimizations which involve stopping the search prior to an exhaustive walk over the entire tree. Some of these stops are because an ambiguity is detected earlier. And some of the short circuiting is due to the information from the bits __diamond_shaped_mask and __non_diamond_repeat_mask. The stress test checked in last night is now about 28% faster for the B<Width/2, Depth> -O3 case. I'm still playing with some more optimization possibilities but I'm not sure they will play out. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148153 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
|
a39c1045016e51a6c4a834e02fe158373af2b49d |
13-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Enclosed is a stress test for dynamic_cast. It stresses both libc++abi, and clang itself. It creates a ridiculously large class hierarchy using variadic templates. You can specify both the width and depth of the class hierarchy. And you can specify whether the cast is to the actual run time type, or to an intermediate layer in the class. About 1/3 of the time I compile this, it crashes the compiler. There seems to be an uninitialized area of memory, and I'm probably blowing past an assumption on class hierarchy size within clang (and understandably so). I can get it work most of the time with a class hierarchy width of 20 and a depth of 7. I'm making timings with both -O3 and -Os, using both cast to root and cast to intermediate, on both libc++abi, and gcc's dynamic_cast. I've put the results in a comment/table at the bottom of the test. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148083 91177308-0d34-0410-b5e6-96231b3b80d8
est/dynamic_cast_stress.cpp
|
68fd743cd3278364c9ec13da437586d989641265 |
12-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Oops, forgot to svn add the new test. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148047 91177308-0d34-0410-b5e6-96231b3b80d8
est/dynamic_cast5.cpp
|
9a1aad5a7ffe86b7d30157e72cd5a51d2a4f1649 |
12-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Put debug print statments under a flag so that I can get a first glimpse at performance. So far I haven't noticed any performance difference between this new __dynamic_cast and gcc's implementation. But I've barely started looking. Also adding a couple of tests which come straight out of the standard. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148046 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
est/dynamic_cast3.cpp
|
185dc7d61ff4e58909f043f3a0c0d7d1d87ba7da |
12-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Fixed a couple of bugs, updated many comments, and am including a comprehensive test for when there are only 3 types in place. I need to do something similar for 4 and maybe more types, but I'm not sure how comprehensive I can make the test at 4 and above types. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148038 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
est/dynamic_cast3.cpp
|
f877d21f16d5ecb32570a89148e614ff68d632be |
12-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Initial implementaiton of __dynamic_cast. There is still lots of debugging code in here that needs to be stripped out. And many, many unit tests need to be written. And comments and probably code cleanliness needs to be improved. But I *think* the basic algorithm is sound. There also may still be some oportunities for algorithm optimization, I'm not positive. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147981 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
16650b58dfc7d1a2632b052843dc4e21ae949b07 |
11-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
This is a transitory commit for __dynamic_cast. It contains debugging statements that are not intended to be in the finished product. However some of the dubbing statements themselves contain important documentation such as how to navigate a __class_type_info hierarchy, documenting object offset and inheritance access. The intention is that this debugging code will migrate into both actual code and comments. And capturing it here so that there is no chance this stuff will be lost. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147898 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
152beb7a421a05155ae339434c2b48e2151111cd |
09-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Getting a start on the typeinfo infrastructure. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147776 91177308-0d34-0410-b5e6-96231b3b80d8
rc/private_typeinfo.cpp
rc/private_typeinfo.h
|
3fa75e1680116753824c47e3eba5648abbf891d0 |
09-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
First brush with testing __gxx_personality_v0 reveals there is still a long way to go. But my understanding of what it is supposed to do continues to improve. I am currently contemplating whether I need to implement typeinfo before completing __gxx_personality_v0 in order to get matching catch handlers correct. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147761 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.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
rc/cxa_exception.cpp
|
acfbf36d9498d945da1491ed571b73bf9f5e050f |
09-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
Correct comment regarding members of __cxa_dependent_exception. Actually it is useful to disguise a __cxa_dependent_exception as a __cxa_exception by filling in most (not all) of these members at __cxa_dependent_exception construction time. That way most routines don't have to care which kind of exception they have. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147759 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_exception.hpp
|
701d94c5dd4758912ad4ce4bfec79bd0c85127a4 |
06-Jan-2012 |
Howard Hinnant <hhinnant@apple.com> |
__gxx_personality_v0 update. This is completely untested code. But my brain is scrambled and I wanted to get it checked in. Code review from anyone who knows anything at all about personality functions would be much appreciated. What is in here is borrowed heavily from llvm/examples/ExceptionDemo/ExceptionDemo.cpp. There are some calls to abort() that should probably be changed to return an error code instead. There may be encodings under readEncodedPointer that need to be implemented. And my handling of type_info is almost a complete guess. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147680 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_personality.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
rc/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
rc/cxa_exception.cpp
rc/cxa_personality.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
rc/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
rc/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
rc/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
REDITS.TXT
rc/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
REDITS.TXT
rc/cxa_exception.cpp
|
50dbae0b853250acc01b20357e77890ebfa371fe |
22-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Updated spec.html regarding __cxa_uncaught_exception. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147110 91177308-0d34-0410-b5e6-96231b3b80d8
ww/spec.html
|
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
rc/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
nclude/cxxabi.h
rc/cxa_exception.cpp
ww/spec.html
|
4a6e1033ec6cb5648593424fa9e19689668f15a8 |
20-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Add new and delete operators git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146989 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_new_delete.cpp
|
ab87dcf97e2bba2b2b9aadc0877ebd3b8d7cab42 |
15-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Fixed several bugs, implemented support for vector types, and cleaned out dead code. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146677 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxa_demangle.h
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
5ee51a7062e0973ac1d8b2d44598bf9e69bb08f0 |
13-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Fix size calculation for pointer to member function git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146463 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.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
rc/cxa_exception.cpp
ww/spec.html
|
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
rc/cxa_exception.cpp
ww/spec.html
|
f270035a31a0abd92c1592ba0e87db0016127c3e |
09-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Added support for <special-name> ::= TC <first type> <number> _ <second type> # construction vtable for second-in-first, and for <special-name> ::= GR <object name> # reference temporary for object git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146274 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.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
rc/cxa_exception.cpp
rc/cxa_exception.hpp
ww/spec.html
|
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
rc/cxa_exception.cpp
rc/cxa_handlers.cpp
rc/cxa_handlers.hpp
ww/spec.html
|
cd081650f80590890b3d8e024e32ce0789f00cfa |
07-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Added __cxa_allocate_dependent_exception and __cxa_free_dependent_exception and marked them as done. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146045 91177308-0d34-0410-b5e6-96231b3b80d8
ww/spec.html
|
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
rc/cxa_exception.cpp
|
b9f2cc816dc3e5369507db9509bea6d10b524a94 |
06-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Add/update copyright notices git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145949 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.c
rc/abort_message.h
rc/cxa_exception.hpp
est/test_exception_storage.cpp
est/test_fallback_malloc.cpp
est/test_vector3.cpp
|
d2af0fd62fc0a75baebd3ba16f9caf35d6e8a0c5 |
06-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
terminate, unexpected and new handlers. If terminating while an exception is unwinding, an attempt is made to print out the what() string if the exception is derived from std::exception. __terminate(handler) and __unexpected(handler) helpers are present in anticipation of other parts of libc++abi needing to call these interfaces with custom handlers. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145948 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_handlers.cpp
|
f2888967f1c99bd49d64b56b91b68962a65f7df9 |
01-Dec-2011 |
Howard Hinnant <hhinnant@apple.com> |
Updated heuristic regulating small string buffer git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145543 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
8ffc845e3f13335fb171858f935aec35c461e54a |
28-Nov-2011 |
Howard Hinnant <hhinnant@apple.com> |
Add alignment requirement to char buffer git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145277 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.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
rc/cxa_exception.cpp
|
89df8ad0d1bad867aeddf9cafe85b921eac31eba |
12-Aug-2011 |
Howard Hinnant <hhinnant@apple.com> |
demangler: Drop preceeding () from function types, but not from pointers and references to function types git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137469 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_demangle.cpp
est/test_demangle.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
rc/cxa_exception.cpp
|
bb8d048ac08a960d5f3b3c9bc02774bb23665e3a |
08-Aug-2011 |
Howard Hinnant <hhinnant@apple.com> |
Silence some -Wall warnings pointed out by Marshall Clow git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137047 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxa_demangle.h
rc/cxa_demangle.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
rc/cxa_exception.cpp
|
15a6928f197d9bdce3284fb1588820989abdc1e5 |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
make cxxabi.h safe for C code to include git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136682 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
|
92567ec0a1786593ab3f1da16516e9a923e36d7e |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
use LIBCXXABI_NORETURN git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136681 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.h
|
f72cdd5b49372fa50dbc79d712615b4b35b00796 |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
make LIBCXXABI_NORETURN be the right attribute git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136680 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
|
f4429fe226241f3c537c3f5068518da9d1ab0de2 |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
use abort_message() for pthread errors in __cxa_get_globals git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136672 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_exception_storage.cpp
|
4360a640d25a45b514dc69a045dab8d9ac3807fb |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
use abort_message() git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136671 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_virtual.cpp
|
41683112536848562f538ee20e16dcd86c84fed5 |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
move abort_message() to its own file git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136670 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_guard.cpp
|
23171ddcf4478005836260c4dc5c7d2a68a2c248 |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
add abort_message() utility function git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136669 91177308-0d34-0410-b5e6-96231b3b80d8
rc/abort_message.c
rc/abort_message.h
|
e7676de76d4d29c07bf7d7583533591977d44dba |
02-Aug-2011 |
Nick Kledzik <kledzik@apple.com> |
Added kledzik to CREDITS.TXT git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136667 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
|
ce5360cf5b54504f341900b59db0489e600451ec |
25-Jul-2011 |
Marshall Clow <mclow@qualcomm.com> |
Updated comments git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135909 91177308-0d34-0410-b5e6-96231b3b80d8
rc/fallback_malloc.cpp
|
086e9d0b7479409f65f21bc491c2f8706f7a39a5 |
20-Jul-2011 |
Marshall Clow <mclow@qualcomm.com> |
Added copyright header git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135601 91177308-0d34-0410-b5e6-96231b3b80d8
rc/fallback_malloc.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
rc/cxa_exception.cpp
ww/spec.html
|
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
rc/cxa_exception.cpp
rc/fallback_malloc.cpp
est/test_fallback_malloc.cpp
|
61b898e4f717ecb3ce6aaa2652f7da712452d693 |
20-Jul-2011 |
Marshall Clow <mclow@qualcomm.com> |
Exception handling stuctures, and thread-local variables for exception handling git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135586 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_exception.hpp
rc/cxa_exception_storage.cpp
est/test_exception_storage.cpp
|
703d148d5994d7a1cd189dc57acc7704f48fbd13 |
20-Jul-2011 |
Marshall Clow <mclow@qualcomm.com> |
Fixed struct/class mismatch for std::type_info and added NORETURN flags git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135584 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
|
3c883588c333dd2baa1722afcb2130c5157c6748 |
18-Jul-2011 |
Howard Hinnant <hhinnant@apple.com> |
Update by Marshall Clow git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135397 91177308-0d34-0410-b5e6-96231b3b80d8
ww/spec.html
|
7123bcb3bbbcc33c69666d4f0f83052b9a64a7fb |
14-Jul-2011 |
Howard Hinnant <hhinnant@apple.com> |
A stawman specification for libc++abi and status page git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135181 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
ww/spec.html
|
889b02d72d523ba716ce08403c284e60f0a9431d |
22-Jun-2011 |
Howard Hinnant <hhinnant@apple.com> |
In cxa_demangle.cpp, rewrite __parse_unresolved_name to reflect updated understanding and sync with updated clang mangling. Also fix think-o in __parse_encoding enabling the parsing of trailing .eh and .b. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@133632 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxa_demangle.h
rc/cxa_demangle.cpp
est/test_demangle.cpp
|
3050a5b3864fb7299e847feb7e691ee94a8e860c |
13-Jun-2011 |
Marshall Clow <mclow@qualcomm.com> |
Clean up the vector tests git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132921 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_vector1.cpp
est/test_vector2.cpp
|
e52bde43f8528bfb81501eeffc4a17b44fdf3bfc |
10-Jun-2011 |
Marshall Clow <mclow@qualcomm.com> |
Implement vector new and delete functionality git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132832 91177308-0d34-0410-b5e6-96231b3b80d8
rc/cxa_vector.cpp
est/test_vector1.cpp
est/test_vector2.cpp
est/test_vector3.cpp
|
0fff2a0592e8a59ce760dce629f82867fbf507f8 |
08-Jun-2011 |
Marshall Clow <mclow@qualcomm.com> |
Added Marshall to CREDITS.TXT as requested git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132754 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
|
25f180797ba296e6cd3aa45e1fef9321b828301a |
07-Jun-2011 |
Howard Hinnant <hhinnant@apple.com> |
tabs to spaces git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132729 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_aux_runtime.cpp
est/test_guard.cpp
|
d8cfd659b70bcf65a9c810ebe525632af38726f0 |
07-Jun-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add support for the ARM EABI variant of the __cxa_guard methods, controlled by the LIBCXXABI_ARMEABI macro. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132723 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_guard.cpp
|
5dfef8de38c88d0bbccdb0b0f86a696f6d53dba8 |
04-Jun-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add more tests for cxa_guard methods. This includes our first two tests using actual threads! There's no build file for libcxxabi, so I'll tell you that I built it with this: $ g++-4.6 -pthread -std=gnu++0x test_guard.cpp ../src/cxa_guard.o -o test_guard git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132644 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_guard.cpp
|
05df4f911281af38267ca3e1f9a0bb3a13bf7b51 |
03-Jun-2011 |
Marshall Clow <mclow@qualcomm.com> |
Tests for bad_typeid and bad_cast git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132545 91177308-0d34-0410-b5e6-96231b3b80d8
est/test_aux_runtime.cpp
|
4c2acbcfc928a7d4f18b2c9202288abdf0131219 |
03-Jun-2011 |
Marshall Clow <mclow@qualcomm.com> |
Added __cxa_bad_cast and __cxa_bad_typeid and placeholder NORETURN macro git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132524 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_aux_runtime.cpp
rc/cxa_virtual.cpp
|
92827189cbb1e63dfebf0a46aac4372c3089ff11 |
25-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Introduce cxa_virtual.cpp and cxa_guard.cpp. Contributed by Nick Lewycky, Howard Hinnant and John McCall git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132009 91177308-0d34-0410-b5e6-96231b3b80d8
nclude/cxxabi.h
rc/cxa_guard.cpp
rc/cxa_virtual.cpp
est/test_guard.cpp
|
628bfc461df5d87a8fbf7d10cce7325245fd7d7e |
20-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Add goal git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@131703 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
84aba5e2368515cec9e1f04b833e379446974c6f |
20-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Fix think-o git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@131700 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
c2c0ad22d429a5cb6e741f1b3e2b608158e455f9 |
20-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
testing git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@131694 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
34aeef18d4b08e2d893d42dbb7bad6198738e29a |
20-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
testing git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@131693 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
fb4e2f5744d85870cc1e7bd1eb763117be7a33db |
20-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Add Mac OS X as supported platform. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@131686 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
dbd74a44aeeb8698c6b2944eefba144b247d648d |
20-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
Add Mac OS X as supported platform. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@131685 91177308-0d34-0410-b5e6-96231b3b80d8
ww/index.html
|
d213ffdf3befead3b8f5a0ba12ce1c2d9949525b |
05-May-2011 |
Howard Hinnant <hhinnant@apple.com> |
initial import git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@130921 91177308-0d34-0410-b5e6-96231b3b80d8
REDITS.TXT
ICENSE.TXT
nclude/cxa_demangle.h
nclude/cxxabi.h
rc/cxa_demangle.cpp
est/test_demangle.cpp
ww/content.css
ww/index.html
ww/menu.css
|