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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [eh/] [filter2.C] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
// Test that terminate gets run when a catch filter fails to match while
2
// running destructors.  Original bug depended on a::~a being inlined.
3
// { dg-do run }
4
// { dg-options -O }
5
 
6
#include 
7
#include 
8
 
9
struct e1 {};
10
struct e2 {};
11
 
12
struct a
13
{
14
  a () { }
15
 
16
  ~a ()
17
    {
18
      try
19
        {
20
          throw e1();
21
        }
22
      catch (e2 &)
23
        {
24
        }
25
    }
26
};
27
 
28
void
29
ex_test ()
30
{
31
  a aa;
32
  try
33
    {
34
      throw e1 ();
35
    }
36
  catch (e2 &)
37
    {
38
    }
39
}
40
 
41
void my_terminate ()
42
{
43
  std::exit (0);
44
}
45
 
46
int
47
main ()
48
{
49
  std::set_terminate (my_terminate);
50
 
51
  try
52
    {
53
      ex_test ();
54
    }
55
  catch (...)
56
    {
57
    }
58
  abort ();
59
}

powered by: WebSVN 2.1.0

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