URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O2" } */
|
/* { dg-options "-O2" } */
|
|
|
/* PR17513 - we hit a bug where EDGE_EXECUTABLE was not cleared on
|
/* PR17513 - we hit a bug where EDGE_EXECUTABLE was not cleared on
|
successors of the entry block. This lead to a flow verification
|
successors of the entry block. This lead to a flow verification
|
error much later in the compilation (after gcse). */
|
error much later in the compilation (after gcse). */
|
typedef unsigned char uint8;
|
typedef unsigned char uint8;
|
typedef unsigned int uint32;
|
typedef unsigned int uint32;
|
|
|
uint32 marker = 0;
|
uint32 marker = 0;
|
uint8 *buff = 0;
|
uint8 *buff = 0;
|
uint32 bsize = 0;
|
uint32 bsize = 0;
|
|
|
extern int foo (void);
|
extern int foo (void);
|
|
|
uint32
|
uint32
|
bar (void)
|
bar (void)
|
{
|
{
|
int len, d;
|
int len, d;
|
|
|
for (;;)
|
for (;;)
|
{
|
{
|
if (foo () == 0)
|
if (foo () == 0)
|
return (0);
|
return (0);
|
|
|
switch (marker)
|
switch (marker)
|
{
|
{
|
case 0xfe:
|
case 0xfe:
|
{
|
{
|
len |= (*buff++);
|
len |= (*buff++);
|
bsize -= 2;
|
bsize -= 2;
|
|
|
while (len > 0)
|
while (len > 0)
|
{
|
{
|
d = *buff++;
|
d = *buff++;
|
len--;
|
len--;
|
}
|
}
|
}
|
}
|
break;
|
break;
|
default:
|
default:
|
break;
|
break;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.