From 1567db2f02e005b7a3349aedf0afb37c36260beb Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 21 Oct 2015 23:12:05 +0200 Subject: fold-const.c (operand_equal_p): Add code matching empty constructors. * fold-const.c (operand_equal_p): Add code matching empty constructors. * gcc.dg/tree-ssa/operand-equal-1.c: Verify that empty constructors are matched. From-SVN: r229147 --- gcc/fold-const.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/fold-const.c') diff --git a/gcc/fold-const.c b/gcc/fold-const.c index b7874a0..602ea24 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2891,6 +2891,11 @@ operand_equal_p (const_tree arg0, const_tree arg1, unsigned int flags) return operand_equal_p (TREE_OPERAND (arg0, 0), TREE_OPERAND (arg1, 0), flags | OEP_ADDRESS_OF | OEP_CONSTANT_ADDRESS_OF); + case CONSTRUCTOR: + /* In GIMPLE empty constructors are allowed in initializers of + aggregates. */ + return (!vec_safe_length (CONSTRUCTOR_ELTS (arg0)) + && !vec_safe_length (CONSTRUCTOR_ELTS (arg1))); default: break; } -- cgit v1.1