https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55922
--- Comment #8 from nicolas.cavallari at lri dot fr --- While your minimal test case seems to be fixed, my test case still fails on GCC 6.2.0 (Debian): The output is now: Base ctor is called at 0x7fff79b27a14 A1::Base is at 0x7fff79b27a14 B1::Base is at 0x7fff79b27a14 Base ctor is called at 0x7fff79b27a10 A2::Base is at 0x7fff79b27a10 C::Base is at 0x7fff79b27a14 2 2 3 There is one less base constructor call, so we are getting there.