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

Subversion Repositories openrisc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 699 jeremybenn
// { dg-do assemble  }
2
// { dg-options "-fexceptions" }
3
// GROUPS passed exceptions
4
// except file
5
// Message-Id: <199311101607.AA11803@hsi86.hsi.com>
6
// From: Grigory Tsipenyuk 
7
// Subject: exception's bug?
8
// Date: Wed, 10 Nov 1993 11:07:12 -0500
9
 
10
#include 
11
 
12
class X {
13
        int     *a;
14
        int     sz;
15
public:
16
        class range { }; // exception class
17
        X(int s)        { a=new int[sz=s]; }
18
        int& operator[](int i);
19
};
20
 
21
int& X::operator[](int i)
22
{
23
        if (i < 0 || i >= sz) {
24
                throw range();
25
        }
26
        return a[i];
27
}
28
 
29
int
30
main()
31
{
32
        X       c(10);
33
        try {
34
                for (int i = 0; i < 12; i++)
35
                        c[i] = 1;
36
        } catch (X::range) {
37
                std::cerr << "invalid range\n";
38
        }
39
        return 0;
40
}

powered by: WebSVN 2.1.0

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