diff options
author | Jason Merrill <jason@redhat.com> | 2015-12-20 13:38:37 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2015-12-20 13:38:37 -0500 |
commit | 72013ec51a97b6a709ac96845a247119e4602254 (patch) | |
tree | 59fd6f52890fff5dd866d968ff4681528d076072 /gcc/cp/init.c | |
parent | b6b990219342543d804a269a5409091a93e6d2ea (diff) | |
download | gcc-72013ec51a97b6a709ac96845a247119e4602254.zip gcc-72013ec51a97b6a709ac96845a247119e4602254.tar.gz gcc-72013ec51a97b6a709ac96845a247119e4602254.tar.bz2 |
re PR c++/67411 (internal compiler error: in tsubst_copy, at cp/pt.c:13473)
PR c++/67411
* lambda.c (generic_lambda_fn_p): Split out from...
(maybe_add_lambda_conv_op): ...here.
* semantics.c (process_outer_var_ref): Don't defer maybe-constant
variables in a generic lambda.
* pt.c (instantiate_non_dependent_or_null): New.
* init.c (constant_value_1): Use it.
* cp-tree.h: Declare it and generic_lambda_fn_p.
From-SVN: r231863
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r-- | gcc/cp/init.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 1d5cc65..09c1183 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -2080,6 +2080,8 @@ constant_value_1 (tree decl, bool strict_p, bool return_aggregate_cst_ok_p) && TREE_CODE (init) == TREE_LIST && TREE_CHAIN (init) == NULL_TREE) init = TREE_VALUE (init); + /* Instantiate a non-dependent initializer. */ + init = instantiate_non_dependent_or_null (init); if (!init || !TREE_TYPE (init) || !TREE_CONSTANT (init) |