https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80849
--- Comment #1 from DB <db0451 at gmail dot com> --- (In reply to DB from comment #0) > With additional testing, on 6.3.0, I determined that - much like that other > old bug - this problem only occurs if the virtual base constructor and the > constructors of the intermediate derived classes have different argument > signatures. > [...] > Like the other bug, if you alter the constructors of V, A, and B to have the > same number/type of arguments, then the problematic extra calls are > suppressed. Huh, no. It seems that any number of arguments > 1 causes the problem, even if all the ctor signatures match. Thus I think the pattern is as follows: Only if the ctors are single-argument, will brace-initialisation not result in spurious extra calls to the virtual base constructor.