1// { dg-do assemble  }
2
3class foo {
4public:
5    class bar;
6    void func(bar *);
7    class bar {
8      int st;
9      friend void foo::func(bar *);
10    };
11};
12
13
14void foo::func(bar *obj) {
15  obj->st++;
16}
17
18void test02() {
19  foo obj_f;
20  foo::bar obj_b;
21
22  obj_f.func( &obj_b);
23}
24