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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Mar 14 08:13:09 2019
New Revision: 269671

URL: https://gcc.gnu.org/viewcvs?rev=269671&root=gcc&view=rev
Log:
        PR c++/89652
        * constexpr.c (struct constexpr_ctx): Change save_exprs type from
        hash_set<tree> to vec<tree>.
        (cxx_eval_call_expression): Adjust for save_exprs being a vec instead
        of hash_set.
        (cxx_eval_loop_expr): Likewise.  Truncate the vector after each
        removal of SAVE_EXPRs from values.
        (cxx_eval_constant_expression) <case SAVE_EXPR>: Call safe_push
        method on save_exprs instead of add.

        * g++.dg/cpp1y/constexpr-89652.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-89652.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to