1*0333dd95SReid Kleckner struct A { 2*0333dd95SReid Kleckner public: 3*0333dd95SReid Kleckner int x; 4*0333dd95SReid Kleckner }; 5*0333dd95SReid Kleckner 6*0333dd95SReid Kleckner struct B : A { 7*0333dd95SReid Kleckner float y; 8*0333dd95SReid Kleckner float foo(); 9*0333dd95SReid Kleckner }; 10*0333dd95SReid Kleckner 11*0333dd95SReid Kleckner struct C { 12*0333dd95SReid Kleckner C(int i = 10); 13*0333dd95SReid Kleckner C(const C&); 14*0333dd95SReid Kleckner C &operator=(C&); 15*0333dd95SReid Kleckner ~C(); 16*0333dd95SReid Kleckner }; 17*0333dd95SReid Kleckner 18*0333dd95SReid Kleckner enum E { 19*0333dd95SReid Kleckner b = 1 20*0333dd95SReid Kleckner }; 21*0333dd95SReid Kleckner 22*0333dd95SReid Kleckner //Friend import tests 23*0333dd95SReid Kleckner void f(); 24*0333dd95SReid Kleckner int g(int a); 25*0333dd95SReid Kleckner struct X; 26*0333dd95SReid Kleckner struct Y; 27*0333dd95SReid Kleckner 28*0333dd95SReid Kleckner struct F1 { 29*0333dd95SReid Kleckner public: 30*0333dd95SReid Kleckner int x; 31*0333dd95SReid Kleckner friend struct X; 32*0333dd95SReid Kleckner friend int g(int); 33*0333dd95SReid Kleckner friend void f(); 34*0333dd95SReid Kleckner }; 35*0333dd95SReid Kleckner 36*0333dd95SReid Kleckner struct F2 { 37*0333dd95SReid Kleckner public: 38*0333dd95SReid Kleckner int x; 39*0333dd95SReid Kleckner friend struct X; 40*0333dd95SReid Kleckner friend void f(); 41*0333dd95SReid Kleckner }; 42*0333dd95SReid Kleckner 43*0333dd95SReid Kleckner struct F3 { 44*0333dd95SReid Kleckner public: 45*0333dd95SReid Kleckner int x; 46*0333dd95SReid Kleckner friend int g(int); 47*0333dd95SReid Kleckner friend void f(); 48*0333dd95SReid Kleckner }; 49