[Bug c++/55922] brace initializing parent cause bogus virtual base constructor calls
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 7 17:13:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55922
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |msebor at gcc dot gnu.org
--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> ---
I'm not sure how helpful or relevant this is at this point but according to my
testing the wrong code seems to have been emitted since r142404 committed in
the gcc 4.4.0 release cycle:
r142404 | jason | 2008-12-03 14:22:08 -0500 (Wed, 03 Dec 2008) | 6 lines
PR c++/38380
* decl.c (grokdeclarator): Only set DECL_NONCONVERTING_P
on explicit constructors.
* pt.c (tsubst_copy_and_build) [CONSTRUCTOR]: Propagate
CONSTRUCTOR_IS_DIRECT_INIT.
Prior to that, GCC rejected the program with the following error:
error: converting to ‘const B1’ from initializer list would use explicit
constructor ‘B1::B1()’
More information about the Gcc-bugs
mailing list