aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-prefetch.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-04-08 23:59:30 -0400
committerJason Merrill <jason@redhat.com>2020-04-09 17:34:16 -0400
commitef529765234bea7893bd56f3ab3a2da7695f6b21 (patch)
tree8c1d3602bc7bd39287c7329c91ac1bc9790146cb /gcc/tree-ssa-loop-prefetch.c
parent3fd1c229ad10fda68318882329568f400a38fb6d (diff)
downloadgcc-ef529765234bea7893bd56f3ab3a2da7695f6b21.zip
gcc-ef529765234bea7893bd56f3ab3a2da7695f6b21.tar.gz
gcc-ef529765234bea7893bd56f3ab3a2da7695f6b21.tar.bz2
c++: constexpr static data member instantiation [PR94523]
Here due to my recent change to store_init_value we were expanding the initializer of aw knowing that we were initializing aw. When cxx_eval_call_expression finished the constructor, it wanted to look up the value of aw to set TREE_READONLY on it, but we haven't set DECL_INITIAL yet, so decl_constant_value tried to instantiate the initializer again. And infinite recursion. Stopped by optimizing the case of asking for the value of ctx->object, which is ctx->value. It also would have worked to look in the values hash table, so let's move that up before decl_constant_value as well. gcc/cp/ChangeLog 2020-04-09 Jason Merrill <jason@redhat.com> PR c++/94523 * constexpr.c (cxx_eval_constant_expression) [VAR_DECL]: Look at ctx->object and ctx->global->values first.
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.c')
0 files changed, 0 insertions, 0 deletions