History log of /external/libcxxabi/src/private_typeinfo.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
54227aec1d6116c936afa576e2ea36ca3e94b29c 01-Mar-2017 Shoaib Meenai <smeenai@fb.com> [libc++abi] Clean up visibility

Use the libc++abi visibility macros instead of pragmas or using
visibility attributes directly. Clean up redundant attributes on
definitions (where the declarations already have visibility attributes
applied, from either libc++ or libc++abi headers).

Introduce _LIBCXXABI_WEAK as a drive-by cleanup, which matches the
semantics of _LIBCPP_WEAK.

No functional change. Tested by building on Linux before and after this
change and verifying that the list of exported symbols is identical.

Differential Revision: https://reviews.llvm.org/D26949

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@296576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/private_typeinfo.h
f1636207ad8e142a11f80860ea27ea92fcc8c776 02-Dec-2016 Richard Smith <richard-llvm@metafoo.co.uk> Update implementation of ABI support for throwing noexcept function pointers
and catching as non-noexcept to match the final design per discusson on
cxx-abi-dev.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@288457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/private_typeinfo.h
c320e4c36c06bc0019fc06eaf00eb064727cfcc0 03-Nov-2016 Richard Smith <richard-llvm@metafoo.co.uk> [p0012] Implement ABI support for throwing a noexcept function pointer and
catching as non-noexcept

This implements the following proposal from cxx-abi-dev:

http://sourcerytools.com/pipermail/cxx-abi-dev/2016-October/002988.html

... which is necessary for complete support of http://wg21.link/p0012,
specifically throwing noexcept function and member function pointers and
catching them as non-noexcept pointers.

Differential Review: https://reviews.llvm.org/D26178


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@285867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/private_typeinfo.h
b4ec5796f2d2d0c7bf3faeb87ce87281c185b28e 04-Dec-2015 Saleem Abdulrasool <compnerd@compnerd.org> ibc++abi: mark visibility

Mark functions and types with the appropriate visibility. This is particularly
useful for environments which explicitly indicate origin of functions (Windows).
This aids in generating libc++abi as a DSO which exposes only the public
interfaces.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@254691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/private_typeinfo.h
77a304b28be4b50a508298d6a0e40ee9d4bb3ccd 04-Dec-2015 Saleem Abdulrasool <compnerd@compnerd.org> c++abi: whitespace adjustment

Cleanup some code with clang-format to make the following change easier to
identify material difference. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@254690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/private_typeinfo.h
0cb62d1b51f3d9ab65e0ba7b6541dda0663fe50d 03-Apr-2015 Eric Fiselier <eric@efcs.ca> [libcxxabi] Fix multi-level pointer conversions and pointer to member conversion detection.

Summary:
Currently there are bugs in out detection of multi-level pointer conversions and pointer to member conversions. This patch fixes the following issues.

* Allow multi-level pointers with different nested qualifiers.
* Allow multi-level mixed pointers to objects and pointers to members with different nested qualifiers.
* Allow conversions from `int Base::*` to `int Derived::*` but only for non-nested pointers.

There is still some work that needs to be done to clean this patch up but I want to get some input on it.
Open questions:

* Does `__pointer_to_member_type_info::can_catch(...)` need to adjust the pointer if a base to derived conversion is performed?


Reviewers: danalbert, compnerd, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D8758

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@233984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/private_typeinfo.h
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