/* PR rtl-optimization/27616 */ /* Reported by Lee Ji Hwan */ /* Testcase by Andrew Pinski */ 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); }