expand_constructor has if ((TREE_STATIC (exp) && ((mode == BLKmode && ! (target != 0 && safe_from_p (target, exp, 1))) || TREE_ADDRESSABLE (exp) || (tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)) && (! can_move_by_pieces (tree_to_uhwi (TYPE_SIZE_UNIT (type)), TYPE_ALIGN (type))) && ! mostly_zeros_p (exp)))) || ((modifier == EXPAND_INITIALIZER || modifier == EXPAND_CONST_ADDRESS) && TREE_CONSTANT (exp)))
But indentations are misleading. It shuld be if ((TREE_STATIC (exp) && ((mode == BLKmode && ! (target != 0 && safe_from_p (target, exp, 1))) || TREE_ADDRESSABLE (exp) || (tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)) && (! can_move_by_pieces (tree_to_uhwi (TYPE_SIZE_UNIT (type)), TYPE_ALIGN (type))) && ! mostly_zeros_p (exp)))) || ((modifier == EXPAND_INITIALIZER || modifier == EXPAND_CONST_ADDRESS) && TREE_CONSTANT (exp))) * expr.c (expand_constructor): Correct indentations. --- gcc/expr.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index af5bbeeb2f9..5d5d318a1a2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8137,12 +8137,12 @@ expand_constructor (tree exp, rtx target, enum expand_modifier modifier, if ((TREE_STATIC (exp) && ((mode == BLKmode && ! (target != 0 && safe_from_p (target, exp, 1))) - || TREE_ADDRESSABLE (exp) - || (tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)) - && (! can_move_by_pieces - (tree_to_uhwi (TYPE_SIZE_UNIT (type)), - TYPE_ALIGN (type))) - && ! mostly_zeros_p (exp)))) + || TREE_ADDRESSABLE (exp) + || (tree_fits_uhwi_p (TYPE_SIZE_UNIT (type)) + && (! can_move_by_pieces + (tree_to_uhwi (TYPE_SIZE_UNIT (type)), + TYPE_ALIGN (type))) + && ! mostly_zeros_p (exp)))) || ((modifier == EXPAND_INITIALIZER || modifier == EXPAND_CONST_ADDRESS) && TREE_CONSTANT (exp))) { -- 2.20.1