1  // { dg-do compile }
       2  // { dg-options "-std=gnu99 -fdiagnostics-show-option -Wtraditional -Wno-deprecated -Wno-long-long" }
       3  
       4  #assert x(x)         // { dg-warning "suggest hiding #assert from traditional C with an indented # .-Wtraditional." }
       5  
       6   #define X X         // { dg-warning "traditional C ignores #define with the # indented .-Wtraditional." }
       7  
       8  #if 0
       9  #elif 1              // { dg-warning "suggest not using #elif in traditional C .-Wtraditional." }
      10  #endif
      11  
      12  #define f(X) X
      13  int f;               // { dg-warning "function-like macro \"f\" must be used with arguments in traditional C .-Wtraditional." }
      14  
      15  #if 0U               // { dg-warning "traditional C rejects the \"U\" suffix .-Wtraditional." }
      16  #endif
      17  
      18  #if +1               // { dg-warning " traditional C rejects the unary plus operator .-Wtraditional." }
      19  #endif
      20  
      21  char *x = "\x0";     // { dg-warning "the meaning of '.x' is different in traditional C .-Wtraditional." }
      22  char *y = "\a";      // { dg-warning "the meaning of '.a' is different in traditional C .-Wtraditional." }
      23  char *z = "\u0F43";  // { dg-warning "the meaning of '.u' is different in traditional C .-Wtraditional." }