From: jason Date: Fri, 1 Mar 2019 00:08:58 +0000 (+0000) Subject: PR c++/88183 - ICE with .* fold-expression. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb019931f80ca33b94f1a746d98fe7104e98f5df;p=thirdparty%2Fgcc.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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269293 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 30cc1ce46b3a..a86ffa3c33b3 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 d678e2780781..7295839ebd23 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),