1*c87b03e5Sespie // GROUPS passed operators
2*c87b03e5Sespie // copy file
3*c87b03e5Sespie // From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
4*c87b03e5Sespie // Date:     Thu, 29 Apr 93 20:53:07 EST
5*c87b03e5Sespie // Subject:  4 bugs in g++ 2.3.3
6*c87b03e5Sespie // Message-ID: <9304291053.AA00090@mencon>
7*c87b03e5Sespie 
8*c87b03e5Sespie #include <stdio.h>
9*c87b03e5Sespie 
10*c87b03e5Sespie int pass = 0;
11*c87b03e5Sespie struct A {
AA12*c87b03e5Sespie         A(void) {}
AA13*c87b03e5Sespie         A(const A& a) { ; }
14*c87b03e5Sespie         A& operator = (const A& a) { pass = 1; return *this; }
15*c87b03e5Sespie };
16*c87b03e5Sespie 
17*c87b03e5Sespie struct B {
BB18*c87b03e5Sespie         B(const A& aa) { B::a = aa; }
19*c87b03e5Sespie         A a;
20*c87b03e5Sespie };
21*c87b03e5Sespie 
main(void)22*c87b03e5Sespie int main(void)
23*c87b03e5Sespie {
24*c87b03e5Sespie         B b = A();
25*c87b03e5Sespie 	if (pass)
26*c87b03e5Sespie 		printf ("PASS\n");
27*c87b03e5Sespie 	else
28*c87b03e5Sespie 		{ printf ("FAIL\n"); return 1; }
29*c87b03e5Sespie }
30