https://bugs.llvm.org/show_bug.cgi?id=32180
Bug ID: 32180
Summary: cannot cast to private base while there is a public
virtual inheritance
Product: clang
Version: 3.8
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: C++11
Assignee: unassignedclangb...@nondot.org
Reporter: iga...@gmail.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
The following code does not compile:
#include <iostream>
#include <memory>
struct Shared : public std::enable_shared_from_this<Shared>{
};
struct Container : virtual public Shared{
};
struct List : private Container, virtual public Shared {
};
int main(int argc, char** argv){
auto c = std::make_shared<List>();
return 0;
}
The error is:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h:1106:50:
error:
cannot cast 'List' to its private base class 'const
enable_shared_from_this<Shared>'
__enable_shared_from_this_helper(_M_refcount, _M_ptr, _M_ptr);
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs