From f54ef8b6bdcb2db0a3bc5c76b028df7a75fe524d Mon Sep 17 00:00:00 2001 From: rguenth Date: Fri, 1 Jan 2010 17:19:02 +0000 Subject: 2010-01-01 Richard Guenther PR c/42570 * c-decl.c (grokdeclarator): For zero-size arrays force structural equality checks as layout_type does. * gcc.c-torture/execute/pr42570.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155557 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/c-decl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/c-decl.c') diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 0655197f5bc..a244a83e787 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -1,6 +1,6 @@ /* Process declarations and variables for C compiler. Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. @@ -5394,6 +5394,7 @@ grokdeclarator (const struct c_declarator *declarator, gcc_assert (itype); TYPE_SIZE (type) = bitsize_zero_node; TYPE_SIZE_UNIT (type) = size_zero_node; + SET_TYPE_STRUCTURAL_EQUALITY (type); } if (array_parm_vla_unspec_p) { @@ -5401,6 +5402,7 @@ grokdeclarator (const struct c_declarator *declarator, /* The type is complete. C99 6.7.5.2p4 */ TYPE_SIZE (type) = bitsize_zero_node; TYPE_SIZE_UNIT (type) = size_zero_node; + SET_TYPE_STRUCTURAL_EQUALITY (type); } } -- cgit v1.2.1