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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/private_typeinfo.h
|
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
/external/libcxxabi/src/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
/external/libcxxabi/src/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
/external/libcxxabi/src/private_typeinfo.h
|