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

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

https://gcc.gnu.org/g:c0f38a14c8e9daf4c3f96fe9de4e9785616d5912

commit r11-9795-gc0f38a14c8e9daf4c3f96fe9de4e9785616d5912
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.c (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.

    (cherry picked from commit 6bbd8afee0036c274f5ebb5b48d6fdc2091bd046)

Reply via email to