https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104565
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>: https://gcc.gnu.org/g:22682e291ef4b5dcb6be3a12089dbbc46889002c commit r10-10603-g22682e291ef4b5dcb6be3a12089dbbc46889002c 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)