(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
c2x-enum-2.c
       1  /* Test C2x enumerations with values not representable in int.  Test values
       2     outside the range of standard or extended integer types are diagnosed, even
       3     when they can be represented in __int128.  */
       4  /* { dg-do compile { target int128 } } */
       5  /* { dg-options "-std=c2x -pedantic-errors" } */
       6  
       7  enum e1 { e1a = __LONG_LONG_MAX__, e1b }; /* { dg-error "enumerator value outside the range" } */
       8  
       9  enum e2 { e2a = __LONG_LONG_MAX__ * 2ULL + 1ULL, e2b }; /* { dg-error "enumerator value outside the range" } */
      10  
      11  /* Likewise, when it's the enum as a whole that can't fit in any standard or
      12     extended type, but the individual enumerators fit (some fitting a signed
      13     type and some fitting an unsigned type).  */
      14  enum e3 { e3a = -__LONG_LONG_MAX__ - 1, e3b = __LONG_LONG_MAX__ * 2ULL + 1ULL }; /* { dg-error "enumeration values exceed range of 'intmax_t'" } */