diff options
author | Jason Merrill <jason@redhat.com> | 2019-02-28 19:08:58 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2019-02-28 19:08:58 -0500 |
commit | aaa6a4664b55ef69bd19c2dee94a40cb619f6330 (patch) | |
tree | e1d4b52d1b28605ef8c77e615cf4ea7c62490561 /gcc | |
parent | 1eb7a0850bfe34f3bae0681a0032e4cbb3adaa17 (diff) | |
download | gcc-aaa6a4664b55ef69bd19c2dee94a40cb619f6330.zip gcc-aaa6a4664b55ef69bd19c2dee94a40cb619f6330.tar.gz gcc-aaa6a4664b55ef69bd19c2dee94a40cb619f6330.tar.bz2 |
PR c++/88183 - ICE with .* fold-expression.
build_m_component_ref can't handle type-dependent operands, so let's use the
default case; tsubst_copy_and_build also uses build_x_binary_op for
substituting a DOTSTAR_EXPR.
* pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling.
From-SVN: r269293
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/pt.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 30cc1ce..a86ffa3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2019-02-28 Jason Merrill <jason@redhat.com> + PR c++/88183 - ICE with .* fold-expression. + * pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling. + PR c++/86969 - ICE with constexpr if and recursive generic lambdas. * class.c, lambda.c, pt.c: Revert earlier change. * lambda.c (add_capture): Don't special-case capture of dependent diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index d678e27..7295839 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -11784,8 +11784,6 @@ fold_expression (tree t, tree left, tree right, tsubst_flags_t complain) { case COMPOUND_EXPR: return build_x_compound_expr (input_location, left, right, complain); - case DOTSTAR_EXPR: - return build_m_component_ref (left, right, complain); default: return build_x_binary_op (input_location, code, left, TREE_CODE (left), |