URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
/* When compiled with -pedantic, this program will cause an ICE when the
|
/* When compiled with -pedantic, this program will cause an ICE when the
|
constant propagator tries to set the value of *str to UNDEFINED.
|
constant propagator tries to set the value of *str to UNDEFINED.
|
|
|
This happens because *str is erroneously considered as a store alias.
|
This happens because *str is erroneously considered as a store alias.
|
The aliasing code is then making *str an alias leader for its alias set
|
The aliasing code is then making *str an alias leader for its alias set
|
and when the PHI node at the end of the while() is visited the first
|
and when the PHI node at the end of the while() is visited the first
|
time, CCP will try to assign it a value of UNDEFINED, but the default
|
time, CCP will try to assign it a value of UNDEFINED, but the default
|
value for *str is a constant. */
|
value for *str is a constant. */
|
typedef unsigned int size_t;
|
typedef unsigned int size_t;
|
size_t strlength (const char * const);
|
size_t strlength (const char * const);
|
char foo();
|
char foo();
|
|
|
static const char * const str = "mingo";
|
static const char * const str = "mingo";
|
|
|
bar()
|
bar()
|
{
|
{
|
size_t c;
|
size_t c;
|
char *x;
|
char *x;
|
|
|
c = strlength (str);
|
c = strlength (str);
|
while (c < 10)
|
while (c < 10)
|
{
|
{
|
if (c > 5)
|
if (c > 5)
|
*x = foo ();
|
*x = foo ();
|
if (*x < 'a')
|
if (*x < 'a')
|
break;
|
break;
|
}
|
}
|
|
|
return *x == '3';
|
return *x == '3';
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.