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