OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900205_04.C] - Rev 699

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|deleted" }
  // { dg-message "candidate" "candidate note" { target *-*-* } 26 }
};

struct0_derived_struct_0  object; // { dg-message "synthesized|deleted" }

int main () { return 0; }

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.