Mercurial > hg > CbC > CbC_gcc
comparison gcc/tree-eh.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Header file for exception handling. | |
2 Copyright (C) 2013-2017 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GCC. | |
5 | |
6 GCC is free software; you can redistribute it and/or modify it under | |
7 the terms of the GNU General Public License as published by the Free | |
8 Software Foundation; either version 3, or (at your option) any later | |
9 version. | |
10 | |
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GCC; see the file COPYING3. If not see | |
18 <http://www.gnu.org/licenses/>. */ | |
19 | |
20 #ifndef GCC_TREE_EH_H | |
21 #define GCC_TREE_EH_H | |
22 | |
23 | |
24 typedef struct eh_region_d *eh_region; | |
25 | |
26 extern void using_eh_for_cleanups (void); | |
27 extern void add_stmt_to_eh_lp (gimple *, int); | |
28 extern bool remove_stmt_from_eh_lp_fn (struct function *, gimple *); | |
29 extern bool remove_stmt_from_eh_lp (gimple *); | |
30 extern int lookup_stmt_eh_lp_fn (struct function *, gimple *); | |
31 extern int lookup_stmt_eh_lp (gimple *); | |
32 extern bool make_eh_dispatch_edges (geh_dispatch *); | |
33 extern void make_eh_edges (gimple *); | |
34 extern edge redirect_eh_edge (edge, basic_block); | |
35 extern void redirect_eh_dispatch_edge (geh_dispatch *, edge, basic_block); | |
36 extern bool operation_could_trap_helper_p (enum tree_code, bool, bool, bool, | |
37 bool, tree, bool *); | |
38 extern bool operation_could_trap_p (enum tree_code, bool, bool, tree); | |
39 extern bool tree_could_trap_p (tree); | |
40 extern bool stmt_could_throw_p (gimple *); | |
41 extern bool tree_could_throw_p (tree); | |
42 extern bool stmt_can_throw_external (gimple *); | |
43 extern bool stmt_can_throw_internal (gimple *); | |
44 extern bool maybe_clean_eh_stmt_fn (struct function *, gimple *); | |
45 extern bool maybe_clean_eh_stmt (gimple *); | |
46 extern bool maybe_clean_or_replace_eh_stmt (gimple *, gimple *); | |
47 extern bool maybe_duplicate_eh_stmt_fn (struct function *, gimple *, | |
48 struct function *, gimple *, | |
49 hash_map<void *, void *> *, int); | |
50 extern bool maybe_duplicate_eh_stmt (gimple *, gimple *); | |
51 extern void maybe_remove_unreachable_handlers (void); | |
52 extern bool verify_eh_edges (gimple *); | |
53 extern bool verify_eh_dispatch_edge (geh_dispatch *); | |
54 | |
55 #endif /* GCC_TREE_EH_H */ |