llvm-project/libcxxabi/src
Eric Fiselier 29e0265732 private_typeinfo: limit is_dst_type_derived_from_static_type optimization
Patch by Ryan Prichard

If the destination type does not derive from the static type, we can skip
the search_above_dst call, but we still need to run the
!does_dst_type_point_to_our_static_type block of code. That block of code
will increment info->number_to_dst_ptr to 2, and because dest isn't derived
from static, the cast will ultimately fail.

Fixes PR33439

Reviewed as https://reviews.llvm.org/D36447

llvm-svn: 332767
2018-05-18 20:51:38 +00:00
..
include [libc++abi] Replace __sync_* functions with __libcpp_atomic_* functions. 2018-04-16 22:00:14 +00:00
CMakeLists.txt [cmake] [libcxxabi] LLVM_FOUND isn't always set, so just test if 2018-01-27 19:18:04 +00:00
abort_message.cpp [libcxxabi] Clean up macro usage. 2017-03-01 11:42:01 +00:00
abort_message.h [libc++abi] Clean up visibility 2017-03-01 03:55:57 +00:00
cxa_aux_runtime.cpp Fix non-reserved macro names LIBCXXABI_NORETURN and LIBCXXABI_ARM_EHABI. 2017-03-01 02:23:54 +00:00
cxa_default_handlers.cpp [libc++abi] Replace __sync_* functions with __libcpp_atomic_* functions. 2018-04-16 22:00:14 +00:00
cxa_demangle.cpp [demangler] NFC: Some refactoring to support partial demangling. 2018-04-12 20:41:06 +00:00
cxa_exception.cpp Move _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS macro to build system 2018-04-29 23:05:11 +00:00
cxa_exception.hpp Insert padding before the __cxa_exception header to ensure the thrown 2017-11-28 00:36:29 +00:00
cxa_exception_storage.cpp [libc++abi] Use proper calling convention for TLS destructor 2017-08-08 00:54:33 +00:00
cxa_guard.cpp [libc++abi] Delete config.h 2017-03-30 23:31:33 +00:00
cxa_handlers.cpp [libc++abi] Replace __sync_* functions with __libcpp_atomic_* functions. 2018-04-16 22:00:14 +00:00
cxa_handlers.hpp [libc++abi] Clean up visibility 2017-03-01 03:55:57 +00:00
cxa_noexception.cpp [libc++abi] Remove missed use of config.h 2017-03-31 00:29:25 +00:00
cxa_personality.cpp [libc++abi] Delete config.h 2017-03-30 23:31:33 +00:00
cxa_thread_atexit.cpp [libc++abi] Clean up visibility 2017-03-01 03:55:57 +00:00
cxa_unexpected.cpp Uses quote to include cxxabi.h to make sure the local one is included 2017-04-04 05:38:38 +00:00
cxa_vector.cpp ibc++abi: mark visibility 2015-12-04 02:14:58 +00:00
cxa_virtual.cpp Fix non-reserved macro names LIBCXXABI_NORETURN and LIBCXXABI_ARM_EHABI. 2017-03-01 02:23:54 +00:00
fallback_malloc.cpp [libc++abi] Delete config.h 2017-03-30 23:31:33 +00:00
fallback_malloc.h [libcxxabi] Fix alignment of allocated exceptions in 32 bit builds 2017-03-04 02:04:45 +00:00
private_typeinfo.cpp private_typeinfo: limit is_dst_type_derived_from_static_type optimization 2018-05-18 20:51:38 +00:00
private_typeinfo.h [libc++abi] Clean up visibility 2017-03-01 03:55:57 +00:00
stdlib_exception.cpp Cleanup new/delete definitions 2017-03-01 23:59:34 +00:00
stdlib_new_delete.cpp Don't use posix_memalign under MinGW 2017-05-11 02:01:05 +00:00
stdlib_stdexcept.cpp Remove dependancy on __refstring header; use local copy instead. 2017-07-12 01:34:21 +00:00
stdlib_typeinfo.cpp Rename TU names to not conflict with libc++. 2016-11-18 09:54:49 +00:00