diff options
author | Pranil Dey <mkdeyp@gmail.com> | 2024-08-20 22:07:57 +0530 |
---|---|---|
committer | Pranil Dey <mkdeyp@gmail.com> | 2024-08-20 22:47:15 +0530 |
commit | 9b53c7f9484fea5fa0fd23a6444b03071debc4f2 (patch) | |
tree | 9edd9a78f5e7b4e390f5ff538a6b2b5eacba8408 /include/gdb/gdb-index.h | |
parent | 027bde11d44d58e6ad473af3a69dc21b451bcbc0 (diff) | |
download | gcc-9b53c7f9484fea5fa0fd23a6444b03071debc4f2.zip gcc-9b53c7f9484fea5fa0fd23a6444b03071debc4f2.tar.gz gcc-9b53c7f9484fea5fa0fd23a6444b03071debc4f2.tar.bz2 |
Edge redirection for exceptions.
This commit is contains change in code for the tree-eh.cc, tree-eh.h, MAINTAINERS and tree-cfg.cc files.
Specifically it contains four functions -
1. void extract_exception_types_for_call which extracts the exception types in a call stmt and adds them into a vector tree.
2. bool stmt_throw_types does the same as stmt_could_throw the difference being that it also gives the list of exception types as given by the
extract_exception_types_for_call function.
3. bool match_lp checks if a landing pad can handle any of the exception types given as input parameters by looking into the catch handlers.
4. update_stmt_eh_region is the function that walks up the EH tree and changes the landing pad for the last statement in a basic block in the control
flow graph so that when the edge by make_eh_edge is created it points to the correct handlers.
Further work to be done regarding RESX stmts.
Diffstat (limited to 'include/gdb/gdb-index.h')
0 files changed, 0 insertions, 0 deletions