operators16.C   [plain text]


// { dg-do run  }
// GROUPS passed operators
// copy file
// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
// Date:     Thu, 29 Apr 93 20:53:07 EST
// Subject:  4 bugs in g++ 2.3.3
// Message-ID: <9304291053.AA00090@mencon>

#include <stdio.h>

int pass = 0;
struct A {
        A(void) {}
        A(const A& a) { ; }
        A& operator = (const A& a) { pass = 1; return *this; }
};

struct B {
        B(const A& aa) { B::a = aa; }
        A a;
};

int main(void)
{
        B b = A();
	if (pass)
		printf ("PASS\n");
	else
		{ printf ("FAIL\n"); return 1; }
}