https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119344
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I guess we need --- a/gcc/tree.cc +++ b/gcc/tree.cc @@ -4101,7 +4101,7 @@ skip_simple_arithmetic (tree expr) computations if they actually occur. */ while (true) { - if (UNARY_CLASS_P (expr)) + if (UNARY_CLASS_P (expr) && TREE_OPERAND (expr, 0)) expr = TREE_OPERAND (expr, 0); else if (BINARY_CLASS_P (expr)) {