1  /* Test for printf formats: rejection of C2X (and C2X-recommended) formats in
       2     pedantic mode.  */
       3  /* { dg-do compile } */
       4  /* { dg-options "-std=c11 -pedantic -Wformat" } */
       5  
       6  #include "format.h"
       7  
       8  void
       9  foo (int i, int_least8_t i8, int_least16_t i16, int_least32_t i32,
      10       int_least64_t i64, uint_least8_t u8, uint_least16_t u16,
      11       uint_least32_t u32, uint_least64_t u64, int_fast8_t if8,
      12       int_fast16_t if16, int_fast32_t if32, int_fast64_t if64, uint_fast8_t uf8,
      13       uint_fast16_t uf16, uint_fast32_t uf32, uint_fast64_t uf64)
      14  {
      15    printf ("%b", i); /* { dg-warning "C" } */
      16    printf ("%B", i); /* { dg-warning "C" } */
      17    printf ("%w8d", i8); /* { dg-warning "C" } */
      18    printf ("%w16d", i16); /* { dg-warning "C" } */
      19    printf ("%w32d", i32); /* { dg-warning "C" } */
      20    printf ("%w64d", i64); /* { dg-warning "C" } */
      21    printf ("%wf8d", if8); /* { dg-warning "C" } */
      22    printf ("%wf16d", if16); /* { dg-warning "C" } */
      23    printf ("%wf32d", if32); /* { dg-warning "C" } */
      24    printf ("%wf64d", if64); /* { dg-warning "C" } */
      25    printf ("%w8u", u8); /* { dg-warning "C" } */
      26    printf ("%w16u", u16); /* { dg-warning "C" } */
      27    printf ("%w32u", u32); /* { dg-warning "C" } */
      28    printf ("%w64u", u64); /* { dg-warning "C" } */
      29    printf ("%wf8u", uf8); /* { dg-warning "C" } */
      30    printf ("%wf16u", uf16); /* { dg-warning "C" } */
      31    printf ("%wf32u", uf32); /* { dg-warning "C" } */
      32    printf ("%wf64u", uf64); /* { dg-warning "C" } */
      33    printf ("%w8i", i8); /* { dg-warning "C" } */
      34    printf ("%w8o", u8); /* { dg-warning "C" } */
      35    printf ("%w8x", u8); /* { dg-warning "C" } */
      36    printf ("%w8X", u8); /* { dg-warning "C" } */
      37    printf ("%w8n", &i8); /* { dg-warning "C" } */
      38  }