URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 298 |
Rev 338 |
/* PR target/32338 */
|
/* PR target/32338 */
|
/* { dg-do link } */
|
/* { dg-do link } */
|
/* { dg-options "-O2 -fno-omit-frame-pointer" } */
|
/* { dg-options "-O2 -fno-omit-frame-pointer" } */
|
|
|
struct S
|
struct S
|
{
|
{
|
};
|
};
|
|
|
int
|
int
|
__attribute__((noinline))
|
__attribute__((noinline))
|
foo (struct S *d)
|
foo (struct S *d)
|
{
|
{
|
return 2;
|
return 2;
|
}
|
}
|
|
|
int
|
int
|
__attribute__((noinline))
|
__attribute__((noinline))
|
bar (struct S *d)
|
bar (struct S *d)
|
{
|
{
|
return 4;
|
return 4;
|
}
|
}
|
|
|
int
|
int
|
__attribute__((noinline))
|
__attribute__((noinline))
|
fnl (char const *q)
|
fnl (char const *q)
|
{
|
{
|
return __builtin_strlen (q);
|
return __builtin_strlen (q);
|
}
|
}
|
|
|
int
|
int
|
__attribute__((noinline))
|
__attribute__((noinline))
|
baz (struct S *d, char const *q)
|
baz (struct S *d, char const *q)
|
{
|
{
|
unsigned int len;
|
unsigned int len;
|
len = fnl (q);
|
len = fnl (q);
|
if (len > 512)
|
if (len > 512)
|
return bar (d);
|
return bar (d);
|
return foo (d);
|
return foo (d);
|
}
|
}
|
|
|
int
|
int
|
main (int argc, char *argv[])
|
main (int argc, char *argv[])
|
{
|
{
|
if (argc > 30)
|
if (argc > 30)
|
return baz ((void *) 0, "abcde");
|
return baz ((void *) 0, "abcde");
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.