C++ PATCH for c++/59659 (compile-hog with list-initialization of member array)

Jakub Jelinek jakub@redhat.com
Fri Jan 24 17:53:00 GMT 2014

On Fri, Jan 24, 2014 at 11:47:17AM -0500, Jason Merrill wrote:
> On 01/15/2014 02:08 PM, Jason Merrill wrote:
> >1) Because atomics do have user-provided constructors, we were going
> >down the constructor path and not realizing that it just gave us
> >zero-initialization.  Fixed by calling maybe_constant_value and avoiding
> >adding extra zero-initialization to the end of the CONSTRUCTOR.
> >
> >2) If we aren't dealing with zero-initialization, when we
> >value-initialize a bunch of elements at the end of an array, we really
> >ought to use a loop rather than initializing them individually.  Fixed
> >by using RANGE_EXPR and build_vec_init.
> We really aren't ready to use RANGE_EXPR, as it turns out; a lot of
> places need to be changed to handle it, and this doesn't seem like
> the time in the development cycle for that sort of change.  So I'm
> reverting #2 until the next stage 1, to fix c++/59886.

Wouldn't my patch then be useful short-term partial fix for 4.9 and
we could revert it when RANGE_EXPR are committed again to 5.0?


More information about the Gcc-patches mailing list