(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20070623-1.c
       1  #include <limits.h>
       2  
       3  int __attribute__((noinline)) nge(int a, int b) {return -(a >= b);}
       4  int __attribute__((noinline)) ngt(int a, int b) {return -(a > b);}
       5  int __attribute__((noinline)) nle(int a, int b) {return -(a <= b);}
       6  int __attribute__((noinline)) nlt(int a, int b) {return -(a < b);}
       7  int __attribute__((noinline)) neq(int a, int b) {return -(a == b);}
       8  int __attribute__((noinline)) nne(int a, int b) {return -(a != b);}
       9  int __attribute__((noinline)) ngeu(unsigned a, unsigned b) {return -(a >= b);}
      10  int __attribute__((noinline)) ngtu(unsigned a, unsigned b) {return -(a > b);}
      11  int __attribute__((noinline)) nleu(unsigned a, unsigned b) {return -(a <= b);}
      12  int __attribute__((noinline)) nltu(unsigned a, unsigned b) {return -(a < b);}
      13  
      14  
      15  int main()
      16  {
      17    if (nge(INT_MIN, INT_MAX) !=  0) abort();
      18    if (nge(INT_MAX, INT_MIN) != -1) abort();
      19    if (ngt(INT_MIN, INT_MAX) !=  0) abort();
      20    if (ngt(INT_MAX, INT_MIN) != -1) abort();
      21    if (nle(INT_MIN, INT_MAX) != -1) abort();
      22    if (nle(INT_MAX, INT_MIN) !=  0) abort();
      23    if (nlt(INT_MIN, INT_MAX) != -1) abort();
      24    if (nlt(INT_MAX, INT_MIN) !=  0) abort();
      25  
      26    if (neq(INT_MIN, INT_MAX) !=  0) abort();
      27    if (neq(INT_MAX, INT_MIN) !=  0) abort();
      28    if (nne(INT_MIN, INT_MAX) != -1) abort();
      29    if (nne(INT_MAX, INT_MIN) != -1) abort();
      30  
      31    if (ngeu(0, ~0U) !=  0) abort();
      32    if (ngeu(~0U, 0) != -1) abort();
      33    if (ngtu(0, ~0U) !=  0) abort();
      34    if (ngtu(~0U, 0) != -1) abort();
      35    if (nleu(0, ~0U) != -1) abort();
      36    if (nleu(~0U, 0) !=  0) abort();
      37    if (nltu(0, ~0U) != -1) abort();
      38    if (nltu(~0U, 0) !=  0) abort();
      39    
      40    exit(0);
      41  }