http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48930

--- Comment #3 from Johannes Schaub <schaub.johannes at googlemail dot com> 
2011-05-08 22:02:29 UTC ---
(In reply to comment #2)
> (In reply to comment #1)
> > I think it can be argued that this is a bug in the Standard rather than in 
> > GCC.
> > The Standard says that members of C are zero initialized. 
> > 
> 
> Let me please be more precise than that. I wanted those notes to only apply to
> the value initialization of "c2". I agree that the default initialization for
> "c1" is still ill-formed and should be diagnosed.

.. and final comment for today, I missed that this only value-initializes "c2"
if it has a default constructor! Since it doesn't have a default constructor,
8.5.4 will not hit bullet p3bullet1, but p3bullet2 because "C" is an aggregate
class. As a consequence, I believe aggregate initialization happens and the
initialization of c2 is well-formed this way too.

Shouldn't comment this late in the day. Perhaps I missed something again :)

Reply via email to