gcc/
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Dec 2004 11:26:47 +0000 (11:26 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Dec 2004 11:26:47 +0000 (11:26 +0000)
commit42b746980785a6cc298a04f4308c63b4ec34bacb
tree9c25a2d0ac01a41629a94a7371f5c14a2e9e6fe0
parentcf55bc95ba3e9544729d48d834f5316cbee679a5
gcc/
PR middle-end/18191
PR middle-end/18965
PR middle-end/18999
* expr.c (categorize_ctor_elements_1): Count the total number
of elements in the constructor.
(categorize_ctor_elements): Return it in a new argument.
* tree.h (categorize_ctor_elements): Adjust prototype.
* gimplify.c (gimplify_init_ctor_eval_range): New.
(gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
(gimplify_init_constructor): Block clear the object if the
constructor has fewer elements than the object type.  Only try
to add assignments to individual elements when we have to.

testsuite/
 * gcc.dg/20041219-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92415 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expr.c
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20041219-1.c [new file with mode: 0644]
gcc/tree.h