attrib4.C   [plain text]


// { 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 "" } 
}