gcc/ChangeLog:
[official-gcc.git] / gcc / testsuite / g++.dg / warn / Wunused-parm-3.C
blob3f0a0e7d0f02c00176f55fed60fdcf3f983c8516
1 // { dg-do compile }
2 // { dg-options "-Wunused -W" }
3 // Suppress a warning that is irrelevant to the purpose of this test.
4 // { dg-options "-Wunused -W -Wno-abi" { target arm_eabi } }
6 #include <stdarg.h>
8 struct A
10   long a;
11   A () : a (0) { }
12   A (long x) : a (x) { }
13   operator long () const { return a; }
14   long operator- (const A& x) const { return a - x.a; }
17 long
18 fn1 (A a)
20   return a - A (0);
23 struct B
25   bool operator() (const int x, const int y) const throw() { return x < y; }
28 template <typename T>
29 bool 
30 fn2 (int x, int y, T z)
32   return z (x, y);
35 bool
36 fn3 (void)
38   return fn2 (1, 2, B ());
41 int
42 fn4 (va_list ap)
44   return va_arg (ap, int);
47 template <typename T>
49 fn5 (va_list ap)
51   return va_arg (ap, T);
54 int
55 fn6 (va_list ap)
57   return fn5 <int> (ap);
60 template <typename T>
61 int
62 fn7 (T ap)
64   return va_arg (ap, int);
67 int
68 fn8 (va_list ap)
70   return fn7 (ap);