https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64862

            Bug ID: 64862
           Summary: printf attribute should accept other string types
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tromey at gcc dot gnu.org

Consider this source:

#include <stdarg.h>
#include <uchar.h>

extern void p (const char16_t *fmt, ...)
  __attribute__((__printf__ (1, 2)));

void f()
{
  p(u"%d\n", 23);
}


Currently gcc rejects this attribute:

pokyo. gcc --syntax-only -std=c11 -Wall r.c
r.c:5:3: warning: ‘__printf__’ attribute directive ignored [-Wattributes]
   __attribute__((__printf__ (1, 2)));
   ^


I don't see why it should, though.
It seems to me that it could accept wchar_t, char16_t, or char32_t
strings as the format argument.

Reply via email to