This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[C++ PATCH] PR c++/88183 - ICE with .* fold-expression.
- From: Jason Merrill <jason at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 28 Feb 2019 19:08:48 -0500
- Subject: [C++ PATCH] 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.
Tested x86_64-pc-linux-gnu, applying to trunk.
* pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling.
---
gcc/cp/pt.c | 2 --
gcc/cp/ChangeLog | 3 +++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index d678e278078..7295839ebd2 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),
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 30cc1ce46b3..a86ffa3c33b 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
base-commit: 9b4cf3ba9e18c87adde90f3a7c7e1b770714a754
--
2.20.1