Commit e4a95933 by Richard Guenther Committed by Richard Biener

re PR c/42570 (ICE in get_alias_set, at alias.c:710)

2010-01-01  Richard Guenther  <rguenther@suse.de>

	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.

From-SVN: r155557
parent 0bdf1263
2010-01-01 Richard Guenther <rguenther@suse.de>
PR c/42570
* c-decl.c (grokdeclarator): For zero-size arrays force
structural equality checks as layout_type does.
2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
* builtins.c: Update copyright to 2010.
......
/* 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);
}
}
......
2010-01-01 Richard Guenther <rguenther@suse.de>
PR c/42570
* gcc.c-torture/execute/pr42570.c: New testcase.
2010-01-01 Richard Guenther <rguenther@suse.de>
PR middle-end/42559
* gcc.c-torture/compile/pr42559.c: New testcase.
......
typedef unsigned char uint8_t;
uint8_t foo[1][0];
extern void abort (void);
int main()
{
if (sizeof (foo) != 0)
abort ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment