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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:43439d5e8424f3a746003ef8953e1cdc120fbbd7

commit r10-8024-g43439d5e8424f3a746003ef8953e1cdc120fbbd7
Author: Patrick Palka <ppa...@redhat.com>
Date:   Tue Apr 28 21:45:54 2020 -0400

    c++: Parameter pack in requires parameter list [PR94808]

    When printing the substituted parameter list of a requires-expression as
    part of the "in requirements with ..." context line during concepts
    diagnostics, we weren't considering that substitution into a parameter
    pack can yield zero or multiple parameters.

    This patch changes the way we print the parameter list of a
    requires-expression in print_requires_expression_info.  We now print the
    dependent form of the parameter list (along with its template parameter
    mapping) instead of printing its substituted form.  Besides being an
    improvement in its own, this also sidesteps the substitution issue in the
    PR altogether.

    gcc/cp/ChangeLog:

            PR c++/94808
            * error.c (print_requires_expression_info): Print the dependent
            form of the parameter list with its template parameter mapping,
            rather than printing the substituted form.

    gcc/testsuite/ChangeLog:

            PR c++/94808
            * g++.dg/concepts/diagnostic12.C: New test.
            * g++.dg/concepts/diagnostic5.C: Adjust dg-message.

Reply via email to