https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93596

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r10-4719-g9b41ebbcdf9e33285a0eebeb7c841afe20e4a7c1

commit 9b41ebbcdf9e33285a0eebeb7c841afe20e4a7c1
Author: Jason Merrill <ja...@redhat.com>
Date:   Fri Nov 15 09:51:05 2019 -0500

    Implement P1816R0, class template argument deduction for aggregates.

    Rather than reimplement brace elision here, we call reshape_init and then
    discard the result.  We needed to set CLASSTYPE_NON_AGGREGATE a bit more in
    this patch, since outside a template it's set in check_bases_and_members.

            * pt.c (maybe_aggr_guide, collect_ctor_idx_types): New.
            (is_spec_or_derived): Split out from do_class_deduction.
            (build_deduction_guide): Handle aggregate guide.
            * class.c (finish_struct): Set CLASSTYPE_NON_AGGREGATE in a
            template.
            * cp-tree.h (CP_AGGREGATE_TYPE_P): An incomplete class is not an
            aggregate.

    From-SVN: r278298

Reply via email to