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++.other/] [call1.C] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 305 jeremybenn
// { dg-do run  }
2
// Test that various calls to non-functions work.
3
 
4
void f () { }
5
 
6
typedef void (*fptr)();
7
typedef void (&fref)();
8
fptr p = f;
9
fref r = f;
10
const fptr &pr = p;
11
 
12
struct A {
13
  fptr p;
14
 
15
  A (fptr n): p(n) { }
16
  operator fptr () { return p; }
17
};
18
 
19
struct B {
20
  fref r;
21
 
22
  B (fptr n): r(*n) { }
23
  operator const fref () { return r; }
24
};
25
 
26
struct C {
27
  const fptr pr;
28
 
29
  C (fptr n): pr(n) { }
30
  operator const fptr& () { return pr; }
31
};
32
 
33
int main ()
34
{
35
  f();
36
 
37
  p();
38
  r();
39
  pr();
40
 
41
  A a (f);
42
  a();
43
  a.p();
44
 
45
  B b (f);
46
  b();
47
  b.r();
48
 
49
  C c (f);
50
  c();
51
  c.pr();
52
}

powered by: WebSVN 2.1.0

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