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

            Bug ID: 84258
           Summary: Bogus -Wformat warning "wide character string" for
                    const unsigned char
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: w.steinwender at freenet dot de
  Target Milestone: ---

#include <stdio.h>

int main(int argc, char **argv ) {

    char buf[10];

    char c[] = "%i";
    unsigned char uc[] = "%i";
    const char cc[] = "%i";
    const unsigned char cuc[] = "%i";

    sprintf(buf, (char *)c, 1);
    sprintf(buf, (char *)uc, 1);
    sprintf(buf, (char *)cc, 1);
    sprintf(buf, (char *)cuc, 1);

    return 0;
}

gcc-5 -Wformat test.c
test.c: In function ‘main’:
test.c:15:26: warning: format is a wide character string [-Wformat=]
     sprintf(buf, (char *)cuc, 1);

The warning does not make sense to me.
Tested with 4.3.2 and 5.4.0.

Reply via email to