OpenCores
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.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.brendan/] [visibility3.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  }
// GROUPS passed visibility
// GROUPS passed visibility
// Used to say:
// Used to say:
// manip.cc:17: member `_f' is a private member of class `B'
// manip.cc:17: member `_f' is a private member of class `B'
// manip.cc:17: member `_a' is a private member of class `B'
// manip.cc:17: member `_a' is a private member of class `B'
class A {};
class A {};
template 
template 
class B;
class B;
template 
template 
inline A &
inline A &
operator<< (A &o, const B &m);
operator<< (A &o, const B &m);
template 
template 
class B
class B
{
{
  A &(*_f) (A &, TP);
  A &(*_f) (A &, TP);
  TP _a;
  TP _a;
public:
public:
  B (A &(*f) (A &, TP), TP a) : _f (f), _a (a) {}
  B (A &(*f) (A &, TP), TP a) : _f (f), _a (a) {}
  friend A &operator<< <>(A &o, const B &m);
  friend A &operator<< <>(A &o, const B &m);
};
};
template 
template 
inline A &
inline A &
operator<< (A &o, const B &m)
operator<< (A &o, const B &m)
{
{
  (*m._f) (o, m._a);
  (*m._f) (o, m._a);
  return o;
  return o;
}
}
A &setw (A &, int);
A &setw (A &, int);
B setw (int n)
B setw (int n)
{
{
  return B (setw, n);
  return B (setw, n);
}
}
A x;
A x;
void f ()
void f ()
{
{
  x << setw (2);
  x << setw (2);
}
}
 
 

powered by: WebSVN 2.1.0

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