aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C
blob: fcf93eb80fab3817430b440f87c84ff74360f9b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Test of bit-fields.
// { dg-do compile { target c++17 } }

struct A { long i: 2; } a;

template <class,class> struct same_type;
template <class T> struct same_type<T,T> {};

void f()
{
  auto [ x ] = a;

  same_type<decltype(x),long>{};
  same_type<decltype(x+x),int>{};

  long &r = x;			// { dg-error "bit" }
  &x;				// { dg-error "bit" }
  sizeof(x);			// { dg-error "10:invalid application of .sizeof. to a bit-field" }
}