OSDN Git Service

In gcc/objc/:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / warn / Wunused-parm-3.C
1 // { dg-do compile }
2 // { dg-options "-Wunused -W" }
3
4 #include <stdarg.h>
5
6 struct A
7 {
8   long a;
9   A () : a (0) { }
10   A (long x) : a (x) { }
11   operator long () const { return a; }
12   long operator- (const A& x) const { return a - x.a; }
13 };
14
15 long
16 fn1 (A a)
17 {
18   return a - A (0);
19 }
20
21 struct B
22 {
23   bool operator() (const int x, const int y) const throw() { return x < y; }
24 };
25
26 template <typename T>
27 bool 
28 fn2 (int x, int y, T z)
29 {
30   return z (x, y);
31 }
32
33 bool
34 fn3 (void)
35 {
36   return fn2 (1, 2, B ());
37 }
38
39 int
40 fn4 (va_list ap)
41 {
42   return va_arg (ap, int);
43 }
44
45 template <typename T>
46 T
47 fn5 (va_list ap)
48 {
49   return va_arg (ap, T);
50 }
51
52 int
53 fn6 (va_list ap)
54 {
55   return fn5 <int> (ap);
56 }
57
58 template <typename T>
59 int
60 fn7 (T ap)
61 {
62   return va_arg (ap, int);
63 }
64
65 int
66 fn8 (va_list ap)
67 {
68   return fn7 (ap);
69 }