URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
/* PR rtl-optimization/27616 */
|
/* PR rtl-optimization/27616 */
|
/* Reported by Lee Ji Hwan <moonz@kaist.ac.kr> */
|
/* Reported by Lee Ji Hwan <moonz@kaist.ac.kr> */
|
/* Testcase by Andrew Pinski <pinskia@gcc.gnu.org> */
|
/* Testcase by Andrew Pinski <pinskia@gcc.gnu.org> */
|
|
|
struct chunk_s
|
struct chunk_s
|
{
|
{
|
unsigned int size;
|
unsigned int size;
|
int offset_next;
|
int offset_next;
|
};
|
};
|
|
|
typedef struct chunk_s chunk_t;
|
typedef struct chunk_s chunk_t;
|
|
|
void foo(chunk_t *first)
|
void foo(chunk_t *first)
|
{
|
{
|
chunk_t *cur;
|
chunk_t *cur;
|
char *first0;
|
char *first0;
|
|
|
do {
|
do {
|
first0 = (char *) first;
|
first0 = (char *) first;
|
cur = (chunk_t *) (first0 + first->offset_next);
|
cur = (chunk_t *) (first0 + first->offset_next);
|
if ((chunk_t *) (first0 + cur->offset_next) != first)
|
if ((chunk_t *) (first0 + cur->offset_next) != first)
|
return ;
|
return ;
|
|
|
first->offset_next = 0;
|
first->offset_next = 0;
|
|
|
} while (cur->size != 0);
|
} while (cur->size != 0);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.