1// { dg-do assemble  }
2// 981203 bkoz
3// g++/16567
4
5typedef bool Bool;
6typedef unsigned char		Uint8;
7typedef unsigned short		Uint16;
8typedef unsigned int		Uint32;
9
10enum e_ms  { third = 3, fourth = 4 };
11
12struct bitmask {
13  Uint8* anon1;
14  Uint32 anon2;
15  Uint8 anon3;
16  Uint8 here: 2;
17  Uint8 anon4: 2;
18  Uint8 anon5: 4;
19};
20
21struct control {
22  Uint8 foo_1();
23};
24
25inline Uint8 foo_2(bitmask* p) {
26   return p->here;
27}
28
29inline Uint8 control::foo_1() {
30   return foo_2((bitmask*) this);
31}
32
33void foo(void) {
34  control obj;
35  control *fp = &obj;
36  e_ms result;
37
38  result = (e_ms) fp->foo_1; // { dg-error "" } // ERROR -
39}
40
41
42
43
44
45