History log of /external/libcxxabi/src/private_typeinfo.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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