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);
}