On Tue, Dec 03, 2013 at 01:03:43PM -0700, Jeff Law wrote:
> On 12/02/13 13:10, Marek Polacek wrote:
> >We triggered an assert on attached testcase, because when building the
> >compound literal with empty initial value complete_array_type returns
> >3, but we assert it returns 0.  It returns 3 only in the pedantic mode,
> >where empty initializer braces are forbidden.  Since we already gave
> >a warning, I think we could loosen the assert a bit and allow
> >empty initial values at that point.  sizeof on such compound literal
> >then yields zero, which I think is correct.
> >The assert exists even in GCC 4.0.
> >
> >Regtested/botstrapped on x86_64-linux, ok for trunk and 4.8 and
> >perhaps even 4.7?
> >
> >2013-12-02  Marek Polacek  <pola...@redhat.com>
> >
> >     PR c/59351
> >c/
> >     * c-decl.c (build_compound_literal): Allow compound literals with
> >     empty initial value.
> >testsuite/
> >     * gcc.dg/pr59351.c: New test.
> I was going to ask for some details about where we detect and warn
> to review that code as well, but given your test verifies the
> warning as well, we're good to go.

Yeah, the patch should really only fix the ICE.

> OK for the trunk.  Branch maintainers have final say for their branches.

Note that I already put this into trunk and after ack by Jakub into
4.7/4.8 branches as well. 

        Marek

Reply via email to