Skip to content
Snippets Groups Projects
Commit 118ed72a authored by Volker Reichelt's avatar Volker Reichelt Committed by Volker Reichelt
Browse files

re PR target/27421 (ICE with invalid array in struct)

	PR target/27421
	* config/i386/i386.c (classify_argument): Skip fields with invalid
	types in unions.

	* gcc.dg/union-3.c: New test.

From-SVN: r114494
parent 524e3576
No related branches found
No related tags found
No related merge requests found
2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR target/27421
* config/i386/i386.c (classify_argument): Skip fields with invalid
types in unions.
2006-06-08 Steven Bosscher <steven@gcc.gnu.org>
* cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
......
......@@ -3045,6 +3045,10 @@ classify_argument (enum machine_mode mode, tree type,
if (TREE_CODE (field) == FIELD_DECL)
{
int num;
if (TREE_TYPE (field) == error_mark_node)
continue;
num = classify_argument (TYPE_MODE (TREE_TYPE (field)),
TREE_TYPE (field), subclasses,
bit_offset);
......
2006-06-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR target/27421
* gcc.dg/union-3.c: New test.
2006-06-08 Richard Guenther <rguenther@suse.de>
 
PR middle-end/27116
/* PR target/27421 */
/* { dg-do compile } */
union A
{
int i;
void x[1]; /* { dg-error "array of voids" } */
};
void foo(union A a) {}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment