diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-03-14 09:13:09 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-03-14 09:13:09 +0100 |
commit | 0ee285909bcef729415995e16c68e8713c59996f (patch) | |
tree | 9b58ba70a1a25f6b7a582ab1da5e135537361b8c /gcc/tree-ssa-loop-ch.c | |
parent | 7da0bca130c98fa219b81f58da44f5e1222b321a (diff) | |
download | gcc-0ee285909bcef729415995e16c68e8713c59996f.zip gcc-0ee285909bcef729415995e16c68e8713c59996f.tar.gz gcc-0ee285909bcef729415995e16c68e8713c59996f.tar.bz2 |
re PR c++/89652 (ICE during constexpr evaluation)
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.
From-SVN: r269671
Diffstat (limited to 'gcc/tree-ssa-loop-ch.c')
0 files changed, 0 insertions, 0 deletions