このシナリオでは、Clang は空の基本クラスの最適化を行わないようです。
struct A { }; //sizeof(A) == 1 -> OK
struct B : public A { int _intValue; };//sizeof(B) == 4 -> OK, EBCO works here
struct C : public A { B _bValue; }; //sizeof(C) == 8 -> ??? Not OK
g++ は同じ (または同様の) 方法で動作するようです。これは正常ですか?EBCO がここに参入すべきだと思います。
ここで違法になる何かが欠けていますか?