diff options
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 86642ab605b..f7189b92eca 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -640,6 +640,7 @@ cgraph_set_call_stmt (struct cgraph_edge *e, gimple new_stmt) htab_hash_pointer (e->call_stmt)); } e->call_stmt = new_stmt; + e->can_throw_external = stmt_can_throw_external (new_stmt); if (e->caller->call_site_hash) { void **slot; @@ -704,6 +705,7 @@ cgraph_create_edge (struct cgraph_node *caller, struct cgraph_node *callee, edge->caller = caller; edge->callee = callee; edge->call_stmt = call_stmt; + edge->can_throw_external = stmt_can_throw_external (call_stmt); edge->prev_caller = NULL; edge->next_caller = callee->callers; if (callee->callers) @@ -1215,6 +1217,8 @@ dump_cgraph_node (FILE *f, struct cgraph_node *node) fprintf(f, "(inlined) "); if (edge->indirect_call) fprintf(f, "(indirect) "); + if (edge->can_throw_external) + fprintf(f, "(can throw external) "); } fprintf (f, "\n calls: "); |