28 lines
513 B
C
28 lines
513 B
C
/* 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);
|
|
}
|