1 /* PR rtl-optimization/27616 */ 2 /* Reported by Lee Ji Hwan <moonz@kaist.ac.kr> */ 3 /* Testcase by Andrew Pinski <pinskia@gcc.gnu.org> */ 4 5 struct chunk_s 6 { 7 unsigned int size; 8 int offset_next; 9 }; 10 11 typedef struct chunk_s chunk_t; 12 foo(chunk_t * first)13void foo(chunk_t *first) 14 { 15 chunk_t *cur; 16 char *first0; 17 18 do { 19 first0 = (char *) first; 20 cur = (chunk_t *) (first0 + first->offset_next); 21 if ((chunk_t *) (first0 + cur->offset_next) != first) 22 return ; 23 24 first->offset_next = 0; 25 26 } while (cur->size != 0); 27 } 28