[Bug tree-optimization/22335] DOM creates mis-matched types
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Jul 8 18:43:00 GMT 2005
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-08 18:43 -------
Another testcase for a different related problem but still in DOM:
void abort(void) __attribute__((__noreturn__));
typedef struct {
int container;
} edge_iterator;
struct ls_expr
{
int index;
int stores;
struct ls_expr * next;
};
struct ls_expr * pre_ldst_mems;
edge_iterator ei;
void
store_motion (void)
{
struct ls_expr * ptr, **prev_next_ptr_ptr;
edge_iterator ei1;
edge_iterator ei2;
int a = ptr != ((void *)0);
for (ptr = pre_ldst_mems, prev_next_ptr_ptr = &pre_ldst_mems;
ptr != ((void *)0);
ptr = *prev_next_ptr_ptr)
if (!((ptr)->stores))
*prev_next_ptr_ptr = ptr->next;
else
prev_next_ptr_ptr = &ptr->next;
for (ptr = pre_ldst_mems; ptr != 0; ptr = ptr->next)
;
ei1 = ei;
ei2 = ei1;
if (!ei2.container)
abort ();
ei2 = ei1;
if (!ei2.container)
abort ();
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22335
More information about the Gcc-bugs
mailing list