summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C
blob: 5c2f03e4ba1645c241b95f064435dac72e519c2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// { 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 (const char *, ...);
  static PF void g (const char *, ...) { }
  static void test ();
};

void PF h (const char *, ...);
void PF k (const char *, ...) { }

void A::test ()
{
  f ("%f", 42);			// { dg-warning "argument 2" }
  g ("%f", 42);			// { dg-warning "argument 2" }
  h ("%f", 42);			// { dg-warning "argument 2" }
  k ("%f", 42);			// { dg-warning "argument 2" }
}