OSDN Git Service

* lib/g++-dg.exp (g++-dg-test): Add "repo" option.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.old-deja / g++.eh / spec3.C
1 // { dg-do run  }
2 // Testing exception specifications.
3 // Test 3: the bad_exception throw succeeds.
4
5 #include <stdlib.h>
6 #include <exception>
7
8 void my_term ()  { exit (1); }
9 void my_unexp () { throw 42; }
10
11 void
12 f () throw (std::bad_exception)
13 {
14   throw 'a';
15 }
16
17 int main ()
18 {
19   std::set_terminate (my_term);
20   std::set_unexpected (my_unexp);
21
22   try
23     {
24       f ();
25     }
26   catch (char)
27     {
28       return 2;
29     }
30   catch (int)
31     {
32       return 3;
33     }
34   catch (std::bad_exception)
35     {
36       return 0;
37     }
38   return 5;
39 }