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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.robertl/] [ice990323-2.C] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 149 jeremybenn
// { dg-do run  }
2
// check EH with templates
3
extern "C" void abort ();
4
extern "C" void exit (int);
5
 
6
template  struct A {
7
        A() {}
8
        A(const char*) {}
9
};
10
 
11
void f1()
12
{
13
        throw *(new A >);
14
}
15
 
16
void f2()
17
{
18
        throw *(new A >);
19
}
20
 
21
void f3()
22
{
23
        throw A > ("howdy");
24
}
25
 
26
void f4()
27
{
28
        throw A > ("hi michey");
29
}
30
 
31
int main()
32
{
33
        int flag;
34
 
35
        flag = 0;
36
        try {
37
                f1();
38
        }
39
        catch (A >) {
40
                abort();
41
        }
42
        catch (A >) {
43
                flag = 1;
44
        }
45
        if (!flag)
46
                abort();
47
 
48
        flag = 0;
49
        try {
50
                f2();
51
        }
52
        catch (A >) {
53
                abort();
54
        }
55
        catch (A >) {
56
                flag = 1;
57
        }
58
        if (!flag)
59
                abort();
60
 
61
        flag = 0;
62
        try {
63
                f3();
64
        }
65
        catch (A >) {
66
                abort();
67
        }
68
        catch (A >) {
69
                flag = 1;
70
        }
71
        if (!flag)
72
                abort();
73
 
74
        flag = 0;
75
        try {
76
                f4();
77
        }
78
        catch (A >) {
79
                abort();
80
        }
81
        catch (A >) {
82
                flag = 1;
83
        }
84
        if (!flag)
85
                abort();
86
 
87
        exit(0);
88
}

powered by: WebSVN 2.1.0

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