diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-06-26 23:56:32 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-06-26 23:56:32 +0000 |
| commit | 39005d30196c67e1b4e4e3cdbc9f43c8bcd24f91 (patch) | |
| tree | e31653765946bb4500afd09ee2f204bd4c5fd357 /libcxx/test/std/language.support/support.exception | |
| parent | 819f3b95aed74e7be8837a1ef359593c07e0d733 (diff) | |
| download | bcm5719-llvm-39005d30196c67e1b4e4e3cdbc9f43c8bcd24f91.tar.gz bcm5719-llvm-39005d30196c67e1b4e4e3cdbc9f43c8bcd24f91.zip | |
Fix PR27115 - enable_shared_from_this does not work as a virtual base class.
See https://llvm.org/bugs/show_bug.cgi?id=27115
The problem was that the conversion from
'const enable_shared_from_this<T>*' to 'const T*' didn't work if
T inherited enable_shared_from_this as a virtual base class. The fix
is to take the original pointer passed to shared_ptr's constructor in the
__enable_weak_this method and perform an upcast to 'const T*' instead of
performing a downcast from the enable_shared_from_this base.
llvm-svn: 273835
Diffstat (limited to 'libcxx/test/std/language.support/support.exception')
0 files changed, 0 insertions, 0 deletions

