https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52321
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-12-17
Ever confirmed|0 |1
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Clang outputs an extra line saying the type is incomplete (which should
probably be a "note:" but nevermind):
53231.cc:5:17: error: static_cast from 'foo *' to 'bar *', which are not
related by inheritance, is not allowed
bar* b = static_cast<bar*>(f);
^~~~~~~~~~~~~~~~~~~~
53231.cc:1:7: note: 'foo' is incomplete
class foo;
^
1 error generated.
When both types are incomplete it says that too:
88503.cc:6:16: error: static_cast from 'Parent *' to 'Derived *', which are not
related by inheritance, is not allowed
return static_cast<Derived*>(p);
^~~~~~~~~~~~~~~~~~~~~~~~
88503.cc:2:7: note: 'Derived' is incomplete
class Derived;
^
88503.cc:1:7: note: 'Parent' is incomplete
class Parent;
^
1 error generated.