(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
format/
miss-7.c
       1  /* PR77336 - -Wsuggest-attribute=format warning overly simplistic */
       2  /* { dg-do compile } */
       3  /* { dg-options "-Wsuggest-attribute=format" } */
       4  
       5  #include "format.h"
       6  
       7  const char format[] = "%i";
       8  
       9  void foo (char *d, unsigned n, va_list va)
      10  {
      11    (void)&n;
      12  
      13    /* The following calls don't imply that the enclosing function is
      14       a candiate for the format attribute because it uses a string
      15       constant as the format.  */
      16    vsnprintf (d, n, "%i", va);
      17  
      18    vsnprintf (d, n, format, va);
      19  
      20    /* In theory this should not trigger the warning either but GCC
      21       doesn't treat the local static constant the same way as the
      22       global and issues a false positive.
      23    const char fmt[] = "%i";
      24    vsnprintf (d, n, fmt, va);
      25    */
      26  }
      27  
      28  void bar (char *d, unsigned n, const char *f, va_list va)
      29  {
      30    (void)&n;
      31  
      32    /* The following call suggests that the enclosing function might
      33       be a candiate for the format attribute because it doesn't use
      34       a string literal as the format.  */
      35    vsnprintf (d, n, f, va);   /* { dg-warning "function .bar. might be a candidate for .gnu_printf. format attribute" } */
      36  }