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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #2)
> ICE started with r11-2748

    c++: Rewrite members for all deduction guides. [PR96199]

    After the last patch, it occurred to me that we could run into the
    specialization issue with non-alias deduction guides as well, so this patch
    extends the rewriting to C++17 mode.

    Doing this revealed that we weren't properly pushing into class scope for
    normalization.

    gcc/cp/ChangeLog:

            PR c++/96199
            * pt.c (tsubst_aggr_type): Rewrite in C++17, too.
            (maybe_dependent_member_ref): Likewise.
            (build_deduction_guide): Re-substitute template parms.
            * cp-tree.h (struct push_nested_class_guard): New.
            * constraint.cc (get_normalized_constraints_from_decl): Use it.

    gcc/testsuite/ChangeLog:

            PR c++/96199
            * g++.dg/cpp1z/class-deduction-spec1.C: New test.

Reply via email to