--- Comment #5 from reichelt at gcc dot gnu dot org 2005-11-29 20:33
---
This is not a bug in GCC. The code is invalid.
Let's consider the following simplified example which is just a
part of the diamond:
A0
|
A
/
B
==
struct A0
{
A0(int);
};
--- Additional Comments From Serge dot Iovleff at univ-lille1 dot fr
2005-03-01 11:16 ---
(In reply to comment #3)
it is invalid to use A0 in the base constructor list of D, because A0 is not a
virtual base for D. .it doesn't matter that the inheritance A-A0 is declared
virtual, 2
--- Additional Comments From sstrasser at systemhaus-gruppe dot de
2005-03-01 05:38 ---
it is invalid to use A0 in the base constructor list of D, because A0 is not a
virtual base for D. .it doesn't matter that the inheritance A-A0 is declared
virtual, 2 trees which both inherit A0 must
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-25
15:10 ---
I think this is invalid code but I don't know how to produce it right now.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20207
--- Additional Comments From Serge dot Iovleff at univ-lille1 dot fr
2005-02-25 15:43 ---
(In reply to comment #1)
I think this is invalid code but I don't know how to produce it right now.
Yes you can add an explicit call to the constructor of A0 in B and C,
in this case the error