[Bug c++/80935] [C++1z] incorrect error 'uninitialized variable in constexpr function' when conditionally declaring variable inside lambda inside template class

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Aug 29 22:56:00 GMT 2017


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

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Tue Aug 29 19:51:30 2017
New Revision: 251429

URL: https://gcc.gnu.org/viewcvs?rev=251429&root=gcc&view=rev
Log:
        PR c++/80935 - wrong C++17 error with lambda

        * decl.c (check_for_uninitialized_const_var): Check
        is_instantiation_of_constexpr.
        * constexpr.c (ensure_literal_type_for_constexpr_object): Check
        is_instantiation_of_constexpr.
        (potential_constant_expression_1): Check var_in_maybe_constexpr_fn.

Added:
    trunk/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda16.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/decl.c


More information about the Gcc-bugs mailing list