Commit 6b24ee26 by Richard Guenther Committed by Richard Biener

re PR tree-optimization/39202 (internal compiler error: in collapse_rest_of_var,…

re PR tree-optimization/39202 (internal compiler error: in collapse_rest_of_var, at tree-ssa-structalias.c:3296)

2009-02-17  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/39202
	* tree-ssa-structalias.c (do_structure_copy): Before collapsing
	a var make sure to follow existing collapses.

	* gcc.c-torture/compile/pr39202.c: New testcase.

From-SVN: r144235
parent 91ab2c86
2009-02-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39202
* tree-ssa-structalias.c (do_structure_copy): Before collapsing
a var make sure to follow existing collapses.
2009-02-17 Richard Guenther <rguenther@suse.de>
PR middle-end/39214
* langhooks.c (lhd_print_error_function): Check for NULL block.
......
2009-02-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39202
* gcc.c-torture/compile/pr39202.c: New testcase.
2009-02-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39204
* gcc.dg/torture/pr39204.c: New testcase.
......
typedef struct
{
union
{
int * aaa;
} u;
} t_a;
typedef struct
{
unsigned bbb : 1;
} t_b;
typedef struct
{
int ccc;
t_a ddd;
t_b eee;
int fff;
} t_c;
typedef struct t_d
{
t_c f1;
t_c f2;
} t_d;
void foo (void)
{
t_d ggg;
ggg.f1 = ggg.f2;
}
......@@ -3405,8 +3405,8 @@ do_structure_copy (tree lhsop, tree rhsop)
{
if (!do_simple_structure_copy (lhs, rhs, MIN (lhssize, rhssize)))
{
lhs.var = collapse_rest_of_var (lhs.var);
rhs.var = collapse_rest_of_var (rhs.var);
lhs.var = collapse_rest_of_var (get_varinfo_fc (lhs.var)->id);
rhs.var = collapse_rest_of_var (get_varinfo_fc (rhs.var)->id);
lhs.offset = 0;
rhs.offset = 0;
lhs.type = SCALAR;
......
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