URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900205_04.C] - Rev 384
Compare with Previous | Blame | View Log
// { dg-do assemble }
// g++ 1.36.1 bug 900205_04
// g++ allows a class for which an implicit default X::X() constructor must
// be created (implicitly by the compiler) to be derived from another class
// which does not have its own default X::X() constructor. This is illegal.
// Cfront 2.0 passes this test.
// keywords: default constructor, inheritance
// In ISO C++ 1998, such a derived class is not ill-formed, but if the
// implicitly-declared constructor is used, then it is implicitly
// defined and found to be ill-formed.
struct struct0 { // { dg-message "note" }
int data_member;
struct0 (int, void *); // suppresses implicit default constructor
};
struct0::struct0 (int, void *) // { dg-message "note" }
{
}
struct struct0_derived_struct_0 : public struct0 { // { dg-error "no matching" }
};
struct0_derived_struct_0 object; // { dg-message "synthesized" }
int main () { return 0; }