https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87327
--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Tue Mar 26 16:02:19 2019 New Revision: 269951 URL: https://gcc.gnu.org/viewcvs?rev=269951&root=gcc&view=rev Log: PR c++/86429 - constexpr variable in lambda. When we refer to a captured variable from a constant-expression context inside a lambda, the closure (like any function parameter) is not constant because we aren't in a call, so we don't have an argument. So the capture is non-constant. But if the captured variable is constant, we might be able to use it directly in constexpr evaluation. PR c++/82643 PR c++/87327 * constexpr.c (cxx_eval_constant_expression): In a lambda function, try evaluating the captured variable directly. Added: trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const10.C trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const9.C trunk/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda24.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/constexpr.c