OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.benjamin/] [bool01.C] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
// { 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;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.