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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900207_03.C] - Rev 841

Go to most recent revision | Compare with Previous | Blame | View Log

// { 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; }

Go to most recent revision | 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.