xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc (revision 99e23f81b2b10aef1a10b03588663e472627bb76)
1 /* This testcase is part of GDB, the GNU debugger.
2 
3    Copyright 2011-2017 Free Software Foundation, Inc.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
17 
18 #include <iostream>
19 
20 void
21 throw_exception_1 (int e)
22 {
23   throw new int (e);
24 }
25 
26 void
27 throw_exception (int e)
28 {
29   throw_exception_1 (e);
30 }
31 
32 int
33 main (void)
34 {
35   int i;
36   try
37     {
38       throw_exception_1 (10);
39     }
40   catch (const int *e)
41     {
42         std::cerr << "Exception #" << *e << std::endl;
43     }
44   i += 1; /* Break after exception 1.  */
45 
46   try
47     {
48       throw_exception (10);
49     }
50   catch (const int *e)
51     {
52         std::cerr << "Exception #" << *e << std::endl;
53     }
54   i += 1; /* Break after exception 2.  */
55 
56   return i;
57 }
58