From: Jason Merrill Date: Fri, 1 Mar 2019 00:08:58 +0000 (-0500) Subject: PR c++/88183 - ICE with .* fold-expression. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aaa6a4664b55ef69bd19c2dee94a40cb619f6330;p=gcc.git 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 --- 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 + 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 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),