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++.ext/] [bound1.C] - Diff between revs 305 and 338

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

Rev 305 Rev 338
// { dg-do assemble  }
// { dg-do assemble  }
// { dg-options "-Wno-pmf-conversions" }
// { dg-options "-Wno-pmf-conversions" }
// Testcase for cast of bound pointer to member function.
// Testcase for cast of bound pointer to member function.
struct A {
struct A {
  int f ();
  int f ();
};
};
typedef int (*fptr)(A *);
typedef int (*fptr)(A *);
typedef void* vptr;
typedef void* vptr;
typedef int (A::*pmf)();
typedef int (A::*pmf)();
void foo (A* ap, pmf fp, int A::* ip)
void foo (A* ap, pmf fp, int A::* ip)
{
{
  fptr p;
  fptr p;
  vptr q;
  vptr q;
  A a;
  A a;
  p = (fptr)(ap->*fp);
  p = (fptr)(ap->*fp);
  p = (fptr)(ap->*fp);
  p = (fptr)(ap->*fp);
  p = (fptr)(ap->*(&A::f));
  p = (fptr)(ap->*(&A::f));
  p = (fptr)(a.*fp);
  p = (fptr)(a.*fp);
  p = (fptr)(a.*(&A::f));
  p = (fptr)(a.*(&A::f));
  q = (vptr)(ap->*fp);
  q = (vptr)(ap->*fp);
  q = (vptr)(ap->*(&A::f));
  q = (vptr)(ap->*(&A::f));
  q = (vptr)(a.*fp);
  q = (vptr)(a.*fp);
  q = (vptr)(a.*(&A::f));
  q = (vptr)(a.*(&A::f));
}
}
 
 

powered by: WebSVN 2.1.0

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