diff options
author | Jason Merrill <jason@redhat.com> | 2020-02-10 14:12:07 +0100 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2020-02-13 00:43:22 +0100 |
commit | c2368db567a853b0765833b3bd4e7934f3c6be61 (patch) | |
tree | cafcb81e34026f059e57589f94c12142ae353a80 /gcc/fold-const.c | |
parent | 68bb7e3b9dc3be6c9ceecc2c87b9c678e1a045dc (diff) | |
download | gcc-c2368db567a853b0765833b3bd4e7934f3c6be61.zip gcc-c2368db567a853b0765833b3bd4e7934f3c6be61.tar.gz gcc-c2368db567a853b0765833b3bd4e7934f3c6be61.tar.bz2 |
c++: Fix constexpr if and braced functional cast.
While partially instantiating a generic lambda, we can encounter pack
expansions or constexpr if where we can't actually do the substitution
immediately, and instead remember a partial instantiation context
in *_EXTRA_ARGS. This includes any local_specializations used in the
pattern or condition. In this testcase our tree walk wasn't finding the use
of i because we weren't walking into the type of a CONSTRUCTOR. Fixed by
moving the code for doing that from find_parameter_packs_r into
cp_walk_subtrees.
2020-02-11 Jason Merrill <jason@redhat.com>
PR c++/92583
PR c++/92654
* tree.c (cp_walk_subtrees): Walk CONSTRUCTOR types here.
* pt.c (find_parameter_packs_r): Not here.
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions