1  /* Copyright (C) 2001-2017 Free Software Foundation, Inc.  */
       2  
       3  /* { dg-do preprocess } */
       4  /* { dg-options "-std=gnu99 -pedantic -Wtraditional -ftrack-macro-expansion=0" } */
       5  
       6  /* Tests diagnostics are suppressed for some macros defined in system
       7     headers.  */
       8  
       9  /* Source: Neil Booth, 15 Jan 2001.  */
      10  
      11  #include "syshdr.h"
      12  
      13  #define uint 1U
      14  #define str(x) x
      15  #define foo(x, y...) bar(x, ##y) /* { dg-warning "named variadic macros" } */
      16  
      17  #if uint			/* { dg-warning "traditional C rejects" } */
      18  #endif
      19  #if sys_uint			/* { dg-bogus "traditional C rejects" } */
      20  #endif
      21  
      22  (str);				/* { dg-warning "used with arguments" } */
      23  (sys_str);			/* { dg-bogus "used with arguments" } */
      24  
      25  foo (one_arg);			/* { dg-bogus "requires at least one" } */
      26  sys_foo (one_arg);		/* { dg-bogus "requires at least one" } */