URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
/* PR bootstrap/4192
|
/* PR bootstrap/4192
|
This testcase caused infinite loop in flow (several places),
|
This testcase caused infinite loop in flow (several places),
|
because flow assumes gen_jump generates simple_jump_p. */
|
because flow assumes gen_jump generates simple_jump_p. */
|
|
|
typedef void (*T) (void);
|
typedef void (*T) (void);
|
extern T x[];
|
extern T x[];
|
|
|
void
|
void
|
foo (void)
|
foo (void)
|
{
|
{
|
static T *p = x;
|
static T *p = x;
|
static _Bool a;
|
static _Bool a;
|
T f;
|
T f;
|
|
|
if (__builtin_expect (a, 0))
|
if (__builtin_expect (a, 0))
|
return;
|
return;
|
|
|
while ((f = *p))
|
while ((f = *p))
|
{
|
{
|
p++;
|
p++;
|
f ();
|
f ();
|
}
|
}
|
a = 1;
|
a = 1;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.