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)