PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / template / bitfield3.C
blob8f1125537e9544d2a6710c833dd1731d6e5e5f27
1 // PR c++/78908
3 struct A { int a : 1; };
4 struct F { int foo (A const &); };
5 template <typename> struct O : F { int foo (A const &); };
6 struct S {} b;
7 template <typename L, typename T> int operator<< (L, T) { return (T) 123; }
8 template <typename T> int O<T>::foo (A const &x) { return b << x.a; }
10 int
11 main ()
13   A a = { 0 };
14   O<int> o;
15   if (o.foo (a) != 123)
16     __builtin_abort ();
17   signed char d = 2;
18   if ((b << d) != 123)
19     __builtin_abort ();