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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [cpp0x/] [regress/] [regress4.C] - Blame information for rev 693

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
// PR c++/49663
2
// { dg-options -std=c++0x }
3
 
4
struct Nosm
5
{
6
    int m_R;
7
};
8
 
9
namespace dx {
10
 
11
    struct onc
12
    {
13
        typedef void(*Cb)();
14
 
15
        onc(Cb cb);
16
    };
17
 
18
    struct grac
19
    {
20
        template static void once();
21
    };
22
 
23
    template
24
        struct tonc : onc
25
        {
26
            tonc() : onc(&grac::once) {}
27
 
28
            static Derived& get();
29
        };
30
 
31
    template void grac::once()
32
    {
33
        tonc::get().h();
34
    }
35
}
36
 
37
namespace
38
{
39
    template
40
        struct has_R { };
41
 
42
    template
43
        inline void
44
        setR(T* m, has_R* = 0)
45
        { }
46
 
47
    inline void setR(...) { }
48
}
49
 
50
template
51
    struct Qmi
52
    : dx::tonc >
53
    {
54
        void h()
55
        {
56
            setR(&msg);
57
        }
58
 
59
        M msg;
60
    };
61
 
62
Qmi x;

powered by: WebSVN 2.1.0

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