[Bug c++/78948] [C++17] constexpr if instantiating too eagerly

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jan 8 06:37:00 GMT 2017


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

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Sun Jan  8 06:36:10 2017
New Revision: 244206

URL: https://gcc.gnu.org/viewcvs?rev=244206&root=gcc&view=rev
Log:
        PR c++/78948 - instantiation from discarded statement
        * parser.h (struct cp_parser): Remove in_discarded_stmt field.
        * cp-tree.h (in_discarded_stmt): Declare it.
        (struct saved_scope): Add discarded_stmt bitfield.
        (in_discarded_stmt): New macro.
        * decl2.c (mark_used): Check it.
        * parser.c (cp_parser_selection_statement): Adjust.
        (cp_parser_jump_statement): Adjust.

Added:
    trunk/gcc/testsuite/g++.dg/cpp1z/constexpr-if10.C
    trunk/gcc/testsuite/g++.dg/cpp1z/constexpr-if11.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl2.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/parser.h


More information about the Gcc-bugs mailing list