re PR middle-end/18191 (Struct member is not getting default-initialized)
authorSteven Bosscher <stevenb@suse.de>
Mon, 20 Dec 2004 11:26:47 +0000 (11:26 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Mon, 20 Dec 2004 11:26:47 +0000 (11:26 +0000)
commit6fa91b48742a376c845ecbd1676d887dc3829c9d
tree9c25a2d0ac01a41629a94a7371f5c14a2e9e6fe0
parent8f7e12f0dac20ed85fdb563070d3967c12f7ae3e
re PR middle-end/18191 (Struct member is not getting default-initialized)

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.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r92415
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