1 // { dg-do assemble  }
2 //980610 bkoz
3 // example 2: ok
4 
5 class bar;
6 class foo {
7 public:
8     int func(bar *);
foo()9     foo(){}
~foo()10     ~foo(){}
11 };
12 
13 class bar {
14   int st;
15 public:
bar()16   bar(){st=12;}
~bar()17   ~bar(){}
18   friend int foo::func(bar *);
19 };
20 
func(bar * obj)21 int foo::func(bar *obj) {
22   obj->st++;
23   return (obj->st);
24 }
25 
test02()26 void test02() {
27   foo obj_f;
28   bar obj_b;
29 
30   obj_f.func( &obj_b);
31 }
32