(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
torture/
builtin-arith-overflow-6.c
       1  /* Test __builtin_{add,sub,mul}_overflow.  */
       2  /* { dg-do run { target int128 } } */
       3  /* { dg-skip-if "" { ! run_expensive_tests }  { "*" } { "-O0" "-O2" } } */
       4  
       5  #include "builtin-arith-overflow-1.h"
       6  
       7  #define INT128_MAX ((signed __int128) (((unsigned __int128) 1 << (__SIZEOF_INT128__ * __CHAR_BIT__ - 1)) - 1))
       8  #define INT128_MIN (-INT128_MAX - 1)
       9  
      10  #define U(s, op) op
      11  TESTS (__int128, INT128_MIN, INT128_MAX)
      12  
      13  #undef T
      14  #define T(n, t1, t2, tr, v1, v2, vr, b, o) t##n##b ();
      15  
      16  int
      17  main ()
      18  {
      19    TESTS (__int128, INT128_MIN, INT128_MAX)
      20    return 0;
      21  }