blob: 708147b49e7a78167a5a6dad31ffc74b45ee16aa [file] [log] [blame]
// { dg-do assemble }
// { dg-options "-Wformat" }
// Test that attributes are really applied to function declarations under
// various conditions.
// Contributed by Jason Merrill (jason@cygnus.com)
#define PF __attribute__ ((format (printf, 1, 2)))
struct A {
static PF void f (char *, ...);
friend PF void g (char *, ...);
static void test ();
};
void PF h (char *, ...);
void PF k (char *, ...) { }
void A::test ()
{
f ("%f", 42); // { dg-warning "" }
g ("%f", 42); // { dg-warning "" }
h ("%f", 42); // { dg-warning "" }
k ("%f", 42); // { dg-warning "" }
}