URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do run }
|
// { dg-do run }
|
//980323 bkoz
|
//980323 bkoz
|
//test for bools with inclusive ors
|
//test for bools with inclusive ors
|
|
|
#include
|
#include
|
#include
|
#include
|
|
|
void bar ( bool x ) {}
|
void bar ( bool x ) {}
|
void bars ( short x ) {}
|
void bars ( short x ) {}
|
|
|
/* 980326 bkoz this is not initialized and so can have indeterminate value. */
|
/* 980326 bkoz this is not initialized and so can have indeterminate value. */
|
#if 0
|
#if 0
|
int orb(){
|
int orb(){
|
bool y;
|
bool y;
|
bar ( y );
|
bar ( y );
|
int blob = ( 27 | int (y) );
|
int blob = ( 27 | int (y) );
|
return blob; //expect 27 or 0
|
return blob; //expect 27 or 0
|
}
|
}
|
#endif
|
#endif
|
|
|
int orbtrue(){
|
int orbtrue(){
|
bool y = true;
|
bool y = true;
|
bar ( y );
|
bar ( y );
|
int blob = ( 27 | int (y) );
|
int blob = ( 27 | int (y) );
|
return blob; //expect 27
|
return blob; //expect 27
|
}
|
}
|
|
|
int orbfalse(){
|
int orbfalse(){
|
bool y = false;
|
bool y = false;
|
bar ( y );
|
bar ( y );
|
int blob = ( 27 | int (y) );
|
int blob = ( 27 | int (y) );
|
return blob; //expect 27
|
return blob; //expect 27
|
}
|
}
|
|
|
int orbfalse2(){
|
int orbfalse2(){
|
bool y = 0;
|
bool y = 0;
|
bar ( y );
|
bar ( y );
|
int blob = ( 27 | int (y) );
|
int blob = ( 27 | int (y) );
|
return blob; //expect 27
|
return blob; //expect 27
|
}
|
}
|
|
|
int ors(){
|
int ors(){
|
short y = 1;
|
short y = 1;
|
bars ( y );
|
bars ( y );
|
int blob = ( 27 | int (y) );
|
int blob = ( 27 | int (y) );
|
return blob; //expect 27
|
return blob; //expect 27
|
}
|
}
|
|
|
|
|
#if INT_MAX > 32767
|
#if INT_MAX > 32767
|
int orus(){
|
int orus(){
|
unsigned short y = 1;
|
unsigned short y = 1;
|
bars ( y );
|
bars ( y );
|
int blob = ( 65539 | int (y) );
|
int blob = ( 65539 | int (y) );
|
return blob; //expect 65539, will be 3 if done in us type
|
return blob; //expect 65539, will be 3 if done in us type
|
}
|
}
|
#endif
|
#endif
|
|
|
int main() {
|
int main() {
|
int tmp;
|
int tmp;
|
#if 0
|
#if 0
|
tmp = orb();
|
tmp = orb();
|
assert (tmp == 27 || tmp == 0);
|
assert (tmp == 27 || tmp == 0);
|
#endif
|
#endif
|
tmp = orbtrue();
|
tmp = orbtrue();
|
assert (tmp ==27);
|
assert (tmp ==27);
|
tmp = orbfalse();
|
tmp = orbfalse();
|
assert (tmp ==27);
|
assert (tmp ==27);
|
tmp = orbfalse2();
|
tmp = orbfalse2();
|
assert (tmp ==27);
|
assert (tmp ==27);
|
tmp = ors();
|
tmp = ors();
|
assert (tmp ==27);
|
assert (tmp ==27);
|
#if INT_MAX > 32767
|
#if INT_MAX > 32767
|
tmp = orus();
|
tmp = orus();
|
assert (tmp == 65539);
|
assert (tmp == 65539);
|
#endif
|
#endif
|
|
|
return 0;
|
return 0;
|
}
|
}
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.