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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.pt/] [ptrmem2.C] - Blame information for rev 699

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 699 jeremybenn
// { dg-do run  }
2
struct S;
3
 
4
template 
5
struct F {
6
  S* f (S& s)
7
    {
8
      return (s.*p)();
9
    }
10
};
11
 
12
template 
13
struct D {
14
  void d (S& s)
15
    {
16
      (s.*p) = 3;
17
    }
18
};
19
 
20
struct S {
21
  S* g ();
22
  int i;
23
  F<&S::g> fg;
24
  D<&S::i> di;
25
  S* h(), k(F<&S::h>);
26
  F<&S::g> fg2;
27
  D<&S::i> di2;
28
};
29
 
30
S* S::g()
31
{
32
  return this;
33
}
34
 
35
S* S::h()
36
{
37
  return this;
38
}
39
 
40
int main()
41
{
42
  S s;
43
  s.i = 2;
44
  s.di.d (s);
45
  if (s.i != 3)
46
    return 1;
47
  if (s.fg2.f(s) != &s)
48
    return 1;
49
}

powered by: WebSVN 2.1.0

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