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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900212_03.C] - Diff between revs 305 and 338

Only display areas with differences | Details | Blame | View Log

Rev 305 Rev 338
// { dg-do run  }
// { dg-do run  }
// g++ 1.36.1 bug 900212_03
// g++ 1.36.1 bug 900212_03
// g++ segfaults on any attempt to use the ->* operator.
// g++ segfaults on any attempt to use the ->* operator.
// Cfront 2.0 passes this test.
// Cfront 2.0 passes this test.
// keywords: member pointers, operator->*
// keywords: member pointers, operator->*
struct struct0 {
struct struct0 {
  int data_member;
  int data_member;
  void function_member ();
  void function_member ();
};
};
void struct0::function_member ()
void struct0::function_member ()
{
{
}
}
int i;
int i;
int struct0::*dmp;
int struct0::*dmp;
void (struct0::*fmp) ();
void (struct0::*fmp) ();
struct0 *ptr;
struct0 *ptr;
void global_function_0 ()
void global_function_0 ()
{
{
  i = ptr->*dmp;                                // causes segfault
  i = ptr->*dmp;                                // causes segfault
  (ptr->*fmp) ();                               // causes segfault
  (ptr->*fmp) ();                               // causes segfault
  // i = ptr->*(&struct0::data_member);               // too complicated for cfront
  // i = ptr->*(&struct0::data_member);               // too complicated for cfront
  // (ptr->*(&struct0::function_member)) ();  // too complicated for cfront
  // (ptr->*(&struct0::function_member)) ();  // too complicated for cfront
}
}
int main () { return 0; }
int main () { return 0; }
 
 

powered by: WebSVN 2.1.0

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