(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
cpp/
pr63831-1.c
       1  /* PR preprocessor/63831 */
       2  /* { dg-do compile } */
       3  
       4  #ifdef __has_attribute
       5  typedef char T1[__has_attribute (__noreturn__) ? 1 : -1];
       6  typedef char T2[__has_attribute (alloc_size) == 1 ? 1 : -1];
       7  typedef char T3[__has_attribute (non_existent_attribuuuute) == 0 ? 1 : -1];
       8  #endif
       9  #if __has_attribute (noreturn)
      10  typedef char T4;
      11  #endif
      12  #define d deprecated
      13  typedef char T5[__has_attribute (d) ? 1 : -1];
      14  T1 t1;
      15  T2 t2;
      16  T3 t3;
      17  T4 t4;
      18  T5 t5;
      19  #ifdef __cplusplus
      20  typedef char T6[__has_attribute (gnu::__noreturn__) ? 1 : -1];
      21  typedef char T7[__has_attribute (gnu::alloc_size) == 1 ? 1 : -1];
      22  typedef char T8[__has_attribute (gnu::non_existent_attribuuuute) == 0 ? 1 : -1];
      23  #if __has_attribute (gnu::noreturn)
      24  typedef char T9;
      25  #endif
      26  #define d2 gnu::deprecated
      27  typedef char T10[__has_attribute (d) ? 1 : -1];
      28  T6 t6;
      29  T7 t7;
      30  T8 t8;
      31  T9 t9;
      32  T10 t10;
      33  #endif
      34  #ifdef __has_cpp_attribute
      35  typedef char T11[__has_cpp_attribute (__noreturn__) ? 1 : -1];
      36  typedef char T12[__has_cpp_attribute (alloc_size) == 1 ? 1 : -1];
      37  typedef char T13[__has_cpp_attribute (non_existent_attribuuuute) == 0 ? 1 : -1];
      38  #endif
      39  #if __has_cpp_attribute (noreturn)
      40  typedef char T14;
      41  #endif
      42  #define d deprecated
      43  typedef char T15[__has_cpp_attribute (d) ? 1 : -1];
      44  T11 t11;
      45  T12 t12;
      46  T13 t13;
      47  T14 t14;
      48  T15 t15;
      49  #ifdef __cplusplus
      50  typedef char T16[__has_cpp_attribute (gnu::__noreturn__) ? 1 : -1];
      51  typedef char T17[__has_cpp_attribute (gnu::alloc_size) == 1 ? 1 : -1];
      52  typedef char T18[__has_cpp_attribute (gnu::non_existent_attribuuuute) == 0 ? 1 : -1];
      53  #if __has_cpp_attribute (gnu::noreturn)
      54  typedef char T19;
      55  #endif
      56  #define d2 gnu::deprecated
      57  typedef char T20[__has_cpp_attribute (d) ? 1 : -1];
      58  T16 t16;
      59  T17 t17;
      60  T18 t18;
      61  T19 t19;
      62  T20 t20;
      63  #endif
      64  long t21 = __has_attribute (noreturn) + __has_cpp_attribute (__malloc__);