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

--- Comment #4 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:6bbd8afee0036c274f5ebb5b48d6fdc2091bd046

commit r12-7277-g6bbd8afee0036c274f5ebb5b48d6fdc2091bd046
Author: Patrick Palka <ppa...@redhat.com>
Date:   Thu Feb 17 08:35:23 2022 -0500

    c++: double non-dep folding from finish_compound_literal [PR104565]

    In finish_compound_literal, we perform non-dependent expr folding before
    the call to check_narrowing ever since r9-5973.  But ever since r10-7096,
    check_narrowing also performs non-dependent expr folding of its own.
    This double folding means tsubst will see non-templated trees during the
    second folding, which causes a spurious error in the below testcase.

    This patch removes the former folding operation; it seems obviated by
    the latter one.

            PR c++/104565

    gcc/cp/ChangeLog:

            * semantics.cc (finish_compound_literal): Don't perform
            non-dependent expr folding before calling check_narrowing.

    gcc/testsuite/ChangeLog:

            * g++.dg/template/non-dependent22.C: New test.

Reply via email to