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

            Bug ID: 104148
           Summary: [11/12 Regression] -Wformat warning no longer warns
                    about () wrapped args since r11-2457
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

Since r11-2457-gdf5cf47a978aaeb53fc2b18ff0b22eb4531a27d8 we get with -Wformat
just 14 warnings in C++ instead of 24 that were reported before that commit and
that are reported by C.
char *foo (const char *) __attribute__((format_arg(1)));
void bar (const char *, ...) __attribute__((format(printf, 1, 2)));

void
baz (int x)
{
  bar ("%ld", x);
  bar (x ? "%ld" : "%ld", x);
  bar (x ? "%ld" : "%lld", x);
  bar (foo ("%ld"), x);
  bar (x ? foo ("%ld") : "%ld", x);
  bar (x ? foo ("%ld") : "%lld", x);
  bar (foo (x ? "%ld" : "%ld"), x);
  bar (foo (x ? "%ld" : "%lld"), x);
  bar (("%ld"), x);
  bar ((x ? "%ld" : "%ld"), x);
  bar ((x ? "%ld" : "%lld"), x);
  bar ((foo ("%ld")), x);
  bar ((x ? foo ("%ld") : "%ld"), x);
  bar ((x ? foo ("%ld") : "%lld"), x);
  bar ((foo (x ? "%ld" : "%ld")), x);
  bar ((foo (x ? "%ld" : "%lld")), x);
}

Reply via email to