aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2019-02-28 19:08:58 -0500
committerJason Merrill <jason@gcc.gnu.org>2019-02-28 19:08:58 -0500
commitaaa6a4664b55ef69bd19c2dee94a40cb619f6330 (patch)
treee1d4b52d1b28605ef8c77e615cf4ea7c62490561 /gcc
parent1eb7a0850bfe34f3bae0681a0032e4cbb3adaa17 (diff)
downloadgcc-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/ChangeLog3
-rw-r--r--gcc/cp/pt.c2
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),