This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR c++/19263
- From: Mark Mitchell <mark at codesourcery dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 14 Jan 2005 12:47:13 -0800
- Subject: Re: [PATCH] Fix PR c++/19263
- Organization: CodeSourcery, LLC
- References: <20050112185632.GS10340@devserv.devel.redhat.com>
Jakub Jelinek wrote:
The CONSTRUCTOR_ELTS (init) = NULL which is desirable for the
static initializer that is left in DECL_INITIAL () unfortunately
kills the initializer fields used in the MODIFY_EXPR too:
if (!initializer_constant_valid_p (init, type))
CONSTRUCTOR_ELTS (init) = NULL;
code = build2 (MODIFY_EXPR, type, dest, init);
code = build_stmt (EXPR_STMT, code);
so all vector initializers that get into split_nonconstant_init
are changed into zero vector initializers.
3.4.x code has another problem, although it created an EXPR_STMT
with MODIFY_EXPR in it, it did not store it to *pcode, so it
was thrown away.
I'm attaching separate HEAD and 3.4 patches, ok to commit if