// { dg-do run } // g++ 1.36.1 bug 900207_03 // g++ fails to allow objects of class or struct types to be initialized // using "constructor syntax" in cases where an implicitly generated copy // constructor would be invoked for the initialization, and where there is // no explicitly specified constructor associated with the type of the // object being initialized. // Note that the type of the error changes depending upon whether or not the // type being initialized has any virtual functions associated with it. // Cfront 2.0 passes this test. // keywords: implicit copy constructor, initialization // Check construction for a type without virtual function members. struct struct0 { int data_member; }; struct0 struct0_gbl_object0; struct0 struct0_gbl_object1 (struct0_gbl_object0); // { dg-bogus "" } void struct0_test () { struct0 struct0_lcl_object1 (struct0_gbl_object0); // { dg-bogus "" } } // Check construction for a type with virtual function members. struct struct1 { int data_member; virtual void function_member (); }; void struct1::function_member () { } struct1 struct1_gbl_object0; struct1 struct1_gbl_object1 (struct1_gbl_object0); // { dg-bogus "" } void struct1_test () { struct1 struct1_lcl_object1 (struct1_gbl_object0); // { dg-bogus "" } } int main () { return 0; }