summaryrefslogtreecommitdiffstats
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c4
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: ");
OpenPOWER on IntegriCloud