/* PR rtl-optimization/27616 */ | |
/* Reported by Lee Ji Hwan <moonz@kaist.ac.kr> */ | |
/* Testcase by Andrew Pinski <pinskia@gcc.gnu.org> */ | |
struct chunk_s | |
{ | |
unsigned int size; | |
int offset_next; | |
}; | |
typedef struct chunk_s chunk_t; | |
void foo(chunk_t *first) | |
{ | |
chunk_t *cur; | |
char *first0; | |
do { | |
first0 = (char *) first; | |
cur = (chunk_t *) (first0 + first->offset_next); | |
if ((chunk_t *) (first0 + cur->offset_next) != first) | |
return ; | |
first->offset_next = 0; | |
} while (cur->size != 0); | |
} |