Wattributes-10.c: Add -fno-common option on hppa*-*-hpux*.
[official-gcc.git] / gcc / testsuite / g++.dg / debug / pr80461.C
blobb472e62c8037ddc34674627031ffe19c2fd92c82
1 // PR debug/80461
2 // { dg-do compile }
3 // { dg-options "-g -O" }
5 template <typename> class A;
6 struct B
8   template <typename T, typename U>
9   static bool foo (U T::*) { return true; }
11 template <typename, typename> class J;
12 template <typename T, typename U, typename V, typename... W>
13 class J<V (W...), U T::*> : public J<void(), U T::*> {};
14 template <typename T, typename U, typename... W>
15 class J<void(W...), U T::*> : public B {};
16 template <typename V, typename... W> struct A<V (W...)>
18   template <typename, typename> using K = int;
19   template <typename L, typename = K<int, void>, typename = K<int, void>> A (L);
21 template <typename V, typename... W>
22 template <typename L, typename, typename>
23 A<V (W...)>::A (L x) { J<V (), L>::foo (x); }
24 struct N;
25 volatile int v;
27 template <class O, class P>
28 void
29 bar ()
31   O q;
32   A<P> f = q;
33   v++;
36 void
37 baz ()
39   bar<int (N::*) (...) &, int()> ();
40   bar<int (N::*) (...) const &, int()> ();
41   bar<int (N::*) (...) volatile &, int()> ();